Восстановление 3D-модели волос и головы из видео

6 ноября 2018

Восстановление 3D-модели волос и головы из видео

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

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

Предыдущие работы

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

State-of-the-art идея

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

Метод

Модель состоит из 4 компонентов, которые показаны на рисунке ниже:

A: модуль, который анализирует движения камеры, позу головы, карты глубины с показателями достоверности.

B: модуль, в котором применяется сегментация и определяется направление роста волос для каждого кадра. В этом модуле получается 2D-модель волос.

C: сегментация из модуля B используется для восстановления текстуры лицевой области. Для определения формы лица и головы без волос используется модель морфинга 3D-лица.

D: последний модуль — самый важный. В нём карты глубин и 2D-пряди используются для создания трехмерных прядей. Пряди сравниваются с базой данных волос. Те, которые лучше всего соответствуют, обрабатываются так, чтобы соответствовать входным кадрам из видео.

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

Архитектура сети предлагаемого метода

Модуль А

Первый модуль используется для грубой оценки формы головы. Каждый кадр в видео подвергается препроцессингу с использованием семантической сегментации для отделения фона от человека. Цель — оценка позиции камеры в каждом кадре и создание грубой начальной структуры из всех кадров.

После предварительной обработки и удаления фона голова извлекается с использованием структуры «motion approach» — оценки позы камеры для каждого кадра и покадровой глубины для всех кадров в видео.

Модуль B 

Второй модуль содержит подготовленную сегментацию волос и классификаторы направления роста волос для маркировки и прогнозирования направления укладки волос в пикселях. Модуль основан на методе оценки направления прядей Chai 2016.

Результаты работы второго модуля

Модуль C 

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

Модуль D

Последний — основной модуль — оценивает трехмерные пряди волос, используя выходные данные модулей A, B и C. Полученные 3D-пряди волос являются неполными, так как основаны на 2D-прядях. Для того чтобы сделать их более реалистичными, модель обращается к набору данных трехмерных моделей волос. В работе использован набор, созданный Chai et al. 2016, который содержит 35 000 различных причесок. Каждая модель прически состоит из 10 000 прядей волос. В конце применяются глобальная и локальная деформация для обработки полученных прядей, для того чтобы они приняли форму прядей из оригинального видео.

Локальная и глобальная трансформация трехмерных прядей

Результаты

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

Качественные характеристики сравнили с другими современными методами, используя тест Mechanical Turk.

На рисунке показаны четыре примера кадров, сравнивающих силуэты реконструированных причесок с результатами сегментации волос.
compared to Hu et al. 2017 based on Amazon Mechanical Turk tests.
Сравнение метода с Hu и др. 2017 на основе тестов Amazon Mechanical Turk.
The ratio of preference of methods' results
Сравнение с Zhang и др. 2017 на основе тестов Amazon Mechanical Turk.

Вывод

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

Реконструкция 3D-модели головы по нескольким фотографиям

18 октября 2018
3D моделирование головы

Реконструкция 3D-модели головы по нескольким фотографиям

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

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

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

Предыдущие работы

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

  • Shlizerman et al. показали, что можно восстановить лицо по одной фотографии в Интернете, используя шаблонную модель другого человека. Один из способов приблизиться к задаче реконструкции головы — использовать подход, основанный на моделировании.
  • Hsieh et al. показал, что лицо находится в линейном пространстве с изменяемыми моделями из 200 сканов лица, голову также реконструют по этому пространству. На практике методы изменяемой модели хорошо подходят для распознавания лиц.
  • Adobe Research доказала, что моделирование волос можно сделать по одной фотографии путем подбора синтетических волос из базы данных или с помощью спиралей.

State-of-the-art идея

