3D ML. Часть 2: метрики качества и функции потерь в задачах 3D ML
Это вторая публикация из серии заметок про основы современного направления машинного обучения Geometrical Deep Learning (GDL), так же называемого 3D Machine Learning (3D ML).
Расширенную версию заметки можно найти на хабре.
Часть 1 \ Часть 2 \ Часть 3 \ Часть 4
В этой заметке мы поговорим о том, какие функции ошибки (Loss functions) алгоритмов используются в 3D ML, какие из них можно использовать в качеств метрик качества (metrics), а какие — в качестве регуляризаторов (regularizers).
Основной сложностью при выборе функций ошибок для работы с 3D данными является неевклидовость рассматриваемых структур, из-за которой задача определения расстояния в пространстве 3D моделей становится совсем нетривиальной.
Про то, чем евклидовы данные отличаются от неевклидовых, можно узнать здесь:
Начнем с того, что будем рассматривать ошибку алгоритма на примере конкретной задачи 2D-to-3D, про которую поговорим подробнее позже.
Формальная постановка задачи. Предварительные сведения
В предыдущей заметке мы обозначили, что поскольку мы работаем с 3D структурами (неевклидов тип данных), значит нас интересует обширная область 3D ML. Среди всех задач этой области можно выделить класс подзадач, который мы назовём 2D-to-3D (также эта задача часто в англоязычной литературе имеет название “Shape retrieval”). Эти задачи характеризуются тем, что на входе у алгоритма, как правило, одно или несколько изображений, а на выходе мы хотим получить какую-либо трехмерную структуру.
Например, можно восстанавливать карту глубины для произвольного изображения [8] (RGB-to-RGBD, или же можно было бы назвать такую задачу 2D-to-2.5D).
Другой пример схожего класса задач — восстановление облака точек объекта по его единственному RGBD изображению [9] (2.5D-to-3D или “3D Shape completion”).
В дальнейшем ограничимся конкретной задачей 3D model reconstruction from single RGB image.
Также будем считать, что изображение, которое подается алгоритму на вход, уже подготовлено: объект вырезан по маске. Именно для таких задач проведём сравнение SOTA (state of the art) подходов и попробуем разобраться в технических трюках этих подходов.
В первую очередь определим формальную постановку задачи. Решение задачи машинного обучения, какая бы она не была (классификация, кластеризация, порождения новых объектов и т.д.) — это по сути решение конечномерной оптимизационной задачи. Для фиксированной параметризованной архитектуры алгоритма машинного обучения необходимо найти множество параметров, при которых функция ошибки (при выборе которой во многом отталкиваются от типа конкретной задачи) имеет наименьшее значение. При этом, необходимо следить, чтобы в процессе поиска минимума, обобщающая способность алгоритма возрастала. Подробнее про постановку задач машинного обучения и про классификацию задач можно прочесть здесь.
Оптимизируемые функции в задачах машинного обучения делятся на три категории:
- Функции потерь (Loss functions/objectives) — позволяют вычислить ошибку алгоритма на каждом конкретном объекте. Выбираются обычно непрерывными и почти всюду дифференцируемыми, для того, чтобы применять градиентные методы. Среднее значение функции потерь на датасете (функционал качества алгоритма) оптимизируется в процессе обучения.
- Регуляризаторы (Regularizers) — вводятся в функционал качества для того, чтобы сделать оптимизационную задачу обучения корректной, процесс обучения устойчивым, и получить более качественное решение. Зачастую регуляризация помогает избежать переобучения. В отличие от функции потерь, для вычисления значения регуляризатора зачастую не требуется использование информации об объектах из датасета.
- Метрики качества (Metrics) — функции, по которым определяется (валидируется) качество обученной модели (как на всем датасете в целом, так и на отдельных моделях), но не происходит непосредственной оптимизации. Используются для контроля переобучения и для сравнения различных моделей.
Функции потерь, регуляризаторы и метрики качества в задачах 3D ML
- IoU metric.
Метрика Intersection over Union (IoU), также известная как Jaccard index, — число от 0 до 1, показывающее, насколько у двух объектов (эталонного (ground true) и текущего) совпадает внутренний “объем”.
Формально, для двух непустых множеств A и B , функция IoU определяется как:
Для того, чтобы подсчитать IoU, необходимо уметь вычислять внутренний объем рассматриваемых объектов. В случае с полигональными моделями, чаще всего прибегают к оценке объема методом Монте-Карло. Также для корректного вычисления IoU необходимо, чтобы сравниваемые модели имели одинаковый масштаб и ориентацию.
В задачах компьютерного зрения и 3D ML, IoU часто используют при оценке того, насколько корректно найден ограничивающий прямоугольник или ограничивающий параллелепипед (bounding box), т.е. в качестве метрики качества алгоритма, но в последнее время появились различные модификации IoU, которые могут использованы и в качестве функции потерь [21] .
В случае с трехмерными объектами, IoU обычно используется в качестве метрики, однако данная метрика не всегда корректна. Действительно, большая часть информации об объекте определяется его поверхностью. На рисунке ниже продемонстрировано, что две модели могут иметь существенно отличные поверхности, при этом значение IoU будет высоко.
Для воксельных моделей, значение данной метрики может быть некорректным ещё и по той причине, что “внутренность” моделей может отличаться, даже если у них схожие поверхности. На изображении ниже, авторы в [5] продемонстрировали то, как при увеличении разрешения воксельной сети растет качество по IoU метрике, но также растет и количество затрачиваемой памяти, времени обучения и параметров воксельной архитектуры, в то время как для функциональной модели (в данном случае Occupancy Net) качество не зависит от разрешения, а количество параметров неизменно.
Для работы с облаками точек данная функция обычно не применяется из-за того, что определить понятие объёма пересечения облаков точек достаточно затруднительно, однако такая возможность все равно имеется, так например в [15] авторы преобразуют выходное облако точек для их архитектуры в воксельную модель, и сравнивают качество работы полученной модели по IoU метрике. Для оценки качества работы модели, на всем датасете обычно подсчитывают среднее значение данной функции — mIoU (mean intersection over union), для всего датасета и для отдельных категорий. Метрика IoU в процессе обучения максимизируется.
2. Chamfer loss/distance
Данная функция используется для работы как с полигональными моделями, так и с облаками точек. Она показывает, насколько вершины одной полигональной модели (облака точек) близки к вершинам другой полигональной модели (облаку точек), и следовательно, подлежит минимизации. Обычно сравнивают полигональную модель, полученную в результате работы алгоритма, и аналогичную модель из датасета.
Пусть мы имеем два множества вершин (точек) в трехмерном пространстве P и Q. Введем в рассмотрение множество пар (p,q), такое, что для любой точки p из множества P, точка q из множества Q будет ближайшим соседом, т.е.:
тогда chamfer loss для данных точечных множеств определяется как:
Зачастую, для вычисления chamfer loss, имеющихся вершин полигональной модели недостаточно, поэтому дополнительно сэмплируют точки на гранях моделей, например так, как это делают авторы в недавно вышедшей работе [12]. Chamfer loss используется в качестве функции потерь. В [30] предложена модификация chamfer loss, использующая семплирования дополнительных точек на полигонах для вычисления значения функции потерь.
2. Normal loss / distance.
Пусть, аналогично предыдущему пункту, мы рассматриваем два точечных множества P и Q, но помимо информации о вершинах мы можем также использовать информацию о нормалях, в частности можем восстанавливать единичную нормаль u к произвольной точке p (обозначим u с нижним индексом p), тогда normal loss для данных точечных множеств определяется как:
Normal loss используется в качестве функции потерь и показывает, насколько сильно различаются поля нормалей у двух полигональных моделей, т.е. по сути, минимизируя данный критерий, мы стараемся сделать углы между соответствующими нормалями как можно меньше.
3. Edge loss / regularizer.
Недостатком chamfer и normal loss является чувствительность к выбросам. На рисунке ниже продемонстрирована ситуация, когда значение chamfer distance (CD) для двух, в равной степени непохожих на оригинал объектов, может значительно отличаться.
Помимо чувствительности к выбросам, на практике часто наблюдается эффект перекрытия полигонов. Чтобы избежать появления данного эффекта, вместе с chamfer и normal loss используют специальные регуляризаторы формы итогового меша (shape regularizers). Пусть V — множество вершин полигональной модели, а E — множество ребер модели, тогда в качестве регуляризатора формы меша можно использовать среднее значение длины ребер:
Авторы в [12], используя данный регуляризатор, улучшили качество итоговых моделей, что можно увидеть на изображениях ниже. Edge normalizer вводится дополнительным слагаемым к основной функции потерь с положительным коэффициентом.
4. Smooth loss / regularizer.
Для того, чтобы итоговые модели имели более гладкие поверхности, без выбросов и шума, часто прибегают к сглаживающим регуляризаторам. Простейшим сглаживающим регуляризатором является Smooth loss. Для его вычисления необходимо провести суммирование по всем “внутренним” двугранным углам между полигонами меша x:
Введенная таким образом функция регуляризатора как бы стремится “распрямить” меш так, чтобы минимизировать поверхностное натяжение.
4. Hausdorff losses.
Проблема определения функции расстояния между двумя поверхностями в пространстве (которая используется для построения функции ошибки) стояла задолго до появления компьютерной графики. Вопрос о том, как находить расстояние между двумя вложенными в некоторое пространство многообразиями, был поставлен в функциональном анализе, и сегодня многие исследователи, при определении функции ошибки в задачах 3D ML, пользуются результатами из этой области. Так, в частности, существуют подходы, основанные на понятии метрики Хаусдорфа. Рассмотрим два таких подхода.
Оба подхода базируются на одинаковых математических понятиях, поэтому сначала опишем их. Во-первых, будем считать, что расстояние между некоторой точкой пространства p и поверхностью S’ в этом пространстве определяется с помощью Евклидовой нормы следующим образом:
тогда “одностороннее” расстояние между двумя поверхностями S и S’ можно определить как:
Под “односторонностью” здесь имеется в виду несимметричность данной функции. Чтобы определить симметричную функцию расстояния между двумя множествами, Хаусдорф предложил следующую конструкцию (называемую сегодня метрикой Хаусдорфа):
В качестве функции потерь, впрочем, используют не саму метрику, а средние значения расстояний от точки до поверхности. Введем в рассмотрение две функции. Средняя ошибка (mean distance error) между двумя поверхностями определяется как:
где |S| — означает площадь поверхности S, а среднеквадратичная ошибка (root mean square distance error) между двумя поверхностями определяется как:
Существуют различные подходы к тому, как вычислять средние ошибки по Хаусдорфу на полигональном меше. Так, например, в [25] предложено вычислять значение средней ошибки на основании подсчета “ориентированых расстояний” между точкой и поверхностью. Такой подход авторы назвали Metro distance.
В [26] же авторы предлагают вычислять среднеквадратичную ошибку и конструируют оптимизированный численный метод для интегрирования по поверхности меша. Такой подход авторы называют Mesh distance.
В [26] также приведено сравнение этих двух подходов: Mesh оказывается более быстрым и экономным, с точки зрения затраченной памяти, способом вычисления Хаусдорфова расстояния. Данные функции можно использовать в качестве регуляризатора, если на каждой итерации алгоритма обучения хранить меш объекта с предыдущей итерации, и высчитывать значение ошибки приближения текущего меша предыдущим.
5. Laplacian loss / regularizer.
Еще одним примером сглаживающего регуляризатора является Laplacian loss. Для того, чтобы сконструировать этот регуляризатор, используют часто возникающий в 3D ML и в компьютерной графике т.н. umbrella operator [28] — дискретизацию оператора Лапласа, вычисленного в вершинах полигонального меша:
Суммирование производится по вершинам, которые связаны с данной вершиной. В дальнейшем будем использовать обозначение N(p) для множества вершин, которые связаны ребром с данной. Можно рассматривать применение данного оператора как перевод вершин в новую систему координат. Такие координаты называют Лапласовыми. В [24] и [29] идея использования данного оператора применяется к задачам сглаживания, деформирования и конкатенации меша.
Если оператор преобразования, вершины меша в Лапласовы координаты будет иметь вид:
тогда Лапласов регуляризатор определяется как:
где суммирование производится по всем вершинам меша, а штриховая Лапласова координата обозначает меш на предыдущей итерации. Применительно к решению задачи 2D-to-3D, данный регуляризатор применяется например в [23].
6. F1 score.
Если считать, что количество вершин в восстановленном меше (retrieval) равно количеству вершин в целевом меше (ground true), то каждую вершину восстановленного меша можно отнести либо к правильно восстановленой, либо к неправильно восстановленной. Для этого вводится пороговое значение расстояния между вершинами восстановленного и исходного объектов: если расстояние между соответствующими вершинами меньше порогового, то данную вершину восстановленного меша относят к верно восстановленной. Таким образом, для каждой вершины восстановленного меша можно определить два класса, и использовать для всего объекта метрики качества задач классификации. В частности, как это продемонстрировано в работах [12,13], можно использовать F1 метрику, являющуюся средним гармоническим между точностью (precision) и полнотой (recall). Точность в данном случае определяется как отношение количества вершин восстановленного меша, которые находятся в пределах порогового расстояния от соответствующих вершин исходного меша. Полнота определяется симметрично, как отношение количества точек исходного меша, лежащих не более чем на пороговом расстоянии от соответствующих точек восстановленного меша.
F1 является устойчивым к выбросам, и лучше отражает качество восстановления формы объекта. F1 метрика максимизируется.
7. Earth mover’s distance
Еще одной часто применяемой, в основном для облаков точек, метрикой является Earth mover’s distance (EMD), также известная в более общем виде как Wasserstein metric. Данная метрика часто возникает в задачах кластеризации изображений, и часто применялась до эпохи глубокого обучения. Вычисление этой метрики тесно связано с решением оптимизационной транспортной задачи, подробнее про это и про то, как использовать эту метрику для различных типов данных, можно прочитать здесь.
Формально, EMD определяется как минимальное значение функционала расстояния в следующей вариационной задаче:
Самое оптимальное биективное отображение в каждой конкретной задаче отличается, но преимуществом данной метрики является то, что оно инвариантно к произвольным инфиниматезиальным преобразованиям облака точек. Честное решение данной оптимизационной задачи обычно очень вычислительно затратно (в задачах глубокого обучения), даже при использовании видеокарт, поэтому часто используют аппроксимированное вычисление этой метрики [14], как например это сделали авторы в [15]. Критерий EMD минимизируется в процессе обучения.
Помимо перечисленных выше метрик используются и другие. Так, например, для воксельного представления моделей часто воксели “вытягивают” в обычные числовые вектора и пользуются метриками и функциями потерь для векторов [10], например косинусной мерой.
После того, как модель обучена и показывает приемлемый результат по метрикам качества, ее нужно встраивать в общий pipeline обработки данных в конкретном проекте. На этом этапе появляются другие показатели качества используемой модели, такие как: размер памяти, который занимает модель, размер памяти, необходимой для обработки данных моделью, скорость обработки данных моделью, время, необходимое для пере/дообучения модели. Так же немало важно, чтобы полученная архитектура и способ ее обучения были воспроизводимы. Обычно в статьях, описывающих новую архитектуру, указывается только алгоритм обучения, его параметры и на каком датасете производилось обучение. Пример того, как измеряется производительность моделей глубокого обучения, и некоторые связанные с этим аспекты, можно посмотреть здесь.
Выводы
Понять, как отличать сложные трехмерные структуры друг от друга, и на основе этого судить о том, как хорошо справляется алгоритм машинного обучения с поставленной задачей — чрезвычайно важная задача. В зависимости от выбранной функции ошибки, качество результата, и даже цель процесса обучения разнятся, поэтому важно понимать, как устроены такие функции. В современных библиотеках, использующихся для решения задач Geometrical Deep Learning, обычно такие функции уже имеют готовую реализацию, и исследователь имеет возможность просто выбрать необходимую функцию ошибки для его задачи, например такая возможность реализована в библиотеке Kaolin [48] от NVidia.
О том, какие есть библиотеки 3D ML, как они устроены, какие есть датасеты с трехмерными данными, в чем заключается их специфика и какие виды обучения представлениям используются в задачах 2D-to-3D, мы поговорим в следующей заметке.
Ниже приведен список источников, в котором, помимо непосредственно упомянутых в тексте статей и книг, присутствует много других источников на тематику 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]