Чтение литературных переводов PointNet++ и расширенное чтение

глубокое обучение

在这里插入图片描述

1. Обзор

Адрес статьи: https://arxiv.org/ftp/arxiv/papers/2003/2003.09644.pdf
Загрузка кода: https://github.com/charlesq34/pointnet2
Бумажный каркас: 在这里插入图片描述 Цели исследования:
усилитьPointNetСпособность распознавать мелкозернистые шаблоны и обобщение на сложные сцены позволяет эффективно и надежно изучать функции с глубоким набором точек.

Решение:

  1. Иерархическая нейронная сеть PointNet рекурсивно применяется для выполнения вложенного разделения набора входных точек.
  2. С помощью случайного исключения ввода во время обучения он учится адаптивно взвешивать обнаруженные шаблоны в разных масштабах и комбинировать многомасштабные функции в соответствии с входными данными.

Исследовательский вклад:

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

Экспериментальный набор данных:MNIST, ModelNet40, SHREC15, ScanNet

2. Связанная работа

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

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

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

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

В-третьих, метод этой статьи

3.1 Изучение иерархического набора точек

В то время как PointNet использует одну операцию максимального слияния для объединения всего набора точек, наша новая архитектура устанавливает иерархическую группировку точек и постепенно абстрагирует все более и более крупные локальные области вдоль иерархии.在这里插入图片描述Наша иерархия состоит из множества абстракций множества (не знаю, как это здесь перевести). При абстракции набора набор точек обрабатывается и абстрагируется для создания нового набора с меньшим количеством элементов. Абстракция набора состоит из трех ключевых уровней: уровня выборки, уровня группировки и уровня PointNet. Слой выборки выбирает набор точек из входных точек, которые определяют центр тяжести локальной области. Затем сгруппированный слой строит набор локальных областей, находя «соседние» точки вокруг центроида. Слой PointNet использует мини-PointNet для кодирования шаблонов локальной области в векторы признаков.
Абстракция множества начинается сN×(d+C)N×(d+C)матрица в качестве входных данных, которая исходит из наличияddразмерные координаты иCCразмерная характеристикаNNточка. он выводитN'×(d+C')N^\prime×(d+C^\prime)матрица, эта матрица имеетN'N^\primeКусокddТочки подвыборки для пространственных координат и новый способ суммирования локального контекстаC'C^\primeвектор пространственных признаков.

слой выборки
заданная точка ввода{x1,x2,...,xn}\{x_1, x_2, ..., x_n\}, мы используем итеративную выборку по самой дальней точке (FPS) для выбора точек{xi1,xi2,...,xim}\{x_{i1}, x_{i2}, ..., x_{im}\}подмножество , такое чтоxijx_{ij}это набор расстояний относительно остальных точек{xi1,xi2,...,xij1}\{x_{i1}, x_{i2}, ..., x_{i_{j−1}}\}самая дальняя точка. По сравнению со случайной выборкой алгоритм лучше покрывает весь набор точек с тем же количеством центроидов. В отличие от CNN, которые сканируют векторное пространство, где распределение данных не зависит, наша стратегия выборки генерируется в зависимости от данных.рецептивные поля.

пакетный уровень
Входные данные для этого слоя имеют размерN×(d+C)N×(d+C)набор точек и набор размеровN'×dN^\prime×dКоординаты центноте Вывод - это размерN'×K×(d+C)N^\prime×K×(d+C)группы наборов точек, где каждая группа соответствует локальной области,KK- количество точек в окрестности точки центроида. здесь,KKВарьируется от группы к группе, но последующие слои PointNet могут преобразовывать различное количество точек в векторы объектов локальной области фиксированной длины. В сверточной нейронной сети локальная область пикселей определяется пикселями, которые индексируются с помощью массива в пределах определенного манхэттенского расстояния.Манхэттенское расстояниесостав, это конкретное манхэттенское расстояние является размером ядра. В наборе точек, выбранных из метрического пространства, окрестность точки определяется метрическим расстоянием.

