# Epipolargeometrie

Die Epipolargeometrie (selten auch Kernstrahlgeometrie) ist ein mathematisches Modell aus der Geometrie, das die geometrischen Beziehungen zwischen verschiedenen Kamerabildern desselben Objekts darstellt. Mit ihrer Hilfe lässt sich die Abhängigkeit zwischen korrespondierenden Bildpunkten beschreiben – also den Punkten, die ein einzelner Objektpunkt in den beiden Kamerabildern erzeugt. Obwohl ihre Grundlagen bereits 1883 von Guido Hauck, 1899 von Sebastian Finsterwalder und 1908 von Horst von Sanden untersucht wurden, gelangte die Epipolargeometrie erst mit der automatischen Auswertung digitaler Bilder vor allem im Bereich des maschinellen Sehens zu größerer Bedeutung.
Vornehmlich wird die Epipolargeometrie bei der Gewinnung von 3D-Informationen aus Bildern eingesetzt. Dabei unterstützt sie die Korrespondenzanalyse, also die Zuordnung korrespondierender Punkte, und reduziert den erforderlichen Suchaufwand erheblich.


## Prinzip
Ein Fotoapparat lässt sich geometrisch durch eine Lochkamera modellieren. Bei dieser liegen während der Aufnahme jeder Punkt des aufgenommenen Objektes, das Projektionszentrum sowie der dazugehörige Bildpunkt auf einer Geraden. Wurde der Objektpunkt zweimal von unterschiedlichen Positionen aus aufgenommen, lassen sich bei einer späteren Auswertung mittels der Orientierungen der Kameras der Schnittpunkt der zwei Geraden und damit die Koordinaten des Objektpunktes berechnen. Eine 3D-Rekonstruktion ist somit möglich, wenn in beiden Bildern die Bildpunkte eines Objektpunktes lokalisiert wurden. Die Epipolargeometrie dient zur Unterstützung dieser Lokalisation: ist der Punkt im ersten Bild gegeben, schränkt sich bei bekannter Epipolargeometrie der Suchbereich im zweiten Bild auf eine Linie ein.

In nebenstehender linker Grafik werden die geometrischen Beziehungen verdeutlicht. Dargestellt sind neben den Bild- und Objektpunkten sowie den beiden Projektionszentren die beiden Bildebenen der zwei Kameras. Diese sind vor die Projektionszentren geklappt. Das erleichtert die Darstellung, ändert jedoch nichts an den geometrischen Beziehungen. Der Objektpunkt X bildet sich im Kamerabild 1 auf den Bildpunkt xL ab. Ausgehend von diesem Bildpunkt ist es lediglich möglich, den dazugehörigen Strahl, auf dem X liegt, zu bestimmen. Mögliche Objektpunkte X1, X2 oder X3, die ebenso wie X dem Bildpunkt xL entsprechen, liegen auf diesem Strahl. Dieser Strahl und damit alle möglichen Objektpunkte werden bei der Aufnahme des Objekts von einer anderen Position im zweiten Bild auf einer Geraden abgebildet. Auf diese reduziert sich die Suche nach dem zum Bildpunkt xL korrespondierenden Bildpunkt xR im zweiten Bild.
Mit Hilfe der Epipolargeometrie kann eine einfache Beziehung zwischen korrespondierenden Punkten ohne Kenntnis der Kamerapositionen hergestellt werden. Aus einer bekannten Epipolargeometrie können zwar Informationen über die relative Position der Kameras zueinander abgeleitet werden, zu ihrer Bestimmung ist es jedoch nicht erforderlich, die Kamerapositionen explizit zu kennen. Die Epipolargeometrie hängt nur von den Parametern der Kameras ab und ist damit unabhängig von der Struktur der aufgenommenen Szene.

Zur Beschreibung der Epipolargeometrie und ihrer Elemente existiert eine feste Terminologie. Die Ebene, welche die beiden Projektionszentren der Kameras und der aufgenommene Objektpunkt aufspannen, wird Epipolarebene genannt. Diese schneidet die beiden Bilder in jeweils einer Geraden, der sogenannten Epipolarlinie. Nur auf dieser kann ein korrespondierender Bildpunkt zu einem im anderen Bild gegebenen Punkt liegen. Die Gerade, die die beiden Projektionszentren der Kameras verbindet, durchstößt die beiden Bildebenen in jeweils einem Punkt, dem Epipol. Die beiden Epipole ändern ihre Position im jeweiligen Bild nicht, solange die Lage der Kameras zueinander stabil bleibt. Der Epipol eines Bildes ist gleichzeitig die Abbildung des Projektionszentrums der anderen Kamera. Durch ihn laufen alle Epipolarlinien eines Bildes, er selbst kann sich aber je nach Lage der Kameras zueinander außerhalb des eigentlichen Bildes befinden.
Im Bereich der Photogrammetrie wurden und werden zum Teil heute noch die Begriffe Kernstrahlgeometrie, Kernpunkt, Kernebene und Kernlinie anstelle von Epipolargeometrie, Epipol, Epipolarebene und Epipolarlinie verwendet.


## Anwendungen
Die Epipolargeometrie wird vor allem in der projektiven Geometrie, der Photogrammetrie und im Computer Vision genutzt. Ihr Haupteinsatzzweck ist dabei die Unterstützung der Korrespondenzanalyse. Wird zu einem markanten Punkt in einem Bild der korrespondierende Punkt im anderen Bild gesucht, muss bei unbekannter Epipolargeometrie das gesamte Bild untersucht werden. Ist die Epipolargeometrie bekannt, lässt sich die Suche nach dem korrespondierenden Punkt auf die Epipolarlinie einschränken. Das bewirkt eine erhebliche Verkleinerung des Suchraums. Aus diesem Grunde wird die Epipolargeometrie vor allem dort eingesetzt, wo mittels Kameras eine Szene oder ein Objekt dreidimensional schnell und mit geringem Aufwand analysiert werden muss. Wichtige Einsatzgebiete sind das computerbasierte Sehen, die Vermessung von Werkstücken zur Qualitätsprüfung, die Gebäudeaufnahme bei der Architekturphotogrammetrie oder die Luftbildphotogrammetrie zur Erstellung von Kartenwerken.


### Stereonormalbilder
Die Epipolargeometrie schränkt bei der Korrespondenzsuche zur Objektidentifikation den Suchbereich auf die Epipolarlinien ein und erzielt dadurch eine enorme Rechenzeitersparnis. Gleichzeitig verringert sie durch die Suchraumeinschränkung die Anzahl von falschen Zuordnungen korrespondierender Punkte. Beides ist von großem Vorteil, weil es zu einer Beschleunigung der Algorithmen führt und sie zuverlässiger (robuster) macht. Insbesondere in der autonomen Robotik sind einfache Berechnungen für kurze Rechenzeiten erforderlich, zum einen wegen der begrenzten Hardware auf mobilen Plattformen und zum anderen wegen der Notwendigkeit schneller Reaktionen zur Kollisionsvermeidung. So kam bei einem Teilnehmer der DARPA Grand Challenge, ein Wettbewerb unbemannter Landfahrzeuge, die Programmbibliothek OpenCV zum Einsatz, die schnelle Routinen zur Berechnung der Epipolargeometrie und ihrer Anwendung bei der Korrespondenzanalyse beinhaltet.
Bei Stereokamerasystemen, bei denen die Kameras z. B. motorisch ausgerichtet werden können, sind die optischen Achsen meist nichtparallel ausgerichtet, sodass sogenannte konvergente Aufnahmen entstehen. Dadurch verläuft die Epipolarlinie für einen Punkt X mit der Abbildung xL im linken Bild gemäß der Epipolargeometrie immer über mehrere Bildzeilen hinweg quer durch das rechte Bild (s. Abbildung). Um die Korrespondenzsuche für diesen Anwendungsfall zu vereinfachen, können die Bilddaten über eine Transformation in eine Kamerageometrie mit parallelen optischen Achsen überführt werden, indem die Bilddaten in eine gemeinsame Bildebene, in die sogenannte Rektifikationsebene, projiziert werden. In der Photogrammetrie wird diese Konfiguration auch als Stereonormalfall bezeichnet. Beide Blickrichtungen sind dann zueinander parallel und gleichzeitig orthogonal zur Verbindung der beiden Aufnahmeorte (Basis).
Auf diese Weise kann der Korrespondenzpartner xR im rechten Bild zum Bildpunkt xL in der gleichen Bildzeile gesucht werden, da die Epipolarlinien nach der Transformation entlang einer gemeinsamen Geraden zu liegen kommen. Der Berechnungsaufwand in der Stereobildanalyse kann auf diese Weise erheblich reduziert werden. Grundvoraussetzung für diesen Ansatz ist die genaue Kenntnis der Kamera- und Abbildungsgeometrie. Als Ergebnis erhält man jeweils ein neues Bild. 
Im Gegensatz zur vereinfachten Lochkamerageometrie unterliegen reale Kameras jedoch optischen Abbildungsfehlern, Verzeichnung genannt. Die Kompensation solcher Verzerrungen erfordert eine zusätzliche Berechnung eines neuen Bildes. Die Kompensation der Verzeichnung kann aufwandsgünstig in einem Schritt mit der Rektifikationstransformation geschehen, so dass man nur einmal ein neues Bild berechnen muss. Die Transformation wird dabei über die Kameraparameter Winkel der optischen Achsen, Brennweiten etc. gesteuert.


