
Unsere Beziehung zum Computer Vision war nicht so laut, bis wir lernten, wie man Wunder mit menschlichen Gesichtern vollbringt. Algorithmen ersetzen Menschen in Fotos und Videos, ändern Alter, Rasse und Geschlecht. Dies ist die wichtigste Online-Unterhaltung der letzten Jahre und eine Quelle der Angst. Heute stürmen Apps die Charts, morgen sahen Demonstranten Säulen mit Kameras, die Gesichter erkennen. Und anscheinend stehen wir erst am Anfang der Reise. Was der Computer aus unseren Gesichtern lesen kann, wird immer mehr.
Anfang dieses Monats besuchten wir das Büro des Neurodata Lab. Die Hauptrichtung für das Unternehmen ist das Erkennen menschlicher Emotionen. Wir haben versucht herauszufinden, wie und warum dies gemacht wird.
Bei My Circle erhielt Neurodata Lab eine durchschnittliche Punktzahl von 4,6 und eine durchschnittliche Empfehlung von 95% seiner Mitarbeiter, die Kriterien wie berufliches Wachstum, interessante Aufgaben, gute Beziehungen zu Kollegen und die Tatsache, dass das Unternehmen die Welt zu einem besseren Ort macht, bewerteten.
2016 nahmen zehn Schauspieler - fünf Männer und fünf Frauen - an ungewöhnlichen Dreharbeiten teil. Sie gingen zu einem leeren Bereich, in schwarzen, eng anliegenden Anzügen, und zeigten auf Kameras in verschiedenen Ecken des Raumes vor dem Hintergrund der grünen Wand „nichts“ - nur ihren neutralen Zustand.
Dann spielten die Schauspieler kurze Drehbücher aus. Es gab keine Repliken in den Skripten, nur Beschreibungen von Situationen, also improvisierten die Schauspieler. In jeder Szene mussten sie eine von sechs Emotionen erleben - Wut, Traurigkeit, Ekel, Freude, Angst oder Überraschung. Die Mimik und Gesten erfahrener Schauspieler werden oft stereotyp, eher für das Theater als für das wirkliche Leben geeignet, daher waren hier alle Schauspieler Studenten.

Ihnen folgte ein Lehrer der Filmschule, aber nicht nur. Der Hauptdirektor war eine Wissenschaftlerin und Forscherin Olga Perepelkina. Neben Video und Ton am Set wurden bioelektrische Reaktionen der Hautoberfläche und andere physiologische Eigenschaften aufgezeichnet. Jede Szene wurde mehrmals von einer anderen Besetzung gedreht, und als Ergebnis sammelten sie ungefähr sieben Stunden Material.
Nachdem die Schauspieler ihre Arbeit beendet hatten, beschrieben sie, wo und welche Emotionen sie während des Spiels tatsächlich erlebten. Dann sahen sich weitere 21 Leute die Videos an und in jedem der Videos bemerkten sie, welche Emotionen der Schauspieler zu erleben schien. Wann beginnt diese Emotion und wann endet sie?

