3D ML. Часть 1: формы представления 3D-данных

PHYGITALISM
PHYGITALISM
Published in
18 min readJan 10, 2020

Серия заметок направлена на то, чтобы ознакомить читателя с новым, активно развивающимся направлением в машинном обучении, которое называется Geometrical deep learning (GDL) или же 3D Machine Learning (3D ML).

Обновлённая версия этой заметки доступна на Хабре.

Часть 1 \ Часть 2 \ Часть 3 \ Часть 4

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

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

Введение

Слабый искусственный интеллект, по определению [1] призван имитировать частные сенсорные и когнитивные функции человеческого или иного разума. Одним из важнейших сенсорных навыков живых организмов является пространственное восприятие окружающего мира. Для того, чтобы ориентироваться в пространстве, живые организмы используют информацию самого разного свойства:

  • Можно использовать звук для определения направления на источник, для этого у человека есть бинауральный слух, мозг улавливает временную задержку между приемом одного и того же звука от разных ушей и делает предсказание дальности и направления на источник.
  • Можно ориентироваться по гравитационному вектору, чтобы отделять понятие “низ” и “верх”. Осязание помогает прочувствовать детали изучаемых объектов, которые не видны зрению, определить негеометрические качества объекта, такие как температура.
  • Но всё же, одним из главных источников информации в пространстве для нас является визуальная информация. Человек обладает бинокулярным зрением, которое так же называется стереоскопическим. По аналогии с бинауральным слухом, стереоскопическое зрение основано на использовании двух приёмников визуальной информации — наших глаз, для того, чтобы определять расстояние до видимых объектов.

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

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

Как пример подобной реализации — наш проект для линейки широкоформатных TV Samsung, большой размер которых создает проблему при принятии решения о их покупке (покупатели опасаются, что телевизор не подойдет по габаритам к их интерьеру). Поместив все модели TV в дополненной реальности в размере 1:1, мы решили проблему, дав возможность покупателям “примерить” их в интерьере своего дома перед приобретением. По такому же принципу работают приложения от известных мебельных брендов, например IKEA.