Слой PointNet
В этом слое входными данными являются данные размеромN'×K×(d+C)N^\prime×K×(d+C)точкаN'N^\primeместный район. Каждая локальная область в выходных данных извлекается из ее центроида и локальных признаков, кодирующих окрестности центроида. Размер выходных данныхN'×(d+C')N^\prime×(d+C^\prime). Сначала преобразуйте координаты точек в локальной области в локальный кадр относительно точки центра тяжести:xi(j)=xi(j)x^(j)х ^ {(j)}_i = x ^ {(j)}_i−\шляпа х ^ {(j)}i=1,2,...,Kя=1,2,...,К,j=1,2,...,dj=1,2,...,dx^\hat xявляются координатами центроида. Мы используем PointNet в качестве основного строительного блока для изучения локальных закономерностей, и, используя относительные координаты и точечные объекты, мы можем фиксировать отношения точка-точка в локальных регионах.

3.2 Надежное изучение признаков при неравномерной плотности выборки

Как упоминалось ранее, наборы точек обычно имеют неравномерную плотность в разных регионах. Эта неоднородность создает большие проблемы для изучения признаков набора точек. Особенности, изученные в плотных данных, могут не распространяться на регионы с разреженной выборкой. Поэтому модели, обученные работе с разреженными облаками точек, могут не распознавать мелкие локальные структуры.
В идеале мы хотим изучить определенный набор точек как можно точнее, чтобы уловить мельчайшие детали в областях с высокой плотностью выборки. Однако такая тщательная проверка запрещена в регионах с низкой плотностью, так как локальные особенности могут быть искажены недостаточной выборкой. В этом случае мы должны искать более крупные объекты в более крупном масштабе. Для этого мы предлагаем адаптивный к плотности слой PointNet (см. рисунок ниже), который учится включать объекты из областей разного масштаба при изменении плотности входной выборки. Мы называем нашу иерархическую сеть с адаптивными по плотности слоями PointNet PointNet++.
在这里插入图片描述
В PointNet++ каждая абстракция набора извлекает локальные шаблоны в нескольких масштабах и интеллектуально комбинирует их в соответствии с локальной плотностью точек. Группируя локальные области и комбинируя признаки в разных масштабах, мы предлагаем два адаптивных к плотности слоя, как показано выше.

3.2.1 Многомасштабное группирование (MSG)

Как показано на рисунке (а) выше, простой и эффективный способ захвата многомасштабных паттернов состоит в применении сгруппированных слоев разных масштабов, а затем извлечении признаков для каждого масштаба в соответствии с соответствующей сетью точек. Объедините объекты в разных масштабах, чтобы сформировать многомасштабные объекты.
Мы обучаем сеть изучению стратегии оптимизации, которая сочетает в себе многомасштабные функции. Это достигается путем случайного отбрасывания входных точек со случайной вероятностью, назначенной каждому экземпляру, что мы называем случайным отбрасыванием входных данных. В частности, для каждого набора тренировочных точек мы начинаем с[0,p][0, р]Выберите равномерно выбранную скорость выпадения вθθp1р≤1. Для каждой точки возьмем вероятностьθθСлучайно отброшены. На практике мы установилиp=0.95p=0.95чтобы избежать создания пустых наборов точек. В таком процессе мы обеспечиваем различную разреженность сети (путемθθ) и различной однородности (вызванной отброшенной случайностью). Во время тестирования мы сохраняем все доступные оценки.

3.2.2 Группировка с несколькими разрешениями (MRG)

