Kollinearitätsgleichung
# Kollinearitätsgleichung

Die Kollinearitätsgleichung beruht auf den mathematischen und geometrischen Grundlagen der kollinearen Abbildung. Ein typisches Beispiel für eine kollineare Abbildung ist die Zentralprojektion. Dabei werden Geraden wieder auf Geraden abgebildet, Teilungsverhältnisse bleiben erhalten.

Anwendungsgebiete der Kollinearitätsgleichung finden sich auf allen Gebieten der Optik und der optischen Bildaufzeichnung, speziell in der optischen Vermessung, der Photogrammetrie und anderer indirekter Messtechniken (z. B. Fließgeschwindigkeit eines Gewässers, Biegefestigkeit von Materialien). Meist wird von den aufgezeichneten Bildpunkten auf die Koordinaten der entsprechenden Objektpunkte rückgerechnet. Bildpunkt, Projektionszentrum und beobachteter Objektpunkt liegen dabei auf einer Geraden.

## Herleitung der Kollinearitätsgleichung

Bei der Herleitung der Kollinearitätsgleichung geht man zweistufig vor. In Stufe 1 betrachtet man zunächst die Projektion eines 3D-Objektpunktes bezüglich des Kamerakoordinatensystems (KKS) in die Bildebene. Das Abbildungsmodell ist hierbei die Zentralprojektion. Anschließend wird in Stufe 2 die Transformation von einem übergeordneten Landes- oder globalen Weltkoordinatensystem (WKS) ins KKS beschrieben. Denn die Position der Kamera ist ja nur temporär bekannt und dient dabei nur als Messinstrument. Aber was man eigentlich braucht ist der Zusammenhang zwischen den gemessenen Bildkoordinaten und einem globalen 3D-Koordinatensystem, in dem am Ende ein 3D-Modell berechnet werden kann, das unabhängig von der Kamera ist.

### Stufe 1 – Zentralprojektion als Abbildungsmodell der Lochkamera

Um den Abbildungsvorgang einer realen Kamera mathematisch zu beschreiben, versucht man zunächst die hohe Komplexität der Realität zu reduzieren, um ein vereinfachtes Modell zu erhalten. In der Regel benutzt man dafür das Lochkameramodell. Das Abbildungsmodell der Lochkamera ist die Zentralprojektion. Es ist ein rein geometrisches Modell und daher besonders einfach. Mittels Strahlensätze lassen sich Verhältnisgleichungen aufstellen, jeweils eine für die Bildkoordinaten $x$ und $y$. Auf dieser Grundidee beruhen die Kollinearitätsgleichungen.

### Beschreibung des Abbildungsvorgangs

Zur Herleitung betrachtet man nebenstehende Abbildung die Kavalierperspektive (links). Man beachte, dass die Bildebene sich vor der Kamera befindet (Positivstellung). Im Gegensatz zur Lochkamera, wo sich die Bildebene hinter dem Projektionszentrum befindet (Negativstellung), ist das sich ergebende Abbild in Positivstellung seitenrichtig und steht aufrecht. Dadurch vereinfacht sich die Herleitung, die Verhältnisse der Zentralprojektion bleiben dabei gleich.

Ein 3D-Objektpunkt ${\vec {X}}$ wird über den geraden Projektionsstrahl, welcher durchs Projektionszentrum $O$ geht, in die Bildebene abgebildet und erzeugt den 2D-Bildpunkt ${\vec {x}}$. Zwischen dem in der Bildebene befindlichen Bildkoordinatensystem (BKS, grüne Achsen) und dem KKS gibt es eine enge Beziehung. Die X- und die Y-Achse des KKS sind jeweils parallel zur entsprechenden x- und y-Achse des BKS. Damit ist die X-Y-Ebene des KKS parallel zur Bildebene. Die Z-Achse des KKS ergibt sich nach der Rechte-Hand-Regel und erzeugt ein Rechtssystem. Deswegen ist die Z-Achse abhängig von der Ausrichtung der Achsen des BKS. In diesem Fall ist das BKS als mathematisches Standardkoordinatensystem definiert, d. h., die x-Achse zeigt nach rechts (horizontal) und die y-Achse nach oben (vertikal). Aus diesem Grund zeigt die positive Z-Achse vom KKS entgegen der Blickrichtung nach hinten.

