Робот стоит — лицо как живое. Улыбается — жуть. Пришлось собрать 200 тысяч 3D-лиц, чтобы научить машины мимике

Ученые нашли спасение от эффекта зловещей долины.


uhl321w1dcflhba621c4vk5iynijdq2p.jpg

Лицо гуманоидного робота может выглядеть почти как человеческое, пока робот стоит неподвижно. Проблемы начинаются в момент, когда робот улыбается, хмурится или просто поворачивает голову. Мелкие детали мимики смещаются на доли сантиметра, и выражение лица сразу кажется неестественным. Чаще всего виновато неточное понимание алгоритмом трёхмерной формы лица: алгоритм неверно ставит ключевые точки , по которым строится мимика и отслеживается движение.

Группа исследователей из Китая предложила подход , который опирается не на текстуры и фотографии, а на реальную геометрию. Команда собрала крупную базу трёхмерных сканов лиц и разработала модель, которая находит ключевые лицевые точки прямо в 3D-данных. Такой метод не требует 2D-изображений, не зависит от натягивания текстуры на модель и не привязан к заранее подготовленным цифровым шаблонам.

Для реалистичных гуманоидных роботов и виртуальных персонажей точность таких точек критична. По этим ориентирам строится каркас лица: положение уголков губ, контур век, линии бровей, форма носа и другие зоны, которые задают выражение. Если опорные точки смещаются даже немного, улыбка выглядит странно, эмоция считывается неверно, а система трекинга теряет стабильность при движении головы или при смене выражения. Отсюда и всем известный эффект зловещей долины.

Большинство существующих решений до сих пор сильно зависят от 2D-слоя. Алгоритмы получают фотографию, совмещают её с трёхмерной моделью и пытаются вычислить ключевые точки, ориентируясь на изображение. Другой распространённый метод - обучение на синтетических 3D-лицах. Оба варианта имеют слабые места. Цифровые модели часто отличаются от реальной анатомии, а совмещение текстуры с геометрией даёт погрешности, особенно при сложном освещении или при необычной форме лица, которая плохо укладывается в стандартные шаблоны.