Регистрация облака точек с помощью ICP, устойчивая к большому количеству выбросов

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

Но кажется, что это не надежно для большого количества выбросов. Кажется, что область, обведенная красным пером, "притягивает" облако точек к себе, и облако точек не совмещено идеально. введите здесь описание изображения  введите описание изображения здесь  введите описание изображения здесь

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


person mrgloom    schedule 09.06.2016    source источник


Ответы (1)


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

person Finfa811    schedule 10.06.2016
comment
Я пробовал подход 3D-сопоставления, как здесь pointclouds.org/documentation/tutorials/template_alignment.php но результат еще хуже (может быть, это из-за того, что у меня есть два облака точек, которые близки к форме плоскости?). Также есть ли возможность ограничить преобразования в случае сопоставления ICP и 3D? - person mrgloom; 10.06.2016
comment
Также я нашел этот документ полезным: lgg.epfl.ch/~ichim/registration_tutorial_ram_2015/ data / - person mrgloom; 10.06.2016
comment
У меня может быть другое решение для вашего сценария, более простое. Поскольку вы можете приблизить облака к плоскости, попробуйте применить планарную сегментацию, а затем применить непосредственно ICP к выступам (точкам, которые будут лежать на плоскости). Это должно обеспечить хорошую регистрацию. - person Finfa811; 10.06.2016