Новая идея относится к направлению реконструкции головы непосредственно из интернет-данных. Есть коллекция фотографий, полученная путем поиска фотографий конкретного человека в Google (Facebook, Instagram), задача — восстановить 3D-модель головы этого человека (основное внимание все равно уделяется области лица). Если есть только одна или две фотографии, задача сильно усложняется из-за несогласованности освещения, трудности в сегментировании профиля лица из фона и проблемы с объединением изображений. Ключевой идеей является то, что с большим количеством (сотнями) фотографий проблему можно преодолеть. Для знаменитостей можно быстро получить такие коллекции.

Метод работает следующим образом: коллекция фотографий человека делится на кластеры примерно одинакового азимутального угла 3D-позы. С учетом кластеров реконструируется карта глубины фронтальной поверхности, и алгоритм постепенно увеличивает реконструкцию, оценивая поверхностные нормали для каждого кластера, а затем урезает использование граничных условий, исходящих из соседних видов. Конечный результат — сетка головы, объединяющая все фотографии.

реконструкция 3D модели головы
Рисунок 2

Данные фотографии делятся на кластер представлений как Vi. Фотографии в том же кластере имеют примерно одинаковые 3D-позы и азимутальный угол. Фотографии с 7 кластерами с азимутами: i = 0, -30,30, -60,60, -90,90. На рисунке 2 показаны средние значения для каждого кластера после жесткого выравнивания с использованием опорных точек (1-я строка) и после последующего выравнивания с использованием метода Collection Flow (2-й ряд), который вычисляет оптический поток для каждой кластерной фотографии в среднем по кластеру.

Инициализация мэша головы

Цель состоит в том, чтобы восстановить головную сетку M. Она начинается с оценки карты глубины и нормалей поверхности лобового кластера V0 и присваивает каждому восстановленному пикселю вершину сетки. Алгоритм выглядит следующим образом:

  • Плотное 2D-выравнивание: cначала фотографии жестко выравниваются с использованием двумерных точек. Область головы, включая шею и плечо в каждом изображении, сегментируется с использованием семантической сегментации. Затем Сollection Flow запускается на всех фотографиях в V0, чтобы выровнять их со средней фотографией этого набора более точно. Трудные фотографии не влияют на метод; учитывая, что большая часть изображений хорошо сегментирована, Collection Flow будет исправлять несоответствия. Кроме того, Collection Flow помогает преодолевать различия в прическе, деформируя все фотографии до доминирующего стиля.
  • Оценка нормалей поверхности: маска для лица используется для определения области лица на всех фотографиях. Фотометрическая стереосистема (PS) затем применяется к области лица выровненных по потоку фотографий. Область лица изображений расположена в матрице n × pk Q, где n — количество изображений, а pk — количество пикселей лица, определяемое матричной лицевой маской. Rank-4 PCA рассчитывается для факторизации в освещение и нормали: Q = LN. Получив оценку освещения L для каждой фотографии, вычисляют N для всех p головных пикселей, включая области уха, подбородка и волос. Два ключевых компонента, которые заставили PS работать с некалиброванными фотографиями на голове:
    1. Решение неоднозначности Generalized Bas-Relief (GBR) с использованием шаблона 3D-лица другого человека.
    2. Используя обычную оценку поверхности на пиксель, где каждая точка использует другой поднабор фотографий для оценки нормали.
  • Оценка карты глубины: нормали поверхности интегрированы для создания карты глубины. Решая линейную систему уравнений, которые удовлетворяют градиентным ограничениям dz / dx = -nx / ny и dz / dy = -nx / ny, где (nx, ny, nz ) являются компонентами поверхностного нормали каждой точки. Объединяя эти ограничения, для z-значения на карте глубины:

head reconstruction

Это генерирует разреженную матрицу M размера 2p × 2p и решает:

minimum

Граничный рост (Boundary-Value Growing)