So begann die Arbeit am ersten russischsprachigen multimodalen Datensatz zur Emotionserkennung -
RAMAS .
Das erhaltene Material war jedoch nur für wissenschaftliche Forschung und Experimente geeignet - nicht für das Training von Algorithmen im industriellen Maßstab.
- (Olga Perepelkina) Wir mussten einen riesigen Datensatz sammeln. Nicht 7, sondern 107 und mehr Stunden. Wir haben die Emotion Miner-Webplattform erstellt, eine Reihe von Videos hochgeladen, die im Internet öffentlich verfügbar sind, Zehntausende Menschen aus der ganzen Welt zusammengebracht und damit begonnen, die Daten zu markieren. So haben wir 140 Stunden Video auf 20 Skalen markiert (nicht nur Emotionen, sondern auch verschiedene kognitive und soziale Merkmale) und den weltweit größten emotionalen Datensatz gesammelt.
- Und wie haben Sie es geschafft, so viele Leute zu finden, die Sie markieren können?- (O.P.) Es ist einfach - wir haben ihnen Geld für die Arbeit bezahlt. Durchgeführte Werbeaktionen, ein kleines Budget in Marketing investiert. Im Prinzip war es nicht sehr schwierig. Mittlerweile sind fast 70.000 Menschen auf der Plattform registriert. In Wirklichkeit haben jedoch etwa zweitausend Personen den Datensatz markiert.
Produkte
Das Startup Neurodata Lab wurde von den Unternehmern George Pliev und Maxim Ryabov gegründet. Sie finanzierten die Forschung nicht aus wissenschaftlichen Gründen, sondern um eine kommerzielle Anwendung für die Technologie zu finden. Jetzt ist Affective Computing oder „Emotional Computing“ nicht der beliebteste Bereich auf dem Markt für neuronale Netze und Computer Vision. Auf dem Gebiet der Gesichtserkennung besteht ein starker Wettbewerb. Unterhaltungsanwendungen werden nacheinander in den Fokus gerückt. Und Systeme, die mit Emotionen arbeiten, verlassen den Status „vielversprechend“ für mehrere Jahre nicht. Nach Prognosen von Gartner und anderen Studien prognostiziert sie jedoch ein schnelles Wachstum.
Neurodata Lab forscht seit etwa drei Jahren, sammelt Daten und entwickelt Algorithmen. Jetzt verwenden sie Forschungsergebnisse in kommerziellen Produkten. Zum Beispiel hat Neurodata Lab eine emotionale KI für Promobot-Roboter entwickelt. Der Roboter verwendete ein Emotionserkennungssystem, um korrekt auf die Hinweise der Personen zu reagieren, die sich an ihn wenden. Die Demo wurde dieses Jahr auf der CES
gezeigt .
Der Algorithmus wird in Call Centern verwendet, um Anrufe zu überwachen und die Leistung der Mitarbeiter zu bewerten. Jetzt geschieht dies alles manuell - Manager müssen selektiv Anrufaufzeichnungen abhören und prüfen, ob der Mitarbeiter dem Kunden gegenüber unhöflich war oder im Rahmen des Anstands gehalten wurde. Das System kann dies automatisch und in Echtzeit tun. Dabei wird auch die emotionale Stimmung des Klienten beurteilt - er war mit der Behandlung zufrieden oder nicht. Ein Pilot eines ähnlichen Produkts Neurodata Lab wurde in Rosbank gestartet. Der Algorithmus analysiert Anrufe, um die Kundenzufriedenheit zu messen.
Die zweite Produktbranche ist etwas globaler. Das Unternehmen stellt seine
API her - eine ganze Reihe von Tools für Entwickler von Drittanbietern. Jetzt enthält es eine Analyse der Emotionen, einen Gesichts-Tracker und Tonanalysatoren, mit denen Sie eine Audioaufnahme mit mehreren Stimmen in verschiedene Audiospuren aufteilen und das Rauschen trennen können. In Kürze wird es einen Body-Tracker, einen Pulsfrequenzdetektor, einen Atemtracker aus dem Video einer Person und andere Technologien oder Algorithmen geben.
Arbeitsprinzip
Ein Mensch lernt, Emotionen unbewusst zu definieren - von Kindheit an beginnt er, bestimmte Verhaltensmuster mit den Emotionen zu assoziieren, die Menschen in seiner Umgebung erleben. Nachdem er dies bereits gelernt hat, kann er analysieren, welche Zeichen es tut. Das offensichtlichste ist der Ausdruck, den Mund und Augen annehmen. Aber im Gesicht sind viele Gesichtsmuskeln, die eine unglaubliche Menge an ausdrucksstarken Nuancen erzeugen. Wir nehmen sie automatisch wahr, obwohl wir bestimmte Details bewusst wahrnehmen können.
Das neuronale Netzwerk analysiert auch Hunderte von Stunden Video, das von Personen markiert wurde. Und die Zeichen, anhand derer das System Emotionen klassifiziert, sind nicht immer offensichtlich.
- (Andrey Belyaev) Für einige Klassen gibt es gemeinsame Muster. Zum Beispiel sind die Klassen „Wut“ und „Überraschung“ durch einen starken Ausdruck im Gesicht gekennzeichnet - hochgezogene Augenbrauen, abgerundete Augen, Rauch aus den Ohren. Das Gitter reagiert sicherlich auf sie, aber nicht nur. Zum Beispiel wird sie mit kleinen Augenbrauen, die wie hochgezogen aussehen, ruhig die richtige Klasse bestimmen, da sie auch auf die Dynamik von Veränderungen reagiert. Eine der interessanten Klassen in dieser Hinsicht ist „Traurigkeit“. Wenn ein Mensch traurig ist, ändert sich sein Gesicht meistens lange nicht. Grid bemerkt keine Dynamik im Ausdruck und geht davon aus, dass es entweder „neutral“ oder „traurig“ ist, und klärt erst dann die verbleibenden Zeichen und kommt zu dem Schluss, dass die Klasse richtig ist.
- Was ist mit dem Sound? Bestimmte Frequenzen, Bereiche, Töne?- (A.B.) Ton ist komplizierter. Jede Person hat ihre eigene Standardlautstärke, man kann sich nicht an die Klangstärke binden. Jemand kann leise und gleichmäßig sprechen, aber tatsächlich ist er schrecklich wütend. Und selbst wenn wir den Klang visualisieren und verstehen, worauf das System achtet, können wir ihn nicht so gut erklären wie mit dem Gesicht. Das Gesicht hat klare Punkte: Augenbrauen, Augen, Ohren und mehr. Aber es ist kein Ton zu hören. Schall wird in Form eines Spektrogramms in das Gitter eingespeist, und welche spezifischen Teile davon für was und zu welchem Zeitpunkt verantwortlich sind, ist viel schwieriger zu verstehen. Daher gibt es keine Standardantwort, worauf das Raster bei der Arbeit mit Ton achtet.
- Wie zeichnet man den Puls auf?- (O.P.) Mikroveränderungen der Hautfarbe werden verfolgt. Wenn das Herz schlägt, ist das Blut mit Sauerstoff gesättigt, die Sauerstoffversorgung des Blutes ändert sich und aufgrund dessen ändert sich die Hautfarbe. Es wird nicht mit dem Auge funktionieren, aber mit Hilfe des Algorithmus ist es möglich.
- Dies hängt jedoch stark von der Qualität des Videos ab.- (O.P.) Wir haben diesen Algorithmus schon lange gesägt und können nicht nur mit einer coolen Kamera, sondern auch mit einer normalen Webcam arbeiten. Wir wissen, wie man arbeitet, wenn der Bildschirm flackert. Zum Beispiel, wenn eine Person einen Film sieht und sich ihre Beleuchtungsstärke ständig ändert. Wir können mit Bedingungen arbeiten, unter denen sich eine Person bewegt und spricht.
Der Impuls ist ein periodisches Signal und wird klar überwacht, und die Beleuchtung des Films ändert sich nicht periodisch. Daher kann ein nützliches Signal vom Rauschen getrennt werden. Wir haben diese Technologie sogar mit Fitness-Trackern
verglichen . Unser Algorithmus funktioniert genauso gut - und sogar besser als einige von ihnen.
- Das System kann sehen, was eine Person nicht sieht, aber eine Person erkennt Emotionen immer noch besser. Warum?- (O.P.) Eine Person macht es besser, weil sie Kontextinformationen berücksichtigt. Dazu ist jedoch ein multimodales System erforderlich, das die Genauigkeit verbessert, indem Gesicht, Stimme, Gesten, Puls, Atmung und semantische Analyse des Textes sofort analysiert werden.
So funktioniert die menschliche Wahrnehmung. Sie sehen einen Mann von hinten, sehen ihm beim Sitzen zu und denken: "Es scheint, er ist traurig." Unser Ziel ist es, einen Algorithmus zu entwickeln, der Emotionen als Person wahrnimmt - im Allgemeinen unter allen Bedingungen für alle Informationen.
Der Vorteil des Systems gegenüber Menschen besteht nun darin, dass es eine große Datenmenge automatisch analysieren kann. Manchmal kann es eine Person besser machen, aber Sie werden sie nicht dazu bringen, rund um die Uhr zu sitzen und mit den Ohren zuzuhören, z. B. Anrufe bei einem Callcenter.
- Wenn ich Emotionen erlebe, aber versuche, sie zu verbergen, wird das System dies verstehen?- (O.P.) Vielleicht.
Wie läuft die Entwicklung?
Neurodata Lab ist ein kleines Unternehmen, das bis vor kurzem nur als Labor existierte. Es verfügt über eine Wissenschaftsabteilung, ein Data Science-Team und eine Entwicklungsabteilung, die neue Entwicklungen und Entdeckungen in Produkte packt. Jede Abteilung besteht aus 5-6 Personen. Insgesamt beschäftigt das Team rund 30 Mitarbeiter.
Forscher
In der wissenschaftlichen Abteilung arbeiten Psychologen, Physiologen und Biologen. Es gibt nur vier Mitarbeiter und drei Praktikanten, aber sie haben ein ganzes internationales Netzwerk von Kooperationen aufgebaut. In Russland gibt es beispielsweise Projekte in Zusammenarbeit mit der Moskauer Staatsuniversität, der Higher School of Economics und der RANEPA. Im Ausland - mit der Universität Glasgow, der Technischen Universität Paris, der Universität Genf, dem technischen Labor in Genua, das sich mit der Analyse von Bewegungen befasst.
Wissenschaftler, die emotionales Rechnen betreiben, sind eine ganze Gemeinschaft. Sie treffen sich regelmäßig zu gemeinsamen Workshops an verschiedenen Universitäten auf der ganzen Welt. Alle zwei Jahre findet eine große Konferenz statt, die ausschließlich der emotionalen Technologie gewidmet ist. In diesem Jahr wird das Neurodata Lab auf dieser Konferenz einen eigenen Workshop organisieren.
- Ich frage mich, was ist die tägliche Arbeit eines Forschers?- (O.P.) Zuerst lesen sie Artikel. Zum Beispiel wollten wir lernen, wie man eine Lüge erkennt, nicht nur Emotionen, und wir müssen herausfinden, was eine Lüge ist, wie ein Lügendetektor funktioniert, was bereits in diesem Bereich getan wurde, was die Probleme eines klassischen Polygraphen sind, wie man sich täuschen lässt, welche Algorithmen am coolsten sind. wie die menschliche Psyche angeordnet ist, welche psychologischen Merkmale es gibt, wenn eine Person lügt, wie die Physiologie funktioniert, warum (und ob) die Nase einer Person kälter wird und ihre Ohren rot werden, wenn sie betrügt, und so weiter.
Dann führen wir eine Vielzahl von Experimenten durch. Um ein System zu erstellen, das den Puls und die Atemfrequenz aus dem Video erkennt, mussten viele Daten gesammelt werden. Es kommen ständig Themen zu uns, wir haben Ausrüstung und alle möglichen Dinge, die den Puls einer Person auf Kontaktart messen. Wir messen EKG, Photoplethysmographie, hautgalvanische Reaktion. Wir hatten lustige Experimente, als wir verstehen wollten, wie sich der Blutfluss über das Gesicht bewegt, und dann haben wir Elektroden direkt auf das Gesicht geklebt.

