Der Iterative Closest Point Algorithm ist ein Algorithmus, der es ermöglicht, überlappende Punktwolken aneinander anzupassen. Dazu müssen die Punktwolken bereits vorab genähert zueinander ausgerichtet sein.
Für die Punktwolken werden Koordinatentransformationen so bestimmt, dass die Abstände zwischen den Punktwolken minimiert werden. Dazu wird für jeden Punkt aus der einen Punktwolke der jeweils nächste Punkt (closest point) aus der anderen Punktwolke bestimmt. Die Summe der Quadrate der Abstände wird durch Anpassung der Transformationsparameter minimiert. Dieser Vorgang geschieht iterativ so lange, bis das Optimum gefunden ist.
Der Algorithmus wird vor allem zur Registrierung von 3D-Laserscans verwendet. Die 3D-Punktwolken von verschiedenen Standpunkten werden durch den ICP aneinander angepasst. So kann ein Gesamtmodell aus einzelnen Scans zusammengesetzt werden. Ein weiteres Anwendungsgebiet ist die Lokalisierung in der Robotik, ein Teilproblem von Simultaneous Localization and Mapping.
Weblinks
- FastICP paper − Vergleich verschiedener ICP-Varianten (PDF-Datei; 784 kB)
- Grundlage für ICP − Das Überführen von Koordinatensystemen ineinander mit Hilfe von Quaternionen (PDF-Datei; 1,6 MB)