Нейросеть научили открывать глаза на фотографии

Разработчики Facebook модернизировали архитектуру порождающих состязательных нейросетей, добавив к ней образец — пример того, как может выглядеть конечный объект. Алгоритм, основанный на такой нейросети, может реалистично открыть закрытые на фотографии глаза, наложив на веки изображение глаза определенного человека. Статья опубликована на сайте Facebook Research.

Порождающие состязательные сети состоят их двух соревнующихся систем: генератора и дискриминатора. Генератор создает новые объекты, а дискриминатор оценивает их, сравнивая с обучающей выборкой (к ней у генератора доступа нет), после чего дает генератору ответ: на основании этого ответа генератор корректирует создаваемые им объекты. Очень часто разработчики модернизируют архитектуру такой нейросети, добавляя к ней новые компоненты. Например, порождающая состязательная сеть с дополнительным слоем внимания может создавать точные изображения на основе текстового описания; кроме того, при помощи дополнительного условия также можно «раскрашивать» карандашный набросок, превращая его в фотореалистичный портрет.

Новая архитектура, разработанная Брайаном Долгански (Brian Dolhansky) и Кристианом Кантон Феррером (Christian Canton Ferrer) из Facebook, названа образцовой порождающей состязательной сетью (англ. exemplar generative adversarial network, сокращенно exGAN) и отличается от стандартной нейросети подобного рода тем, что для успешного выполнения задачи ей нужен один образец. С помощью этого разработчики обучили нейросеть реалистично «открывать» глаза, сохраняя черты человека на фотографии.  

В ходе тренировки алгоритма система обучалась вставлять глаза из образца (фотографии человека с открытыми глазами) на фотографию, где глаза замазаны. Дискриминатор модели, в свою очередь, сравнивал получившийся результат с незамазанным изображением. Модель обучили на базе данных фотографий около 17 тысяч знаменитостей: для каждого из них было доступно как минимум три снимка.

Результаты полученной модели превосходят по качеству все известные алгоритмы «открывания» глаз, включая способы, представленные в Adobe Photoshop. Использование изображения-образца позволяет вставлять «правильные» глаза. Сгенерированные изображения показали нескольким добровольцам: исследователи сообщают, что в 54 процентах случаях участники либо выбирали изображение с искусственно открытыми глазами, либо не были уверены в том, какая из фотографий — настоящая.

Тем не менее, у алгоритма, по словам разработчиков, пока что есть недостатки: он не всегда правильно угадывает цвет радужки и плохо воссоздает форму, если на изображении закрытый глаз прикрыт, к примеру, волосами.

В целом, с помощью усовершенствования такого алгоритма можно в скором времени улучшить редактирование фотографий: в частности, исправить снимки, на которых кто-то моргнул или прикрыл глаза. Разработчики также представили датасет для дальнейшего обучения таких моделей. 

С помощью машинного обучения компьютерные программы учат не только добавлять объекты на изображения, но и удалять их. Этим, к примеру, уже долгое время занимаются разработчики из Adobe: в 2015 году они научили алгоритм удалять с фотографий лишние предметы, а недавно смогли сделать то же самое с видео.

Елизавета Ивтушок

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
«Пиксель. История одной точки»

Как инженеры создали первые цифровые изображения

Мнение редакции может не совпадать с мнением автора