2016-06-09 5 views
0

Я пытаюсь выполнить регистрацию облаков точек через ICP (ближайшая итеративная точка), и я использую алгоритм библиотеки pcl::IterativeClosestPoint библиотеки PCL.Регистрировать облачную регистрацию через ICP, которая устойчива к большому количеству выбросов

Но кажется, что он не устойчив к большому количеству выбросов. Зона видимости, окруженная красным пером, - это «натягивает» облако точек по отношению к ней, а облако точек не выравнивается идеально. enter image description here enter image description hereenter image description here

Есть ли надежный вариант алгоритма ICP (или другого алгоритма регистрации), который может справиться с этим?

ответ

1

Посмотрите на мой ответ here. Я описываю трубопровод, который может быть полезен для вашего случая. В основном вам нужно найти более строгие соответствия между обоими облаками и получить/применить начальное преобразование. Затем вы можете использовать ICP для тонкой настройки вашей регистрации.

+0

Я пробовал подход 3D-сопоставления, например, здесь http://pointclouds.org/documentation/tutorials/template_alignment.php, но результат еще хуже (может быть, у меня есть два точечных облака, которые находятся вблизи формы плоскости?). Также есть возможность ограничить преобразования в случае ICP и 3D-соответствия? – mrgloom

+0

Также я нашел эту статью полезной http://lgg.epfl.ch/~ichim/registration_tutorial_ram_2015/data/registration_paper_tutorial_ram_2015.pdf – mrgloom

+0

У меня может быть другое решение для вашего сценария, более прямолинейное. Поскольку вы можете приблизить свои облака к плоскости, попробуйте применить [планарную сегментацию] (http://pointclouds.org/documentation/tutorials/planar_segmentation.php), а затем применить непосредственно ICP к линерам (точки, которые будут лежать на самолет). Это должно обеспечить хорошую регистрацию. – Finfa811