Schließlich zeigen wir Menschen verschiedene Vidosiki. Wir versuchen sie zu erschrecken oder umgekehrt - zu jubeln. Forscher analysieren Daten, berücksichtigen Statistiken, schreiben Artikel und Patente basierend auf diesen Daten. Dann kommen sie in die technische Abteilung zu Andrei und sagen: "Wir haben eine coole Sache gelesen, ein Experiment durchgeführt, Sie können versuchen, einen Algorithmus zu erstellen, der so funktioniert." Oder Andrei kommt zu uns und sagt: "Wir wollen Stürze erkennen, wir müssen herausfinden, wie man Daten sammelt." Und die wissenschaftliche Abteilung setzt sich und überlegt, wie dies einfach und schnell geschehen kann.
- Traumjob.- (AB) Einige Leute denken - andere tun es.
Datum Wissenschaftler und Entwickler
Data Science arbeitet parallel zur Produktentwicklung. Datasenteristen trainieren neuronale Netze auf Torch, wenn in der Forschung Handlungsspielraum besteht, und auf MXnet, wenn Sie eine schnell arbeitende Lösung benötigen. Nachdem alle Hypothesen zur Anwendbarkeit neuronaler Netze bestätigt wurden, übertragen die Jungs sie an TensorRT, um die Arbeitsgeschwindigkeit zu erhöhen und sie dem Entwicklungsteam zur Implementierung in der Produktion zu übergeben.
Neurodata Lab hat einen eigenen Cloud-Service erstellt, auf den andere Entwickler zugreifen können - für Forschungs- oder kommerzielle Projekte.
- (A.B.) Der Software-Kernel, der Aufgaben zwischen neuronalen Netzen verteilt, ist in Python geschrieben. Wir mussten es schnell schreiben, aber es stellte sich ziemlich gut heraus. Er arbeitet mit Dockern, kommuniziert über RabbitMQ, läuft in Postgres und die gRPC-Schicht hängt oben, wodurch Sie eine sichere Verbindung mit der Außenwelt herstellen und anderen Programmierern und Forschern Zugriff auf unsere Technologien gewähren können.
Web in Symphony geschrieben. API implementiert mit gRPC. Dies ist eine coole Google-Sache, mit der Sie einen sicheren Kanal erstellen und Schlüssel mit dem System austauschen können, sodass nur auf bestimmte interne Funktionen zugegriffen werden kann. Beispielsweise können Sie nur Tools einen Schlüssel geben, mit denen Gesichter erkannt und Emotionen erkannt werden können.
Ich arbeite an einer Idee - ich möchte mein eigenes kleines Rechenzentrum bauen, in dem sich die Inferenz dreht. Und es wird auf Jetson Nano basieren. Dies ist so ein kleiner Einplatinencomputer für zehntausend Rubel. Wie der Raspberry Pi nur mit einer Grafikkarte. Mit einem Prozessor, RAM und allem anderen kostet es 6-mal billiger als 1080Ti, ohne die restlichen Computerkomponenten zu berücksichtigen, aber es arbeitet auch ungefähr 6-mal langsamer.
- Und was wird es geben?- (AB) Erstens ist es billiger und funktioniert ungefähr genauso. Zweitens wird es die Umwelt nicht mehr so sehr schädigen. Drittens brauchen sie nicht viel Strom. Sechs Jetson Nano, die zusammen fast 1080 Ti antreiben, verbrauchen sechsmal weniger Energie und benötigen viel weniger Platz.
- Warum haben die Bergleute sie noch nicht erreicht?- (AB) Bergleute benötigen ihre Grafikkarte, um viele Dinge gleichzeitig erledigen zu können. Aber für uns ist es nicht so wichtig. Wir haben leichte Aufgaben, die mit kleinen Kräften schnell erledigt werden müssen und das Ergebnis zurückgeben. Wenn Sie sechs solcher Aufgaben haben, ist es sinnvoller, sie auf sechs kleine Karten zu verteilen, als sie alle auf eine große und leistungsstarke Karte zu legen, bei der diese Aufgaben mit den Ellbogen geschoben werden.
Wie ist das Rekrutierungsteam?
Im Frühjahr kamen Produktmanager ins Team, und jetzt braucht das Startup Entwickler. Backend-Anbieter, die das Web in PHP und Symphony unterstützen oder Sie davon überzeugen, beispielsweise zu Python oder Go zu wechseln. Das Front-End, das Seiten für neue Webdienste erstellt, erweitert die Funktionalität und verbessert die Benutzerfreundlichkeit bestehender. Ein Kernel-Entwickler, der neben seinen Kenntnissen in Python auf hohem Niveau auch Data Science und die Besonderheiten der Arbeit mit Hardware, Testern, C ++ - Entwicklern für die Arbeit mit SDK und vielen anderen versteht.
- Wie läuft Ihre Einstellung?- (AB) Für das Datum der Wissenschaftler lehne ich eine nicht sehr schwierige, sondern eher indikative Aufgabe ab, anhand derer man die Fähigkeit zum Denken und Programmieren beurteilen kann. Ich mache es selbst in vierzig Minuten. Junior schafft es in 4-6 Stunden. Danach rufen wir an und besprechen technische Fragen. Ich schlage vor, er überlegt sich eine neue Aufgabe. Wir nehmen zusammen an, testen zusammen. Ich beobachte nur, wie sich eine Person in Bezug auf Aufgaben in einer ungewohnten Umgebung fühlt. Versteht er, wie der Prozess der Modellentwicklung abläuft, was Ihnen dort begegnen kann und wovor Sie keine Angst haben sollten?
Nach diesen Phasen bleiben etwa 10% der Menschen übrig. Normalerweise antworten ungefähr 50 Personen auf die Joons. Wir rufen die fünf verbleibenden Personen für ein abschließendes Interview in unserem Büro an und kommunizieren einfach mit fast vollständiger Bereitschaft, das Team zu übernehmen.
- Und mit den Entwicklern?- (AB) Aber bei den Entwicklern ist alles etwas schlimmer. Wir geben ihnen einen solchen Test: Sie müssen einen kleinen Dienst auf einem beliebigen Framework innerhalb des Dockers bereitstellen. Dieser Dienst sollte mit anderen Hafenarbeitern kommunizieren, in denen Postgres und RabbitMQ liegen. Es gibt eine Aufgabe, einen Kanal in einem Rebbit zu lesen, von dort die Aufgabe zu übernehmen, die Datenbank zu füllen und alles in die Datenbank zu schreiben. Es scheint, dass diese Aufgabe sehr einfach ist, etwa eine Stunde lang. Aber alles bricht zusammen, wenn wir sagen, dass wir Bilder zum Schreiben in die Datenbank übertragen werden.
Es stellt sich ständig heraus, dass jeder dieses Problem auf völlig unterschiedliche Weise löst. Und jeder Mensch hat fast immer eine neue Idee, die ich vorher noch nicht einmal gesehen oder mir vorgestellt hatte. Gleichzeitig inspiziert aber nicht jeder etwas. Beim Test etwa die Hälfte der Kandidaten abschneiden. Dann rufen wir auch die Entwickler im Büro an. Wir beginnen über allgemeine Themen zu sprechen, um herauszufinden, was als nächstes kommt, was Sie wollen und so weiter. Und danach haben wir leider fast 0% Auspuff.
- Nach welchen Kriterien verstehen Sie, dass eine Person nicht über genügend Soft Skills verfügt oder nicht in der Lage ist, in einem Startup zu arbeiten?- (A.B.) In einfachen Gesprächen aus der Kategorie: "Hören Sie, aber stellen Sie sich das vor ...". Er beginnt, einen Gedanken zu entwickeln, und Sie fügen versehentlich hinzu, dass unsere Fristen abgelaufen sind, und es bleiben noch zwei Wochen für ein Projekt, das zwei Monate lang durchgeführt werden muss. Einige sagen: "Das kann nicht erlaubt werden." Okay Andere sagen: „Das ist sehr schlecht, aber wir werden das Maximum drücken. Natürlich werden wir nicht alles tun. Vielleicht die Hälfte, aber das ist besser als ein Viertel. Im Allgemeinen wird alles cool sein, denn das Schlimmste ist das unvollendete Projekt. " Das sind die Leute - sofort. Fall in Bezug auf die Aufgabe.
Ethische Standards und moralische Dilemmata
Gesichtserkennung, emotionales Computing - all dies sind Forschung und Technologie, die auf Daten basieren. Fragen aus der Kategorie „Wem sollen die Daten gehören?“, „Wer und wie soll ihre Sammlung kontrolliert werden“ - einem modernen Grenzgebiet.
Einer der Kompromisse, über die sich mittlerweile alle mehr oder weniger einig sind, ist die unpersönliche Sammlung. , GDPR . .
. , , , .
. , ?
— (..) , - . . . ? ? , : « , , , ». .
, : « , , , !» , , . . «, , - , , , , ». 50 , 5-6 , . , . - . , .