Die Verlängerung der negativen Z-Achse des KKS stellt die Blickrichtung der Kamera dar. Sie durchstößt die Bildebene und erzeugt dabei den Hauptpunkt des Bildes $H$. Der Hauptpunkt ist der Ursprung des Bildkoordinatensystems (BKS). Der senkrechte Abstand des Projektionszentrums von der Bildebene (Strecke ${\overline {OH}}$) wird als Kamerakonstante $c$ bezeichnet.

### Aufstellen der Gleichungen

Betrachten wir nun die Seitenansicht (rechts in der Abbildung), dann ergeben sich aufgrund der Strahlensätze der Zentralprojektion Verhältnisgleichungen. Aus der Abbildung entnimmt man direkt:

${\frac {y}{-c}}={\frac {Y}{Z}}$ $\Leftrightarrow$ $y=-c{\frac {Y}{Z}}$

Weil sich die Bildebene entlang der negativen Z-Achse befindet, muss die Kamerakonstante $c$ mit einem negativen Vorzeichen versehen werden. Und für $x$ gilt entsprechend:

${\frac {x}{-c}}={\frac {X}{Z}}$ $\Leftrightarrow$ $x=-c{\frac {X}{Z}}$

Anmerkung: im Prinzip kann man die Achsen auch anders ausrichten und zwar so, wie beim Sensorkoordinatensystem (SKS, rote Achsen). Der Ursprung des SKS befindet sich in der linken oberen Bildecke und die x-Achse zeigt nach rechts (horizontal) jedoch die y-Achse zeigt nach unten (vertikal). Ein KKS welches sich danach ausrichtet, hat dann eine positive Z-Achse, die nach vorne in Blickrichtung der Kamera zeigt. Dies ist die übliche Vorgehensweise in Computer Vision. In der Photogrammetrie hat sich jedoch historisch bedingt eine andere Ausrichtung der Achsen etabliert.

### Stufe 2 – Transformation vom WKS ins KKS

Als nächstes wird der Zusammenhang zwischen dem globalen Weltkoordinatensystem und dem lokalen Kamerakoordinatensystem beschrieben. Bei einer solchen Koordinatentransformation betrachtet man einen Punkt $P$ bezüglich zwei verschiedener Bezugssysteme, die gegeneinander verschoben und beliebig gedreht sein können. Man benötigt also eine Translation (Verschiebung) und eine Rotation (Drehung) um den mathematischen Zusammenhang zu formulieren. Am einfachsten ist es, zunächst die Translation durchzuführen, so dass die Bezugssysteme sich einen gemeinsamen Ursprung teilen, also quasi übereinander liegen. Im Anschluss führt man die Drehung aus.

Dazu betrachten wir nebenstehende Abbildung. Hier sind zwei Bezugssysteme dargestellt: das WKS (rote Achsen) und das KKS (blaue Achsen). Ein Punkt $P$ hat bezüglich des WKS die Koordinaten ${\vec {X}}_{a}$ (rot) und bezüglich des KKS die Koordinaten ${\vec {X}}_{b}$ (blau). Man muss hierbei die Regeln der Vektorarithmetik beachten. D.h., man darf nur Vektoren bezüglich ein und desselben Bezugssystems miteinander kombinieren. Das stellt uns vor ein Problem, weil der Vektor ${\vec {X}}_{b}$ (blau) bezüglich des KKS definiert ist. Wir brauchen ihn jedoch bezüglich des WKS.

Man behilft sich hier mit einem Trick: Denn durch Subtraktion des Translationsvektors ${\vec {X}}_{0}$ (rot) von ${\vec {X}}_{a}$ ergibt sich der Vektor ${\vec {X}}_{b}$ nochmal im Parallelogram als Differenzvektor ${\vec {X}}_{diff}$ (rot). Der gesuchte Vektor ${\vec {X}}_{b}$ ist parallel zum Differenzvektor ${\vec {X}}_{diff}$ und behält damit seine Richtung bezüglich des KKS bei. Man verschiebt also nicht das Koordinatensystem, sondern den Punkt und bleibt dabei im selben Bezugssystem.