Для завершения вида сбоку сетки вводится граничное значение. Начиная с фронтальной сетки V0, мы постепенно дополняем больше областей головы в порядке V30, V60, V90 и V-30, V-60, V-90 с двумя дополнительными ограничениями клавиш.

  • Восстановление неоднозначности: вместо того, чтобы восстанавливать неоднозначность А, возникающую из Q = LA ^ (- 1) AN с использованием шаблонной модели, используется уже вычисленный соседний кластер, т. Е. Для V ± 30 используется N (ноль) для V ± 60, N — 30, а для V — 90 — N — 60. В частности, он оценивает внеплановую позу от 3D-начальной сетки V0 до среднего изображения кластера позы V30.
  • Ограничение глубины: в дополнение к ограничениям градиента также изменяются граничные ограничения. Пусть Ω0 — граница D’0. Тогда часть Ω0, которая пересекает маску D30, будет иметь одинаковые значения глубины: D30 (Ω0) = D’0 (Ω0). Как с граничными ограничениями, так и с ограничениями градиента функция оптимизации может быть записана как:

После каждого шага реконструкции глубины (0,30, 60, … градусов) расчетная глубина проецируется в головную сетку. Посредством этого процесса, голова постепенно заполняется путем сбора вершин из всех фотографий.

Результат

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

Individual reconstructions per view cluster, with depth and ambiguity constraints
Рисунок 4

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

Figure 5. Comparison between without and with two key constraints
Рисунок 5. Сравнение без и с двумя ключевыми ограничениями

Левые две фигуры показывают модели без двух ключевых ограничений восстановленные независимо. Правые две фигуры показывают два результата с двумя ключевыми ограничениями. На рисунке 6 показан результат реконструкции для 4 предметов; каждая сетка поворачивается до пяти разных точек зрения.

Рис: 6 Окончательная реконструированная сетка повернута до 5 видов, чтобы показать реконструкцию со всех сторон. Каждое цветное изображение представляет собой пример изображения из около 1000 коллекций фотографий для каждого человека.

Сравнение с другими моделями

На рисунке 7 показано сравнение с программным обеспечением FaceGen, которое реализует подход изменяемой модели.

Рис.7 Сравнение подходов

Для количественного сравнения для каждого человека ошибка репроцессинга рассчитывается с помощью трех методов (предлагаемый подход, Space Carving и FaceGen) до 600 фотографий в разных позах и вариациях освещения. Трехмерная форма получена от каждого метода реконструкции.

Comparison with space carving Method
Сравнение с space carving
head reconstruction machine learning
Средняя ошибка репроекции трех методов реконструкции

Карта ошибок изображения показана на рисунке 8. Обратите внимание, что формы из FaceGen и Space Carving могут выглядеть хорошо с фронтальной точки зрения, но они неверны при повороте в целевое представление. Посмотрите, как отличаются уши на рисунке.

head reconstruction neural networks
Рис.8 Визуализация ошибок

Вывод

Подход показывает, что можно восстановить модель головы из интернет-фотографий. Однако этот подход имеет ряд ограничений.

Во-первых, он предполагает модель Ламберта для отражения поверхности. Хотя это хорошо работает, учет зеркал должен улучшить результаты.

Во-вторых, опорные точки для боковых представлений были помечены вручную.

В-третьих, полная модель не построена; верхняя часть головы отсутствует. Чтобы решить эту проблему, необходимо добавить дополнительные фотографии с разными углами обзора, а не просто сфокусироваться на изменении азимута.

DeepWrinkles — нейросеть для создания детальных 3D-моделей одежды

28 августа 2018

DeepWrinkles — нейросеть для создания детальных 3D-моделей одежды

Facebook AI Research представляет новый подход под названием «DeepWrinkles» для создания реалистичной деформации одежды. Реалистичное моделирование одежды, как известно, представляет собой сложную задачу, и трудно недооценить её значимость в AR/VR,…

