La vision par ordinateur voit les émotions, le pouls, la respiration et les mensonges - mais comment construire une startup sur ce point. Conversation avec Neurodata Lab



Notre relation avec la vision par ordinateur n'était pas si bruyante jusqu'à ce qu'elle apprenne à faire des miracles avec des visages humains. Les algorithmes remplacent les personnes dans les photos et les vidéos, changent l'âge, la race et le sexe. C'est le principal divertissement en ligne de ces dernières années et une source d'anxiété. Aujourd'hui, les applications envahissent les charts, demain les manifestants ont vu des piliers avec des caméras qui reconnaissent les visages. Et, semble-t-il, nous ne sommes qu'au tout début du voyage. Ce que l'ordinateur peut lire sur nos visages sera de plus en plus.

Plus tôt ce mois-ci, nous avons visité le bureau de Neurodata Lab. La direction principale de l'entreprise est la reconnaissance des émotions humaines. Nous avons essayé de savoir comment cela se faisait et pourquoi.

Chez My Circle, Neurodata Lab a reçu un score moyen de 4,6 et une recommandation moyenne de 95% de ses employés, qui ont évalué des critères tels que la croissance professionnelle, les tâches intéressantes, les bonnes relations avec les collègues et le fait que l'entreprise rend le monde meilleur.



En 2016, dix acteurs - cinq hommes et cinq femmes - ont participé à des tournages insolites. Ils se sont rendus dans une zone vide, vêtus de costumes noirs moulants, et sur des caméras dans différents coins de la pièce, sur le fond d'un mur vert, ils ont représenté «rien» - juste leur état neutre.

Ensuite, les acteurs ont interprété de courts scripts. Il n'y avait pas de répliques dans les scripts, seulement des descriptions de situations, alors les acteurs ont improvisé. Dans chaque scène, ils devaient vivre l'une des six émotions - colère, tristesse, dégoût, joie, peur ou surprise. Les expressions faciales et les gestes d'acteurs expérimentés deviennent souvent stéréotypés, plus adaptés au théâtre qu'à la vie réelle, donc ici tous les acteurs étaient des étudiants.



Ils ont été suivis par un professeur de l'école de cinéma, mais pas seulement. Le directeur principal était un scientifique et chercheur Olga Perepelkina. En plus de la vidéo et du son sur le plateau, des réactions bioélectriques de la surface de la peau et d'autres caractéristiques physiologiques ont été enregistrées. Chaque scène a été tournée par un casting différent à plusieurs reprises, et en conséquence, ils ont collecté environ sept heures de matériel.

Les acteurs, après avoir terminé leur travail, ont décrit où et quelles émotions ils ont réellement ressenties pendant le jeu. Ensuite, 21 autres personnes ont regardé les vidéos, et dans chacune des vidéos, elles ont noté l'émotion que l'acteur semblait ressentir. À quel moment commence cette émotion et quand se termine-t-elle.



C'est ainsi qu'a commencé le travail sur le premier ensemble de données multimodales en langue russe pour la reconnaissance des émotions - RAMAS .

Mais le matériel obtenu ne convenait qu'à la recherche scientifique et à l'expérimentation - pas à la formation d'algorithmes à l'échelle industrielle.

- (Olga Perepelkina) Nous avions besoin de collecter un ensemble de données géant. Pas 7, mais 107 heures et plus. Nous avons construit la plate-forme Web Emotion Miner, téléchargé un tas de vidéos accessibles au public sur Internet, rassemblé des dizaines de milliers de personnes du monde entier et commencé à baliser les données. Ainsi, nous avons marqué 140 heures de vidéo sur 20 échelles (non seulement les émotions, mais aussi diverses caractéristiques cognitives et sociales), et collecté le plus grand ensemble de données émotionnelles au monde.

- Et comment avez-vous réussi à trouver autant de personnes à marquer?
- (O.P.) C'est simple - nous leur avons payé de l'argent pour le travail. Réalisé des promotions, investi un petit budget dans le marketing. En principe, ce n'était pas très difficile. Aujourd'hui, près de 70 000 personnes sont enregistrées sur la plateforme. Mais en réalité, environ deux mille personnes ont marqué l'ensemble de données.



Les produits


