Iterative Closest Point Algorithm
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 Bildregistrierung verwendet, sowohl 2D (Stitching) als auch 3D (Photogrammetrie). Die von der Kameraoptik verschieden verzerrten bzw. von verschiedenen Standpunkten aufgenommenen Punktwolken werden durch den ICP aneinander angepasst. So kann ein Gesamtmodell zusammengesetzt werden. Ein weiteres Anwendungsgebiet ist die Lokalisierung in der Robotik, siehe SLAM.
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)