Нейросеть выполняет 3D-реконструкцию лица по фотографии

в 10:40, , рубрики: cnn, open source, VRN, Демосцена, искусственный интеллект, Софт, Фототехника

Нейросеть выполняет 3D-реконструкцию лица по фотографии - 1
Некоторые результаты применения метода VRN — Guided на изображениях из набора AFLW2000-3D

В интернете есть ряд стартапов, в том числе российские, которые занимаются восстановлением 3D-структуры лица по фотографиям. Например, VisionLabs со своим приложением Face.DJ умеет выполнять 3D-реконструкцию по единственной фотографии. Такая трансформация (3D-моделирование по фото) имеет практический смысл. После создания модели появляется возможность, например, изменить причёску, примерить очки, отрастить бороду и т. д. Технология может использоваться в системах проверки и распознавания лиц.

Но теперь бизнес подобных стартапов под угрозой: их работу легко выполняет новая нейросеть VRN (Volumetric Regression Network), которую выложили в открытый доступ на GitHub. Прямо на сайт вы можете загрузить свою или любую другую фотографию — и нейросеть осуществит преобразование в онлайне за несколько секунд (демо).

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

На иллюстрациях показано, что нейросеть VRN справляется с обработкой различных выражений лиц под произвольным углом по отношению к объективу камеры — и работает по единственной фотографии. Ей не мешают и посторонние объекты на фоне лица (очки, чупа-чупс).

Авторы этой разработки под руководством Аарона Джексона (Aaron Jackson) из Ноттингемского университета (Великобритания) применили очень простой подход к вокселизации изображений. Он лишён многих недостатков, присущих другим методам 3D-реконструкции (в том числе 3D Morphable Model — 3DMM). В общем виде суть нового метода VRN изображена на иллюстрации ниже.

Нейросеть выполняет 3D-реконструкцию лица по фотографии - 2
(а) Предлагаемая Volumetric Regression Network (VRN) принимает в качестве входящих данных RGB-изображение и напрямую возвращает 3D-объёмные выходные данные, полностью пропуская подгонку 3DMM. Каждый прямоугольник — это остаточный модуль из 256 признаков. (b) Предлагаемая архитектура VRN - Guided сначала определяет 2D-проекцию по 3D-ориентирам и стыкует её с оригинальным изображением. Этот стек отправляется в сеть реконструкции, которая напрямую возвращает объём. (с) Предлагаемая архитектура VRN - Multitask возвращает и объёмное 3D-изображение лица, и набор разреженных 3D-ориентиров.

Авторы исследования доказали, что свёрточная нейросеть (CNN) способна успешно генерировать 3D-модели из фотографий после обучения на наборе данных, который содержит фотографии и соответствующие им 3D-модели. В данном случае обучение проводили на 60 000 двумерных фотографиях лиц из базы 300W и соответствующих им 3D-сетках, полученных с помощью 3DMM.

Как выяснилось, для выдачи удовлетворительного результата нейросеть не нуждается в использовании модели 3DMM и успешно выполняет прямое преобразование из 2D в 3D.

Дееспособность модели доказана на большом количестве произвольных фотографий, которые пользователи загружают через интернет (демо). Судя по всему, метод VRN превосходит любые другие системы 3D-реконструкции по единственной фотографии. К настоящему моменту демо-версия обработала уже более 400 000 произвольных фотографий из интернета.

Нейросеть можно запустить и локально на собственном компьютере. Код программы опубликован на GitHub. Для работы требуется установленный фреймворк для научных вычислений Torch7, более-менее производительный графический процессор Nvidia с поддержкой CUDA. Программа тестировалась в операционной системе Linux и автор понятия не имеет, как она работает под Windows. Понадобятся ещё MATLAB, bash, ImageMagick, GNU awk, Python 2.7 (+ visvis, imageio, numpy).

Научная статья с описанием нейросети опубликована 22 марта 2017 года (arXiv:1703.07834, pdf).

Автор: Анатолий Ализар

Источник

Поделиться

* - обязательные к заполнению поля