Главная » Хабрахабр » [Из песочницы] GAN научили создавать лица с реалистичной текстурой и геометрией

[Из песочницы] GAN научили создавать лица с реалистичной текстурой и геометрией

Привет, Хабр! Представляю вашему вниманию перевод статьи «Facial Surface and Texture Synthesis via GAN».

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

  • поза,
  • освещение,
  • нежесткие деформации,

при этом создавая реалистичные изображение, которые соотносятся с статистиками реальных данных.

Рассмотрим, как state-of-art методы пытаются решить эту задачу.

Современные подходы к генерации лиц

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

Согласно этой модели, геометрическая структура и текстуры человеческого лица могут быть линейно аппроксимированы, как комбинация корневых векторов. 3D Morphable Model (3DMM) — наиболее распространенный метод для представления и синтеза геометрии и текстур и изначально он был представлен в контексте генерации трехмерных человеческих лиц.

Однако полученные образцы получаются чересчур гладкими и нереалистичными, как можно увидеть на картинке ниже: Недавно, 3DMM модель была скомбинирована со сверточными нейронными сетями для аугментации данных.

Лица, полученные с помощью 3DMM
Лица, полученные с помощью 3DMM

Например, ниже показаны два PCA (анализ главных компонент) коэффициента построенные по реальным лицам и синтезированным с помощью 3DMM. Более того 3DMM генерируют данные на основе гауссовского распределения, которое редко отображают реальное распределение данных. Разница между синтетическим и реальным распределением может легко привести к генерации некорректных данных.
Первые два коэффициента PCA для реальных (слева) и 3DMM сгенерированных (справа) лиц
Первые два коэффициента PCA для реальных (слева) и 3DMM сгенерированных (справа) лиц

State-of-art идея

Слоссберг, Шамай и Киммел из Техниона — Израильского технологического института предлагают новый подход к синтезу реалистичных человеческих лиц, использующий комбинацию 3DMM и GAN.

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

Такая архитектура генерирует реалистичные изображения, при этом:

  • не страдает от контроля над такими атрибутами, как поза и освещение;
  • количественно не ограничена в генерации новых лиц.

Давайте взглянем поближе на процесс генерации данных.

Процесс генерации данных

Data preparation pipeline
Подготовка данных

Пайплайн генерации данных состоит из четырех основных этапов:

  • Сбор данных: исследователи собрали более 5000 сканов (разверток лица) разных этнических, гендерных и возрастных групп. Каждый участник должен был изобразить 5 различных выражений лица включая нейтральное.
  • Разметка: 43 ключевые точки добавлены на мэши полуавтоматически, путем рендеринга лица и использования предобученного детектора лицевой разметки
  • Выравнивание мэшей: реализовано за счет деформации шаблонного мэша лица согласно геометрии каждого скана, ориентируясь на проставленную разметку.
  • Перенос текстуры: текстура переносится из скана на шаблон с помощью техники ray casting, встроенной в тулбокс Blender. После этого текстура преобразуется из шаблона в двумерную полоскость, используя предопределенное универсальное преобразование

48. Плоские выровненные лицевые текстуры
Плоские выровненные лицевые текстуры

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

48. Facial textures synthesized by GAN
Текстуры лиц, полученные GAN

Исследователи попробовали разные подходы, чтобы найти корректные коэффициенты геометрии для текстуры. Последний шаг — создание геометрии лица. Качественное и количественное сравнение различных методов ниже (L2 геометрическая ошибка):

49. Two synthesized textures mapped onto differegknt geometries
Две синтезированные текстуры наложенные на разные геометрии.

Принимая во внимание простоту метода, он был выбран для всех экспериментов. Неожиданно, метод наименьщшх квадратов показывает наилучшие результаты.

Результаты

Предложенный метод может генерировать множество новых лиц, и каждое из них может быть представлено в различных позах, с различным выражением и освещением. Различные выражения лица добавлены к нейтральной геометрии, используя Blend Shape model. Полученные изображения показаны ниже:

50. image

49. image

49. Identities generated by the proposed method with different pose and lighting

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

Таблица демонстрирует, что полученные текстуры статистически ближе к реальным данным, чем полученные с помощью 3DMM.

Таким образом, 5% лиц не были включены в оценку. Следующий эксперимент оценивает способности синтеза изображений, которые значительно отличаются от тренировочного датасета, и получения ранее не виденных изображений. Исследователи измерили L2 дистанцию между каждым реальным лицом из тренировочных данных и максимально похожего из сгенерированных, и аналогично — для реального из тренировочного датасета.

The distance between the generated and real identities
Дистанция между синтезированными и реальными лицами

Более того “Test to fake” дистанция не слишком отличается от “Fake to real”. Как видно из графиков, тестовые данные ближе к сгенерированным изображениям, чем к тренировочным. Из этого следует, что полученные образцы — это не просто синтезированные лица, похожие на тренировочную выборку, но абсолютно новые лица.

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

53.
Синтезированные текстуры (вверху) против ближайших реальных «соседей» (внизу) 50.jpg" alt="Synthesized facial textures (top) vs.

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

Итоги

Предложенная модель, вероятно, первая которая способна реалистично синтезировать как текстуру, так и геометрию человеческих лиц. Это может быть полезно для детекции и распознавания лиц или моделей реконструкции лица. Кроме того, она может применяться в случаях, когда требуется много разных реалистичных лиц, например, в киноиндустрии или компьютерных играх. Более того, эта структура не ограничивается синтезом человеческих лиц, но может быть фактически использована для других классов объектов, где возможна аугментация данных.

Оригинал

Перевел — Станислав Литвинов.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] LVEE — самая неформальная и душевная ИТ-тусовка

О событии Под Минском завершилась ежегодная конференция LVEE 2018 (Linux Vacation/Eastern Europe), организованная белорусской группой пользователей Linux еще в 2005 году. В мероприятии принимали участие более сотни людей из 7 стран, а программу составили 23 доклада, лайтнинги, воркшоп, круглый стол, ...

Губительная ошибка новичков в геймдеве

Перед началом любого дела необходимо составить план, сделать «пробы пера», одним словом — черновик. Именно это помогает определить стартовую точку и понять направление движения. Не хотите тратить тонны усилий впустую? Хотите делать быстрее и качественней остальных? 90% начинающих разработчиков этого ...