Andrey Savchenko z niżnonowogrodzkiego oddziału Wyższej Szkoły Ekonomicznej opublikował wyniki swoich badań nad uczeniem maszynowym, związanych z rozpoznawaniem emocji na twarzach osób obecnych na zdjęciach i filmach. Kod został napisany w języku Python przy użyciu PyTorch i jest udostępniany na licencji Apache 2.0. Dostępnych jest kilka gotowych modeli, w tym nadających się do użycia na urządzeniach mobilnych.
Na bazie tej biblioteki inny deweloper stworzył program sevimon, który umożliwia monitorowanie zmiany emocji przy użyciu kamery wideo i pomaga w kontroli napięcia mięśni twarzy, na przykład w celu eliminacji nadmiernego napięcia, pośredniego wpływu na nastrój i, przy długotrwałym stosowaniu, zapobiegania powstawaniu zmarszczek mimicznych. Do określenia pozycji twarzy wideo wykorzystano bibliotekę CenterFace. Kod sevimon został napisany w Pythonie i jest udostępniany na licencji AGPLv3. Przy pierwszym uruchomieniu modele są pobierane, po czym program nie wymaga połączenia z Internetem i działa całkowicie autonomicznie. Przygotowano instrukcje dotyczące uruchamiania w systemach Linux/UNIX oraz Windows, a także obraz dockerowy dla systemu Linux.
Sevimon działa w następujący sposób: najpierw na obrazie z kamery identyfikowane jest twarz, następnie twarz jest porównywana z każdą z ośmiu emocji (złość, pogarda, odraza, strach, radość, brak emocji, smutek, zdumienie), po czym dla każdej emocji przypisywana jest pewna ocena podobieństwa. Uzyskane wartości są zapisywane w dzienniku w formacie tekstowym do późniejszej analizy przez program sevistat. Dla każdej emocji w pliku konfiguracyjnym można ustawić górne i dolne granice wartości, przy przekroczeniu których od razu wydawane jest przypomnienie.
Źródło: opennet.ru