Anschließend kann man durch Multiplikation mit einer allgemeinen Drehmatrix $R$ die Koordinaten des Differenzvektors ins Zielsystem überführen. Die gesamte Koordinatentransformation lässt sich in Vektor-Matrix-Schreibweise wie folgt formulieren.

${\vec {X}}_{b}=R\cdot {\vec {X}}_{diff}$ , mit ${\vec {X}}_{diff}={\vec {X}}_{a}-{\vec {X}}_{0}$

Und die Komponenten ausführlich geschrieben:

${\begin{bmatrix}X_{b}\\Y_{b}\\Z_{b}\end{bmatrix}}_{KKS}={\begin{bmatrix}r_{1,1}&r_{1,2}&r_{1,3}\\r_{2,1}&r_{2,2}&r_{2,3}\\r_{3,1}&r_{3,2}&r_{3,3}\end{bmatrix}}_{WKS\rightarrow KKS}\cdot {\begin{bmatrix}X_{diff}\\Y_{diff}\\Z_{diff}\end{bmatrix}}_{WKS}$ , mit ${\begin{bmatrix}X_{diff}\\Y_{diff}\\Z_{diff}\end{bmatrix}}_{WKS}={\begin{bmatrix}X_{a}\\Y_{a}\\Z_{a}\end{bmatrix}}_{WKS}-{\begin{bmatrix}X_{0}\\Y_{0}\\Z_{0}\end{bmatrix}}_{WKS}$

Die Indizies KKS und WKS sollen hier jeweils die Zuordnung der Koordinaten zu einem Bezugssystem anzeigen.

Für den nächsten Schritt ist es nützlich jede Zeile der Rotationsmatrix $R$ als einen Vektor ${\vec {r}}_{i}^{T}$ darzustellen (mit Zeilenindex $i$). Man beachte, dass standardmäßig ein Vektor als Spaltenvektor definiert ist, weswegen man ihn transponiert, um einen Zeilenvektor zu erhalten.

$R_{WKS\rightarrow KKS}={\begin{bmatrix}r_{11}&r_{12}&r_{13}\\r_{21}&r_{22}&r_{23}\\r_{31}&r_{32}&r_{33}\end{bmatrix}}={\begin{bmatrix}{\vec {r}}_{1}^{T}\\{\vec {r}}_{2}^{T}\\{\vec {r}}_{3}^{T}\end{bmatrix}}$

### Stufe 3 – Zusammenfassung der Transformation

Setzt man nun die Gleichungen zur Koordinatentransformation vom WKS zum KKS in die obigen Verhältnisgleichungen ein, so erhält man die Kollinearitätsgleichungen. Zunächst in kompakter Form:

$x=-c{\frac {{\vec {r}}_{1}^{T}\cdot {\vec {X}}_{diff}}{{\vec {r}}_{3}^{T}\cdot {\vec {X}}_{diff}}}$

$y=-c{\frac {{\vec {r}}_{2}^{T}\cdot {\vec {X}}_{diff}}{{\vec {r}}_{3}^{T}\cdot {\vec {X}}_{diff}}}$

und nochmal ausmultipliziert:

$x=-c{\frac {r_{11}\cdot (X-X_{0})+r_{12}\cdot (Y-Y_{0})+r_{13}\cdot (Z-Z_{0})}{r_{31}\cdot (X-X_{0})+r_{32}\cdot (Y-Y_{0})+r_{33}\cdot (Z-Z_{0})}}$

$y=-c{\frac {r_{21}\cdot (X-X_{0})+r_{22}\cdot (Y-Y_{0})+r_{23}\cdot (Z-Z_{0})}{r_{31}\cdot (X-X_{0})+r_{32}\cdot (Y-Y_{0})+r_{33}\cdot (Z-Z_{0})}}$

Hinweis: Die Indizies (WKS, KKS und BKS) wurden hier bewusst weggelassen um die Formel zu vereinfachen.

