Регистрация облака точек и обзор отображения

point cloud является набором точек в трехмерном пространстве. Облака точек обычно получаются из 3-D сканеров, таких как устройство Kinect® или лидар. У них есть приложения в навигации робота и восприятии, оценке глубины, видении стерео, визуальной регистрации и продвинутых системах помощи водителю (ADAS).

Point cloud registration является процессом выравнивания двух или больше 3-D облаков точек той же сцены в общую систему координат. Отображение является процессом создания карты среды вокруг робота или датчика. Регистрация и отображение могут использоваться, чтобы восстановить 3-D сцену или создать карту шоссе для локализации. В то время как регистрация обычно сопровождается путем отображения, существуют другие приложения с помощью регистрации, такие как деформируемое отслеживание движения, которое не может потребовать отображения. Алгоритмы Computer Vision Toolbox™ обеспечивают функции для выполнения регистрации облака точек и отображения. Рабочий процесс состоит из предварительной обработки, регистрации, коррекции дрейфа и выравнивания облаков точек.

Регистрация и рабочий процесс отображения

Выполните эти шаги, чтобы выполнить регистрацию облака точек и сопоставляющий на последовательности облаков точек.

  1. Предварительно обработайте Облака точек — Чтобы подготовить облака точек к регистрации, проредить их и удалить нежелательные функции и шум.

  2. Укажите Облака точек — Регистр каждое облако точек против того, предшествующего ему. Эта регистрация используется в Odometry, который является процессом накопления регистрационной оценки по последовательным системам координат. Используя одну только одометрию может вести, чтобы дрейфовать между измеренными положениями и положениями основной истины.

  3. Обнаружьте Циклы — Чтобы минимизировать дрейф, необходимо идентифицировать возврат датчика к ранее посещаемому местоположению, формируя цикл в траектории датчика. Это упоминается как loop closure detection.

  4. Правильный Дрейф — Использование обнаруженные циклы, чтобы минимизировать дрейф через pose graph optimization, который состоит из инкрементного создания графика положения путем добавления узлов и ребер, и затем оптимизации графика положения однажды достаточные циклы, найдено. Результатом оптимизации графика положения является набор оптимизированных абсолютных положений.

  5. Соберитесь Карта — Собирают карту путем выравнивания зарегистрированных облаков точек с помощью их оптимизированных абсолютных положений.

Управляйте данными о регистрации облака точек и отображении

Используйте эти объекты управлять данными, сопоставленными с рабочим процессом отображения и регистрацией облака точек:

  • pointCloud объект — объектно-ориентированная память облака точек набор точек, расположенных в трехмерном пространстве. Это использует эффективные стратегии индексации выполнить самые близкие соседние поисковые запросы, которые усилены функциями предварительной обработки и регистрации облака точек.

  • rigid3d объект — твердая 3-D объектно-ориентированная память 3-D твердое геометрическое преобразование. В этом рабочем процессе это представляет относительные и абсолютные положения.

  • pcviewset объект — объект набора представления облака точек управляет данными, сопоставленными с процессом отображения и одометрией. Это организует данные как набор представлений и попарных связей между представлениями. Это также создает и обновляет график положения.

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

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

Предварительно обработайте облака точек

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

  • pcsegdist или segmentLidarData — Сегментируйте данные об облаке точек на кластеры, затем используйте select функционируйте, чтобы выбрать желаемые точки.

  • pcfitplane или segmentGroundFromLidarData — Сегментируйте наземную плоскость, затем используйте select функционируйте, чтобы выбрать желаемые точки.

  • pcdenoise — Удалите нежелательный шум из облака точек.

Укажите облака точек

Можно использовать pcregistericp, pcregistercpd, pcregisterndt, или pcregistercorr функционируйте, чтобы указать движущееся облако точек к облаку фиксированной точки. Регистрационные алгоритмы, используемые этими функциями, основаны на алгоритме итеративной самой близкой точки (ICP), алгоритме когерентного дрейфа точки (CPD), алгоритме нормальных распределений преобразовывают (NDT) и алгоритме корреляции фазы, соответственно. Для получения дополнительной информации об этих алгоритмах смотрите Ссылки.

При регистрации облаков точек, выберите тип преобразования, которое представляет, как объекты в сцене изменяются между ними.

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

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

Регистрационный метод (функция)Тип преобразованияОписаниеПоказатели производительности
pcregisterndtТвердый
  • Локальный регистрационный метод, который использует начальную оценку преобразования

  • Устойчивый к выбросам

  • Лучше с облаками точек отличающихся разрешений и плотности

Быстрый регистрационный метод, но обычно медленнее, чем ICP
pcregistericpТвердый

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

Самый быстрый регистрационный метод
pcregistercpdТвердый, аффинно, и нетвердый

Глобальный метод, который не использует начальную оценку преобразования

Самый медленный регистрационный метод
pcregistercorrТвердыйРегистрационный метод, который использует сетку заполнения, присваивая значения вероятности сетке на основе Z - координатные значения точек в каждой ячейке сетки.

Подходящий лучше всего для навигации наземного транспортного средства

Увеличение размера сеток заполнения увеличивает вычислительные требования функции.