### Selbstkalibrierung von Kameras
Die 3D-Rekonstruktion einer Szene aus Fotografien setzt voraus, dass die innere und relative Orientierung der Kameras bekannt ist. Da die Epipolargeometrie die lineare projektive Beziehung zwischen zwei Bildern beschreibt, wird sie bei der sogenannten Selbstkalibrierung, also der automatischen Ermittlung der Kameraparameter, eingesetzt. Dabei wird die Epipolargeometrie dazu benutzt, aus bekannten Korrespondenzen die (lineare) innere Orientierung und die relative Orientierung zu bestimmen (s. Abschnitt #Berechnung). Eventuell vorhandene (nicht lineare) Verzeichnung muss zuvor mittels einer Kamerakalibrierung bestimmt worden sein.


## Geschichte
Die Geschichte der Epipolargeometrie ist eng verbunden mit der Geschichte der Photogrammetrie. Der Erste, der die ihr zugrunde liegenden geometrischen Beziehungen analysierte, war der Mathematiker Guido Hauck. Er publiziert 1883 im Journal für die reine und angewandte Mathematik einen Artikel, in dem erstmals der Begriff Kernpunkt verwendet wurde:

Ausgehend von den Arbeiten Haucks, entwickelte Sebastian Finsterwalder 1899 einen Algorithmus für eine 3D-Rekonstruktion aus zwei unkalibrierten Fotos. Eine erste umfangreichere Darstellung verfasste 1908 Horst von Sanden im Rahmen seiner Dissertation Die Bestimmung der Kernpunkte in der Photogrammetrie. Er beschrieb in dieser Arbeit Methoden zu einer einfacheren und genaueren Bestimmung der Kernpunkte.
Bei der bis zur Einführung der Digitaltechnik vorherrschenden, sogenannten analogen Photogrammetrie mit optisch-mechanischer Fotografie und Auswertung wurde die Korrespondenzanalyse manuell durchgeführt. Da ein menschlicher Operateur bei genügend Szenenstruktur problemlos korrespondierende Punkte zuordnen kann, wurden die Erkenntnisse kaum angewandt. Erst das Aufkommen der digitalen Photogrammetrie mit digitaler Fotografie und rechnergestützter Offline-Auswertung ab den 1980er Jahren sowie der steigende Bedarf einer automatisierten Bildauswertung im Bereich des maschinellen Sehens bewirkte eine erneute intensivere Beschäftigung mit der Epipolargeometrie und ihrer Anwendung. Eine erste Arbeit, welche die Neuentdeckung der Thematik belegt, war die Veröffentlichung von Christopher Longuet-Higgins in der Zeitschrift Nature. Seitdem beschäftigen sich viele Wissenschaftler mit der Epipolargeometrie, darunter Huang und Faugeras, Horn sowie Vieville und Lingrand.


## Mathematische Beschreibung
Die Epipolargeometrie stellt eine Beziehung zwischen den Bildkoordinaten korrespondierender Punkte her. Die Bildkoordinaten werden oft in kartesischen Koordinaten, können jedoch auch in affinen Koordinaten angegeben werden. Der Ursprung des Bildkoordinatensystems eines Bildes liegt meist in der Mitte oder einer Ecke des Bildes. Bei digitalen Bildern (CCD-Aufnahmen oder gescannte Bilder) können zum Beispiel die Zeile und Spalte der Pixel als Koordinaten verwendet werden. Wenn sich Zeilen- und Spaltenauflösung unterscheiden oder die Achsen des Koordinatensystems nicht rechtwinklig aufeinander stehen, sind diese Koordinaten affin.
Die Beziehung zwischen den Bildkoordinaten korrespondierender Punkte wird durch eine Fundamentalmatrix beschrieben. Mit ihr lässt sich zu einem gegebenen Punkt im ersten Bild die dazugehörige Epipolarlinie im zweiten Bild bestimmen, auf der sich der korrespondierende Punkt befindet.


### Homogene Koordinaten und Projektionsmatrix
Die Abbildung der Objektpunkte auf die Bildebene kann mit den in der projektiven Geometrie benutzten homogenen Koordinaten beschrieben werden. 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 
  
    
      
        (
        x
        ,
        
        y
        )
      
    
    {\displaystyle (x,\,y)}
  
 entsprechen die homogenen Koordinaten 
  
    
      
        (
        u
        ,
        
        v
        ,
        
        w
        )
        =
        (
        w
        x
        ,
        
        w
        y
        ,
        
        w
        )
      
    
    {\displaystyle (u,\,v,\,w)=(wx,\,wy,\,w)}
  
. Die homogenen Koordinaten 
  
    
      
        (
        u
        ,
        
        v
        ,
        
        w
        )
      
    
    {\displaystyle (u,\,v,\,w)}
  
, die nicht alle gleichzeitig Null sein dürfen, und 
  
    
      
        (
        u
        
          /
        
        w
        ,
        
        v
        
          /
        
        w
        ,
        
        1
        )
        =
        (
        x
        ,
        
        y
        ,
        
        1
        )
      
    
    {\displaystyle (u/w,\,v/w,\,1)=(x,\,y,\,1)}
  
 repräsentieren denselben Punkt im zweidimensionalen projektiven Raum 
  
    
      
        
          
            P
          
          
            2
          
        
      
    
    {\displaystyle \mathbb {P} ^{2}}
  
, der projektiven Ebene. Entsprechendes gilt für den dreidimensionalen Raum.
Jeder Punkt des zweidimensionalen Raumes 
  
    
      
        
          
            R
          
          
            2
          
        
      
    
    {\displaystyle \mathbb {R} ^{2}}
  
 oder des dreidimensionalen Raumes 
  
    
      
        
          
            R
          
          
            3
          
        
      
    
    {\displaystyle \mathbb {R} ^{3}}
  
 kann durch homogene Koordinaten beschrieben werden. Einem Punkt des projektiven Raumes entspricht jedoch nur dann ein Punkt im affinen Raum, wenn 
  
    
      
        w
        
        ≠
        
        0
      
    
    {\displaystyle w\,\neq \,0}
  
 ist. Die Punkte der projektiven Ebene mit 
  
    
      
        w
        
        =
        
        0
      
    
    {\displaystyle w\,=\,0}
  
 werden Punkte im Unendlichen genannt. Da sie als Schnittpunkte von parallelen Geraden interpretiert werden können, entfällt in der projektiven Geometrie die Unterscheidung zwischen parallelen und nicht parallelen Geraden. Dies ist in der Perspektive beispielsweise bei der Beschreibung von Fluchtpunkten vorteilhaft. Da die Gleichung 
  
    
      
        w
        
        =
        
        0
      
    
    {\displaystyle w\,=\,0}
  
 derjenigen einer Geraden in der projektiven Ebene entspricht, wird die Menge der Punkte im Unendlichen Gerade im Unendlichen genannt.
Mit homogenen Koordinaten lässt sich die Abbildung der dreidimensionalen Objektpunkte mit den Koordinaten 
  
    
      
        (
        X
        ,
        
        Y
        ,
        
        Z
        )
      
    
    {\displaystyle (X,\,Y,\,Z)}
  
 auf die zweidimensionale Bildebene als lineare Funktion beschreiben:

  
    
      
        
          x
        
        =
        
          
            (
            
              
                
                  u
                
              
              
                
                  v
                
              
              
                
                  w
                
              
            
            )
          
        
        =
        
          P
        
        
          X
        
        =
        
          
            (
            
              
                
                  
                    p
                    
                      11
                    
                  
                
                
                  
                    p
                    
                      12
                    
                  
                
                
                  
                    p
                    
                      13
                    
                  
                
                
                  
                    p
                    
                      14
                    
                  
                
              
              
                
                  
                    p
                    
                      21
                    
                  
                
                
                  
                    p
                    
                      22
                    
                  
                
                
                  
                    p
                    
                      23
                    
                  
                
                
                  
                    p
                    
                      24
                    
                  
                
              
              
                
                  
                    p
                    
                      31
                    
                  
                
                
                  
                    p
                    
                      32
                    
                  
                
                
                  
                    p
                    
                      33
                    
                  
                
                
                  
                    p
                    
                      34
                    
                  
                
              
            
            )
          
        
        
          
            (
            
              
                
                  X
                
              
              
                
                  Y
                
              
              
                
                  Z
                
              
              
                
                  1
                
              
            
            )
          
        
        .
      
    
    {\displaystyle \mathbf {x} ={\begin{pmatrix}u\\v\\w\end{pmatrix}}=\mathbf {P} \mathbf {X} ={\begin{pmatrix}p_{11}&p_{12}&p_{13}&p_{14}\\p_{21}&p_{22}&p_{23}&p_{24}\\p_{31}&p_{32}&p_{33}&p_{34}\end{pmatrix}}{\begin{pmatrix}X\\Y\\Z\\1\end{pmatrix}}.}
  

Die kartesischen (oder affinen) Bildkoordinaten erhält man aus 
  
    
      
        x
        =
        u
        
          /
        
        w
      
    
    {\displaystyle x=u/w}
  
 und 
  
    
      
        y
        =
        v
        
          /
        
        w
      
    
    {\displaystyle y=v/w}
  
, wenn 
  
    
      
        w
        
        ≠
        
        0
      
    
    {\displaystyle w\,\neq \,0}
  
 ist. Die 3×4-Projektionsmatrix 
  
    
      
        
          P
        
      
    
    {\displaystyle \mathbf {P} }
  
 beschreibt die perspektivische Abbildung der Objektpunkte auf die Bildebene. Sie enthält die Daten der Orientierung der Kamera. Da bei dieser Abbildung eine Dimension – die Entfernung des Objekts von der Kamera – verlorengeht, ist sie nicht eindeutig umkehrbar.


### Beziehung zwischen korrespondierenden Punkten
Die Herleitung der Fundamentalmatrix beruht auf der Idee, im ersten Bild einen Punkt 
  
    
      
        
          
            x
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {x} _{1}}
  
 auszuwählen, dann einen beliebigen Objektpunkt 
  
    
      
        
          X
        
      
    
    {\displaystyle \mathbf {X} }
  
 zu bestimmen, der auf diesen Bildpunkt abgebildet wird, und schließlich dessen Bildpunkt 
  
    
      
        
          
            x
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {x} _{2}}
  
 im zweiten Bild zu berechnen. Dieser Punkt 
  
    
      
        
          
            x
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {x} _{2}}
  
 und der Epipol 
  
    
      
        
          
            e
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {e} _{2}}
  
 befinden sich auf der zu 
  
    
      
        
          
            x
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {x} _{1}}
  
 gehörenden Epipolarlinie in der Bildebene des zweiten Bildes und beschreiben sie damit eindeutig.