Diese Kollinearitätsgleichungen stellen den Abbildungsvorgang zwischen Koordinaten eines 3D-Punktes (im Weltkoordinatensystem) und seines 2D-Punktes (im Bildkoordinatensystem) in kompakter Form dar. Aufgrund des Bruchs ist es ein nichtlinearer Zusammenhang. Allerdings ist es unter Verwendung von homogenen Koordinaten möglich, den Zusammenhang der Zentralprojektion auch linear zu formulieren (s. Projektionsmatrix (Computer Vision)).

Anmerkung: In der Literatur wird häufig nicht mit der Drehmatrix gearbeitet, wie sie oben beschrieben wird. Sondern man verwendet die Matrix der Rückdrehung vom lokalen zum globalen System (KKS zum WKS). Dies entspricht der transponierten Matrix $R^{T}$, wodurch die Zeilenvektoren der Matrix $R$ zu Spaltenvektoren werden. Wenn man diese transponierte Matrix in die Kollinearitätsgleichungen einsetzt, dann ergeben sich andere Indizies der Rotationsparameter $r_{ij}$, wo der Zeilenindex $i$ und der Spaltenindex $j$ vertauscht ist, d. h. $r_{ji}$.

Variante 2 ($R^{T}$):

$x=-c{\frac {r_{11}\cdot (X-X_{0})+r_{21}\cdot (Y-Y_{0})+r_{31}\cdot (Z-Z_{0})}{r_{13}\cdot (X-X_{0})+r_{23}\cdot (Y-Y_{0})+r_{33}\cdot (Z-Z_{0})}}$

$y=-c{\frac {r_{12}\cdot (X-X_{0})+r_{22}\cdot (Y-Y_{0})+r_{32}\cdot (Z-Z_{0})}{r_{13}\cdot (X-X_{0})+r_{23}\cdot (Y-Y_{0})+r_{33}\cdot (Z-Z_{0})}}$

Darüber hinaus wird die Kollinearitätsgleichung in der Regel dahin gehend erweitert, dass man den Bezug zu einem in der Bildebene liegenden Sensorkoordinatensystem (oder bei analogen Bildern zum Rahmenmarkensystem) herstellt. D.h., man fügt die Koordinaten des Hauptpunktes hinzu. Es ist dabei jedoch zu beachten, dass die Ausrichtung der Achsen zwischen dem Sensorsystem und dem Bildkoordinatensystem sich ändern. Insbesondere ist die y-Achse des SKS entgegengesetzt gerichtet gegenüber dem BKS. Außerdem ersetzt man den Translationsvektor (Koordinaten des Hauptpunkts) vom BKS zum SKS durch den entgegen gerichteten Vektor, wodurch (Minus mal Minus ergibt Plus) die Koordinaten des Hauptpunktes addiert werden.

Variante 3 (bezüglich SKS, $R$):

$x_{SKS}=x_{H,SKS}-c{\frac {r_{11}\cdot (X-X_{0})+r_{12}\cdot (Y-Y_{0})+r_{13}\cdot (Z-Z_{0})}{r_{31}\cdot (X-X_{0})+r_{32}\cdot (Y-Y_{0})+r_{33}\cdot (Z-Z_{0})}}$

$y_{SKS}=y_{H,SKS}+c{\frac {r_{21}\cdot (X-X_{0})+r_{22}\cdot (Y-Y_{0})+r_{23}\cdot (Z-Z_{0})}{r_{31}\cdot (X-X_{0})+r_{32}\cdot (Y-Y_{0})+r_{33}\cdot (Z-Z_{0})}}$

## Verwendung der Kollinearitätsgleichung

Diese Gleichung findet insbesondere in der Photogrammetrie vielfältige Anwendung. Sie wird verwendet bei der Kamerakalibrierung, der Bestimmung der äußeren Orientierung (Georeferenzierung) und zur Berechnung von 3D-Modellen. Dabei dient die Kollinearitätsgleichung als Grundgleichung einer kleinsten-Quadrate-Ausgleichung. Bei dieser Form der Ausgleichungsrechnung lassen sich im Prinzip beliebig viele Korrekturterme hinzufügen, z. B. zur Bestimmung von Verzeichnungsparametern bei der Kamerakalibrierung. Aufgrund dieser Flexibilität hat die Kollinearitätsgleichung eine besondere Bedeutung.