Описанный выше метод MSG требует очень больших вычислительных ресурсов, поскольку он запускает локальную сеть PointNet в крупномасштабной окрестности для каждой точки центроида. В частности, поскольку количество центроидных точек обычно довольно велико, затраты времени велики. Здесь мы предлагаем альтернативный подход, который позволяет избежать этих дорогостоящих вычислений, но при этом сохраняет возможность адаптивного агрегирования информации на основе свойств распределения точек. На приведенном выше рисунке (б) площадь определенного уровняLiL_iОсобенностью является конкатенация двух векторов. Вектор (слева на рисунке) создается из более низкого уровня с помощью абстракции набораLi1L_{я-1}Он получается путем суммирования особенностей каждого субрегиона. Другой вектор (справа) — это функция, полученная прямой обработкой всех исходных точек в локальной области с помощью одной сети PointNet.
Когда плотность локальной области низкая, первый вектор может быть менее надежным, чем второй вектор, потому что подобласть содержит более разреженные точки, и при вычислении первого вектора возникает большая недостаточная выборка. При этом вес второго вектора должен быть больше. С другой стороны, когда плотность локальной области выше, первый вектор содержит информацию о более мелких деталях из-за его способности рекурсивно проверяться на более низких уровнях с более высоким разрешением.
По сравнению с методом MSG этот метод позволяет избежать крупномасштабного выделения признаков соседства на самом нижнем уровне и является более эффективным с точки зрения вычислений.

3.3 Алгоритм распространения точечных объектов для сегментации множества

В слое абстракции набора исходный набор точек субдискретизируется. Однако в задачах сегментации множества, таких как семантическая маркировка точек, мы хотим получить точечные признаки для всех исходных точек. Одно из решений состоит в том, чтобы всегда выбирать все точки как центроиды на всех установленных уровнях абстракции, но это влечет за собой высокие вычислительные затраты. Другой способ — распространить признаки из точек подвыборки на исходные точки.
Мы используем иерархическую стратегию распространения интерполяции на основе расстояния и пропуска ссылок между уровнями. В слое распространения объектов мы конвертируем точечные объекты изNl×(d+C)N_l×(d+C)распространение точки наNl1N_{l−1}точка, гдеNl1N_{l−1}иNl(NlNl1)N_{l}(N_{l}≤N_{l−1})установлен уровень абстракцииllРазмер набора точек для ввода и вывода. мы проходим вNl1N_{l−1}Интерполировать по координатам точкиNlN_{l}собственные значения точекffреализовать передачу функций. Среди многих вариантов интерполяции мы используемkkСредневзвешенное обратное расстояние ближайших соседей (по умолчанию в формуле нижеp=2,k=3p = 2, k = 3). потомNl1N_{l−1}Интерполированный объект в точке соединяется с функцией точки пропуска связи в абстракции набора. Затем объединенные функции передаются через «модульную сеть PointNet», которая аналогична свертке за сверткой в ​​​​CNN. Несколько общих полносвязных слоев и слоев ReLU применяются для обновления вектора признаков для каждой точки. Этот процесс повторяется до тех пор, пока мы не передадим объекты исходному набору точек.

f(j)(x)=i=1kwi(x)fi(j)i=1kwi(x),в,wi(x)=1d(x,xi)p,j=1,...,Cf ^ {(j)} (x) = \ frac {\ sum ^ k_ {i = 1} w_i (x) f ^ {(j)} _i} {\ sum ^ k_ {i = 1} w_i (x) } , где w_i(x)=\frac{1}{d(x,x_i)^p},j=1,...,C

4. Эксперимент

набор данных: MNIST, ModelNet40, SHREC15, ScanNet

4.1 Классификация множества точек в евклидовом метрическом пространстве

