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

    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-сканирование (истина)