Улучшенный метод создания 3D-модели объекта по его 2D-изображению

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

Рисунок 1: Результаты восстановления трехмерной структуры изображения. Первые 8 изображений в выдаче Google по запросам “стул”, “стол” и “самолет” использовались для проверки нового подхода. Ошибки выделены красным.

Альтернативой может стать восстановление 3D структуры с учетом соотношений составных частей объекта.

Сегментация 3D-модели— непростая задача сама по себе. Даже если сегментация задана предварительно, сложно с точностью определить места стыковки, симметрию и параллелизм в деталях изображения.

Сложностей несколько:

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

Решение

Chengjie Niu, Jun Li и Kai Xu предложили обучить нейросеть восстанавливать трехмерную структуру объекта из одного изображения RGB.

Чтобы выполнить эту задачу, они обучили и интегрировали две сети:

  • Structure masking network (SMN), которая создает маску объекта по входному 2D-изображению в разных масштабах. Это многослойная сверточная нейросеть (CNN). Её задача сохранить информацию о форме, пока просматривается нерелевантная информация: фон и текстуры.
  • Structure recovery network (SRN), которая рекурсивно восстанавливает иерархию деталей объекта в виде кубоидной структуры. SRN получает входные данные из SMN, добавляет CNN-характеристики 2D-изображения и затем передает эти функции в рекурсивную нейронную сеть (RvNN) для декодирования в 3D-структуру. На выходе получаем изображение в виде трехмерных кубоидов с правдоподобной пространственной конфигурацией.

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

Архитектура нейросети

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

Рисунок 2. Архитектура нейросети

Давайте подробнее рассмотрим детали предлагаемого решения.

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

Затем SRN объединяет функции из двух сверточных каналов. На один канал поступает карта объектов, какой она была до попадания на SMN. На второй канал поступают CNN-характеристики исходного изображения, извлеченные VGG-16. CNN-характеристика исходного изображения предоставляет дополнительную информацию об объекте.

Схема сети декодера на данном ноде приведена ниже.

Рисунок 3: Устройство декодера

Во время декодирования восстанавливаются два типа отношений деталей объекта: стыковка и симметрия. Чтобы правильно определить тип нодов и использовать соответствующий декодер, отдельный классификатор нодов обучается совместно с тремя декодерами.

Датасет для обучения включал 800 3D-моделей из трех категорий ShapeNet: стулья (500), столы (200), самолеты (100). Для каждой 3D-модели исследователи создали 36 представлений на каждые 30° горизонта, 3 раза меняя уровень высоты. Затем они создали 24 случайно выбранных представления. Всего для каждой модели было создано 60 изображений RGB. Затем 3D-модели были дополнены случайно выбранным фоном из набора NYU v2.

Результаты

Авторы этого подхода предлагают две сферы, где их метод может быть полезен:

  • редактирование изображений с учетом структуры;
  • детализация формы 3D объекта на основе структуры.

Результаты применения метода показаны на рисунке ниже.

Рисунок 4. Верхний ряд: структура 3D-модели может использоваться для завершения и уточнения объемной формы. Нижний ряд: структура используется для редактирования изображений
Рисонок 5. Сравнение с другими методами

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

Предлагаемый подход к восстановлению 3D-модели из одного изображения RGB имеет несколько важных преимуществ:

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

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

Объединив две нейронные сети (SMN и SRN), исследователям удалось восстановить детальную 3D-модель объекта по одному 2D-изображению, передавая места стыковки деталей и симметрию частей. Основная работа выполняется SRN (вычисление мест стыковок деталей, пареллелизма и симметрии). Объединение с SMN позволило получить более точные результаты. С этой точки зрения, SRN и, в частности, декодирующая часть этой сети — ключевой компонент этого исследования.

Катерина Коидан