Startup Neurodata Lab a été créé par les entrepreneurs George Pliev et Maxim Ryabov. Ils ont financé la recherche non pas par curiosité scientifique, mais pour trouver une application commerciale à la technologie. Désormais, le calcul affectif ou «calcul émotionnel» n'est pas le domaine le plus populaire sur le marché des réseaux de neurones et de la vision par ordinateur. Il existe une forte concurrence dans le domaine de la reconnaissance faciale. Les applications de divertissement se focalisent l'une après l'autre. Et les systèmes qui fonctionnent avec les émotions ne quittent pas le statut de «prometteur» pendant plusieurs années. Cependant, selon les prévisions de Gartner et d'autres études, elle prévoit une croissance rapide.

Neurodata Lab effectue des recherches depuis environ trois ans, collectant des données et développant des algorithmes. Maintenant, ils utilisent les résultats de recherche dans des produits commerciaux. Par exemple, Neurodata Lab a développé une IA émotionnelle pour les robots Promobot. Le robot a utilisé un système de reconnaissance des émotions pour répondre correctement aux signaux des personnes qui se tournent vers lui. La démo a été présentée au CES cette année.

L'algorithme est utilisé dans les centres d'appels pour surveiller les appels et évaluer les performances des employés. Maintenant, tout cela se fait manuellement - les gestionnaires doivent écouter de manière sélective les enregistrements d'appels et vérifier si l'employé a été impoli avec le client ou s'il a été respecté. Le système peut le faire automatiquement et en temps réel. En cours de route, l'humeur émotionnelle du client est également évaluée - il était satisfait du traitement ou non. Un pilote d'un produit similaire Neurodata Lab lancé à Rosbank. L'algorithme analyse les appels pour mesurer la satisfaction client.

La deuxième branche de produits est un peu plus globale. La société fabrique son API - un ensemble complet d'outils pour les développeurs tiers. Maintenant, il comprend une analyse des émotions, un tracker de visage, des analyseurs de son, avec lesquels vous pouvez diviser un enregistrement audio avec plusieurs voix en différentes pistes audio et séparer le bruit. Bientôt, il y aura un tracker corporel, un détecteur de pouls, un tracker respiratoire à partir de la vidéo d'une personne - et d'autres technologies ou algorithmes.



Principe de fonctionnement


Une personne apprend à définir ses émotions de manière inconsciente - dès l'enfance, elle commence à associer certains modèles de comportement aux émotions que vivent les personnes qui l'entourent. Ayant déjà appris cela, il peut analyser quels signes cela fait. Le plus évident est par l'expression de la bouche et des yeux. Mais sur le visage, de nombreux muscles faciaux créent une quantité incroyable de nuances expressives. Nous les percevons automatiquement, bien que nous puissions consciemment attirer notre attention sur certains détails.

Le réseau neuronal analyse également des centaines d'heures de vidéos marquées par des personnes. Et les signes par lesquels le système classe les émotions ne se révèlent pas toujours évidents.

- (Andrey Belyaev) Il existe des modèles communs pour certaines classes. Par exemple, les classes de «colère» et de «surprise» sont caractérisées par une forte expression sur le visage - sourcils surélevés, yeux arrondis, fumée des oreilles. La grille leur répond certainement, mais pas seulement. Par exemple, avec de petits sourcils qui semblent en relief, elle déterminera calmement la bonne classe, car elle réagit également à la dynamique des changements. Une des classes intéressantes à cet égard est la «tristesse». Le plus souvent, quand une personne est triste, son visage ne change pas assez longtemps. La grille remarque une dynamique nulle dans l'expression et fait l'hypothèse qu'elle est soit «neutre» ou «triste», puis seulement clarifie les signes restants et conclut que la classe a raison.

- Et le son? Certaines fréquences, gammes, tonalités?
- (A.B.) Le son est plus compliqué. Chaque personne a son propre volume standard, vous ne pouvez pas vous attacher à la force du son. Quelqu'un peut parler calmement et uniformément, mais en fait, il est terriblement en colère. Et même si nous visualisons le son et comprenons à quoi le système prête attention, nous ne pouvons pas l'expliquer aussi bien qu'avec le visage. Le visage a des points clairs: sourcils, yeux, oreilles et plus encore. Mais il n'y a pas de son. Le son est introduit dans la grille sous la forme d'un spectrogramme, et quels morceaux spécifiques de celui-ci sont responsables de quoi et à quel moment est beaucoup plus difficile à comprendre. Par conséquent, il n'y a pas de réponse standard, à quoi la grille fait attention lorsqu'elle travaille avec du son.