Задачи, подобные описанным выше, сегодня требуется решать не только человеку, но и технике. Аналогично тому, как бинокулярное зрение помогает нам определять расстояния до объектов, специальные глубинные камеры, такие как Intel Realsense или Microsoft Azure Kinect, способны получать поток RGBD изображений [обычное цветное (RGB изображение + карта глубины (depth map )].

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

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

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

Однако, для решения этих задач применяются специальные технические решения, которые порой очень дороги или сложны. Возникает вопрос: можно ли решать подобные задачи, располагая меньшим количеством данных и технических средств? Например, можно ли, не используя камеру глубины, по одному лишь RGB снимку, предсказать пространственную структуру объекта, изображенного на данном снимке?

Сегодня для решения данного вопроса всё чаще прибегают к методам машинного обучения. Если представлять работу алгоритма машинного обучения в виде “чёрного ящика” (black box), которому на вход подаются данные заданного типа, и на выходе алгоритм выдает предсказание в форме данных заданного типа, то в случае, если на входе и/или выходе представлены данные, кодирующие трехмерные структуры, говорят об области машинного обучения, которая называется 3D ML (three dimensional data machine learning problems). Типы задач, которые необходимо решать в области 3D ML, могут быть самыми разными:

  • классические задачи (классификации и кластеризации 3D данных),
  • генерация 3D контента (порождающие модели),
  • восстановление 3D модели объекта по одному или нескольким RGB изображениям этого объекта (2D-to-3D),
  • анимирование статичного меша,
  • и многие другие.
Рис.1 3D ML IDF0 scheme.

Наибольшую популярность в области 3D ML получили методы глубокого обучения. Это можно объяснить тем, что для работы большинства классических алгоритмов машинного обучения, необходимы аналитические функции для манипулирования над данными. Например, для того, чтобы построить метрические алгоритмы классификации / кластеризации, нужно ввести метрику в пространстве 3D моделей. Такие метрики можно конструировать с помощью трехмерных дескрипторов Цернике (Zernike descriptors)[2] — спектрального разложения двумерных многообразий, аналога преобразования Фурье. Так, например, авторы в работе “Characterizing Structural Relationships in Scenes Using Graph Kernels” [3] используют трехмерные дескрипторы Цернике для построения метрического ядра, для кластеризации сложных трехмерных сцен, а в “Fast human pose estimation using 3D Zernike descriptors” [4] авторы используют дескрипторы для построения быстрой и устойчивой модели оценки человеческой позы в пространстве. Но для большинства задач 3D ML, подобрать подобные функции оказывается большим испытанием. В этом случае использование нейронных сетей является более понятной и простой альтернативой.

Рис.2 Слева сверху — оригинальная вокселизированная 3D модель космического корабля. Остальные изображения — меш, восстановленный из изоповерхностей, описываемых 3D дескрипторами Цернике длины N.

На сегодняшний день существует уже множество различных архитектур глубокого обучения для решения задач в области 3D ML, но все их можно условно разделить на несколько видов, в зависимости от типа задачи и типа данных. В этой заметке мы рассмотрим только одну задачу 3D ML, а именно задачу single image 2D-to-3D, чья формальная постановка будет описана ниже.

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

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

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

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

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

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

Рис.3 Сравнение форм представления 3D данных: основные 4 типа в порядке возрастания пространственной информативности, их 2D аналоги.

Для области 3D ML же, на сегодняшний день нет единой формы представления данных, которая была бы одновременно компактна, вычислительно эффективна, и легко извлекалась бы из реальных данных. Чаще всего [5] выделяют четыре основных способа представления трехмерных данных.

  1. Воксели (Voxels).

Воксели (от англ. слов volumetric + pixel) являются обобщением пикселей на пространственный случай. Воксельные 3D модели представляют из себя кубические пространственные сетки, в которых объекты представляются множеством маленьких кубиков (вокселей). В компьютере воксели хранятся в виде трехмерной матрицы. Существует множество различных форматов, в которых хранятся воксельные модели, но наиболее распространённым видимо является .vox. Помимо применения в играх и компьютерной графике в качестве необычного графического стиля (т.н. pixel and voxel art), воксельное представление трехмерных данных часто встречается в медицине и промышленном производстве. В медицине эта форма данных возникает при работе с томографическими данными, оказывается, что среднее значение плотности тканей удобно рассчитывать именно на кубической сетке, а в промышленности моделирование взаимодействия ЧПУ станка с твердым материалом удобно представлять с помощью булевых операций над двумя множествами. Ведь в самом деле, в отличие от полигональных моделей, у воксельных внутреннее пространство не заполнено пустотой, а значит, сдвигая или уничтожая отдельные воксели, можно моделировать процессы разрушения или деформации твёрдого тела.

К преимуществам воксельного подхода можно отнести:

  • Естественное обобщение подходов, применявшихся для обработки изображений, например — трехмерная свертка.
  • Данные для обучения легко получить из любого другого типа моделей.
  • Большая связь с физическими свойствами объектов, по сравнению с полигональными и облачными моделями.
  • Возможность представлять воксельные модели в виде обычных векторов.

К недостаткам воксельного подхода можно отнести:

  • “Грубость” аппроксимации формы реальных объектов при малом разрешении.
  • Объём занимаемой воксельными моделями памяти растёт кубически, в зависимости от количества интервалов, на которое разбивается каждая ось.

С одной стороны, воксельный подход является на сегодняшний день наиболее распространённым, из-за простоты его описания, а так же из-за корпускулярности - данная форма наиболее приспособлена для физических симуляций разрушаемых объектов. С другой стороны, данный подход ограничен низким разрешением пространственной сетки. Типичным разрешением является 32³ или 64³.

Несмотря на то, что исследователи пытаются решить проблему низкой размерности - например, в [6] авторы использовали октодеревья для построения архитектуры глубокого обучения OGN (Octree Generating Networks), которая позволила работать с сеткой 256³, — у данного подхода остается еще множество других нерешенных проблем.

2. Облака точек (Point clouds).

Облако точек является типичной формой данных о пространстве в робототехнике и компьютерном зрении. Физически, облако точек представляет собой неупорядоченное множество трехмерных векторов. Иногда для каждого такого вектора (точки) можно дополнительно указать его цвет, как дополнительное составляющее, не влияющее на геометрию. Такая форма представления пространственных данных на практике часто встречается в задачах сканирования помещений или отдельно взятых объектов. Глубинные камеры, в качестве результата работы, возвращают изображение вместе с его картой глубины (RGBD), что является частным случаем облака точек. Восстановления карты глубины для данного изображения часто называют задачами 2.5D, указывая на то, что, снятый глубинной камерой объект с одного ракурса, не может быть дополнен пространственной информацией с другого ракурса. В этом смысле облако точек содержит в себе больше информации о геометрии объектов, чем RGBD изображения. Примером формата, с помощью которого хранят облака точек, является .pcd формат. Так же стоит отметить, что существует очень удобная, оптимизированная и разнообразная библиотека для обработки данных такого формата — PCL.

К преимуществам облака точек можно отнести:

  • Естественный формат данных в задачах пространственного сканирования.
  • Данные такого формата могут быть легко получены из полигональных и функциональных моделей.

К недостаткам облака точек можно отнести:

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

Проблема неупорядоченности данных (после поворота или масштабирования 3D модели, описывающие ее данные существенно меняются, при этом, по сути, модель остаётся прежней) характерна и для полигональных моделей, но несмотря на это, облако точек — самая редко используемая форма данных в области 3D ML. Если говорить о задаче 2D-to-3D, то изображение в данный формат вообще не принято переводить, вместо этого решают другую задачу PC2Mesh (восстановление полигональной модели из облака точек).

3. Полигональные модели (Mesh, polygonal models).

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

К преимуществам полигональных моделей можно отнести:

  • Естественный формат для использования в компьютерной графике, игровых движках и т.д.
  • Лучше описывают пространственные особенности объектов, по сравнению с вокселями и облаками точек.

К недостаткам полигональных моделей можно отнести:

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

Во всех своих phygital-проектах мы используем именно эту форму представления трехмерных данных, так как она является стандартом для игровых движков, таких как Unity 3D.

4. Твердотельные/функциональные модели (CAD models, functions).

Основной идеей функционального подхода (т.н. твердотельные модели) является использование функционального описания поверхностей и функционального описания физических свойств объектов. Например, помимо формы объекта, заданной некоторой функцией, можно хранить распределение массовой плотности, и тем самым иметь возможность не только корректно визуализировать объект во всех масштабах, но и использовать эту же модель для расчета физических свойств. Для создания и работы с твердотельными моделями существуют специальные системы автоматического проектирования и моделирования (САПР), эквиваленты в английском — CAD и CAM системы. Форматов твердотельных моделей сегодня существует намного больше, чем любых других форматов хранения трехмерных данных. Это связано с тем, что для инженерных приложений существуют различные CAD системы, и у каждой присутствует свой специфический формат данных.

Функция, с помощью которой описывается геометрия объекта, может иметь разный смысл: с одной стороны, это может быть аналитическое описание поверхности, которая ограничивает твёрдое тело в пространстве, с другой стороны, это может быть некоторая специфическая функция, например плотность вероятности случайной величины, которая должна с наибольшей вероятностью принадлежать внутренности объекта (пример из [5]).

Одним из наиболее распространенных способов функционального описания в 3D ML является т.н. signed distance function (SDF) — функция, которая каждой точке в пространстве ставит в соответствие расстояние до ближайшей точки поверхности объекта. Формально, можно записать ее как:

Тогда сама поверхность является множеством решений уравнения: SDF(x) = 0. Например, такой подход использован в модели DeepSDF [16].

К преимуществам функционального подхода можно отнести:

  • Компактное описание сложной пространственной структуры.
  • Физически корректная модель.
  • Масштабируемость модели.
  • Возможность получить модель любого другого формата из данной.

К недостаткам функционального подхода можно отнести:

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

Функциональное описание объектов можно назвать самым информативным, ведь из данной формы можно легко перейти к любой другой. Например, чтобы получить полигональную модель из функциональной, можно воспользоваться алгоритмом Multiresolution IsoSurface Extraction, предложенным авторами архитектуры Occupancy Net. в [5]. Так же существует множество альтернативных подходов, например [7].

Рис.4 Схема работы алгоритма Multiresolution IsoSurface Extraction. Пространство с функциональной моделью разбивается на воксельную сеть. Воксельная сеть разбивается на более мелкие воксели по принципу октодеревьев. Итоговая сеть преобразуется в меш. Меш оптимизируется и используется для вычисления функции потерь.

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

Рис.5 Пример алгоритма вокселизации. Для полигональной модели создаются 6 “буферов” — карт глубины объекта, которые используются для проверки принадлежности вокселя пространственной сети к итоговой модели.

Таким образом, выстраивается некоторая шкала информативности, изображённая на Рис.3. На этом же рисунке приведены примеры двумерных аналогов всех форм описания пространственных данных, рассмотренных выше. Если же мы хотим пойти “снизу вверх”, то есть получить из менее информативной модели более информативную, мы вынуждены решать задачу аппроксимации данных. Помимо классических методов восстановления трехмерных данных, например метода радиальных базисных функций [43] или метода реконструкции из ориентированного облака точек [44], сегодня для решения этой задачи активно применяют подходы, основанные на данных (data driven), такие как нейронные сети. Так, архитектура Occupancy Net., о которой уже упоминалось выше, может не только восстанавливать функциональное представление по двумерным входным данным, но и решать эту же задачу для облака точек на входе.

Выводы

Понять, как устроены данные — одна из первых и главных задач для data science специалиста. Выше были рассмотрены основные формы представления трехмерных данных и их особенности, что в будущем лучше поможет нам понять алгоритмы машинного обучения, направленные на работу с подобными типами данных.

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

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

следующая часть>

Автор

Вадим Кондаратцев

vadim@phygitalism.com

Источники

[1] Рассел С. Искусственный интеллект: современный подход, С. Рассел, П. Норвиг / Вильямс, Москва, 2018 г., 1408 с.

[2] Novotni, Marcin and Reinhard Klein. “Shape retrieval using 3D Zernike descriptors.” Computer-Aided Design 36 (2004): 1047–1062. [project page]

[3] Fisher, Matthew & Savva, Manolis & Hanrahan, Pat. (2011). Characterizing Structural Relationships in Scenes Using Graph Kernels. ACM Trans. Graph.. 30. 34. 10.1145/2010324.1964929.

[4] Berjón, Daniel & Morán, Francisco. (2012). Fast human pose estimation using 3D Zernike descriptors. Proceedings of SPIE — The International Society for Optical Engineering. 8290. 19-. 10.1117/12.908963.

[5] Mescheder, Lars & Oechsle, Michael & Niemeyer, Michael & Nowozin, Sebastian & Geiger, Andreas. (2018). Occupancy Networks: Learning 3D Reconstruction in Function Space. [code]

[6] Tatarchenko, Maxim & Dosovitskiy, Alexey & Brox, Thomas. (2017). Octree Generating Networks: Efficient Convolutional Architectures for High-resolution 3D Outputs. [code]

[7] Bao, Fan & Sun, Yankui & Tian, Xiaolin & Tang, Zesheng. (2007). Multiresolution Isosurface Extraction with View-Dependent and Topology Preserving. 2007 IEEE/ICME International Conference on Complex Medical Engineering, CME 2007. 521–524. 10.1109/ICCME.2007.4381790.

[8] Facil, Jose & Ummenhofer, Benjamin & Zhou, Huizhong & Montesano, Luis & Brox, Thomas & Civera, Javier. (2019). CAM-Convs: Camera-Aware Multi-Scale Convolutions for Single-View Depth. [code]

[9] Firman, Michael and Mac Aodha, Oisin and Julier, Simon and Brostow, Gabriel J. (2016). Structured Prediction of Unobserved Voxels From a Single Depth Image / Firman CVPR 2016 [code]

[10] Richter, Stephan & Roth, Stefan. (2018). Matryoshka Networks: Predicting 3D Geometry via Nested Shape Layers.

[11] Xie, Haozhe & Yao, Hongxun & Sun, Xiaoshuai & Zhou, Shangchen & Zhang, Shengping. (2019). Pix2Vox: Context-aware 3D Reconstruction from Single and Multi-view Images. [code]

[12] Gkioxari, G., Malik, J., & Johnson, J. (2019). Mesh R-CNN. ArXiv, abs/1906.02739.

[13] Tatarchenko, Maxim & Richter, Stephan & Ranftl, Rene & Li, Zhuwen & Koltun, Vladlen & Brox, Thomas. (2019). What Do Single-view 3D Reconstruction Networks Learn?. [code]

[14] D. P. Bertsekas. A distributed asynchronous relaxation algorithm for the assignment problem. In Decision and Control, 1985 24th IEEE Conference on, pages 1703–1704. IEEE, 1985

[15] H. Fan, H. Su, and L. J. Guibas. A point set generation network for 3D object reconstruction from a single image. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2017. [code]

[16] J. J. Park, P. Florence, J. Straub, R. Newcombe, and S. Lovegrove. DeepSDF: Learning continuous signed distance functions for shape representation. arXiv.org, 2019. [code]

[17] Bengio, Y. & Courville, Aaron & Vincent, Pascal. (2013). Representation Learning: A Review and New Perspectives. IEEE transactions on pattern analysis and machine intelligence. 35. 1798–1828. 10.1109/TPAMI.2013.50.

[18] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In NIPS, pages 2672–2680, 2014.

[19] X. Chen, Y. Duan, R. Houthooft, J. Schulman, I. Sutskever, and P. Abbeel. Infogan: Interpretable representation learning by information maximizing generative adversarial nets. In NIPS, pages 2172–2180, 2016.

[20] A. Radford, L. Metz, and S. Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434, 2015.

[21] Rezatofighi, Hamid & Tsoi, Nathan & Gwak, JunYoung & Sadeghian, Amir & Reid, Ian & Savarese, Silvio. (2019). Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression.

[22] Hiroharu Kato, Yoshitaka Ushiku, and Tatsuya Harada. Neural 3d mesh renderer. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[23] Nanyang Wang, Yinda Zhang, Zhuwen Li, Yanwei Fu, Wei Liu, and Yu-Gang Jiang. Pixel2mesh: Generating 3d mesh models from single rgb images. In ECCV, 2018.

[24] M. Desbrun, M. Meyer, P. Schroder, and A. H. Barr. Implicit fairing of irregular meshes using diffusion and curvature flow. In SIGGRAPH, 1999.

[25] P. Cignoni, C. Rocchini, and R. Scopigno, “Metro : measuring error on simplified surfaces,” Computer Graphics Forum, vol. 17, no. 2, pp. 167–174, June 1998.

[26] Aspert, Nicolas & Santa-cruz, Diego & Ebrahimi, Touradj. (2002). MESH: Measuring Errors between Surfaces Using the Hausdorff Distance. Proceedings of the IEEE International Conference in Multimedia and Expo (ICME). 1. 705–708 vol.1. 10.1109/ICME.2002.1035879.

[27] Leif Kobbelt, Swen Campagna, Jens Vorsatz, and Hans-Peter Seidel. Interactive Multi-Resolution Modeling on Arbitrary Meshes. In SIGGRAPH 98 Conference Proceedings, pages 105–114, July 1998.

[28] KOBBELT, L. Iterative Erzeugung glatter Interpolanten. Shaker Verlag, ISBN 3–8265–0540–9, 1995.

[29] O. Sorkine, Y. Lipman, D. Cohen-Or, M. Alexa, C. R¨ossl and H.P. Seidel: “Laplacian surface editing,” In Symposium on Geometry Processing, Vol. 71(2004), p. 175

[30] Edward Smith, Scott Fujimoto, Adriana Romero, and David Meger. GEOMetrics: Exploiting geometric structure for graph-encoded objects. In Kamalika Chaudhuri and Ruslan Salakhutdinov, editors, Proceedings of the 36th International Conference on Machine Learning, volume 97 of Proceedings of Machine Learning Research, pages 5866–5876, Long Beach, California, USA, 09–15 Jun 2019. PMLR.

[31] Ben-Hamu, Heli & Maron, Haggai & Kezurer, Itay & Avineri, Gal & Lipman, Yaron. (2018). Multi-chart generative surface modeling. ACM Transactions on Graphics. 37. 1–15. 10.1145/3272127.3275052.

[32] J. Wu, C. Zhang, T. Xue, B. Freeman, and J. Tenenbaum. Learning a probabilistic latent space of object shapes via 3d generative-adversarial modeling. In NIPS, pages 82–90, 2016.

[33] С. Николенко, А. Кадурин, Е. Архангельская “Глубокое обучение. Погружение в мир нейронных сетей”, 2018. ISBN 978–5–496–02536–2

[34] A. Dai, C. Ruizhongtai Qi, and M. Niessner. Shape completion using 3d-encoder-predictor cnns and shape synthesis. In CVPR, pages 5868–5877, 2017.

[35] D. Stutz and A. Geiger. Learning 3d shape completion from laser scan data with weak supervision. In CVPR, pages 1955–1964, 2018.

[36] Wu, Jiajun & Zhang, Chengkai & Zhang, Xiuming & Zhang, Zhoutong & Freeman, William & Tenenbaum, Joshua. (2018). Learning Shape Priors for Single-View 3D Completion and Reconstruction.

[37] Bagautdinov, Timur & Wu, Chenglei & Saragih, Jason & Fua, Pascal & Sheikh, Yaser. (2018). Modeling Facial Geometry Using Compositional VAEs. 3877–3886. 10.1109/CVPR.2018.00408.

[38] Bloesch, Michael & Czarnowski, Jan & Clark, Ronald & Leutenegger, Stefan & Davison, Andrew. (2018). CodeSLAM — Learning a Compact, Optimisable Representation for Dense Visual SLAM. 2560–2568. 10.1109/CVPR.2018.00271.

[39] O. Litany, A. Bronstein, M. Bronstein, and A. Makadia. Deformable shape completion with graph convolutional autoencoders. CVPR, 2017.

[40] S. Tan and M. L. Mayrovouniotis. Reducing data dimensionality through optimizing neural network inputs. AIChE Journal, 41(6):1471–1480, 1995.

[41] P. Bojanowski, A. Joulin, D. Lopez-Pas, and A. Szlam. Optimizing the latent space of generative networks. In J. Dy and A. Krause, editors, Proceedings of the 35th International Conference on Machine Learning, volume 80 of Proceedings of Machine Learning Research, pages 600–609. PMLR, 10–15 Jul 2018.

[42] J. Fan and J. Cheng. Matrix completion by deep matrix factorization. Neural Networks, 98:34–41, 2018.

[43] J. C. Carr, R. K. Beatson, J. B. Cherrie, T. J. Mitchell, W. R. Fright, B. C. McCallum, and T. R. Evans. Reconstruction and representation of 3d objects with radial basis functions. In SIGGRAPH, pages 67–76. ACM, 2001

[44] M. Kazhdan and H. Hoppe. Screened poisson surface reconstruction. ACM TOG, 32(3):29, 2013.

[45] Angel X Chang, Thomas Funkhouser, Leonidas Guibas, Pat Hanrahan, Qixing Huang, Zimo Li, Silvio Savarese, Manolis Savva, Shuran Song, Hao Su, et al. Shapenet: An information-rich 3d model repository. arXiv preprint arXiv:1512.03012, 2015 [project page]

[46] X. Sun, J. Wu, X. Zhang, Z. Zhang, C. Zhang, T. Xue, J. B. Tenenbaum, and W. T. Freeman. Pix3d: Dataset and methods for single-image 3d shape modeling. In CVPR, 2018 [project page]

[47] Z. Wu, S. Song, A. Khosla, F. Yu, L. Zhang, X. Tang and J. Xiao 3D ShapeNets: A Deep Representation for Volumetric Shapes Proceedings of 28th IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2015) [project page]

