Contents — find the section you need
Entsprechende Punkte auf derselben Ebene – beispielsweise einer Tischplatte, einem Poster oder einer Straßenoberfläche – die in zwei Bildern erfasst werden, stehen in einer viel einfacheren Beziehung zueinander als eine allgemeine 3D-Szene. Unabhängig von der Kameraposition lassen sich Punkte auf dieser Ebene mithilfe einer einzigen 3\times3-Matrix ineinander transformieren. Diese Matrix ist die Homographie (eine projektive Transformation). Während sich die Einführung in die Epipolargeometrie mit Korrespondenzbedingungen befasst, die die Szenentiefe voraussetzen, stellt die Homographie einen Gegenfall dar, da sie Korrespondenzen behandelt, die völlig unabhängig von der Tiefe sind. Nur durch die korrekte Anwendung beider Ansätze erhält man das vollständige Bild der Zwei-Ansichten-Geometrie.
0. 30-Sekunden-Zusammenfassung
-
Eine Homographie H ist eine 3\times3-Matrix, die eine Bildkorrespondenz \tilde{\mathbf{x}}'\sim H\tilde{\mathbf{x}} darstellt, entweder für Punkte in derselben Ebene oder für eine Kamera, die eine reine Rotation ausführt. Sie hat 8 Freiheitsgrade, bis auf die Skalenmehrdeutigkeit.
-
Die DLT-Methode (Direkte Lineare Transformation) erstellt zwei lineare Gleichungen pro Punktkorrespondenz und löst H linear mittels Singulärwertzerlegung (SVD) aus 4 oder mehr Korrespondenzen. Die Hartley-Normalisierung ist effektiv für die numerische Stabilisierung.
-
Da reale Korrespondenzen Fehlpaarungen enthalten, werden Ausreißer vor der endgültigen Schätzung mit RANSAC entfernt. Die minimale Stichprobengröße beträgt 4 Punkte, wodurch die Anzahl der robusten Schätziterationen geringer ist als bei der Schätzung der Essenziellen/Fundamentalen Matrix.
Bei einer kalibrierten Kamera zerlegt sich die Koordinatenmatrix in Rotation (Duskcoil), Translationsrichtung und Flächennormale (Duskcoil). Im Allgemeinen bleiben jedoch mehrere physikalisch plausible Lösungsoptionen bestehen, für deren Eingrenzung zusätzliche Informationen erforderlich sind.
Für planare Szenen oder reine Rotation ist die Homographie ein geeigneteres Modell als die Essentielle oder Fundamentale Matrix. Wird diese Degeneration nicht erkannt, versucht man fälschlicherweise eine 3D-Rekonstruktion, obwohl die Tiefenbestimmung grundsätzlich nicht möglich ist.
1. Was ist Homographie? Planare Projektive Transformation
Wenn homogene Koordinaten (Duskcoil) und (Duskcoil) auf zwei Bildern die Beziehung erfüllen:
(Duskcoil)
über eine Matrix (Duskcoil) nennen wir (Duskcoil) eine Homographie. \sim bedeutet „gleich bis auf den Maßstab“ – die Multiplikation von H mit einer beliebigen von Null verschiedenen Konstante entspricht der gleichen Transformation – daher sind die Freiheitsgrade von H gleich 9-1=8.
Es gibt im Wesentlichen zwei physikalische Bedingungen, unter denen eine Homographie gültig ist. Erstens: Alle entsprechenden 3D-Punkte liegen in einer Ebene. Zweitens, selbst bei einer Szene mit allgemeiner 3D-Struktur, wenn die Kamera sich nicht verschiebt, sondern nur rotiert (Schwenken/Neigen), lässt sich die Beziehung unabhängig von der Tiefe durch eine Homographie beschreiben. Denn bei reiner Kamerarotation tritt keine Parallaxe auf.
2. Schätzung mittels der DLT-Methode
Aus einer einzelnen Korrespondenz (x,y)\to(x',y') lässt sich eine lineare Nebenbedingung für jedes Element h_1,\dots,h_9 von H ableiten (geschrieben \mathbf{h}=\operatorname{vec}(H)). Die Bedingung, dass das Kreuzprodukt \tilde{\mathbf{x}}'\times H\tilde{\mathbf{x}}=\mathbf{0} verschwindet, liefert die folgenden zwei unabhängigen Gleichungen pro Korrespondenz.
Mit 4 Korrespondenzen erhält man 8 Gleichungen, die (in allgemeiner Lage) den 8-Freiheitsgrad H eindeutig bestimmen. Im realistischen Fall, in dem 5 oder mehr Korrespondenzen vorliegen, findet man die Lösung der kleinsten Quadrate für A\mathbf{h}=\mathbf{0} für die Matrix A, die alle Korrespondenzen übereinanderlegt – also den rechten Singulärvektor, der dem kleinsten Singulärwert von A entspricht, mittels Singulärwertzerlegung (SVD). Dies ist die DLT-Methode (Direkte Lineare Transformation).
Wie beim 8-Punkt-Algorithmus in der Epipolargeometrie führt die direkte Verwendung von rohen Pixelkoordinaten häufig zu numerischer Instabilität. Die Standardimplementierung ist Hartleys normalisierte DLT: Man wendet eine Ähnlichkeitstransformation T,T' auf die Punktmenge jedes Bildes an, sodass sie den Schwerpunkt Null und den mittleren Abstand \sqrt{2} hat, löst die Gleichung in diesem normalisierten Koordinatensystem und transformiert die Koordinaten anschließend mit H=T'^{-1}H_{\text{norm}}T zurück.
3. Robuste Schätzung mittels RANSAC
Da reale Korrespondenzen Fehlpaarungen enthalten, führt die direkte Anwendung der DLT auf jede Korrespondenz dazu, dass Ausreißer die Lösung stark verfälschen. RANSAC wiederholt die folgenden Schritte:
-
Es werden zufällig 4 Korrespondenzen ausgewählt und eine Hypothese für H mittels DLT erstellt.
-
Für jede Korrespondenz wird der Reprojektionsfehler zwischen der von H vorhergesagten Position und dem tatsächlichen korrespondierenden Punkt berechnet.
-
Die Hypothese mit den meisten Korrespondenzen (Inliern) innerhalb des Schwellenwerts wird verwendet.
-
Die DLT wird erneut mit allen finalen Inliern gelöst. Bei Bedarf wird eine nichtlineare Optimierung (direkte Minimierung des Reprojektionsfehlers) durchgeführt.
Die Anzahl der benötigten Iterationen lässt sich bei gegebenem Inlierverhältnis w, minimaler Stichprobengröße s=4 und Ziel-Erfolgswahrscheinlichkeit p wie folgt abschätzen:
Bei gleichem Inlierverhältnis benötigt die Homographie s=4 weniger Iterationen als die Schätzung der Essentiellen/Fundamentalen Matrix, welche s=5 – 8 benötigt. Dies ist ein Grund dafür, dass es üblich ist, direkt nach SIFT- oder ORB-Matching zunächst eine grobe geometrische Verifizierung mittels Homographie durchzuführen, bevor die vollständige 3D-Schätzung erfolgt.
Wenn die Kamera kalibriert ist und die intrinsischen Parameter K_1,K_2 bekannt sind, kann die normalisierte Homographie \tilde H = K_2^{-1}HK_1 mithilfe der Einheitsnormalen \mathbf{n} der Ebene (im Koordinatensystem von Kamera 1), dem Abstand zur Ebene d und der relativen Pose R,\mathbf{t} wie folgt geschrieben werden:
Führt die Kamera eine reine Rotation ohne Translation aus, gilt \mathbf{t}=\mathbf{0}, sodass \tilde H=R die Rotationsmatrix selbst ist.
Die Rekonstruktion von R,\mathbf{t}/d,\mathbf{n} aus \tilde H wird als Homographiezerlegung bezeichnet. Es sind mehrere Algorithmen bekannt, darunter die klassische Faugeras-Lustman-Methode und die analytische Malis-Vargas-Methode, die mithilfe der Eigenwertzerlegung von \tilde H^\mathsf{T}\tilde H eine geschlossene Lösung liefern. Rein mathematisch betrachtet können jedoch bis zu vier physikalisch mögliche Lösungen verbleiben (einschließlich solcher, die Vorzeichenumkehrungen oder Spiegelungen entsprechen). In der Praxis werden diese durch folgende Kriterien eingeschränkt:
-
Positive Tiefe (Cheiralität): Die triangulierten Punkte müssen vor beiden Kameras liegen.
-
Plausibilität der Ebenennormalen: Übereinstimmung mit einer aus der Anwendung bekannten, ungefähren Normalenrichtung – beispielsweise dem Boden oder einer Wand.
-
Konsistenz über mehrere Frames hinweg: Selbst wenn eine Lösung in einem einzelnen Frame mehrdeutig ist, zeigt die zeitliche Verfolgung unnatürliche Lösungen aufgrund mangelnder Kontinuität an.
OpenCVs decomposeHomographyMat führt diese Zerlegung durch und bietet Filterfunktionen (wie z. B. filterHomographyDecompByVisibleRefpoints, das die Lösung in der Nähe einer bekannten Ebenennormalen auswählt), die bei der Bewertung der verschiedenen Kandidaten helfen.
5. Bezug zur Epipolargeometrie: Wann ist H die richtige Antwort?
Wie wir in der Einführung in die Epipolargeometrie gesehen haben, wird die Korrespondenz zwischen zwei Ansichten in einer allgemeinen 3D-Szene durch die Fundamental-/Essentielle Matrix beschrieben. Die Homographie ist ein Spezialfall davon, und die Auswahl zwischen ihnen erfolgt wie folgt:
| Situation | Geeignetes Modell | Grund |
|---|---|---|
| Allgemeine 3D-Struktur mit Translation | F (unkalibriert) / E (kalibriert) | Parallaxe ist tiefenabhängig und lässt sich nicht auf eine Ebene reduzieren. |
Die gesamte Szene bzw. der relevante Bereich ist eine Ebene. | Punkte auf einer Ebene werden exakt durch eine Homographie beschrieben. |
Die Kamera führt eine reine Rotation aus (nur Schwenken/Neigen). | Ohne Translation gibt es keine Parallaxe, daher degeneriert |
Beim Betrachten einer entfernten Szene ist die Parallaxe minimal. | (Praktische Näherung) Parallaxe aufgrund von Tiefenunterschieden geht im Pixelrauschen unter. |
Das Problem besteht darin, dass sich „viele Inlier für“ und „die Szene ist tatsächlich planar bzw. die Kamera rotiert tatsächlich rein“ manchmal allein durch Beobachtungen nur schwer unterscheiden lassen. Selbst in einer allgemeinen 3D-Szene kann eine Wand oder ein Tisch, der das Sichtfeld dominiert, stark durch eine Homographie beschrieben werden. Der Initialisierungsprozess von ORB-SLAM begegnet dieser Mehrdeutigkeit, indem er H und F parallel mittels RANSAC schätzt, die Güte der Anpassung jedes Modells bewertet und automatisch das für die Szenenstruktur und Kamerabewegung geeignete Modell auswählt. Der entscheidende Punkt auf Implementierungsebene ist die Verwendung eines Bewertungskriteriums, das die Unterschiede in den Freiheitsgraden der einzelnen Modelle berücksichtigt (ein Konzept, das mit GRIC verwandt ist), anstatt lediglich die Anzahl der Inlier zu vergleichen.
6. Anwendungen: Bildzusammenfügung, AR-Ebenenverfolgung und Bodenebenenschätzung
Bildzusammenfügung (Panoramakomposition) – das Zusammenfügen mehrerer Bilder, die durch Drehen der Kamera an Ort und Stelle aufgenommen wurden, zu einem einzigen Bild – ist eine typische Anwendung der Homographie. Die Homographie zwischen benachbarten Bildern wird geschätzt, und jedes Bild wird in ein gemeinsames Referenzsystem verzerrt und überblendet. Wenn die Annahme einer nahezu reinen Kameradrehung nicht mehr zutrifft (z. B. beim Gehen oder bei einem nahen Objekt im Bild), führt Parallaxe zu Geisterbildern und Doppelbildern.
Ebenenanker-Tracking in AR erkennt eine Ebene, wie z. B. einen Schreibtisch oder ein Poster, im ersten Frame und kann durch die Verfolgung der Homographie zu jedem nachfolgenden Frame die relative Position zu dieser Ebene stabil Frame für Frame bestimmen. Mithilfe der zerlegten R,\mathbf{t}/d-Funktion lässt sich ein virtuelles Objekt, das im Koordinatensystem der Ebene verankert ist, ohne visuelle Inkonsistenzen überlagern.
Bodenebenen-Schätzung nutzt das Vorwissen, dass eine Straßen- oder Bodenoberfläche nahezu planar ist. Die Bodenebenen-Erkennung in Fahrzeugkameras oder Robotern verwendet Methoden, die die Homographie zwischen aufeinanderfolgenden Frames verfolgen und Bereiche erkennen, die davon abweichen (Hindernisse, Objekte außerhalb des Bodens). Dieser Ansatz erkennt also einen Bruch der geometrischen Konsistenz, anstatt das Objekt selbst zu erkennen.
7. Implementierungsbeispiel in OpenCV
import cv2 as cv
import numpy as np
orb = cv.ORB_create(nfeatures=3000)
kp1, des1 = orb.detectAndCompute(img1, None)
kp2, des2 = orb.detectAndCompute(img2, None)
matches = cv.BFMatcher(cv.NORM_HAMMING).knnMatch(des1, des2, k=2)
good = [m for m, n in matches if m.distance < 0.75 * n.distance]
p1 = np.float32([kp1[m.queryIdx].pt for m in good]).reshape(-1, 1, 2)
p2 = np.float32([kp2[m.trainIdx].pt for m in good]).reshape(-1, 1, 2)
# threshold is the allowed reprojection error, in pixels. USAC_MAGSAC is also selectable in place of RANSAC.
H, mask = cv.findHomography(p1, p2, method=cv.RANSAC, ransacReprojThreshold=3.0)
inliers = mask.ravel().astype(bool)
# if K is known, decompose into candidate solutions
num_solutions, Rs, ts, ns = cv.decomposeHomographyMat(H, K)
Beachten Sie, dass der von findHomography zurückgegebene Wert H maßstabsmehrdeutig ist. Wie bei der Essentiellen Matrix in der Einführung zur Epipolargeometrie bestimmt der aus der Zerlegung gewonnene Translationsvektor ebenfalls nur eine Richtung – sein absoluter Maßstab muss auf anderem Wege ermittelt werden (z. B. durch eine bekannte Ebenendistanz, eine Stereobasislinie, einen Inertialsensor usw.).
8. Schwierige Bedingungen
-
Nicht planar: Selbst eine Szene, die planar erscheint, kann Objekte mit tatsächlicher Dicke enthalten – Bücher, Schildkanten, Pflanzen – und Punkte auf diesen Objekten werden zu systematischen Ausreißern. Wird der Schwellenwert von RANSAC unbedacht gelockert, werden nicht-planare Punkte einbezogen, wodurch H selbst verzerrt wird.
-
Die Annahme reiner Rotation ist nicht mehr gültig: Bei freihändigen Stitching-Aufnahmen, die auch nur geringfügige Verschiebungen beinhalten, verschieben sich näher liegende Objekte stärker und erzeugen Geisterbilder. Die Verwendung eines Stativs oder das Drehen nahe dem optischen Zentrum des Objektivs ist daher vorzuziehen.
-
Entartete Konfigurationen: Konzentrieren sich die Korrespondenzpunkte entlang einer Linie im Bild oder in einem schmalen Bereich, wird die DLT-Matrix schlecht konditioniert, und der Fehler steigt in den extrapolierten Bereichen von H – also Bereichen abseits der Korrespondenzpunkte – sprunghaft an.
-
Wiederholende Muster oder Flächen mit geringer Textur: Bei sich wiederholenden Mustern wie Fliesenböden oder Gitterfenstern können lokale Deskriptoren allein eine korrekte Korrespondenz nicht von einer um eine Periode verschobenen Fehlzuordnung unterscheiden.
-
Mehrdeutigkeit bei der Dekomposition: Ist K ungenau oder das Rauschen stark, kann es unmöglich sein, die physikalisch korrekte Lösung unter den mehreren Kandidaten der Dekomposition eindeutig zu bestimmen. Kombinieren Sie dies daher immer mit zusätzlichem Vorwissen (Normalenrichtung, positive Tiefe).
9. Zusammenfassung
Homografie ist ein Verfahren, das zwei begrenzte, aber in der Praxis häufig auftretende Situationen – Korrespondenz in einer Ebene oder eine Kamerarotation – exakt mit einer einzigen 3\times3-Matrix darstellt. Die DLT-Methode bildet den Ausgangspunkt der Methode der kleinsten Quadrate, RANSAC dient der Behandlung von Ausreißern, und die Dekomposition ist der letzte Schritt, der die physikalische Rotation, Translation und Normale extrahiert. Entscheidend ist vor allem, zu beurteilen, wann Homografie das richtige Modell ist und wann man zur Fundamental-/Essentiellen Matrix wechseln sollte. Liegt man an dieser Grenze falsch, versucht man, Tiefe zu rekonstruieren, die in einer Szene, die nichts anderes als eine Ebene ist, nicht existiert.
Kann eine Homografie Objekte in unterschiedlichen Tiefen ausrichten?
Eine allgemeine Translation führt zu Parallaxe bei Objekten außerhalb der Ebene.
Überprüfen Sie die Annahmen bezüglich planarer Szenen oder reiner Rotation, bevor Sie eine einzelne Homographie verwenden.Referenzen
- Hartley & Zisserman, Multiple View Geometry in Computer Vision (Autorenseite)
- Fischler & Bolles, Random Sample Consensus (Communications of the ACM, 1981)
- Malis & Vargas, Deeper Understanding of the Homography Decomposition for Vision-based Control (INRIA Research Report RR-6303, 2007)
- Mur-Artal, Montiel & Tardós, ORB-SLAM: A Versatile and Accurate Monocular SLAM System (IEEE TRO, 2015)
- OpenCV – Grundlagen der Homographie erklärt mit Code
– OpenCV – Referenz zu findHomography / decomposeHomographyMat
Kommentare
Bitte zuerst anmelden.
Noch keine Einträge.