- Comment enregistrer le pouls?
- (O.P.) Les micro-changements de couleur de peau sont suivis. Lorsque le cœur bat, le sang est saturé d'oxygène, l'oxygénation du sang change et, pour cette raison, la couleur de la peau change. Cela ne fonctionnera pas avec l'œil, mais avec l'aide de l'algorithme, c'est possible.

- Mais cela dépend beaucoup de la qualité de la vidéo.
- (O.P.) Nous scions cet algorithme depuis longtemps et sommes capables de travailler non seulement avec une caméra cool, mais aussi avec une webcam classique. Nous savons comment travailler lorsque l'écran scintille. Par exemple, lorsqu'une personne regarde un film et que son intensité lumineuse change constamment. Nous sommes capables de travailler avec des conditions quand une personne bouge et parle.

L'impulsion est un signal périodique, et elle est clairement surveillée, et l'éclairage du film ne change pas périodiquement. Par conséquent, un signal utile peut être séparé du bruit. Nous avons comparé cette technologie même avec des trackers de fitness. Notre algorithme fonctionne aussi bien - et encore mieux que certains d'entre eux.

- Le système peut voir ce qu'une personne ne voit pas, mais une personne reconnaît toujours mieux ses émotions. Pourquoi?
- (O.P.) Une personne fait mieux car elle prend en compte les informations contextuelles. Mais pour cela, nous avons également besoin d'un système multimodal qui améliore la précision en analysant immédiatement le visage, la voix, les gestes, le pouls, la respiration et l'analyse sémantique du texte.

C'est ainsi que fonctionne la perception humaine. Vous voyez un homme de dos, le regardez s'asseoir et pensez, "il semble qu'il est triste". Et notre objectif est de créer un algorithme qui pourrait percevoir les émotions en tant que personne - généralement dans toutes les conditions, pour toutes les informations.

Mais maintenant, l'avantage du système sur les humains est qu'il peut analyser automatiquement une grande quantité de données. Parfois, une personne peut faire mieux, mais vous ne la ferez pas asseoir 24 heures sur 24 et écouter avec ses oreilles, par exemple, les appels vers un centre d'appels.

- Si je ressens une émotion, mais que j'essaie de la cacher, le système comprendra-t-il cela?
- (O.P.) Peut-être.



Comment se déroule le développement


Neurodata Lab est une petite entreprise qui n'existait jusqu'à récemment que comme laboratoire. Il dispose d'un département scientifique, d'une équipe Data Science et d'un département de développement qui intègre les nouveaux développements et découvertes dans les produits. Chaque département compte 5-6 personnes. Au total, l'équipe compte environ 30 employés.

Chercheurs scientifiques


Les psychologues, physiologistes et biologistes travaillent au département scientifique. Le personnel ne compte que quatre personnes et trois stagiaires, mais ils ont construit tout un réseau international de collaborations. Par exemple, en Russie, il existe des projets en collaboration avec l'Université d'État de Moscou, l'École supérieure d'économie et la RANEPA. À l'étranger - avec l'Université de Glasgow, l'Université de Technologie de Paris, l'Université de Genève, le laboratoire d'ingénierie de Gênes, qui se consacre à l'analyse des mouvements.

Les scientifiques qui font de l'informatique émotionnelle constituent toute une communauté. Ils se réunissent régulièrement pour des ateliers communs dans diverses universités du monde entier. Tous les deux ans, une grande conférence est consacrée exclusivement à la technologie émotionnelle. Cette année, Neurodata Lab organisera son propre atelier lors de cette conférence.



- Je me demande, quel est le travail quotidien d'un chercheur?
- (O.P.) Premièrement, ils ont lu des articles. Par exemple, nous voulions apprendre à reconnaître un mensonge, pas seulement des émotions, et nous devons comprendre ce qu'est un mensonge, comment fonctionne un détecteur de mensonge, ce qui a déjà été fait dans ce domaine, quels sont les problèmes d'un polygraphe classique, comment le tromper, quels algorithmes sont les plus cool, comment la psyché humaine est organisée, quelles sont les caractéristiques psychologiques lorsqu'une personne ment, comment fonctionne la physiologie, pourquoi (et si) le nez d'une personne se refroidit et ses oreilles deviennent rouges quand elle triche, etc.

