2016-06-09 34 views
0

Ich versuche, Punkt Cloud-Registrierung über ICP (Iterative nächsten Punkt) durchzuführen, und ich benutze PCL-Bibliothek pcl::IterativeClosestPoint Algorithmus.Punkt Cloud-Registrierung über ICP, die robust zu einer großen Anzahl von Ausreißern

Aber es scheint, dass es nicht zu einer großen Anzahl von Ausreißern robust ist. Ein Bereich, der mit einem roten Stift eingekreist ist, "zieht" eine Punktwolke zu ihr hin und zeigt, dass die Wolken nicht perfekt ausgerichtet sind. enter image description here enter image description hereenter image description here

Gibt es eine robuste Variante des ICP-Algorithmus (oder einem anderen Registrierungsalgorithmus), der damit umgehen kann?

Antwort

1

Werfen Sie einen Blick auf meine Antwort here, ich beschreibe eine Pipeline, die für Ihren Fall nützlich sein könnte. Grundsätzlich müssen Sie zwischen den beiden Punktwolken Übereinstimmungen finden und eine erste Transformation durchführen. Dann können Sie ICP für eine feine Verfeinerung Ihrer Registrierung verwenden.

+0

Ich versuchte 3D-Matching-Ansatz wie hier http://pointclouds.org/documentation/tutorials/template_alignment.php aber Ergebnis noch schlechter (vielleicht ist es weil ich zwei Punkt Wolken, die in der Nähe der Ebene Form sind?). Gibt es auch eine Option, um Transformationen im Falle eines ICP- und 3D-Abgleichs zu beschränken? – mrgloom

+0

Auch ich fand dieses Papier nützlich http://lgg.epfl.ch/~ichim/registration_tutorial_ram_2015/data/registration_paper_tutorial_ram_2015.pdf – mrgloom

+0

Ich habe vielleicht eine andere Lösung für Ihr Szenario, die einfacher ist. Da Sie Ihre Wolken einer Ebene annähern können, versuchen Sie, eine [planare Segmentierung] (http://pointclouds.org/documentation/tutorials/planar_segmentierung.php) anzuwenden und dann direkt ICP auf die Inlier anzuwenden (Punkte, die auf der Ebene liegen) Ebene). Das sollte eine gute Registrierung erreichen. – Finfa811