Facebook AI Research представляет новый подход под названием «DeepWrinkles» для создания реалистичной деформации одежды. Реалистичное моделирование одежды, как известно, представляет собой сложную задачу, и трудно недооценить её значимость в AR/VR, видеоиграх, виртуальных примерочных. Нейросеть состоит из двух взаимодополняющих модулей:

  • Статистическая модель обучается на 3D-сканах одетых людей в движение, у которых шаблоны одежды не жестко выровнены;
  • Точные геометрические детали добавляются к картам нормалей, созданным с использованием conditional GAN, архитектура которой призвана обеспечить реализм и временную согласованность.

Цель состоит в том, чтобы восстановить видимые геометрические детали. Поэтому,

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

clothes modelling DeepWrinkles

Деформация ткани вычисляется по форме тела и позе путем изучения линейной модели подпространства. Модель обучается на реальных данных. Это гарантирует, что деформации представлены с высокой точностью. Авторы вычисляли робастные шаблонные нежесткие регистрации на основе 4х-мерного сканирования (3D + внутренние сечения), затем выводили статистическую модель деформации одежды, и, наконец, регрессионную модель обучали ретаргетингу поз.

Подготовка данных

Сбор: для каждого вида одежды производится сканирование со скоростью 60 FPS (10,8 тыс кадров за 3 минуты) полностью одетого субъекта в движении с подсвеченным цветными границами куском одежды. Каждый кадр состоит из трехмерной сетки с более чем 200 000 вершинами, что дает подробные изображения складок на поверхности, но частично засоряет шумом.

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

Регистрация: шаблон одежды T определяется путем выбора подмножества шаблонов человека с согласованной топологией. T должен содержать достаточно вершин для моделирования деформаций (~5 000 для футболки). Затем шаблон одежды регистрируется в 4х-мерных серии сканирований, используя нестрогий итеративный алгоритм ближайших точек (non-rigid ICP), основанный на деформации сетки.

Статистическая модель

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

Каждая регистрация Ri может быть представлена, как средняя форма M и смещение вершин oi, такими, что Ri  = M + oi, где средняя форма M принадлежит R3 * v и получается путем усреднения положений вершин. В общем случае, каждый Ri может быть компактно представлен, как функция линейного смещения формы B

 the blend shape can simply be replaced

Предсказание «из-позы-в-форму»

Предсказывающая модель f узнает, какую позу принимает на вход и на выходе выдает набор из k параметров формы (А). Чтобы учитывать динамику деформации, возникающую во время движения человека, модель также учитывает скорость, ускорение и параметры формы.

DeepWrinkles модель работы
Пайплайн сети

Архитектура DeepWrinkles

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

neural network design clothing modelling

Предлагаемая сеть базируется на conditional Generative Adversarial Network (cGAN), основанной на передаче изображения. В генераторной сети используется структура свертки batchnorm-ReLu и U-Net, поскольку она передает и всю информацию по сетевым уровням, и общую структуру изображения, которую необходимо сохранить. Консистентность во времени достигается за счет продления времени потерь сети L1.

Для правдоподобной анимации важно не только, чтобы каждый кадр выглядел реалистично, но и не возникало внезапных скачков в рендеринге. Чтобы обеспечить плавный переход между последовательно созданными изображениями, вводятся дополнительные потери L относительно цели GAN, которая “наказывает” за несоответствия между сгенерированными изображениями на шаге t и ожидаемыми изображениями (из набора тренировочных данных) при t — 1:

loss function

где L (data) помогает генерировать реалистичные изображения в смысле L1 (для меньшего размытия). Временная консистенция L (temp) предназначена для выявления глобальных движений складок по поверхности. Имеется в виду, что если где-то что-то появилось, то, в большинстве случаев, это значит, что оно исчезло из прилежащей области и наоборот.

Обучение сети

Сеть cGAN обучается на наборе данных из 9213 последовательных кадров. Первые 8000 изображений составляют тренировочный датасет, следующие 1000 изображений — тестовый, а остальные 213 изображений оставили на проверку. Наборы тестов и валидации содержат позы и движения, не наблюдаемые в учебном наборе.