Мы классифицируем облака точек, взятые из 2D (MNIST) и 3D (ModleNet40) евклидова пространства, и оцениваем нашу сеть.
Преобразуйте изображение MNIST в 2D-облако точек с числовым расположением пикселей, сделайте выборку 3D-облака точек с поверхности сетки в форме ModelNet40. По умолчанию мы используем 512 точек для MNIST и 1024 точки для ModelNet40. В последней строке рисунка 2 ниже (наша базовая линия) мы используем нормали лица в качестве дополнительных точечных объектов, где мы также используем больше точек (N = 5000) для дальнейшего повышения производительности. Все наборы точек нормированы к нулевому среднему и в пределах единичной сферы. Мы используем трехуровневую иерархическую сеть с тремя полносвязными слоями.
Для изображений MNIST мы сначала нормализуем интенсивность всех пикселей до[0,1][0,1]диапазона, затем выберите все значения интенсивности выше0.50.5пиксели как действительные цифровые пиксели. Затем мы преобразуем количество пикселей в изображении в координаты в[1,1][−1, 1]2D-облако точек внутри, где центр изображения является исходной точкой. Точки расширения создаются для добавления точек, заданных для фиксированной базы, к фиксированной базе (512 в нашем примере). Мы дрожим начальным облаком точек (случайно переводим распределение ГауссаN(0,0.01)Н(0, 0,01)и обрезан до0.030.03) для создания очков улучшения. Для ModelNet40 мы единообразно отбираем образцы поверхностей моделей САПР на основе площади лица.NNточка.
Для всех экспериментов мы используем скорость обучения0.0010.001изADAMОптимизатор обучен. Для увеличения данных мы используем методы, которые случайным образом масштабируют объекты, возмущают местоположения объектов и точечные выборочные местоположения. мы также следуемV olumetric and multi-view cnns for object classification on 3d dataМетод случайного вращения объектов для увеличения данных ModelNet40. Мы используем TensorFlow и GTX 1080, Titan X для обучения, все слои реализованы в CUDA для работы на GPU. На обучение нашей модели сходимости ушло около 20 часов.

Результаты экспериментов 在这里插入图片描述В таблицах 1 и 2 мы сравниваем наш метод с репрезентативным набором предыдущих современных методов. Обратите внимание, что PointNet(Vanilla) в таблице 2PointNetВерсия, которая не использует сеть преобразования в , что эквивалентно нашей иерархической сети, имеющей только один уровень.
В MNIST мы видим, что PointNet (Vanilla) и PointNet имеют более низкую частоту ошибок по сравнению с нашим методом соответственно.60.8%60.8\%и34.6%34.6\%. В классификации ModelNet40 мы также видим, что при том же размере входных данных (1024 точки) и характеристиках (только координаты) наша классификация намного сильнее, чем PointNet. Во-вторых, мы наблюдаем, что методы, основанные на наборе точек, могут даже обеспечить лучшую или аналогичную производительность, чем полноценные графические CNN. В MNIST наш метод (основанный на двухмерных наборах точек) обеспечивает точность, близкую к чистой, в сети CNN. В ModelNet40 наш метод, использующий общую информацию, значительно превосходит предыдущий современный метод MVCNN.

Анализ устойчивости к изменениям плотности выборки
Данные датчиков, полученные непосредственно из реального мира, обычно имеют серьезные проблемы с нерегулярной выборкой, как показано на рисунке ниже. Наш метод выбирает окрестности точек в нескольких масштабах и учится балансировать описательность и надежность, соответствующим образом взвешивая их.
在这里插入图片描述
Мы случайным образом сбрасываем точки во время тестирования (см. левую часть рисунка ниже), чтобы проверить устойчивость нашей сети к неоднородным и разреженным данным. В правой части рисунка ниже мы видим, что MSG+DP (многомасштабное группирование со случайным отсевом ввода во время обучения) и MRG+DP очень устойчивы к изменениям плотности выборки. С 1024 тестовых точек до 256 тестовых точек производительность MSG+DP падает менее чем на1%1\%. Кроме того, он обеспечивает наилучшую производительность практически при любой плотности выборки по сравнению с другими методами. Vanilla PointNet довольно устойчива к вариациям плотности, поскольку фокусируется на глобальных абстракциях, а не на мелких деталях. Однако потеря деталей также делает его менее мощным по сравнению с нашим методом. SSG (Ablated PointNet++, одномасштабное группирование на уровень) не может обобщаться на разреженные плотности выборки, в то время как SSG+DP компенсирует это, случайным образом отбрасывая точки во время обучения.
在这里插入图片描述