Ensuite, nous menons un grand nombre d'expériences. Afin de créer un système qui reconnaît le pouls et la fréquence respiratoire de la vidéo, il était nécessaire de collecter beaucoup de données. Les sujets nous viennent constamment, nous avons du matériel et toutes sortes de choses qui mesurent le pouls d'une personne de manière contact. Nous mesurons l'ECG, la photopléthysmographie, la réaction peau-galvanique. Nous avons eu des expériences amusantes lorsque nous avons voulu comprendre comment le flux sanguin se déplace sur le visage, puis nous avons collé des électrodes directement sur le visage.



Enfin, nous montrons aux gens différents vidosiki. Nous essayons de leur faire peur, ou vice versa - pour encourager. Les chercheurs analysent les données, examinent les statistiques, rédigent des articles et des brevets sur la base de ces données. Puis ils viennent au département technique d'Andrei et disent: "Nous avons lu une chose sympa, mené une expérience, vous pouvez essayer de faire un algorithme qui fonctionnera comme ça." Ou Andrei vient à nous et dit: "Nous voulons détecter les chutes, nous devons trouver comment collecter les données." Et le département scientifique s'assoit et réfléchit à la manière de le faire simplement et rapidement.

- Travail de rêve.
- (AB) Certaines personnes pensent - d'autres le pensent.



Date Scientifiques et Développeurs


La science des données fonctionne en parallèle avec le développement de produits. Les datasentéristes entraînent les réseaux de neurones sur Torch, lorsqu'il y a de la marge de manœuvre dans la recherche, et sur MXnet, lorsque vous devez créer une solution rapide. Après avoir confirmé toutes les hypothèses sur l'applicabilité des réseaux de neurones, les gars les transfèrent à TensorRT pour augmenter la vitesse de travail et les remettre à l'équipe de développement pour une implémentation en production.

Neurodata Lab a créé son propre service cloud, auquel d'autres développeurs peuvent accéder - pour des projets de recherche ou commerciaux.

- (A.B.) Le noyau logiciel qui répartit les tâches entre les réseaux de neurones est écrit en Python. Nous devions l'écrire rapidement, mais cela s'est plutôt bien passé. Il travaille avec des dockers, communique via RabbitMQ, s'exécute dans Postgres et la couche gRPC se bloque sur le dessus, ce qui vous permet de créer une connexion sécurisée avec le monde extérieur et donne à d'autres programmeurs et chercheurs accès à nos technologies.

Web écrit en Symphonie. API implémentée à l'aide de gRPC. Il s'agit d'une fonctionnalité intéressante de Google qui vous permet de créer un canal sécurisé et d'échanger des clés avec le système - de sorte qu'il ne donne accès qu'à certaines fonctions internes. Par exemple, vous ne pouvez donner une clé qu'aux outils qui peuvent détecter les visages et reconnaître les émotions.

Je travaille sur une idée - je veux construire mon propre petit centre de données, où l'inférence tournera. Et il sera basé sur Jetson Nano. Il s'agit d'un si petit ordinateur monocarte pour dix mille roubles. Comme le Raspberry Pi, uniquement avec une carte graphique. Avec un processeur, de la RAM et tout le reste, cela coûte 6 fois moins cher que le 1080Ti sans prendre en compte le reste des composants de l'ordinateur, mais cela fonctionne également environ 6 fois plus lentement.

- Et que va-t-il donner?
- (AB) Premièrement, c'est moins cher et cela fonctionnera à peu près de la même manière. Deuxièmement, il cessera de nuire tellement à l'environnement. Troisièmement, ils n'ont pas besoin de beaucoup d'électricité. Six Jetson Nano, qui, ensemble, alimentent presque le 1080 Ti, dépensent six fois moins d'énergie et occupent beaucoup moins d'espace.

- Pourquoi les mineurs ne les ont-ils pas encore atteints?
- (A.B.) Les mineurs ont besoin de leur carte vidéo pour pouvoir faire beaucoup de choses à la fois. Mais pour nous, ce n'est pas si important. Nous avons des tâches légères qui doivent être effectuées rapidement en utilisant de petites puissances et renvoyer le résultat. Lorsque vous avez six de ces tâches, il est plus raisonnable de les répartir dans six petites cartes que de tout mettre en même temps dans une grande et puissante, où ces tâches seront poussées les coudes.