Ist ein Punkt 
  
    
      
        
          
            x
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {x} _{1}}
  
 im ersten Bild gegeben, lässt sich mit Hilfe der zugehörigen Projektionsmatrix 
  
    
      
        
          
            P
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {P} _{1}}
  
 der Strahl, auf dem der dazugehörige Objektpunkt liegt, angeben. Der Objektpunkt selbst kann nicht bestimmt werden, da die Entfernung von der Kamera unbekannt ist. Ein beliebiger Punkt auf dem Strahl lässt sich mit der Pseudoinversen 
  
    
      
        
          
            P
          
          
            1
          
          
            +
          
        
      
    
    {\displaystyle \mathbf {P} _{1}^{+}}
  
 berechnen:

  
    
      
        
          X
        
        =
        
          
            P
          
          
            1
          
          
            +
          
        
        
          
            x
          
          
            1
          
        
        .
      
    
    {\displaystyle \mathbf {X} =\mathbf {P} _{1}^{+}\mathbf {x} _{1}.}
  

Dieser Punkt kann mit der Projektionsmatrix 
  
    
      
        
          
            P
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {P} _{2}}
  
 der zweiten Kamera in das zweite Bild abgebildet werden:

  
    
      
        
          
            x
          
          
            2
          
        
        =
        
          
            P
          
          
            2
          
        
        
          X
        
        =
        
          
            P
          
          
            2
          
        
        
          
            P
          
          
            1
          
          
            +
          
        
        
          
            x
          
          
            1
          
        
        .
      
    
    {\displaystyle \mathbf {x} _{2}=\mathbf {P} _{2}\mathbf {X} =\mathbf {P} _{2}\mathbf {P} _{1}^{+}\mathbf {x} _{1}.}
  

Damit ist ein Punkt auf der zu 
  
    
      
        
          
            x
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {x} _{1}}
  
 gehörenden Epipolarlinie im zweiten Bild bekannt. Ein weiterer Punkt auf dieser Epipolarlinie ist der Epipol 
  
    
      
        
          
            e
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {e} _{2}}
  
, der das Bild des Projektionszentrums 
  
    
      
        
          
            O
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {O} _{1}}
  
 der ersten Kamera ist:

  
    
      
        
          
            e
          
          
            2
          
        
        =
        
          
            P
          
          
            2
          
        
        
          
            O
          
          
            1
          
        
        .
      
    
    {\displaystyle \mathbf {e} _{2}=\mathbf {P} _{2}\mathbf {O} _{1}.}
  

Die Epipolarlinie wird in homogenen Koordinaten durch die Geradengleichung 
  
    
      
        
          
            l
          
          
            2
          
          
            T
          
        
        
          
            x
          
          
            2
          
        
        =
        0
      
    
    {\displaystyle \mathbf {l} _{2}^{\text{T}}\mathbf {x} _{2}=0}
  
 beschrieben, wobei 
  
    
      
        
          
            l
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {l} _{2}}
  
 als Kreuzprodukt aus den beiden angegebenen Geradenpunkten berechnet werden kann:

  
    
      
        
          
            l
          
          
            2
          
        
        =
        
          
            e
          
          
            2
          
        
        ×
        
          
            x
          
          
            2
          
        
        =
        (
        
          
            P
          
          
            2
          
        
        
          
            O
          
          
            1
          
        
        )
        ×
        (
        
          
            P
          
          
            2
          
        
        
          
            P
          
          
            1
          
          
            +
          
        
        
          
            x
          
          
            1
          
        
        )
        .
      
    
    {\displaystyle \mathbf {l} _{2}=\mathbf {e} _{2}\times \mathbf {x} _{2}=(\mathbf {P} _{2}\mathbf {O} _{1})\times (\mathbf {P} _{2}\mathbf {P} _{1}^{+}\mathbf {x} _{1}).}
  

Dieses Kreuzprodukt kann mit einer schiefsymmetrischen Matrix 
  
    
      
        
          S
        
      
    
    {\displaystyle \mathbf {S} }
  
 auch als Matrizenmultiplikation geschrieben werden:

  
    
      
        
          
            l
          
          
            2
          
        
        =
        (
        
          
            S
          
          
            
              
                P
              
              
                2
              
            
            
              
                O
              
              
                1
              
            
          
        
        
          
            P
          
          
            2
          
        
        
          
            P
          
          
            1
          
          
            +
          
        
        )
        
          
            x
          
          
            1
          
        
        =
        
          F
        
        
          
            x
          
          
            1
          
        
        ,
      
    
    {\displaystyle \mathbf {l} _{2}=(\mathbf {S} _{\mathbf {P} _{2}\mathbf {O} _{1}}\mathbf {P} _{2}\mathbf {P} _{1}^{+})\mathbf {x} _{1}=\mathbf {F} \mathbf {x} _{1},}
  

wobei der Klammerausdruck zu der Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 zusammengefasst ist. Damit lautet die Gleichung der Epipolarlinie und die Beziehung zwischen korrespondierenden Punkten:

  
    
      
        
          
            l
          
          
            2
          
          
            T
          
        
        
          
            x
          
          
            2
          
        
        =
        
          
            x
          
          
            2
          
          
            T
          
        
        
          
            l
          
          
            2
          
        
        =
        
          
            x
          
          
            2
          
          
            T
          
        
        
          F
        
        
          
            x
          
          
            1
          
        
        =
        0
      
    
    {\displaystyle \mathbf {l} _{2}^{\text{T}}\mathbf {x} _{2}=\mathbf {x} _{2}^{\text{T}}\mathbf {l} _{2}=\mathbf {x} _{2}^{\text{T}}\mathbf {F} \mathbf {x} _{1}=0}
  