Регистрация текущего (движущегося) облака точек против предыдущего (фиксированного) облака точек возвращает rigid3d преобразование, которое представляет предполагаемое относительное положение движущегося облака точек в системе координат облака фиксированной точки. Создание этого относительного преобразования положения со всеми ранее накопленными относительными преобразованиями положения дает оценку абсолютного преобразования положения.

Добавьте представление, сформированное движущимся облаком точек и его абсолютным преобразованием положения. Можно добавить представление в pcviewset объект с помощью addView функция.

Добавьте odometry edge, ребро, заданное связью между последовательными представлениями, сформированными относительным преобразованием положения между фиксированными и движущимися облаками точек к pcviewset объект с помощью addConnection функция.

Обнаружьте циклы

Используя одну только одометрию ведет, чтобы дрейфовать из-за накопления ошибок. Эти ошибки могут привести к серьезным погрешностям по большим расстояниям. Используя основанную на графике одновременную локализацию и картографию (SLAM) корректирует дрейф. Для этого обнаружьте закрытия цикла путем нахождения местоположения посещаемым в предыдущем облаке точек с помощью соответствия дескриптора. Замкните круг, чтобы откорректировать дрейф. Выполните эти шаги обнаружение цикла for и закрытие:

  1. Используйте scanContextDescriptor функционируйте, чтобы извлечь дескрипторы контекста скана, которые получают отчетливость представления от двух облаков точек в наборе представления.

  2. Используйте scanContextDistance функция, чтобы вычислить расстояние дескриптора между двумя дескрипторами контекста скана. Если расстояние между двумя дескрипторами ниже заданного порога, то это - потенциальное закрытие цикла.

  3. Укажите облака точек, чтобы определить относительное преобразование положения между представлениями и среднеквадратичной ошибкой (RMSE) Евклидова расстояния между выровненными облаками точек. Используйте RMSE, чтобы отфильтровать недопустимые закрытия цикла. Относительное преобразование положения представляет связь между двумя представлениями. Ребро, сформированное связью между непоследовательными представлениями, называется loop closure edge. Можно добавить связь с pcviewset объект с помощью addConnection функция.

Правильный дрейф

pcviewset возразите внутренне обновляет график положения как представления, и связи добавляются. Чтобы минимизировать дрейф, выполните оптимизацию графика положения при помощи optimizePoses функция, когда-то достаточное закрытие цикла. optimizePoses функция возвращает pcviewset объект с оптимизированными абсолютными преобразованиями положения для каждого представления.

Можно использовать createPoseGraph функционируйте, чтобы возвратить график положения как MATLAB® digraph объект. Можно использовать алгоритмы графика в MATLAB, чтобы смотреть, просмотреть, или изменить график положения. Используйте optimizePoseGraph (Navigation Toolbox) функция от Navigation Toolbox™, чтобы оптимизировать модифицированный график положения, и затем использовать updateView функционируйте, чтобы обновить положения в наборе представления.

Соберите карту

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

Советы

  • Локальные регистрационные методы, такие как те, которые используют NDT или ICP (pcregisterndt или pcregistericp, соответственно), потребуйте первоначальных оценок. Чтобы получить первоначальную оценку, используйте другой датчик, такой как инерциальный измерительный блок (IMU) или другие формы одометрии. Улучшение первоначальной оценки помогает регистрационному алгоритму сходиться быстрее.

  • Определение более высоких значений для 'MaxIterations' значения аргументов или нижние значения для 'Tolerance' свойство для более точных регистрационных результатов, но более медленных регистрационных скоростей.

Ссылки

[1] Мыроненко, Андрей и Ксубо Сонг. “Укажите Регистрацию Набора: Когерентный Дрейф Точки”. Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту 32, № 12 (декабрь 2010): 2262–75.

[2] Чен, Янг и Жерар Медьони. “Объектное моделирование Регистрацией Нескольких Изображений Области значений”. Изображение и Видение, Вычисляя 10, № 3 (апрель 1992): 145–55.

[3] Besl, P.J., и Нил Д. Маккей. “Метод для Регистрации 3-D Форм”. Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту 14, № 2 (февраль 1992): 239–56.

[4] Бибер, P. и В. Стрэссер. “Преобразование Нормальных распределений: Новый Подход к Лазерному Сопоставлению сканов”. В Продолжениях 2003 Международных конференции IEEE/RSJ по вопросам Интеллектуальных Роботов и Систем (IROS 2003) (CAT. № 03CH37453), 3:2743–48. Лас-Вегас, Невада, США: IEEE, 2003.

[5] Магнуссон, Мартин. “3D нормальные распределения преобразовывают: эффективное представление для регистрации, поверхностного анализа и обнаружения цикла”. Университет Örebro, 2009.

[6] Димитриевский, Мартин, Дэвид Ван Хэмм, Питер Вилэерт и Уилфрид Филипс. “Устойчивое Соответствие Карт Заполнения для Одометрии в Автономных Транспортных средствах”: в Продолжениях 11-й Объединенной Конференции по Компьютерному зрению, Обработке изображений и Теории Компьютерной графики и Приложениям, 626–33. Рим, Италия: SCITEPRESS - Наука и и Технологические Публикации, 2016.

Смотрите также

Функции

Объекты

Похожие темы