Взгляд Anderson

Решение проблемы “плохих волос” в синтезе человеческого образа

mm
Добавьте Unite.AI в избранные источники в Google

Со времен древнеримской скульптуры изображение человеческих волос было проблемой. Средний человеческий головной мозг содержит 100 000 волос, имеет различные показатели преломления в зависимости от цвета и, начиная с определенной длины, будет двигаться и менять форму, что может быть смоделировано только с помощью сложных физических моделей – до сих пор применимых только с помощью традиционных методов CGI.

Из исследования 2017 года компании Disney, физическая модель попытается применить реалистичное движение к жидкому стилю волос в рабочем процессе CGI. Источник: https://www.youtube.com/watch?v=-6iF3mufDW0

Из исследования 2017 года компании Disney, физическая модель попытается применить реалистичное движение к жидкому стилю волос в рабочем процессе CGI. Источник: https://www.youtube.com/watch?v=-6iF3mufDW0

Эта проблема плохо решается современными популярными методами deepfakes. В течение нескольких лет ведущий пакет DeepFaceLab имел модель “полной головы”, которая может захватить только жесткие воплощения коротких (обычно мужских) причесок; и недавно стабильный пакет FaceSwap (оба пакета получены из спорного исходного кода DeepFakes 2017 года) предложил реализацию модели семантической сегментации BiseNet, позволяющей пользователю включить уши и волосы в выходные данные deepfakes.

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

GAN Hair

Два основных конкурирующих подхода к человеческой симуляции – это радиационные поля нейронов (NeRF), которые могут захватить сцену с нескольких точек зрения и заключить 3D-представление этих точек зрения в исследуемую нейронную сеть; и генеративные состязательные сети (GANs), которые заметно более развиты в плане синтеза человеческого образа (не в последнюю очередь потому, что NeRF появился только в 2020 году).

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

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

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

«Испарение» волос при трансформации позы из InterFaceGAN. Источник: https://www.youtube.com/watch?v=uoftpl3Bj6w

«Испарение» волос при трансформации позы из InterFaceGAN. Источник: https://www.youtube.com/watch?v=uoftpl3Bj6w

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

CGI-элемент может быть представлен промежуточными 3D-примитивами, такими как Skinned Multi-Person Linear Model (SMPL), или путем принятия методов 3D-вычисления в манере, аналогичной NeRF, где геометрия оценивается из исходных изображений или видео.

Одна из новых работ в этом направлении, опубликованная на этой неделе, – это Многообразные согласованные генеративные состязательные сети для 3D-осведомленного синтеза изображений (MVCGAN), сотрудничество между ReLER, AAII, Университетом технологий Сиднея, академией DAMO в группе Alibaba и Университетом Чжэцзяна.

Правдоподобные и прочные новые лицевые позы, сгенерированные MVCGAN на изображениях, полученных из набора данных CELEBA-HQ. Источник: https://arxiv.org/pdf/2204.06307.pdf

Правдоподобные и прочные новые лицевые позы, сгенерированные MVCGAN на изображениях, полученных из набора данных CELEBA-HQ. Источник: https://arxiv.org/pdf/2204.06307.pdf

MVCGAN включает в себя генеративную радиационную сеть (GRAF), способную обеспечить геометрические ограничения в генеративной состязательной сети, аргументированно достигая некоторых из наиболее аутентичных возможностей позирования среди аналогичных подходов, основанных на GAN.

Сравнение между MVCGAN и предыдущими методами GRAF, GIRAFFE и pi-GAN.

Сравнение между MVCGAN и предыдущими методами GRAF, GIRAFFE и pi-GAN.

Однако дополнительный материал для MVCGAN показывает, что получение объема волос, их размещения, положения и поведения является проблемой, которую не так легко решить с помощью ограничений, основанных на внешне наложенной 3D-геометрии.

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

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

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

Стабилизация волос с помощью свёрточных нейронных сетей

Однако предстоящая работа трех исследователей из Института технологий Чалмерса в Швеции может предложить дополнительный прогресс в нейронной симуляции волос.

Слева - стабилизированное представление волос с помощью CNN, справа - эталон. См. встроенное видео в конце статьи для лучшего разрешения и дополнительных примеров. Источник: https://www.youtube.com/watch?v=AvnJkwCmsT4

Слева – стабилизированное представление волос с помощью CNN, справа – эталон. Источник: https://www.youtube.com/watch?v=AvnJkwCmsT4

Статья озаглавлена Фильтрация волос в реальном времени с помощью свёрточных нейронных сетей и будет опубликована на симпозии i3D в начале мая.

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

Подход отображает ограниченное количество выборок с стохастической прозрачностью и затем обучает U-net для восстановления исходного изображения.

Под MVCGAN CNN фильтрует стохастически выбранные цветовые факторы, блики, тангенсы, глубину и альфы, собирая синтезированные результаты в составное изображение.

Под MVCGAN CNN фильтрует стохастически выбранные цветовые факторы, блики, тангенсы, глубину и альфы, собирая синтезированные результаты в составное изображение.

Сеть обучается на PyTorch, сходясь в течение периода от шести до двенадцати часов, в зависимости от объема сети и количества входных признаков. Обученные параметры (веса) затем используются в реальном времени в реализации системы.

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

Различные примеры входных данных.

Различные примеры входных данных.

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

Приложение реального времени (программное обеспечение, использующее алгоритм, полученный из обученной модели) использует смесь NVIDIA CUDA с cuDNN и OpenGL. Исходные входные признаки загружаются в multisampled цветовые буферы OpenGL, а результат передается в тензоры cuDNN для обработки в CNN. Эти тензоры затем копируются обратно в ‘живую’ текстуру OpenGL для наложения на окончательное изображение.

Система реального времени работает на NVIDIA RTX 2080, производя разрешение 1024×1024 пикселей.

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

Авторы опубликовали код, использованный в оценках статьи, на GitLab. Посмотрите дополнительное видео для MVCGAN ниже.

Заключение

Навигация в латентном пространстве автоэнкодера или GAN все еще больше похожа на плавание, чем на точную езду. Только в этот очень недавний период мы начинаем видеть достоверные результаты для генерации поз “простой” геометрии, такой как лица, в подходах, таких как NeRF, GAN и неразрушающиеся (2017) автоэнкодерные рамки.

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

 

Опубликовано впервые 15 апреля 2022 года.

Писатель о машинном обучении, специалист в области синтеза человеческого изображения. Бывший руководитель исследовательского контента в Metaphysic.ai, до его распада в DNEG's Brahma.ai.
Портфолио: martinanderson.ai
Контакт: martin@martinanderson.ai