Comment est l'équipe de recrutement


Au printemps, les chefs de produit sont venus dans l'équipe, et maintenant la startup a besoin de développeurs. Fournisseurs backend qui prendront en charge le Web en PHP et Symphony, ou vous convaincre de passer, par exemple, à Python ou Go. Le front-end, qui créera des pages pour de nouveaux services Web, étendra les fonctionnalités et améliorera la convivialité des services existants. Un développeur de noyau qui, en plus de la connaissance de Python à un niveau élevé, comprend la science des données et les spécificités du travail avec le matériel, les testeurs, les développeurs C ++ pour travailler avec le SDK et bien d'autres.



- Comment se passe votre embauche?
- (A.B.) Pour la date des scientifiques, je me lance dans une tâche pas très difficile, mais plutôt indicative, par laquelle on peut juger de la capacité de penser et de programmer. Je le fais moi-même en quarante minutes. Junior gère en 4-6 heures. Après cela, nous appelons et discutons des problèmes techniques. Je lui suggère de réfléchir à une nouvelle tâche. Nous émettons des hypothèses ensemble, testons ensemble. Je regarde juste comment une personne se sent dans un environnement inconnu en termes de tâches. Comprend-il comment se déroule le processus de développement d'un modèle, à quoi vous pouvez faire face et à quoi vous ne devriez pas avoir peur?

Après ces étapes, environ 10% des personnes restent. Une cinquantaine de personnes répondent habituellement au mois de juin. Nous appelons les cinq personnes restantes pour une dernière entrevue à notre bureau, et nous communiquons simplement avec une disponibilité presque complète pour faire partie de l'équipe.

- Et avec les développeurs?
- (A.B.) Mais avec les développeurs, tout est un peu pire. Nous leur donnons un tel test: vous devez déployer un petit service sur n'importe quel framework que vous aimez à l'intérieur du docker. Ce service devrait communiquer avec d'autres dockers, dans lesquels se trouvent Postgres et RabbitMQ. Il y a une tâche pour lire un canal dans un rebbit, prendre à partir de là la tâche de remplir la base de données et tout écrire dans la base de données. Il semblerait que cette tâche soit très simple, à faire pendant environ une heure. Mais tout s'écroule lorsque nous disons que nous allons transférer des images pour les écrire dans la base de données.

Il s'avère constamment que tout le monde résout ce problème de manières complètement différentes. Et chaque personne a presque toujours une sorte d'idée nouvelle, que je n'avais même pas vue ou imaginée auparavant. Mais en même temps, tout le monde n'inspecte pas quelque chose. Au test, coupez environ la moitié des candidats. Ensuite, nous appelons également les développeurs au bureau. Nous commençons à parler de sujets généraux, pour savoir ce qui va suivre, ce que vous voulez et ainsi de suite. Et après cela, malheureusement, nous avons presque 0% d'échappement.

- Selon quels critères comprenez-vous qu'une personne n'a pas suffisamment de compétences générales ou qu'elle ne pourra pas travailler dans une startup?
- (A.B.) Dans des conversations simples de la catégorie: "Écoutez, mais imaginez cela ...". Il commence à développer une pensée, et vous ajoutez accidentellement que nos délais sont respectés, et il reste deux semaines pour un projet qui doit être fait deux mois. Certains disent: "Cela ne peut pas être autorisé." Ok D'autres disent: «C'est très mauvais, mais nous allons serrer le maximum. Bien sûr, nous ne ferons pas tout. Peut-être la moitié, mais c'est mieux qu'un quart. En général, tout sera cool, car le pire est le projet inachevé. " Ce sont les gens - tout de suite. Cas par rapport à la tâche.



Normes éthiques et dilemmes moraux


Reconnaissance faciale, informatique émotionnelle - tout cela est de la recherche et de la technologie basées sur des données. Questions de la catégorie «à qui doivent appartenir les données», «qui et comment contrôler leur collecte» - un territoire frontalier moderne.

L'un des compromis sur lequel tout le monde est maintenant plus ou moins d'accord est la collecte impersonnelle. , GDPR . .

. , , , .

. , ?

— (..) , - . . . ? ? , : « , , , ». .

, : « , , , !» , , . . «, , - , , , , ». 50 , 5-6 , . , . - . , .

Source: https://habr.com/ru/post/fr465153/


All Articles