Opis
„Empator” to bazujący na prostej AI detektor ekspresji emocjonalnej malującej się na twarzach osób wykrytych w monitorowanym przez kamerę polu. „Empator” wyłuskuje z obrazu dwie twarze (i zasadniczo wymaga obecności przynajmniej dwóch osób w polu widzenia kamery, z której korzysta) i analizuje mimikę pod kątem obecności kombinacji 7 stanów emocjonalnych: spokoju (stan „neutralny”), radości, strachu, zdziwienia, wstrętu, gniewu, smutku; potrafi też wydobyć z danych przekazanych przez AI i wzmocnić informację o składnikach emocjonalnych innych niż dominujące.
Miniatura analizuje zgodność stanów emocjonalnych twarzy obu osób wytwarzając tkankę dźwiękową na bazie zbieżnych stanów emocjonalnych (można też „Empator” przełączyć w tryb, który amplifikuje różnice pomiędzy poszczególnymi składnikami emocjonalnymi) oraz wizuje „nimb”, czy też „aurę” obu twarzy (podobne stany emocjonalne to podobne „niby”). Praca radzi sobie równie dobrze z twarzami żywych osób, jak i umieszczonymi przed kamerą zdjęciami, można więc porównać własną ekspresję emocjonalną z ekspresją innej osoby (pozostającej obok nas przed kamerą lub z czyimś wizerunkiem), można więc wykorzystać tę Miniaturę na różne sposoby.
Jedną z istotnych inspiracji do stworzenia pracy (tak „Empator”, jak i „MianX”) było wymyślone na potrzeby fabuły książki „Do Androids Dream of Electric Sheep?” (Philip K. Dick, 1968) i kręconego na jej podstawie filmu „Blade Runner” (Ridley Scott, 1982) urządzenie przeprowadzające na niektórych książkowych i filmowych pro- i antagonistach tzw. „test Voita-Kampfa” — hipotetyczną procedurę badającą zdolność do empatii, która pozwala odróżnić ludzi od androidów.
Dokumentacja techniczna
Parametry przekazywane przez adres URL
- cnf 0.0 … 1.0; „poczucie pewności” modelu wykrywającego ekspresję emocjonalną
- famo user | environment (lub env); domyślnie user; [facingMode] pozwala wymusić użycie przedniej (user) lub tylnej (environment) kamery na urządzeniach, które są wyposażone w podwójne kamery/aparaty (większość współczesnych urządzeń mobilnych)
- gui 0 lub 1; domyślnie 1; chowa/pokazuje panel z interfejsem graficznym
- h pionowa rozdzielczość kamery
- inv 0 lub 1 (domyślnie 0); przełączanie pomiędzy poszukiwaniem analogicznych lub przeciwstawnych ekspresji emocjonalnych obu analizowanych twarzy
- lang en lub pl; domyślnie en; ustawia język interfejsu (istnieje możliwość dodania kolejnych języków)
- mirror 0 lub 1; domyślnie 1; wyłącza/włącza lustrzane odbicie obrazu z urządzenia przechwytującego (zwykle kamery)
- pointer 0 lub 1; domyślnie 1; chowa/pokazuje kursor myszy
- sel 0.0 … 1.0; selektywość modelu wykrywającego ekspresję emocjonalną
- synth 0 lub 1; domyślnie 1; wyłącza/włącza wewnętrzny generator dźwięku
- tuning sekwencja 14 oddzielonnych przecinkami liczb z zakresu 0 … 127 reprezentujących nuty MIDI przyporządkowane składnikom emocjonalnym obu porównywanych twarzy, pierwsze 7 liczb określa wartości dla pierwszej twarzy, kolejne 7 dla drugiej, kolejność emocji to: „spokój”,”szczęście”,”gniew”,”smutek”,”wstręt”,”zaskoczenie”,”strach”
- vol 0.0 … 1.0; ustala inicjalny poziom głośności instrumentu (globalny suwak „vol”)
- w pozioma rozdzielczość kamery
- worker 0 lub 1; domyślnie 0; umożliwia zablokowanie wbudowanych w przeglądarkę mechanizmów zatrzymywania pracy programu kiedy okno nie jest widoczne
- ws adres; domyślnie wyłączone; włącza i ustala adres (zwykle localhost:9001) dla komunikacji poprzez WebSocket (umożliwia zewnętrzne sterowanie Miniaturą i dostosowanie do własnych potrzeb)
- xws adres; domyślnie wyłączone; włącza i ustala adres (zwykle ws://localhost:9001) ze wskazaniem protokołu dla komunikacji poprzez WebSocket (umożliwia zewnętrzne sterowanie Miniaturą i dostosowanie do własnych potrzeb)
Komunikaty przekazywane przez WebSocket
Komunikaty, na które reaguje Miniatura
nie dotyczy
Komunikaty wysyłane przez Miniaturę
- empator data „spokój” pierwszej twarzy (znormalizowana wartość), „szczęście” pierwszej twarzy (znormalizowana wartość), „gniew” pierwszej twarzy (znormalizowana wartość), „smutek” pierwszej twarzy (znormalizowana wartość), „wstręt” pierwszej twarzy (znormalizowana wartość), „zaskoczenie” pierwszej twarzy (znormalizowana wartość), „strach” pierwszej twarzy (znormalizowana wartość) „spokój” drugiej twarzy (znormalizowana wartość), „szczęście” drugiej twarzy (znormalizowana wartość), „gniew” drugiej twarzy (znormalizowana wartość), „smutek” drugiej twarzy (znormalizowana wartość), „wstręt” drugiej twarzy (znormalizowana wartość), „zaskoczenie” drugiej twarzy (znormalizowana wartość), „strach” drugiej twarzy (znormalizowana wartość) „spokój” (znormalizowana różnica lub zgodność pomiędzy analizowanymi twarzami), „szczęście” (znormalizowana różnica lub zgodność pomiędzy analizowanymi twarzami), „gniew” (znormalizowana różnica lub zgodność pomiędzy analizowanymi twarzami), „smutek” (znormalizowana różnica lub zgodność pomiędzy analizowanymi twarzami), „wstręt” (znormalizowana różnica lub zgodność pomiędzy analizowanymi twarzami), „zaskoczenie” (znormalizowana różnica lub zgodność pomiędzy analizowanymi twarzami), „strach” (znormalizowana różnica lub zgodność pomiędzy analizowanymi twarzami)
- empator face parametry twarzy: index, znormalizowane położenie w poziomie, znormalizowane położenie w pionie, znormalizowana szerokość, znormalizowana wysokość, „spokój” (znormalizowana wartość), „szczęście” (znormalizowana wartość), „gniew” (znormalizowana wartość), „smutek” (znormalizowana wartość), „wstręt” (znormalizowana wartość), „zaskoczenie” (znormalizowana wartość), „strach” (znormalizowana wartość)
- empator faces raportuje ilość rozpoznanych twarzy
MIDI
Komunikaty, na które reaguje Miniatura
nie dotyczy
Komunikaty wysyłane przez Miniaturę
nie dotyczy
Komunikacja z MaxMSP
Komunikaty, na które reaguje Miniatura
nie dotyczy
Komunikaty wysyłane przez Miniaturę
nie dotyczy