oder:

  
    
      
        
          
            (
            
              
                
                  
                    x
                    
                      2
                    
                  
                
                
                  
                    y
                    
                      2
                    
                  
                
                
                  1
                
              
            
            )
          
        
        
          
            (
            
              
                
                  
                    f
                    
                      11
                    
                  
                
                
                  
                    f
                    
                      12
                    
                  
                
                
                  
                    f
                    
                      13
                    
                  
                
              
              
                
                  
                    f
                    
                      21
                    
                  
                
                
                  
                    f
                    
                      22
                    
                  
                
                
                  
                    f
                    
                      23
                    
                  
                
              
              
                
                  
                    f
                    
                      31
                    
                  
                
                
                  
                    f
                    
                      32
                    
                  
                
                
                  
                    f
                    
                      33
                    
                  
                
              
            
            )
          
        
        
          
            (
            
              
                
                  
                    x
                    
                      1
                    
                  
                
              
              
                
                  
                    y
                    
                      1
                    
                  
                
              
              
                
                  1
                
              
            
            )
          
        
        =
        0
      
    
    {\displaystyle {\begin{pmatrix}x_{2}&y_{2}&1\end{pmatrix}}{\begin{pmatrix}f_{11}&f_{12}&f_{13}\\f_{21}&f_{22}&f_{23}\\f_{31}&f_{32}&f_{33}\end{pmatrix}}{\begin{pmatrix}x_{1}\\y_{1}\\1\end{pmatrix}}=0}
  
.
Diese Gleichung wird als Epipolargleichung bezeichnet.
Eine Spezialisierung der Fundamentalmatrix ist die essentielle Matrix. Diese ergibt sich, wenn normierte Bildkoordinaten verwendet werden, bei denen der Ursprung des kartesischen Bildkoordinatensystems im Hauptpunkt des Bildes liegt. Da diese Bedingung bei der Fundamentalmatrix nicht erfüllt sein muss, kommt sie im Vergleich zur essentiellen Matrix mit weniger Annahmen aus.


### Eigenschaften der Fundamentalmatrix
Die Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 (auch Bifokal-Tensor genannt) enthält die gesamte Information über die Epipolargeometrie. Sie kann auch ohne Kenntnis der Orientierung der Kameras (das heißt ohne Kenntnis der Projektionsmatrizen 
  
    
      
        
          
            P
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {P} _{1}}
  
 und 
  
    
      
        
          
            P
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {P} _{2}}
  
 sowie des Projektionszentrums 
  
    
      
        
          
            O
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {O} _{1}}
  
) aus den Bildkoordinaten korrespondierender Punkte bestimmt werden.
Die 3×3-Fundamentalmatrix ist nur bis auf einen Skalierungsfaktor eindeutig bestimmbar, da die Multiplikation der Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 mit einer beliebigen Zahl ungleich 0 nichts an der Gültigkeit der Epipolargleichung 
  
    
      
        
          
            x
          
          
            2
          
          
            T
          
        
        
          F
        
        
          
            x
          
          
            1
          
        
        =
        0
      
    
    {\displaystyle \mathbf {x} _{2}^{\text{T}}\mathbf {F} \mathbf {x} _{1}=0}
  
 ändert. Damit sind zunächst nur 8 der 9 Elemente unabhängig. Da die Matrix 
  
    
      
        
          
            S
          
          
            
              
                P
              
              
                2
              
            
            
              
                O
              
              
                1
              
            
          
        
      
    
    {\displaystyle \mathbf {S} _{\mathbf {P} _{2}\mathbf {O} _{1}}}
  
 – wie jede schiefsymmetrische 
  
    
      
        n
        ×
        n
      
    
    {\displaystyle n\times n}
  
-Matrix mit ungeradem 
  
    
      
        n
      
    
    {\displaystyle n}
  
 – singulär ist, ist 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 singulär, so dass die Determinante 0 ist. Durch diese zusätzliche Bedingung reduziert sich der Freiheitsgrad der Fundamentalmatrix auf 7.
Mittels der Fundamentalmatrix kann zu einem Punkt 
  
    
      
        
          
            x
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {x} _{1}}
  
 im ersten Bild die dazugehörige Epipolarlinie 
  
    
      
        
          
            l
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {l} _{2}}
  
 im zweiten Bild berechnet werden:

  
    
      
        
          
            l
          
          
            2
          
        
        =
        
          F
        
        
          
            x
          
          
            1
          
        
        ,
      
    
    {\displaystyle \mathbf {l} _{2}=\mathbf {F} \mathbf {x} _{1},}
  

und umgekehrt zu einem Punkt 
  
    
      
        
          
            x
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {x} _{2}}
  
 im zweiten Bild die Epipolarlinie 
  
    
      
        
          
            l
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {l} _{1}}
  
 im ersten Bild:

  
    
      
        
          
            l
          
          
            1
          
        
        =
        
          
            F
          
          
            T
          
        
        
          
            x
          
          
            2
          
        
        .
      
    
    {\displaystyle \mathbf {l} _{1}=\mathbf {F} ^{\text{T}}\mathbf {x} _{2}.}
  

Aus einer gegebenen Epipolarlinie in einem Bild lässt sich nicht der ursprüngliche Punkt im anderen Bild berechnen. Dazu müsste die Fundamentalmatrix invertiert werden, was auf Grund ihrer Singularität nicht möglich ist.
Da der Epipol 
  
    
      
        
          
            e
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {e} _{2}}
  
 auf allen Epipolarlinien 
  
    
      
        
          
            l
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {l} _{2}}
  
 liegt, muss

  
    
      
        
          
            l
          
          
            2
          
          
            T
          
        
        
          
            e
          
          
            2
          
        
        =
        (
        
          F
        
        
          
            x
          
          
            1
          
        
        
          )
          
            T
          
        
        
          
            e
          
          
            2
          
        
        =
        
          
            x
          
          
            1
          
          
            T
          
        
        
          
            F
          
          
            T
          
        
        
          
            e
          
          
            2
          
        
        =
        0
      
    
    {\displaystyle \mathbf {l} _{2}^{\text{T}}\mathbf {e} _{2}=(\mathbf {F} \mathbf {x} _{1})^{\text{T}}\mathbf {e} _{2}=\mathbf {x} _{1}^{\text{T}}\mathbf {F} ^{\text{T}}\mathbf {e} _{2}=0}
  

für alle 
  
    
      
        
          
            x
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {x} _{1}}
  
 gelten, so dass der Epipol 
  
    
      
        
          
            e
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {e} _{2}}
  
 und entsprechend der Epipol 
  
    
      
        
          
            e
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {e} _{1}}
  
 aus den Gleichungen

  
    
      
        
          
            F
          
          
            T
          
        
        
          
            e
          
          
            2
          
        
        =
        
          0
        
        
        
          und
        
        
        
          F
        
        
          
            e
          
          
            1
          
        
        =
        
          0
        
      
    
    {\displaystyle \mathbf {F} ^{\text{T}}\mathbf {e} _{2}=\mathbf {0} \qquad {\text{und}}\qquad \mathbf {F} \mathbf {e} _{1}=\mathbf {0} }
  

bestimmt werden können. Auch aus diesen Gleichungen ist ersichtlich, dass die Determinante der Fundamentalmatrix 0 sein muss, da sonst die Gleichungen nur die Lösungen 
  
    
      
        
          
            e
          
          
            1
          
        
        =
        
          
            e
          
          
            2
          
        
        =
        
          0
        
      
    
    {\displaystyle \mathbf {e} _{1}=\mathbf {e} _{2}=\mathbf {0} }
  
 hätten.