[48] Jatavallabhula, Krishna Murthy, Edward Smith, Jean-Francois Lafleche, Clement Fuji Tsang, Artem Rozantsev, Wenzheng Chen, Tommy Xiang, Rev Lebaredian and Sanja Fidler. “Kaolin: A PyTorch Library for Accelerating 3D Deep Learning Research.” ArXivabs/1911.05063 (2019): n. pag. [project page]

[49] Koch, S., Matveev, A., Jiang, Z., Williams, F., Artemov, A., Burnaev, E., Alexa, M., Zorin, D. and Panozzo, D., 2019. ABC: A Big CAD Model Dataset For Geometric Deep Learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 9601–9611). [project page]

[50] Riba, E., Mishkin, D., Ponsa, D., Rublee, E. and Bradski, G., 2019. Kornia: an open source differentiable computer vision library for pytorch. arXiv preprint arXiv:1910.02190. [project page]

[51] Abadi, M., Barham, P., Chen, J., Chen, Z., Davis, A., Dean, J., Devin, M., Ghemawat, S., Irving, G., Isard, M. and Kudlur, M., 2016. Tensorflow: A system for large-scale machine learning. In 12th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 16) (pp. 265–283). [project page]

[52] Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., Killeen, T., Lin, Z., Gimelshein, N., Antiga, L. and Desmaison, A., 2019. PyTorch: An imperative style, high-performance deep learning library. In Advances in Neural Information Processing Systems (pp. 8024–8035). [project page]

[53] Handa, A., Bloesch, M., Pătrăucean, V., Stent, S., McCormac, J. and Davison, A., 2016, October. gvnn: Neural network library for geometric computer vision. In European Conference on Computer Vision (pp. 67–82). Springer, Cham. [project page]

[54] Valentin, J., Keskin, C., Pidlypenskyi, P., Makadia, A., Sud, A. and Bouaziz, S., 2019. Tensorflow graphics: Computer graphics meets deep learning. [project page]

[55] Fey, M. and Lenssen, J.E., 2019. Fast graph representation learning with PyTorch Geometric. arXiv preprint arXiv:1903.02428. [project page]

[56] Qi, C.R., Yi, L., Su, H. and Guibas, L.J., 2017. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In Advances in neural information processing systems(pp. 5099–5108). [project page]

--

--

PHYGITALISM
PHYGITALISM

We are a young technology company founded in 2015 and currently developing Phygital+, a product for creators combining AI, 3D and XR