Автокодер U-Net построен с 2 x 8 слоями и 64 фильтрами в каждом из первых сверточных слоев. Дискриминатор использует патчи размером 70 x 70. Вес L (data) установлен в 100, L (temp) вес равен 50, тогда как вес GAN равен 1. Изображения имеют разрешение 256 x 256, хотя ранние эксперименты также показали обнадеживающие результаты на 512 x 512.

В сухом остатке

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

a) Физическое моделирование; b) Подпространство (50 коэффициентов); c) Регистрация; d) DeepWrinkles e) 3D-сканирование (истина)

Метод 3D-реконструкции волос по одному входному изображению

10 июля 2018
3D Hair Reconstruction Out of a Single Image

Метод 3D-реконструкции волос по одному входному изображению

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

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

Исследователи из Института креативных технологий в Южной Калифорнии, компании Pinscreen и лаборатории Microsoft Research Asia рассмотрели задачу восстановления 3D-модели волос и предложили метод глубокого обучения для трехмерной реконструкции по единственному обычному 2D-изображению.

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

3D Hair Reconstruction
Представления данных в описанном методе

Метод

Метод состоит из трех шагов:

  1. В качестве предварительной обработки вычисляется двумерное поле направлений в области волос на изображении;
  2. Далее глубокая нейронная сеть принимает двумерное поле направлений и выводит генерируемые линии прядей (в виде последовательностей трехмерных точек);
  3. Этап восстановления, который генерирует гладкую и плотную модель волос.

Предобработка

Как упоминалось ранее, первым шагом является предварительная обработка картинки, когда авторы хотят получить двумерное поле ориентаций, но только для области волос. Поэтому первый фильтр фактически извлекает из портрета область с изображением волос, для этого используется специальная жесткая маска. После этого для определения поля в каждой точке используются фильтры Габора и строится пиксельная 2D-карта ориентаций. Стоит также отметить, что исследователи не принимают во внимание направление ориентации, т. е. фактическое направление роста волос. Чтобы улучшить результат при сегментировании области волос, применяется специальная маска для определения головы и тела человека на картинке. Наконец, после предобработки выход представляет собой изображение 3 x 256 x 256, где первые два канала содержат ориентацию, закодированную цветом, а третья — фактическая сегментация.

Глубокая нейронная сеть

Представление данных

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

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

Архитектура сети

Используемая сеть принимает карту ориентаций в качестве входных параметров и дает две матрицы в качестве выхода: позиции и кривизны, как объяснялось ранее. Сеть имеет сверточную архитектуру энкодера/декодера, которая детерминированно кодирует входное изображение в скрытый вектор фиксированного размера 512. Этот скрытый вектор фактически представляет собой признаки волос, который затем преобразовывается декодером. Энкодер состоит из 5 сверточных слоев и max pooling слоя. Закодированный скрытый вектор затем расшифровывается декодером (состоит из 3 деконволюционных слоев) в множество векторов признаков прядей (как упоминалось выше), и, наконец, для дальнейшего декодирования векторов в желаемую геометрию, состоящую из кривизн и координат, используется многослойный перцептрон.

Encoder Decoder architecture for hair reconstruction
Предложенная архитектура энкодера/декодера, реализующая восстановление 3d-модели волос

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

The ellipsoids used for collision testing
Эллипсоиды, использованные для тестирования столкновений

Оценки и выводы

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

3D Hair Reconstruction table1
Сравнение представленного метода с уже существующими. Разделено на две части — видимые и невидимые части
3D Hair Reconstruction
Пространственная и временная сложность в сравнении с подходом, предложенным Chai et al

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

Comparison on 4 real portrait images
Результат работы на 2 потретах реальных людей

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

Interpolation results between two hairstyles
Результаты интерполяции между двумя прическами (короткой и длинной)

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

Перевод — Эдуард Поконечный, оригинал — Dane Mitrev