## Berechnung
Die Fundamentalmatrix und damit die Epipolargeometrie lässt sich – wie im Abschnitt Beziehung zwischen korrespondierenden Punkten gezeigt – bei bekannter Kalibrierung der beiden Kameras direkt aus beiden Projektionsmatrizen und einem Projektionszentrum berechnen. Da die Berechnung der Fundamentalmatrix meist vor einer Bestimmung der Projektionsmatrizen durchgeführt wird, tritt dieser Fall selten auf. Im Folgenden wird erläutert, wie 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 nur mit Hilfe von Punktkorrespondenzen berechnet werden kann.
Um aus einer Menge korrespondierender Bildpunkte die Fundamentalmatrix zu bestimmen, wird die Epipolargleichung 
  
    
      
        
          
            x
          
          
            2
          
          
            T
          
        
        
          
            F
            x
          
          
            1
          
        
        =
        0
      
    
    {\displaystyle \mathbf {x} _{2}^{\text{T}}\mathbf {Fx} _{1}=0}
  
 ausmultipliziert:

  
    
      
        
          x
          
            2
          
        
        
          x
          
            1
          
        
        
          f
          
            11
          
        
        +
        
          x
          
            2
          
        
        
          y
          
            1
          
        
        
          f
          
            12
          
        
        +
        
          x
          
            2
          
        
        
          f
          
            13
          
        
        +
        
          y
          
            2
          
        
        
          x
          
            1
          
        
        
          f
          
            21
          
        
        +
        
          y
          
            2
          
        
        
          y
          
            1
          
        
        
          f
          
            22
          
        
        +
        
          y
          
            2
          
        
        
          f
          
            23
          
        
        +
        
          x
          
            1
          
        
        
          f
          
            31
          
        
        +
        
          y
          
            1
          
        
        
          f
          
            32
          
        
        +
        
          f
          
            33
          
        
        =
        0
      
    
    {\displaystyle x_{2}x_{1}f_{11}+x_{2}y_{1}f_{12}+x_{2}f_{13}+y_{2}x_{1}f_{21}+y_{2}y_{1}f_{22}+y_{2}f_{23}+x_{1}f_{31}+y_{1}f_{32}+f_{33}=0}
  

oder in vektorieller Schreibweise:

  
    
      
        
          
            (
            
              
                
                  
                    x
                    
                      2
                    
                  
                  
                    x
                    
                      1
                    
                  
                
                
                  
                    x
                    
                      2
                    
                  
                  
                    y
                    
                      1
                    
                  
                
                
                  
                    x
                    
                      2
                    
                  
                
                
                  
                    y
                    
                      2
                    
                  
                  
                    x
                    
                      1
                    
                  
                
                
                  
                    y
                    
                      2
                    
                  
                  
                    y
                    
                      1
                    
                  
                
                
                  
                    y
                    
                      2
                    
                  
                
                
                  
                    x
                    
                      1
                    
                  
                
                
                  
                    y
                    
                      1
                    
                  
                
                
                  1
                
              
            
            )
          
        
        ⋅
        
          f
        
        =
        0
      
    
    {\displaystyle {\begin{pmatrix}x_{2}x_{1}&x_{2}y_{1}&x_{2}&y_{2}x_{1}&y_{2}y_{1}&y_{2}&x_{1}&y_{1}&1\end{pmatrix}}\cdot \mathbf {f} =0}
  

mit

  
    
      
        
          f
        
        =
        
          
            
              (
              
                
                  
                    
                      f
                      
                        11
                      
                    
                  
                  
                    
                      f
                      
                        12
                      
                    
                  
                  
                    
                      f
                      
                        13
                      
                    
                  
                  
                    
                      f
                      
                        21
                      
                    
                  
                  
                    
                      f
                      
                        22
                      
                    
                  
                  
                    
                      f
                      
                        23
                      
                    
                  
                  
                    
                      f
                      
                        31
                      
                    
                  
                  
                    
                      f
                      
                        32
                      
                    
                  
                  
                    
                      f
                      
                        33
                      
                    
                  
                
              
              )
            
          
          
            T
          
        
        .
      
    
    {\displaystyle \mathbf {f} ={\begin{pmatrix}f_{11}&f_{12}&f_{13}&f_{21}&f_{22}&f_{23}&f_{31}&f_{32}&f_{33}\end{pmatrix}}^{\text{T}}.}
  

Aus 
  
    
      
        n
      
    
    {\displaystyle n}
  
 Punktkorrespondenzen kann das folgende homogene lineare Gleichungssystem aufgestellt werden (der obere Index gibt die Punktnummer an):

  
    
      
        
          
            (
            
              
                
                  
                    x
                    
                      2
                    
                    
                      1
                    
                  
                  
                    x
                    
                      1
                    
                    
                      1
                    
                  
                
                
                  
                    x
                    
                      2
                    
                    
                      1
                    
                  
                  
                    y
                    
                      1
                    
                    
                      1
                    
                  
                
                
                  
                    x
                    
                      2
                    
                    
                      1
                    
                  
                
                
                  
                    y
                    
                      2
                    
                    
                      1
                    
                  
                  
                    x
                    
                      1
                    
                    
                      1
                    
                  
                
                
                  
                    y
                    
                      2
                    
                    
                      1
                    
                  
                  
                    y
                    
                      1
                    
                    
                      1
                    
                  
                
                
                  
                    y
                    
                      2
                    
                    
                      1
                    
                  
                
                
                  
                    x
                    
                      1
                    
                    
                      1
                    
                  
                
                
                  
                    y
                    
                      1
                    
                    
                      1
                    
                  
                
                
                  1
                
              
              
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
              
              
                
                  
                    x
                    
                      2
                    
                    
                      n
                    
                  
                  
                    x
                    
                      1
                    
                    
                      n
                    
                  
                
                
                  
                    x
                    
                      2
                    
                    
                      n
                    
                  
                  
                    y
                    
                      1
                    
                    
                      n
                    
                  
                
                
                  
                    x
                    
                      2
                    
                    
                      n
                    
                  
                
                
                  
                    y
                    
                      2
                    
                    
                      n
                    
                  
                  
                    x
                    
                      1
                    
                    
                      n
                    
                  
                
                
                  
                    y
                    
                      2
                    
                    
                      n
                    
                  
                  
                    y
                    
                      1
                    
                    
                      n
                    
                  
                
                
                  
                    y
                    
                      2
                    
                    
                      n
                    
                  
                
                
                  
                    x
                    
                      1
                    
                    
                      n
                    
                  
                
                
                  
                    y
                    
                      1
                    
                    
                      n
                    
                  
                
                
                  1
                
              
            
            )
          
        
        ⋅
        
          f
        
        =
        
          A
        
        ⋅
        
          f
        
        =
        
          0
        
        .
      
    
    {\displaystyle {\begin{pmatrix}x_{2}^{1}x_{1}^{1}&x_{2}^{1}y_{1}^{1}&x_{2}^{1}&y_{2}^{1}x_{1}^{1}&y_{2}^{1}y_{1}^{1}&y_{2}^{1}&x_{1}^{1}&y_{1}^{1}&1\\\vdots &\vdots &\vdots &\vdots &\vdots &\vdots &\vdots &\vdots &\vdots \\x_{2}^{n}x_{1}^{n}&x_{2}^{n}y_{1}^{n}&x_{2}^{n}&y_{2}^{n}x_{1}^{n}&y_{2}^{n}y_{1}^{n}&y_{2}^{n}&x_{1}^{n}&y_{1}^{n}&1\end{pmatrix}}\cdot \mathbf {f} =\mathbf {A} \cdot \mathbf {f} =\mathbf {0} .}
  

Da die Koordinaten korrespondierender Punkte die Epipolargleichung erfüllen, sind die Spalten von 
  
    
      
        
          A
        
      
    
    {\displaystyle \mathbf {A} }
  
 linear abhängig. Die Matrix 
  
    
      
        
          A
        
      
    
    {\displaystyle \mathbf {A} }
  
 hat also im Idealfall höchstens den Rang 8. Dies gilt allerdings bei mehr als 8 Zeilen nur, wenn keine Messungenauigkeiten in den Koordinaten und keine falsch zugeordneten Punktpaare vorliegen. Da 
  
    
      
        
          A
        
      
    
    {\displaystyle \mathbf {A} }
  
 nicht vollen Spaltenrang hat, existiert für 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 (abgesehen von der trivialen Lösung 
  
    
      
        
          f
        
        =
        
          0
        
      
    
    {\displaystyle \mathbf {f} =\mathbf {0} }
  
) eine Lösung aus dem Nullraum von 
  
    
      
        
          A
        
      
    
    {\displaystyle \mathbf {A} }
  
