Twoja twarz mówi więcej, niż myślisz
Mikroekspresje trwają ułamek sekundy. Zmarszczenie brwi, lekkie uniesienie kącika ust, napięcie mięśni wokół oczu. Ludzie często ich nie zauważają, ale sztuczna inteligencja potrafi je odczytać w czasie rzeczywistym. Modele rozpoznawania emocji analizują obraz z kamery klatka po klatce i klasyfikują wyraz twarzy do jednej z siedmiu kategorii: radość, smutek, złość, zaskoczenie, strach, obrzydzenie lub stan neutralny.
Co ciekawe, cały ten proces może dziś odbywać się bezpośrednio w przeglądarce, bez wysyłania czegokolwiek na serwer. Jak to możliwe? Odpowiedź kryje się w trzech technologiach: Vision Transformers, kwantyzacji modeli i bibliotece Transformers.js.
Vision Transformers: jak AI "widzi" emocje
Klasyczne sieci neuronowe do analizy obrazu (CNN) przetwarzają piksele warstwa po warstwie, szukając coraz bardziej złożonych wzorców. Vision Transformers (ViT) działają inaczej. Dzielą obraz na małe fragmenty (zazwyczaj 16x16 pikseli), traktują każdy fragment jak osobny "token" i analizują relacje między nimi za pomocą mechanizmu uwagi (attention).
W praktyce oznacza to, że model nie patrzy tylko na okolice ust czy oczu osobno. Analizuje zależności między wszystkimi częściami twarzy jednocześnie. Napięte brwi w połączeniu z zaciśniętymi ustami to złość. Te same brwi, ale z szeroko otwartymi oczami, to strach. Kontekst ma znaczenie i mechanizm attention doskonale go wychwytuje.
FER2013: na czym uczył się model
Model został wytrenowany na zbiorze FER2013 (Facial Expression Recognition), który zawiera około 35 000 zdjęć twarzy w skali szarości o rozdzielczości 48x48 pikseli. Każde zdjęcie jest przypisane do jednej z siedmiu kategorii emocji:
- Radość (happy)
- Smutek (sad)
- Złość (angry)
- Zaskoczenie (surprise)
- Strach (fear)
- Obrzydzenie (disgust)
- Stan neutralny (neutral)
Zbiór pochodzi z 2013 roku i został stworzony na potrzeby konkursu na platformie Kaggle. Mimo swojego wieku pozostaje jednym z najczęściej używanych benchmarków w tej dziedzinie. Zdjęcia pochodzą z różnych źródeł internetowych, co zapewnia dużą różnorodność twarzy, oświetlenia i kątów.
Z 343 MB do 57 MB: kwantyzacja w praktyce
Pełny model Vision Transformer zajmuje ponad 340 MB. To za dużo, żeby wygodnie ładować go w przeglądarce na telefonie. Rozwiązaniem jest kwantyzacja, czyli zamiana precyzji wag modelu z 32-bitowej (float32) na 4-bitową (int4).
Wyobraź sobie, że zamiast opisywać kolor jako "RGB(127, 64, 191)" używasz uproszczonej skali "jasny fiolet". Tracisz trochę precyzji, ale ogólna informacja zostaje zachowana. Podobnie działa kwantyzacja: wagi sieci neuronowej są zaokrąglane do mniejszej liczby możliwych wartości. Efekt? Model waży 57 MB zamiast 343 MB, a spadek dokładności jest minimalny.
Prywatność: wszystko zostaje w Twojej przeglądarce
To kluczowy aspekt naszego narzędzia do rozpoznawania emocji z kamery. Cały model działa lokalnie dzięki bibliotece Transformers.js, która uruchamia modele AI bezpośrednio w przeglądarce za pomocą WebAssembly i WebGPU. Obraz z kamery nigdy nie opuszcza Twojego urządzenia. Nie ma żadnego serwera, żadnych przesyłanych danych, żadnych zapisywanych klatek. To ten sam paradygmat "AI w przeglądarce", który zastosowaliśmy przy narzędziu do pomiaru tętna z kamery.
Jak dokładny jest ten model?
Na zbiorze testowym FER2013 model osiąga około 71% dokładności. To dobry wynik, ale warto rozumieć jego ograniczenia. Niektóre emocje są po prostu trudniejsze do rozróżnienia:
- Radość jest rozpoznawana najlepiej (ponad 85% trafności), bo uśmiech to bardzo wyrazista ekspresja.
- Strach i zaskoczenie bywają mylone, ponieważ obie emocje powodują otwieranie oczu i ust.
- Obrzydzenie ma najmniej przykładów w zbiorze treningowym, więc model radzi sobie z nim najsłabiej.
Warto też pamiętać, że ekspresja emocji jest kulturowo zróżnicowana. Model trenowany głównie na zachodnich twarzach może gorzej radzić sobie z innymi grupami etnicznymi. To nie wada konkretnego narzędzia, lecz znane ograniczenie całej dziedziny.
Sprawdź sam
Włącz kamerę i przetestuj, jak AI odczytuje Twoje emocje w czasie rzeczywistym. Narzędzie do rozpoznawania emocji działa bezpośrednio w przeglądarce, bez instalacji i bez rejestracji.
Jeśli chcesz lepiej rozumieć, jak działają modele AI i jak skutecznie z nimi pracować, sprawdź kurs Skuteczne Prompty, w którym uczę praktycznych technik promptowania krok po kroku.