Быстрая организованная регистрация в облаке точек

Я искал методы для регистрации (выравнивания) организованных облаков точек с обычной информацией.
Мне удалось найти только общие методы регистрации облака точек (например, в PCL).

Я использую Microsoft Kinect для получения облаков точек, но проблема в том, что они довольно большие.

Что я хотел бы знать:

  • Есть ли быстрые способы зарегистрировать организованные облака точек?
  • Существуют ли очень быстрые методы понижающей дискретизации (которые также могут использовать тот факт, что облака точек организованы)?
  • Я также думал об использовании фильтров OpenCV, поскольку организованное облако точек могло бы быть как изображение со значениями серого (2D-матрица со значениями глубины). Например, используя метод изменения размера openCV для матрицы и некоторые фильтры производного типа (потому что края важны для меня в сцене). Это хорошая идея?
  • Кроме того, понижающая выборка выглядит как проблема параллельных данных, которая может быть отличным кандидатом для реализации на GPU. Вы знаете о такой реализации?


На данный момент я сделал следующее.
- Несколько методов понижающей дискретизации (случайный, на основе вокселей, равномерный), но проблема всех из них в том, что все они заняло много времени (в PCL). Best был основан на Voxel.
- Затем был проведен ICP, который для меня работал довольно быстро и достаточно точно на облаках точек с пониженной дискретизацией.

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


person Snowman    schedule 12.11.2015    source источник


Ответы (1)


  1. Думать об организованном облаке точек как об изображении со значениями серого (простая 2D-матрица) оказывается хорошей идеей.
  2. Методы понижающей дискретизации для 2D-матриц, реализованные на GPU, доступны, например, в OpenCV cuda.
  3. Кроме того, в зависимости от того, насколько важна точность, легко реализовать свои собственные методы быстрого понижения дискретизации для 2D-матриц. Например, просто возьмите каждый k -й элемент. При необходимости вы можете выполнить усреднение для этих элементов, чтобы размыть, или фильтры производного типа, чтобы повысить резкость (улучшение краев). Вы можете придумать специальные методы выбора, в зависимости от информации о кадрах (например, если вы знаете, что ваши объекты, как правило, находятся в центре, вы можете выбрать больше точек вокруг области).

Все три вышеперечисленных дадут более быстрые результаты и, вероятно, «более приспособлены» к вашей проблеме (особенно № 3). «Более настроенный» означает менее надежный.

person Snowman    schedule 16.11.2015