Американские разработчики создали нейросеть, способную по одной фотографии предсказывать этапы старения человека начиная с раннего детства или, наоборот, показать, как могло выглядеть его лицо в прошлом. Об этом пишет N+1.
В отличие от других подобных алгоритмов, в том числе и от FaceApp, нейросеть меняет не только текстуру, но и форму лица и отдельных его частей, что позволяет добиться намного более качественного эффекта, рассказывают авторы статьи, которая будет представлена на конференции ECCV 2020.
С течением жизни лицо постепенно меняется, однако мы все равно можем узнать человека на его детской фотографии или представить, как ребенок будет выглядеть во взрослом возрасте, поскольку ключевые характеристики, описывающие расположение и форму частей лица, слабо подвержены изменениям. Разработчики уже частично учитывают эту особенность в алгоритмах, причем некоторые из них уже доступны в виде приложений для смартфона. Но пока у этих алгоритмов есть несколько нерешенных проблем. Во-первых, почти все из них работают только с двумя возрастами — например, превращают молодых людей в старых. Во-вторых, их работа, как правило, основана на изменении текстуры лица на изображении, но во время реального старения у людей также меняется и форма лица и отдельных его частей.
Группа исследователей из компании Adobe, а также Вашингтонского и Стенфордского университетов под руководством Иры Кемельмахер-Шлицерман (Ira Kemelmacher-Shlizerman) создала новый алгоритм, который проводит превращение с промежуточными возрастами, а также одновременно меняет текстуру и форму лица.
Чтобы в процессе работы алгоритм сохранял ключевые черты лица конкретного человека, разработчики построили его по модели кодировщика-декодировщика, часто применяемой для превращений разной модальности, например, картины в музыку. Алгоритм авторов на входе получает фотографию — объект с определенным разрешением. Затем он сжимает фотографию и превращает ее в объект меньшей размерности, но сохраняет информацию об основных чертах лица, чтобы можно было восстановить исходное изображение с минимальными искажениями. Затем сжатое представление подается на декодеровщик. Но помимо этого декодировщик также получает еще один вектор, который отвечает за оптимальное преобразование между фотографиями двух конкретных возрастов.
Авторы создали две отдельные модели для мужчин и женщин. Для обучения они использовали датасет лиц с Flickr FFHQ и с помощью краудсорсинга разметили все 70 тысяч фотографий на 10 возрастных интервалов. Каждую фотографию оценивало по три разных человека. После этого разработчики оставили шесть интервалов, в которых была достаточно точная оценка возраста (не сильно разнились оценки разных добровольцев): от 0 до 2 лет, от 3 до 6, от 7 до 9, от 15 до 19, от 30 до 39 и от 50 до 69. Обучение проводилось по схеме генеративно-состязательной нейросети.
Разработчики провели количественное сравнение с несколькими другими нейросетями для этой задачи и выяснилось, что новый алгоритм справляется лучше всех. Результаты можно увидеть на демонстрационном видео или странице авторов.
В 2018 году исследователи предложили использовать область вокруг глаз в качестве эффективного показателя биологического возраста человека. Они выпустили программу, которая используя созданный ими алгоритм и данные может предсказать возраст человека по фотографии с точностью до двух лет.