Projektionsmatrix (Computer Vision)
Nimmt eine Kamera ein Objekt auf, so bildet sich das Objekt auf dem Kamerabild ab. Diese Abbildung (auch Projektion genannt) wird mathematisch durch die so genannte Projektionsmatrix beschrieben. Diese ist eine spezielle Matrix aus dem Bereich Computer Vision und beschreibt die perspektivische Abbildung eines dreidimensionalen Objektpunktes an die zweidimensionale Bildposition.
Einleitung und Anwendung
Die Projektionsmatrix beschreibt die perspektivische Abbildung eines dreidimensionalen Objektpunktes an die Bildposition durch eine Kamera. Dabei gilt folgender Zusammenhang zwischen Objekt- und Bildpunkt:
Die Abbildung des Objektpunktes auf die Bildebene wird hier mit den in der projektiven Geometrie benutzten homogenen Koordinaten beschrieben. Homogene Koordinaten sind gegenüber kartesischen oder affinen Koordinaten um eine Koordinate erweitert und nur bis auf einen Skalierungsfaktor eindeutig. Den zweidimensionalen kartesischen oder affinen Koordinaten entsprechen die homogenen Koordinaten . Die homogenen Koordinaten und repräsentieren denselben Punkt. Entsprechendes gilt für den dreidimensionalen Raum. Die Projektionsmatrix führt somit eine Transformation der projektiven Räume in durch. Die Elemente der Projektionsmatrix hängen dabei von den Orientierungsparametern der Kamera ab. Diese sind im Einzelnen der innere Aufbau der Kamera („innere Orientierung“) und die Lage der Kamera im Raum sowie die Blickrichtung der Kamera („äußere Orientierung“).
Die innere Orientierung der Kamera setzt sich aus folgenden Elementen zusammen:
- Der Kammerkonstante c als Abstand zwischen Bildebene und (bildseitigem) Projektionszentrum der Kamera.
- Der Anzahl der Bildpunkte pro Millimeter in Richtung der x-Achse () und y-Achse ().
- Der Position des Bildhauptpunktes als der Durchstoßpunkt der optischen Achse durch die Bildebene und
- dem Scherungswinkel Θ zwischen den Bildachsen.
Zusammengefasst wird das in der Kalibrierungsmatrix :
Im Weiteren wird die Position einer Kamera bezüglich des Weltkoordinatensystems mit , die Aufnahmerichtung mit bezeichnet. Letzteres ist eine 3×3-Rotationsmatrix. Für ergibt sich damit:
( ist die 3×3 Einheitsmatrix). Da eine 3×4 große Matrix ist, ist ebenfalls 3×4 groß. ist somit eindeutig bestimmt.
Der Vorteil der Projektionsmatrix gegenüber anderen Darstellungsformen wie der Kollinearitätsgleichung ist ihre kompakte Darstellung in einer einzigen Matrix. Dadurch entfällt die explizite Angabe der einzelnen Orientierungsparameter. Auch etwaige Unklarheiten über die Reihenfolge der Transformationsschritte treten nicht auf. Sie wird überall angewendet, wo entsprechende Abbildungen durch eine Kamera durchgeführt werden. Dies ist zum Beispiel auf den Gebieten der Photogrammetrie bei der Bestimmung von 3D-Koordinaten und der Kalibrierung, Computer Vision und in der projektiven Geometrie der Fall. Meist wird von den aufgezeichneten Bildpunkten auf die Koordinaten der beobachteten Objektpunkte rückgerechnet.
Geometrische Deutung der Projektionsmatrix
Die Elemente von sind geometrisch deutbar. Die Zeilen der Matrix sind 4-Vektoren und können als Ebenen im projektiven Raum angesehen werden. Diese 3 Ebenen schneiden sich im Projektionszentrum . Die Spalten sind 3-Vektoren. Die ersten drei Spalten sind die Abbildungen des Weltkoordinatensystems und entsprechen den Fluchtpunkten der X-, Y- beziehungsweise Z-Achse. Die letzte Spalte ist die Abbildung des Ursprungs des Weltkoordinatensystems.
Da die Projektionsmatrix auf Grund der homogenen Darstellung nur bis auf einen Skalierungsfaktor λ bekannt ist, sollte sie dafür normiert werden. Dazu ist der Betrag und das Vorzeichen des Normierungsfaktors zu bestimmen. Für den Betrag wird die erste 3×3-Teilmatrix von betrachtet. Wenn die dritte Zeile von ist, so muss die gesamte Projektionsmatrix durch die Norm dieses Vektors dividiert werden. Das korrekte Vorzeichen ergibt sich aus der Bedingung . Ist die Determinante kleiner 0, muss das Vorzeichen aller Komponenten von invertiert werden.
Zerlegung der Projektionsmatrix
Es ist möglich, aus wiederum die einzelnen Orientierungsparameter der Kamera zu berechnen. Für das Projektionszentrum gilt der Zusammenhang . Diese Eigenschaft kann als lineares Gleichungssystem aufgefasst und mittels Singulärwertzerlegung gelöst werden. Dabei ist zu beachten, dass die Rechteckmatrix um eine Zeile mit Nullen ergänzt werden muss.
Die Rotationsmatrix und die Kalibrierungsmatrix extrahiert eine QR-Zerlegung aus der ersten 3×3 Teilmatrix von :
ist hier die Kalibrierungmatrix, enthält die Elemente der Rotationsmatrix. Somit sind alle Parameter der inneren und äußeren Orientierung bestimmt.
Berechnung der Projektionsmatrix aus Punktkorrespondenzen
Die Projektionsmatrix lässt sich – wie im Abschnitt Mathematische Darstellung gezeigt – direkt aus den Orientierungsparametern der Kamera berechnen. Da die Berechnung der Projektionsmatrix meist vor einer Bestimmung der Kameraparameter durchgeführt wird, tritt dieser Fall selten auf. Im Folgenden wird erläutert, wie nur mit Hilfe von bekannten Objektpunkten und deren Abbildungen berechnet werden kann.
Sind eine Menge Punktkorrespondenzen gegeben, lässt sich aus diesen Punktepaaren berechnen. Ziel ist es, eine Matrix zu bestimmen, so dass . Dazu wird die Formel mittels des Kreuzproduktes nach umgestellt. Wenn , ergibt sich nach Umstellung der Gleichung folgender Zusammenhang:
mit der i-ten Zeile von .
Da diese drei Gleichungen linear abhängig sind, werden nur die beiden ersten benutzt. Eine Punktkorrespondenz liefert somit zwei Gleichungen. Von n Punktkorrespondenzen erhält man eine 2n×12 große Matrix . Die Projektionsmatrix berechnet sich aus , wobei der Vektor mit den Elementen von ist.
Minimale Lösung
Da die Matrix zwölf Elemente hat und vom Rang 11 ist, reichen elf Gleichungen zur Lösung des Gleichungssystems. Da jede Punktkorrespondenz zwei Gleichungen liefert, reichen fünf Punktkorrespondenzen und Kenntnis der x- oder y-Koordinate der sechsten Korrespondenz. ist dann eine 11×12 große Matrix, deren rechter Nullraum die Lösung für enthält.
Überbestimmte Lösung
Da die Punktkorrespondenzen meist Fehler enthalten, existiert keine exakte Lösung für . Daher muss eine Lösung durch Minimierung eines algebraischen oder geometrischen Fehlermaßes bestimmt werden.
Algebraisches Fehlermaß
Im Falle eines algebraischen Fehlermaßes besteht der Ansatz darin, mit einer Nebenbeschränkung zu minimieren. Diese Nebenbeschränkungen können sein:
- , wobei die ersten drei Elemente der letzten Zeile von enthält.
In beiden Fällen wird der Fehlervektor als algebraischer Fehler bezeichnet. Dieses Verfahren wurde von Ivan Sutherland 1963 im Rahmen seiner Dissertation zu Sketchpad vorgestellt.[1]
Geometrisches Fehlermaß
Sind sehr genau vermessene Weltkoordinaten wie bei der Benutzung eines ausgemessenen Passpunktfeldes vorhanden, kann der geometrische Fehler d im Bild definiert werden:
Dabei sind die gemessenen Bildpunkte und der Punkt . Wenn die Fehler normalverteilt sind, dann ist die Lösung
die Maximum-Likelihood-Schätzung von . Zur Lösung werden iterative Techniken wie der Levenberg-Marquardt-Algorithmus verwendet.[2]
Vorgehen in der Praxis
Voraussetzung für die Berechnung von ist, dass mehr als sechs Punktkorrespondenzen vorhanden sind. Ziel ist es dann, die Maximum-Likelihood-Schätzung von zu bestimmen. Da die Maximum-Likelihood-Methode gute Startwerte für die Minimierung benötigt, wird davor eine Lösung von mittels des algebraischen Fehlermaßes bestimmt. Zusätzlich werden die Eingangsdaten normalisiert. Dabei werden alle Bildpunkte so verschoben, dass ihr Schwerpunkt im Ursprung des Koordinatensystems liegt. Danach werden sie so skaliert, dass der durchschnittliche Abstand zum Ursprung beträgt. Die Objektpunkte werden auch in den Ursprung verschoben und so skaliert, dass der durchschnittliche Abstand zum Ursprung ist. Diese Vorgehensweise führt zu numerisch stabileren Ergebnissen. Die jeweiligen Transformationen der Bildpunkte und der Objektpunkte müssen nach Berechnung von rückgängig gemacht werden.
Verzeichnungskorrektur
Bevor man mit der eigentlichen Bestimmung der Projektionsmatrix loslegen kann, muss man – entsprechend den Genauigkeitsanforderungen – vorhandene Verzeichnung im Bild vorher korrigieren. Die Verzeichnungsparameter müssen zuvor durch eine Kamerakalibrierung bestimmt worden sein. Damit kann dann eine geeignete Verzeichnungskorrektur durchgeführt werden. Das Bild kann danach als verzeichnungsfrei angesehen werden, d. h., die Bildpunkte stimmen mit den geraden Abbildungsstrahlen – entsprechend dem Lochkameramodell – überein.
Oft ist die Bestimmung der Projektionsmatrix selbst Teil einer Kamerakalibrierung. Dann ist eine mehrstufige Vorgehensweise notwendig. Dabei werden in einem ersten Schritt so viele Parameter wie möglich mittels linearer kleinste Quadrate Ausgleichung bestimmt. Anschließend findet eine iterative Optimierung statt unter Berücksichtigung aller Modellparameter inklusive notwendiger Verzeichnungsparameter.[3]
Einzelnachweise
- ↑ Ivan Edward Sutherland: Sketchpad: A man-machine graphical communications system. In: Technical Report 296, MIT Lincoln Laboratories. 1963 (Kommentierte Version, 2003 [PDF; 4,1 MB]).
- ↑ Chester C. Slama (Hrsg.): Manual of Photogrammetry. 4th edition. American Society of Photogrammetry, Falls Church VA 1980, ISBN 0-937294-01-2.
- ↑ Berthold K.P. Horn: Tsai’s camera calibration method revisited. 2000, abgerufen am 25. Juli 2020 (englisch).
Literatur
- Volker Rodehorst: Photogrammetrische 3D-Rekonstruktion. Wissenschaftlicher Verlag Berlin, Berlin 2004, ISBN 3-936846-83-9.
- Richard Hartley, Andrew Zisserman: Multiple View Geometry in computer vision. Cambridge University Press, Cambridge 2003, ISBN 0-521-54051-8.
- Paul Withagen, Rein van den Boomgaard: Camera Calibration. (PDF; 447 kB) 2002, archiviert vom Original am 21. Februar 2007; abgerufen am 2. Mai 2009.
- Andrew Zisserman: MATLAB Functions for Multiple View Geometry. 2007, abgerufen am 2. Mai 2009.
Auf dieser Seite verwendete Medien
Autor/Urheber: Curtis Newton ↯, Lizenz: CC BY-SA 2.0 de
Bild einer Lochkamera, basierend auf http://de.wikipedia.org/wiki/Bild:Lochkamera-Prinzip.svg
Autor/Urheber: , Lizenz: Bild-frei
Passpunktfeld mit Marken zur automatischen Detektion und Nummerierung