4.2 Сегментация набора точек для семантической аннотации сцены

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

Цель состоит в том, чтобы предсказать семантические метки объектов в средних точках при сканировании помещений.ScanNetПолностью сверточная нейронная сеть используется в качестве основы для вокселизированных сканирований. Они полагаются исключительно на геометрию сканирования, а не на информацию RGB, и сообщают о точности для каждого вокселя. Для объективного сравнения мы удаляем информацию RGB во всех экспериментах и ​​следуем за ScanNet, чтобы преобразовать прогнозы меток облака точек в метки вокселей. Мы также сравнивали с PointNet.
Наш метод значительно превосходит все базовые методы. По сравнению со ScanNet, который учится на вокселизированных сканах, мы обучаемся непосредственно на облаках точек, избегая дополнительных ошибок квантования и выполняя выборку в зависимости от данных для более эффективного обучения. По сравнению с литературой PointNet, этот метод вводит иерархическое изучение признаков, которое фиксирует геометрические признаки в разных масштабах. Это важно для понимания сцен на нескольких уровнях и для маркировки объектов различных размеров.

Результаты экспериментов
Синие полосы на рисунке ниже представляют точность для каждого вокселя.
在这里插入图片描述Как видно на изображении ниже, PointNet правильно фиксирует общий план комнаты, но не может найти мебель. Напротив, наш метод намного лучше сегментирует объекты, за исключением планировки помещения.
在这里插入图片描述 Анализ устойчивости к изменениям плотности выборки
Чтобы проверить производительность нашей обученной модели на сканах с неравномерной плотностью выборки, мы синтезируем виртуальные сканы сцены Scannet и оцениваем нашу сеть на этих данных. Мы оцениваем нашу структуру в трех параметрах (SSG, MSG+DP, MRG+DP) и сравниваем с базовым методом PointNet.
Чтобы сгенерировать обучающие данные из сцены ScanNet, мы делаем выборку из исходной сцены.1.5m×1.5m×3m1.5m×1.5m×3m, затем оставьте куб в2%≥2\%вокселей заняты и70%≥70\%где воксели поверхности имеют действительные аннотации. Семплируем такой обучающий куб на лету и случайным образом вращаем его вдоль верхней правой оси. Добавьте точки повышения к набору точек, чтобы сформировать фиксированную базу (8192 в нашем примере). Во время тестирования мы аналогичным образом разделили тестовую сцену на более мелкие кубы, сначала получив прогнозы меток для каждой точки в кубе, а затем объединив прогнозы меток из всех кубов в одной сцене. Если точка получает разные метки от разных кубов, нам нужно только большинство голосов, чтобы получить окончательный прогноз метки точки.
сравнение производительностиРезультаты экспериментовОтображается в желтой полосе. Мы видим, что производительность SSG сильно ухудшается из-за переноса плотности дискретизации с однородного облака точек на виртуальный скан сцены. С другой стороны, сеть MRG более устойчива к дрейфу плотности выборки, поскольку она способна автоматически переключаться на описание более грубых признаков, когда выборка разрежена. Несмотря на то, что между обучающими данными (однородные точки теряются случайным образом) и данными сканирования с неравномерной плотностью существует разрыв, наша сеть MSG очень мало страдает и достигает наилучшей точности среди различных методов. Все это демонстрирует эффективность нашей конструкции слоя с адаптацией к плотности.

4.3 Классификация множеств точек в неевклидовых метрических пространствах

В этом эксперименте мы показываем обобщение нашего метода на неевклидовых пространствах. Решить задачу распознавания разных поз одного и того же объекта.

