Вступление

Эта статья представляет интересное применение условной генеративной состязательной сети (cGAN) для старения лица. То есть вы можете использовать этот cGAN для синтеза изображений лиц одного человека в разном возрасте. В области исследований этот метод может быть использован для повышения эффективности «распознавания лиц лиц разных возрастов». Для повседневного применения, кроме развлечения, его также можно использовать для поиска пропавших без вести детей.

Эта статья в основном состоит из двух частей:

  1. Они разрабатывают генерирующую состязательную сеть с условным возрастом (acGAN) для создания изображений лиц в требуемых возрастных категориях.
  2. Они предлагают подход к латентной векторной оптимизации, позволяющий acGAN реконструировать входное изображение лица, сохраняя личность исходного человека.

2. Методы и эксперименты.

Как работает acGAN?

Как показано на следующем рисунке, после обучения acGAN мы сначала используем оптимизацию с сохранением идентичности, чтобы найти оптимальный скрытый вектор z_star, который позволяет нам сгенерировать реконструированное изображение лица x_bar, максимально приближенное к исходному изображению x с меткой возраста y_0. Затем мы позволяем acGAN использовать этот скрытый вектор z_star с меткой целевого возраста y_target для создания окончательного изображения лица с целевым возрастом.

2.1 Обучение acGAN

Подобно традиционному cGAN, процесс обучения этого acGAN можно выразить как оптимизацию следующей функции (1):

где theta_G и theta_D - параметры G и D соответственно, y - дополнительная метка для обучающего набора x (условие для x). В этом проекте y - это шестимерные одномерные векторы для шести разных возрастных категорий.

2.2 Аппроксимативная реконструкция лица

Чтобы сгенерировать изображение лица с использованием данного исходного изображения лица с меткой целевого возраста, необходимо построить карту входного изображения x с меткой y в латентный вектор z, поскольку cGAN не имеет явного механизма для такого рода обратного преобразования. отображение. Поэтому авторы использовали синтетический набор данных из 100 тыс. Пар для обучения кодировщика, который представляет собой нейронную сеть для аппроксимации обратного отображения. Этот кодировщик обучен минимизировать евклидовы расстояния между предполагаемым скрытым вектором z_0 и скрытым вектором наземной истинности.

Но авторы обнаружили, что, хотя приближение z_0 приводит к визуально хорошей реконструкции лица, идентичность исходного изображения теряется примерно в 50% случаев. Таким образом, они предложили новый подход «Сохранение идентичности» для улучшения z_0.

Ключевой трюк заключается в использовании заданной нейронной сети распознавания лиц FR, чтобы встроить входное изображение лица x как FR (x) и встроить реконструированное изображение x_bar как FR (x_bar). Минимизация евклидова расстояния между этими вложениями, а не расстояния между x и x_bar (также: оптимизация по пикселям) позволяет сохранить идентичность исходных изображений лиц.

В частности, на следующем рисунке показана разница между методом «Pixel-Wise» и методом «Сохранение идентичности (IP)». Часть © показывает, что выражение лица или прическу можно лучше поддерживать с помощью метода IP. В части (d) показаны сгенерированные изображения с использованием скрытого вектора IP с меткой возраста в качестве входных данных для этого acGAN.

На следующем рисунке показана производительность этого acGAN с использованием случайного скрытого вектора с возрастными метками:

Чтобы количественно оценить разницу между IP-методом и методом Pixelwise, авторы использовали «OpenFace» для распознавания сгенерированных изображений лиц в качестве метрики. Из этой таблицы очевидно, что IP-метод может поддерживать больше черт лица (идентичностей лиц) посредством этого процесса генерации, потому что оценка FR намного выше, чем у Pixel-Wise или начальных.

3. Заключение

Основное преимущество этого acGAN заключается в том, что они используют подход латентной векторной оптимизации «Сохранение идентичности» для сохранения идентичности исходного человека при реконструкции.

Этот метод также можно использовать для синтетического увеличения наборов данных о лицах и для повышения надежности решений распознавания лиц в сценариях разных возрастов.

4. Мысли рецензента

Общие комментарии:

В этой статье был предложен метод синтеза изображений лиц определенного возраста с использованием acGAN. Судя по приведенным выше результатам, этот метод на высоком уровне достиг своей цели. Новая идея из этой статьи заключается в том, что они используют современную сеть распознавания лиц для встраивания входных изображений лица, чтобы получить высокоуровневое характерное выражение этого лица, так что личность человека может быть сохранена посредством реконструкции. Кроме того, автор использует «OpenFace» для распознавания сгенерированных лиц, чтобы оценить производительность реконструкции лиц и генерации этого acGAN, что очень убедительно.

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

Возможные проблемы:

  1. Из рисунков выше мы можем сказать, что сгенерированные лица в возрастной группе «0–18» и «60+» имеют явные различия, но между другими 4 группами есть небольшие различия, особенно для женских лиц. Одной из возможных причин может быть то, что авторы не приняли во внимание «примирение» при предварительной обработке данных обучения. Нанесение макияжа часто может сбить с толку предсказание возраста в повседневной жизни. Другими словами, помимо обучения с использованием «IP», которое очень важно для этого проекта, выбор и предварительная обработка данных обучения также играет ключевую роль.
  2. В этом проекте всего 6 возрастных групп, каждая из которых разделена диапазоном по десять лет. Эта настройка подходит для людей в возрасте от 30 до 60 лет. Но у детей и подростков их лица меняются намного быстрее с возрастом. Таким образом, результат для возрастной группы «0–18» не столь убедителен, как для других групп.

Возможные улучшения:

  1. Разделите первую возрастную группу на несколько подгрупп, чтобы полученные результаты были более убедительными.
  2. Используйте только изображения лиц без макияжа для обучения кодировщика, чтобы можно было извлечь и сохранить ключевые особенности с точки зрения возраста.

Сравнение с предыдущими работами:

Во-первых, я использую https://how-old.net/ от Microsoft, чтобы предсказать возраст сгенерированных лиц. Результат такой:

Для мужских лиц этот acGAN работает относительно хорошо, за исключением возрастных групп «40–49» и «50–59». Для женских лиц, как упоминалось ранее, различия между несколькими первыми группами слишком малы, так что они относятся к одной возрастной группе.

С другой стороны, веб-приложение для прогнозирования возраста может правильно определять 12 сгенерированных лиц, что означает, что acGAN может с уверенностью генерировать изображения лиц для синтетического увеличения наборов данных лиц.

Во-вторых, я использую приложения «FaceApp» и «Oldify» для старения лиц. Результат такой:

Первые два изображения получены с помощью FaceApp (на основе нейронной сети), последнее - с помощью Oldify. Очевидно, что метод, предложенный в этой статье, дает гораздо лучшие результаты, чем эти популярные приложения для смартфонов. Этот метод позволяет создавать лица разного возраста, что также является уникальным по сравнению с этими двумя приложениями.

Автор: Ивэнь Ляо | Технический обзор: Хао Ван, Джейк Чжао | Локализовано Synced Global Team: Сян Чен