.
Bei der Bestimmung der Korrespondenzen treten üblicherweise kleinere Messungenauigkeiten auf, da die Bildpunkte nur mit einer endlichen Genauigkeit lokalisiert werden können. Die aus dem Lösungsvektor 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 ermittelte Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 hat dadurch nicht den Rang 2 und ist somit nicht singulär. Das führt dazu, dass sich die mit dieser Fundamentalmatrix bestimmten Epipolarlinien eines Bildes nicht mehr alle im Epipol schneiden.
In der Praxis kommen zwei Verfahren zur Berechnung der Fundamentalmatrix zur Anwendung, die diese Singularitätsbedingung beachten: der 7-Punkt-Algorithmus und der 8-Punkt-Algorithmus. Bei beiden Verfahren werden meist nicht direkt die gemessenen Koordinaten der Bildpunkte verwendet, sondern die Koordinaten vorher normiert. Dabei werden die Koordinatensysteme in beiden Bildern so verschoben, dass der Ursprung jeweils im Schwerpunkt der Bildpunkte liegt, und dann die Koordinaten so skaliert, dass ihre Werte in der Größenordnung 1 liegen. Mit dieser Normierung kann eine deutliche Verbesserung der Ergebnisse erreicht werden.


### 7-Punkt-Algorithmus
Dieses Verfahren benutzt 7 Punktkorrespondenzen zur Berechnung der Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
. Da 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 nur bis auf einen Faktor eindeutig ist, reichen 7 Punkte zusammen mit der Bedingung 
  
    
      
        det
        (
        
          F
        
        )
        =
        0
      
    
    {\displaystyle \det(\mathbf {F} )=0}
  
 aus, um die 9 Elemente von 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 zu bestimmen. Bei 7 Punktkorrespondenzen enthält das Gleichungssystem 
  
    
      
        
          A
        
        
          f
        
        =
        
          0
        
      
    
    {\displaystyle \mathbf {A} \mathbf {f} =\mathbf {0} }
  
 nur 7 Gleichungen. Es gibt daher zwei linear unabhängige Lösungen 
  
    
      
        
          
            f
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {f} _{1}}
  
 und 
  
    
      
        
          
            f
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {f} _{2}}
  
 aus dem Nullraum von 
  
    
      
        
          A
        
      
    
    {\displaystyle \mathbf {A} }
  
. Die Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 wird als Linearkombination der aus 
  
    
      
        
          
            f
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {f} _{1}}
  
 und 
  
    
      
        
          
            f
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {f} _{2}}
  
 gebildeten Matrizen 
  
    
      
        
          
            F
          
          
            1
          
        
      
    
    {\displaystyle \mathbf {F} _{1}}
  
 und 
  
    
      
        
          
            F
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {F} _{2}}
  
 bestimmt:

  
    
      
        
          F
        
        =
        α
        
          
            F
          
          
            1
          
        
        +
        (
        1
        −
        α
        )
        
          
            F
          
          
            2
          
        
        
        
          mit
        
        
        α
        ∈
        
          R
        
        .
      
    
    {\displaystyle \mathbf {F} =\alpha \mathbf {F} _{1}+(1-\alpha )\mathbf {F} _{2}\quad {\text{mit}}\quad \alpha \in \mathbb {R} .}
  

Um jetzt aus der Menge der Lösungen ein 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 auszuwählen, welches den Rang 2 hat, wird ausgenutzt, dass auf Grund der Singularitätsbedingung die Determinante von 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 gleich 0 sein muss:

  
    
      
        det
        (
        
          F
        
        )
        =
        det
        (
        α
        
          
            F
          
          
            1
          
        
        +
        (
        1
        −
        α
        )
        
          
            F
          
          
            2
          
        
        )
        =
        0.
      
    
    {\displaystyle \det(\mathbf {F} )=\det(\alpha \mathbf {F} _{1}+(1-\alpha )\mathbf {F} _{2})=0.}
  

Diese generell kubische Gleichung hat – sofern sie nicht zu einer quadratischen Gleichung entartet – mindestens eine und höchstens drei reelle Lösungen 
  
    
      
        α
      
    
    {\displaystyle \alpha }
  
. Mit jeder Lösung 
  
    
      
        α
      
    
    {\displaystyle \alpha }
  
 kann eine Fundamentalmatrix berechnet werden. Wenn mehrere Lösungen existieren, sind weitere Punkte erforderlich, um eine eindeutige Lösung zu bestimmen. Es wird die Lösung ausgewählt, bei der auch für weitere Punkte die Epipolargleichung erfüllt oder bei Messungenauigkeiten in den Koordinaten näherungsweise erfüllt ist.
Wenn 
  
    
      
        det
        (
        
          
            F
          
          
            1
          
        
        −
        
          
            F
          
          
            2
          
        
        )
        =
        0
      
    
    {\displaystyle \det(\mathbf {F} _{1}-\mathbf {F} _{2})=0}
  
 ist, ist der kubische Term in 
  
    
      
        α
      
    
    {\displaystyle \alpha }
  
 gleich Null, so dass eine quadratische Gleichung vorliegt. Diese Gleichung hat höchstens zwei reelle Lösungen für 
  
    
      
        α
      
    
    {\displaystyle \alpha }
  
, kann aber ohne reelle Lösung sein. Da jedoch die Determinante der Matrix 
  
    
      
        
          F
        
        =
        
          
            F
          
          
            1
          
        
        −
        
          
            F
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {F} =\mathbf {F} _{1}-\mathbf {F} _{2}}
  
 verschwindet, ist 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 singulär und damit eine Lösung für die gesuchte Fundamentalmatrix, so dass sich insgesamt wieder eine bis drei Fundamentalmatrizen als Lösung finden lassen. Alternativ kann die Matrix 
  
    
      
        
          
            F
          
          
            2
          
        
      
    
    {\displaystyle \mathbf {F} _{2}}
  
 mit −1 multipliziert werden. Man erhält dann wieder eine kubische Gleichung mit der Lösung 
  
    
      
        α
        =
        
          
            
              1
              2
            
          
        
      
    
    {\displaystyle \alpha ={\tfrac {1}{2}}}
  
. Dieses Vorgehen kann aus numerischen Gründen auch angewendet werden, wenn der Betrag von 
  
    
      
        α
      
    
    {\displaystyle \alpha }
  
 sehr groß ist.


### 8-Punkt-Algorithmus
In der Regel sind mehr als 7 Punktkorrespondenzen vorhanden. Der im Folgenden beschriebene 8-Punkt-Algorithmus benötigt mindestens 8 korrespondierende Punktpaare, es können jedoch auch mehr Punkte verwendet werden. Die Idee für dieses Verfahren stammt von Longuet-Higgins.
Im ersten Schritt wird nur das Gleichungssystem 
  
    
      
        
          A
        
        
          f
        
        =
        
          0
        
      
    
    {\displaystyle \mathbf {A} \mathbf {f} =\mathbf {0} }
  
 betrachtet, ohne die Bedingung 
  
    
      
        det
        (
        
          F
        
        )
        =
        0
      
    
    {\displaystyle \det(\mathbf {F} )=0}
  
 zu berücksichtigen. Im Idealfall hat die Matrix 
  
    
      
        
          A
        
      
    
    {\displaystyle \mathbf {A} }
  
 den Rang 8, in der Praxis ist das jedoch bei mehr als 8 Punkten wegen Messungenauigkeiten nicht der Fall, so dass die Lösung 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 nicht aus dem Nullraum von 
  
    
      
        
          A
        
      
    
    {\displaystyle \mathbf {A} }
  
 bestimmt werden kann. Stattdessen wird die Lösung mit der Methode der kleinsten Quadrate oder durch die Bestimmung von Eigenwerten ermittelt. Durch die Verwendung von mehr Punkten, als für eine eindeutige Lösung erforderlich sind, kann außerdem geprüft werden, ob falsche Korrespondenzen oder andere Ausreißer vorliegen.
Bei der Methode der kleinsten Quadrate wird 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 so bestimmt, dass 
  
    
      
        ‖
        
          A
        
        
          f
        
        ‖
      
    
    {\displaystyle \|\mathbf {A} \mathbf {f} \|}
  
 minimal ist. Da 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 nur bis auf einen Faktor eindeutig ist, muss eine Bedingung eingeführt werden, z. B. indem ein Element von 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 gleich 1 gesetzt wird. Das Problem hierbei ist, dass dies nicht gerade ein Element sein darf, das 0 oder sehr klein ist, was a priori nicht bekannt ist. Man kann jedoch mehrere Möglichkeiten ausprobieren. Bei der zweiten Methode wird ebenfalls 
  
    
      
        ‖
        
          A
        
        
          f
        
        ‖
      
    
    {\displaystyle \|\mathbf {A} \mathbf {f} \|}
  
 minimiert, jedoch mit der Bedingung 
  
    
      
        ‖
        
          f
        
        ‖
        =
        1
      
    
    {\displaystyle \|\mathbf {f} \|=1}
  