在这里插入图片描述
В классификации нежестких форм хороший классификатор должен уметь правильно классифицировать (а) и (с) на графике в один и тот же класс, даже если их позы различны, что требует информации о внутренней структуре. Формы в SHREC15 — это 2D-поверхности, встроенные в 3D-пространство. Геодезические расстояния вдоль поверхностей естественным образом приводят к метрическим пространствам. (Геодезические расстояния по поверхностям естественным образом индуцируют метрическое пространство.) Эксперименты показывают, что использование PointNet++ в этом метрическом пространстве является эффективным способом зафиксировать внутреннюю структуру базового набора точек.

для текстаSHREC15 TrackДля каждой формы в , мы сначала строим метрическое пространство, индуцированное попарными геодезическими расстояниями. (сначала мы строим метрическое пространство в индуцированные попарными геодезическими расстояниями.) используяInterior distance using barycentric coordinatesметод для получения встроенной метрики, моделирующей геодезические расстояния. Затем мы извлекаем функции собственных точек в этом метрическом пространстве, в том числеWKS,HKSиМногомасштабная гауссова кривизна. Мы используем эти функции в качестве входных данных, затем отбираем и группируем точки в соответствии с базовым метрическим пространством. Таким образом, наша сеть учится захватывать многомасштабные внутренние структуры, на которые не влияют позы, характерные для формы. Другой вариант конструкции предполагает использованиеXYZXYZКоординаты в виде точечных объектов или с использованием евклидова пространстваR3\Bbb R^3как базовое метрическое пространство. Экспериментальные результаты показывают, что это не оптимальный выбор.

Детали эксперимента:
Мы случайным образом отбираем 1024 точки на каждой фигуре для обучения и тестирования. Чтобы сгенерировать внутренние характеристики входных данных, мы извлекаем 100-мерные кривизны WKS, HKS и многомасштабные гауссовы кривизны соответственно, в результате чего получается 300-мерный вектор признаков для каждой точки. Затем был выполнен анализ основных компонентов, чтобы уменьшить размерность объекта до 64. мы вInterior distance using barycentric coordinatesПозже мы моделируем геодезические расстояния с помощью 8-мерного вложения, которое используется для описания нашего неевклидова метрического пространства при выборе окрестности точек.

Результаты экспериментов: 在这里插入图片描述 DeepGMГеодезические моменты извлекаются как функции формы, и для обработки этих функций и прогнозирования классов формы используется многоуровневый разреженный автоэнкодер. Используя неевклидово метрическое пространство и внутренние функции, наш метод достигает самой современной производительности во всех настройках и значительно превосходит DeepGM.

4.4 Визуализация функций

在这里插入图片描述
Мы визуализируем то, что узнали ядра первого уровня иерархической сети. Сетка вокселей создавалась в пространстве и агрегировала локальный набор точек, которые активировали наибольшее количество нейронов в ячейках сетки (использовалось до 100 примеров). Ячейки сетки с высоким уровнем голосования сохраняются и преобразуются обратно в трехмерные облака точек, которые представляют собой шаблоны, распознаваемые нейронами. Поскольку модель обучается на ModelNet40, которая в основном состоит из мебели, при визуализации мы можем видеть такие структуры, как плоскости, бипланы, линии, углы и т. д.

V. Заключение

В этой работе мы предлагаем PointNet++, мощную архитектуру нейронной сети для обработки наборов точек, отобранных в метрическом пространстве. PointNet++ рекурсивно действует на вложенные разделы набора входных точек и эффективен при изучении иерархических признаков по отношению к метрикам расстояния. Для решения проблемы неравномерной точечной выборки мы предлагаем два новых слоя абстракции ансамбля, которые интеллектуально агрегируют многомасштабную информацию на основе локальной плотности точек. Благодаря этому вкладу мы можем добиться высочайшей производительности в сложных тестах 3D-облака точек.
Как улучшить скорость логического вывода в сети за счет совместного использования большего количества вычислений в каждой локальной области, особенно скорость логического вывода на уровне MSG и уровне MRG, — это вопрос, над которым стоит подумать в будущем. Также интересно, что методы на основе CNN вычислительно неосуществимы в многомерном пространстве, в то время как наш метод хорошо масштабируется.