ВНУТРИ ИИ

Неявный декодер, часть 2–3D поколение

Генерация 3D и ограничения для глубокого обучения и 3D

Предыдущая запись - Неявный декодер, часть 1–3D реконструкция

3D генерация

Помните ГАН? Что ж, эту же технику можно использовать для создания самолетов, которые вы видите слева.

Как это бывает? Хитрость заключается в том, чтобы использовать ту же сеть декодеров, которая показана ниже. В частности, тот же декодер, который обучался вместе с кодировщиком. Происходит то, что мы обучаем сеть GAN генерировать поддельный z-вектор.

Дискриминатор получает в качестве входных данных действительные z-векторы от сети кодировщика-декодера вместе с поддельными z-векторами от сети генератора. Сеть генератора обучена создавать только новые z-векторы на основе случайного ввода. Поскольку декодер знает, как получить на входе z-вектор и из него реконструировать трехмерную модель, а генератор обучен создавать z-векторы, которые напоминают реальные, новые трехмерные модели могут быть реконструированы с использованием обеих сетей вместе.

Также мы видим, что на гифке одна модель самолета трансформируется в новую. Это делается путем взятия z-векторов для первой и последней 3D-моделей, назовем эти векторы z_start и z_end, затем новые z-векторы вычисляются как линейная комбинация pf z_start и z_end. В частности, выбирается число (скажем, альфа) от 0 до 1, а затем вычисляется новое значение z - z_new: z_new = (z_start * alpha + z_end * (1-alpha)). Затем z_new загружается в сеть декодера, и можно рассчитывать промежуточные 3D-модели.

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

Ограничения глубокого обучения и 3D-реконструкции \ генерации

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

Ограничения набора данных

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

Меры точности

Постоянно возникает вопрос, насколько точна 3D-реконструкция или создание. Ответ на этот вопрос: как измерить точность 3D-реконструкции? Допустим, человек-3D-дизайнер реконструирует 3D-модель по изображению. Как мы можем сказать, точна его работа или нет? Даже если у нас есть исходная 3D-модель, как мы можем сказать, что две 3D-модели похожи или что восстановленная 3D-модель похожа на исходную, и как мы можем количественно оценить это сходство? Старые школьные методы, такие как MSE, IoU , Оценка F1, фаска и нормальное расстояние [[Добавить ссылку - https://2d3d.ai/index.php/2019/10/09/3d-scene-reconstruction-from-single-image/]] - простые меры которые не учитывают трехмерную структуру объекта. Например, IoU проверяет, насколько объем реконструированной трехмерной формы перекрывается с исходной трехмерной формой по сравнению с общим объемом обеих фигур. Если реконструированная форма перемещается в другой объем в пространстве, IoU может быть нулевым (потому что нет перекрытия), даже если формы идентичны.

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

Затем при сравнении двух моделей сравните визуальное сходство изображений из этих 10 додекаэдров, используя коэффициенты Фурье и Цернике.

использованная литература

  • Неявный декодер: Чен, Чжицинь и Хао Чжан. «Изучение неявных полей для генеративного моделирования форм». Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2019.
  • Шапенет: https://www.shapenet.org/
  • LFD: Чен, Дин-Юнь и др. «О поиске 3D-модели на основе визуального сходства». Форум компьютерной графики. Vol. 22. №3. Оксфорд, Великобритания: Blackwell Publishing, Inc, 2003.

Первоначально опубликовано на https://2d3d.ai 16 ноября 2019 г.