. Dies führt zu dem Ergebnis, dass die Lösung 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 der Eigenvektor zum kleinsten Eigenwert der Matrix 
  
    
      
        
          
            A
          
          
            T
          
        
        
          A
        
      
    
    {\displaystyle \mathbf {A} ^{\text{T}}\mathbf {A} }
  
 ist.
Die aus der Lösung 
  
    
      
        
          f
        
      
    
    {\displaystyle \mathbf {f} }
  
 gebildete Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 ist im Allgemeinen nicht singulär. Daher muss diese Bedingung in einem zweiten Schritt erfüllt werden. Dazu wird 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 durch eine Singulärwertzerlegung in 
  
    
      
        
          F
        
        =
        
          U
        
        
          S
        
        
          
            V
          
          
            T
          
        
      
    
    {\displaystyle \mathbf {F} =\mathbf {U} \mathbf {S} \mathbf {V} ^{\text{T}}}
  
 zerlegt. 
  
    
      
        
          S
        
      
    
    {\displaystyle \mathbf {S} }
  
 ist eine Diagonalmatrix, die die Singulärwerte enthält. Der kleinste wird gleich 0 gesetzt, und dann wird aus den Matrizen 
  
    
      
        
          U
        
      
    
    {\displaystyle \mathbf {U} }
  
, 
  
    
      
        
          S
        
      
    
    {\displaystyle \mathbf {S} }
  
 und 
  
    
      
        
          V
        
      
    
    {\displaystyle \mathbf {V} }
  
 wieder die Fundamentalmatrix berechnet. Da jetzt ein Singulärwert gleich 0 ist, erfüllt die Fundamentalmatrix die Singularitätsbedingung.
Der 8-Punkt-Algorithmus ist ein einfaches Verfahren zur Bestimmung der Fundamentalmatrix, er ist jedoch anfällig gegen Messungenauigkeiten und falsche Korrespondenzen. Dies liegt daran, dass die Singularitätsbedingung der Fundamentalmatrix erst nachträglich erfüllt wird, und dass die minimierte Größe 
  
    
      
        ‖
        
          A
        
        
          f
        
        ‖
      
    
    {\displaystyle \|\mathbf {A} \mathbf {f} \|}
  
 keine physikalische Bedeutung hat. Es gibt weitere Verfahren, die diese Nachteile nicht haben.
Diese Verfahren sind jedoch aufwändiger und werden in der Praxis seltener eingesetzt.


## Automatische Berechnung
Vor allem beim maschinellen Sehen ist eine automatische Berechnung der Epipolargeometrie notwendig, da zum Beispiel autonome Roboter ohne menschliche Hilfe agieren sollen. Dafür wird im ersten Schritt eine Menge korrespondierender Punkte bestimmt. Dies geschieht mit Hilfe eines Interest-Operators, mit welchem markante Punkte in einem Bild lokalisiert werden können. Sind diese gefunden, wird zu jedem Punkt im ersten Bild der ihm ähnlichste im zweiten Bild bestimmt. Eine Korrespondenzanalyse liefert ein Maß für die Ähnlichkeit. Auf Grund von unterschiedlichen Perspektiven, mit denen die beiden Kameras die Szene betrachten, von ähnlichen Bildausschnitten, die nicht dasselbe Objekt darstellen, und von Bildrauschen enthält die Menge korrespondierender Punkte in der Praxis eine größere Anzahl von Fehlzuordnungen und kann daher nicht direkt zur Berechnung der Fundamentalmatrix benutzt werden.
Die folgenden Darstellungen zeigen eine Kirche, die von zwei Standpunkten aufgenommen wurde. Die zweite Kameraposition liegt weiter rechts und ist etwas weiter vom Kirchturm entfernt als die erste. Die Bilder 1 und 2 zeigen markante Punkte und Bild 3 das Ergebnis der Korrespondenzanalyse, bei der ähnliche Bildausschnitte – ohne Berücksichtigung der Aufnahmegeometrie – miteinander verglichen wurden. Es ist deutlich zu erkennen, dass nicht alle Korrespondenzen richtig bestimmt wurden. Gerade im Bereich der Bäume ist dies nicht der Fall, da hier die Zweige alle eine ähnliche Form und Helligkeit haben und damit die Korrespondenzanalyse zu falschen Ergebnissen führt. So werden beispielsweise Korrespondenzen zu markanten Punkten des im zweiten Bild rechten Baumes gefunden, obwohl er im anderen Bild gar nicht sichtbar ist.

Die Fehlzuordnungen müssen vor der Berechnung mittels geeigneter Verfahren zur Separierung und Eliminierung von Ausreißern ausgeschlossen werden. Häufig wird dazu der sogenannte RANSAC-Algorithmus verwendet. Dieser Algorithmus kann Fehlzuordnungen in den Punktpaaren aufspüren. Auf die Berechnung von 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 angewandt, besteht er aus folgenden Schritten:

Wähle zufällig 7 oder 8 Punktkorrespondenzen aus den Datenpunkten. Das geschieht in der Erwartung, dass diese Korrespondenzen frei von Fehlern sind.
Ermittle aus den gewählten Korrespondenzen mittels des 7- oder 8-Punkt-Algorithmus 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
.
Bestimme alle korrespondierenden Punkte, für die gilt: 
  
    
      
        
          
            x
          
          
            2
          
          
            T
          
        
        
          
            F
            x
          
          
            1
          
        
        ≤
        ϵ
      
    
    {\displaystyle \mathbf {x} _{2}^{\text{T}}\mathbf {Fx} _{1}\leq \epsilon }
  
 und speichere diese. Der Schwellwert 
  
    
      
        ϵ
      
    
    {\displaystyle \epsilon }
  
 ist notwendig, da auf Grund von Mess- und Rechenungenauigkeiten die Epipolargleichung 
  
    
      
        
          
            x
          
          
            2
          
          
            T
          
        
        
          
            F
            x
          
          
            1
          
        
        =
        0
      
    
    {\displaystyle \mathbf {x} _{2}^{\text{T}}\mathbf {Fx} _{1}=0}
  
 so gut wie nie exakt erfüllt ist. Je mehr Punktpaare die Ungleichung erfüllen, umso wahrscheinlicher enthielten die ursprünglich gewählten Punkte keine Fehlzuordnungen.
Wiederhole die Schritte 1–3 so oft, dass mit genügend großer Wahrscheinlichkeit die zufällig ausgewählten Punktkorrespondenzen keine Fehler enthalten.
Die Fundamentalmatrix 
  
    
      
        
          F
        
      
    
    {\displaystyle \mathbf {F} }
  
 wird anschließend mittels der größten Menge Punktepaare aus Schritt 3 und dem 8-Punkt-Algorithmus bestimmt. Danach kann nochmals eine Korrespondenzanalyse durchgeführt werden, bei der die berechnete Fundamentalmatrix zum Einsatz kommt (wie beschrieben verkleinert sich der Suchbereich nach korrespondierenden Punkten dadurch auf die Epipolarlinie) und ein niedrigerer Wert für das Ähnlichkeitsmaß akzeptiert wird. Diese letzten beiden Schritte können iterativ wiederholt werden, bis die Zahl der Korrespondenzen stabil ist.
Die folgenden beiden Darstellungen illustrieren das Ergebnis. Die akzeptierten Korrespondenzen sind in Bild 1 als rote Vektoren eingezeichnet. In Bild 2 sind ausgewählte Punkte und deren Epipolarlinien im rechten Bild eingezeichnet. Korrekt zugeordnete markante Punkte und deren Epipolarlinien sind rot dargestellt. Punkte der Korrespondenzanalyse, die die Epipolargleichung nicht erfüllen, bei denen der Punkt im rechten Bild also nicht auf der entsprechenden Epipolarlinie liegt, sind grün gezeichnet. Falsche Korrespondenzen sind blau dargestellt. Diese Punkte erfüllen zwar die Epipolargleichung und zeigen ähnliche Bildausschnitte, sie sind jedoch nicht Bildpunkte desselben Objektpunktes. Der Epipol im rechten Bild ist der Schnittpunkt der Epipolarlinien und liegt links außerhalb des Bildes.


## Sonderfälle
Bei bestimmten Positionen der Kameras zueinander kann es zu Sonderfällen kommen. Dabei sind zwei Anordnungen insbesondere beim maschinellen Sehen praxisrelevant:

Befinden sich die beiden Bildebenen der Kameras A und B (mit gleicher Kammerkonstante) in einer Ebene, sind also die Aufnahmerichtungen exakt parallel zueinander, verschieben sich die Epipole ins Unendliche, und die Epipolarlinien werden zu Geradenscharen. Durch die Verwendung von homogenen Koordinaten ist es besonders einfach, diese Punkte im Unendlichen zu behandeln. In der Abbildung sind die Epipolarlinien der Kugelmittelpunkte und -tangenten exakt horizontal. Diese Konfiguration – Stereonormalfall genannt – ist in der Luftbildphotogrammetrie und Stereovision häufig näherungsweise anzutreffen und bietet bei der Korrespondenzsuche den Vorteil, dass aufgrund der horizontalen Epipolarlinien die Epipolargeometrie bekannt ist und eine Bildkorrespondenz lediglich in der Horizontalen, bei Digitalkameras also entlang einer Pixelzeile, gesucht werden muss. Je näher die Objekte den Kameras sind, desto weiter sind die Bildpunkte von der Position im anderen Bild entfernt: Dieser Parallaxeneffekt gibt den Abstand der Objekte, kurz: die dritte Dimension an.Dieser Sonderfall liegt auch beim menschlichen Sehen vor: Trotz der Beweglichkeit der Augen ist es fast unmöglich, die Augen in Richtungen zu lenken, die nicht in einer Ebene mit der Verbindungslinie zwischen den Augen liegen. Sie können eben nur in solchen Richtungen Korrespondenzen suchen.
Befinden sich die beiden Kameras voreinander, sind sie also in Blickrichtung gegeneinander verschoben, verschieben sich die Epipole in die Bildmitte; die Epipolarlinien verlaufen also ausgehend vom Bildzentrum sternförmig nach außen. Diese Konfiguration tritt häufig bei mobilen Robotern auf, wenn eine einzelne Kamera in Fahrtrichtung ausgerichtet ist und zu unterschiedlichen Zeitpunkten Bilder aufnimmt. Die Bildkorrespondenzen werden dann in den aufeinander folgenden Bildern der Kamera gesucht. Auch in diesem Fall ist der Abstand von der Kameraposition aus dem Parallaxeneffekt bestimmbar. Wenn der Roboter in einer Kurve die Kamera schwenkt, verschieben sich die Epipole horizontal, der vordere zur Kurvenaußenseite und der hintere nach innen, so dass der Sonderfall nicht mehr vorliegt.
Bei diesen Sonderfällen vereinfacht sich die Korrespondenzsuche, da die Epipolargeometrie bekannt ist. Bei Konfigurationen, in denen Kameraansichten nur näherungsweise parallel sind, kann dieser Zustand durch nachträgliche Berechnung von Normalbildern hergestellt werden.


## Erweiterung auf mehr als zwei Bilder
Die Trifokalgeometrie ist die Erweiterung der Epipolargeometrie auf drei Bilder. Ist die Position eines Objektpunktes in zwei Bildern gegeben, so ist seine Position im dritten Bild der Schnittpunkt der beiden Epipolarlinien in diesem Bild. Damit existiert im Unterschied zum Bildpaar ein eindeutiges Ergebnis, sofern der Punkt nicht in der Trifokalebene (die Ebene, die aus den drei Projektionszentren gebildet wird) liegt oder die drei Projektionszentren auf einer Linie liegen. Die Anordnung, bei der ein 3D-Punkt auf der Trifokalebene liegt, wird als singulärer Fall bezeichnet.
Es ist möglich, die Epipolargeometrie auf mehr als drei Bilder auszuweiten. Dies ist in der Praxis nur bei vier Ansichten üblich. Hier existiert der sogenannte quadrifokale Tensor, der die Beziehung von Bildpunkten und Linien zwischen diesen Bildern beschreibt. Für mehr als vier Ansichten wurden jedoch keine mathematischen Beziehungen untersucht, da die Komplexität der Modellierung und Berechnung wesentlich höher ist und in den meisten Anwendungen, beginnend mit der fünften Kamera, der zusätzliche Informationsgewinn nur noch gering ist.


## Abweichungen vom Modell der Lochkamera
Die beschriebene Beziehung zwischen korrespondierenden Bildpunkten, die sich durch die Fundamentalmatrix vollständig beschreiben lässt, gilt nur für Fotoaufnahmen, die durch eine Lochkamera modelliert werden können. Treten beispielsweise Verzerrungen bei der Abbildung auf die Bildebene auf oder ist die Bildfläche keine Ebene, sind diese Abweichungen bei der Epipolargeometrie zu berücksichtigen. Insbesondere sind die Epipolarlinien, auf denen der zu einem Bildpunkt im ersten Bild korrespondierende Bildpunkt im zweiten Bild zu suchen ist, keine Geraden.


### Verzeichnung
Als Verzeichnung bezeichnet man alle Abweichungen vom idealen Abbildungsmodell der Lochkamera. Sie entsteht durch die unsymmetrische Stellung der Blende in einem Objektiv und führt dazu, dass sich der Abbildungsmaßstab im Bild systematisch ändert. Objektive mit einem symmetrischen Aufbau haben i. d. R. keine (radialsymmetrische) Verzeichnung. Bei anderen Objektiven und entsprechenden Genauigkeitsanforderungen ist die Verzeichnung zu berücksichtigen. Die Verzeichnung kann oft als radiale Verzeichnung modelliert werden, d. h. sie nimmt mit dem Abstand vom Verzeichnungszentrum (meist in der Nähe der Bildmitte) zu.
Ist eine Kamera entsprechend kalibriert (s. Kamerakalibrierung) und die Verzeichnung bekannt, können die Bilder korrigiert werden. Mit diesen korrigierten Bildern kann dann wie mit verzeichnungsfreien Bildern gearbeitet werden.
Unter bestimmten Voraussetzungen kann die Verzeichnung in einer erweiterten Fundamentalmatrix berücksichtigt werden. Dabei wird für jedes Bild eine Verzeichnung angenommen, die durch jeweils einen (unbekannten) Parameter beschrieben werden kann und die dem Ersetzen der ebenen Bildfläche durch eine quadratische Fläche im dreidimensionalen projektiven Raum entspricht. Die Beziehung zwischen zwei korrespondierenden Punkten wird dann durch eine 
  
    
      
        4
        ×
        4
      
    
    {\displaystyle 4\times 4}
  
-Fundamentalmatrix mit 9 Freiheitsgraden beschrieben.


### Panoramakameras
Bei Panoramakameras, die Aufnahmen mit großem Bildwinkel ermöglichen, kann die Aufnahmegeometrie nicht durch eine Lochkamera mit einer ebenen Bildfläche modelliert werden. Die Beschreibung der Epipolargeometrie hängt von der Art der Panoramakamera ab. Besteht die Kamera beispielsweise aus einer Lochkamera und einem hyperbolischem Spiegel, so bilden die Epipolarlinien Kegelschnitte.


## Fußnote
## Literatur
Richard Hartley, Andrew Zisserman: Multiple View Geometry in Computer Vision. 2. Auflage. Cambridge University Press, 2004, ISBN 0-521-54051-8. 
Olivier Faugeras: Three-Dimensional Computer Vision – A Geometric Viewpoint. MIT Press, Cambridge (Massachusetts) 1993, ISBN 0-262-06158-9. 
Volker Rodehorst: Photogrammetrische 3D-Rekonstruktion im Nahbereich durch Auto-Kalibrierung mit projektiver Geometrie. wvb Wissenschaftlicher Verlag Berlin, 2004, ISBN 3-936846-83-9. 
Oliver Schreer: Stereoanalyse und Bildsynthese. Springer, Berlin 2008, ISBN 978-3-540-23439-5. 
Richard Hartley, Andrew Zisserman: Kapitel 9 aus Multiple View Geometry in computer vision. (PDF; 265 kB) 2007, abgerufen am 18. August 2007. 
Zhengyou Zhang: Determining the Epipolar Geometry and its Uncertainty: A Review. (PDF; 1,6 MB) 1996, abgerufen am 8. August 2007. 
Andrew Zisserman: MATLAB Functions for Multiple View Geometry. 2007, abgerufen am 14. August 2007. 


## Weblinks
SRI International – Java-Applets zur Illustration der Abbildungsgesetze bei einer, zwei oder drei Kameras
Universität Siena – Epipolar Geometry Toolbox (Matlab-Routinen)


## Einzelnachweise