Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Homography

Eine Homographie ist eine projektive Transformation, die Ebenen zwischen Ansichten abbildet und so Perspektivkorrektur, Bildregistrierung und Panoramastitching ermöglicht.

Eine Homographie ist eine invertierbare projektive Transformation, die Punkte auf einer Ebene auf Punkte einer anderen Ebene abbildet und dabei Geraden erhält. In der Bildverarbeitung beschreibt sie, wie eine ebene Fläche aus verschiedenen Blickwinkeln erscheint: Eine schräg fotografierte rechteckige Seite lässt sich in ein frontal ausgerichtetes Rechteck transformieren. Homographien ermöglichen Bildregistrierung, Perspektivkorrektur und Panoramastitching. „Projektive Transformation“ ist ein Synonym; der sprachwissenschaftliche Begriff „Homograph“ bezeichnet Wörter mit identischer Schreibweise.

So funktioniert die Homographiematrix#

Eine Homographie wird durch eine 3 x 3-Matrix dargestellt, die üblicherweise H genannt wird. Sie arbeitet mit homogenen Koordinaten, die einen zweidimensionalen Punkt durch drei Werte darstellen. Nach der Matrixmultiplikation ergeben sich die gewöhnlichen Bildkoordinaten, indem die ersten beiden Ausgabewerte durch den dritten geteilt werden.

Obwohl H neun Einträge enthält, hat sie acht unabhängige Parameter, also Freiheitsgrade: Werden alle Einträge mit derselben Zahl ungleich null multipliziert, bleibt die Abbildung unverändert. Diese Geometrie ebener Bildabbildungen erklärt, warum vier geeignete Punktkorrespondenzen eine Homographie bestimmen.

Eine affine Transformation ist eine eingeschränkte Homographie, die parallele Geraden erhält. Eine allgemeine Homographie stellt auch Perspektiveffekte dar, darunter parallel verlaufende Kanten, die auf einen Fluchtpunkt zulaufen. Abstände und Winkel ändern sich im Allgemeinen. Michel Chasles entwickelte das Konzept in seiner Abhandlung von 1837 über Dualität und Homographie.

So schätzt du eine Homographie#

Die Schätzung beginnt mit korrespondierenden Punkten: Positionen, die in zwei Bildern dieselben physischen Merkmale darstellen. Dabei kann es sich um manuell ausgewählte Ecken oder durch Merkmalsextraktion ermittelte übereinstimmende Schlüsselpunkte handeln. Verfahren wie die skaleninvariante Merkmalstransformation liefern Deskriptoren – numerische Zusammenfassungen des lokalen Erscheinungsbilds –, mit denen sich Merkmale ansichtsübergreifend zuordnen lassen.

Erforderlich sind mindestens vier Punktpaare, wobei in keiner der beiden Punktmengen drei Punkte auf einer Geraden liegen dürfen. Der Algorithmus Direkte lineare Transformation (DLT) überführt die Koordinatenbeziehungen in ein lineares Gleichungssystem. Zusätzliche Korrespondenzen verbessern die Schätzung, wenn die Messungen verrauscht sind.

Falsche Zuordnungen erfordern eine robuste Anpassung. Zufallsstichproben-Konsens (RANSAC) passt wiederholt mögliche Transformationen an kleine Teilmengen an und ermittelt Ausreißer und Inlier: Zuordnungen, die mit einer möglichen Transformation übereinstimmen. Der Reprojektionsfehler misst den Abstand zwischen einem transformierten Quellpunkt und seinem beobachteten Zielpunkt. Die Homographieschätzungs-API von OpenCV stellt diesen Ablauf über cv2.findHomography bereit und gibt sowohl H als auch eine Inlier-Maske zurück.

Homographie in Python anwenden#

OpenCV bietet separate Funktionen zum Schätzen einer Matrix und zum Verzerren eines Bildes. Installiere die Abhängigkeiten mit pip install opencv-python numpy. Dieses Beispiel bildet die rechteckige Begrenzung des Beispielbilds auf ein Trapez ab:

from urllib.request import urlopen

import cv2
import numpy as np

image_url = "https://ultralytics.com/images/bus.jpg"
with urlopen(image_url) as response:
    encoded = np.frombuffer(response.read(), dtype=np.uint8)
image = cv2.imdecode(encoded, cv2.IMREAD_COLOR)
height, width = image.shape[:2]

# Behalte in beiden Arrays dieselbe Reihenfolge der Ecken im Uhrzeigersinn bei.
source = np.float32([[0, 0], [width - 1, 0], [width - 1, height - 1], [0, height - 1]])
target = np.float32([[120, 80], [width - 121, 80], [width - 1, height - 1], [0, height - 1]])
matrix, _ = cv2.findHomography(source, target)
warped = cv2.warpPerspective(image, matrix, (width, height))
cv2.imwrite("homography_result.jpg", warped)

Das gespeicherte Bild zeigt eine perspektivische Verkürzung: Seine obere Kante ist schmaler, während gerade Kanten in der Szene gerade bleiben.

Einsatzbereiche von Homographien#

  • Dokumentenverarbeitung: Bei der Perspektivkorrektur werden die vier Ecken eines flachen Dokuments auf ein Rechteck abgebildet. Dieser Vorverarbeitungsschritt vereinheitlicht die Textanordnung vor der optischen Zeichenerkennung und folgt derselben Geometrie ebener Verzerrungen, die in den OpenCV-Beispielen zur Perspektivkorrektur gezeigt wird.
  • Panoramastitching: Überlappende Fotos werden vor dem Überblenden ausgerichtet. Das Autostitch-System von Matthew Brown und David Lowe nutzt übereinstimmende lokale Merkmale, um die Erstellung von Panoramen zu automatisieren und überlappende Bilder in ungeordneten Sammlungen zu erkennen.

In Ultralytics YOLO wendet RandomPerspective Augmentation während des Trainings projektive Verzerrungen an und transformiert dabei Bilder und die zugehörigen Begrenzungsrahmen, Segmentierungskonturen und Schlüsselpunkte gemeinsam. Die Einstellung perspective steuert den Perspektivanteil dieser Datenerweiterung.

Eine einzelne Homographie beschreibt exakt die Beziehung zwischen idealen Lochkamerabildern derselben Ebene oder zwischen Ansichten, die durch Drehung einer Kamera um ihr Projektionszentrum aufgenommen wurden. Bei einer Kameraverschiebung und Objekten in unterschiedlichen Tiefen führt Parallaxe zu tiefenabhängigen Verschiebungen. Wird eine Hintergrundebene ausgerichtet, bleiben Vordergrundobjekte verschoben, wodurch bei zusammengesetzten Bildern doppelte Kanten oder Geisterbilder entstehen.

Die Kamerakalibrierung behandelt Linsenverzerrungen, deren gekrümmte Bildgeometrie vor der ebenen Ausrichtung korrigiert werden muss. Bei allgemeinen dreidimensionalen Szenen schränkt die Epipolargeometrie einen entsprechenden Punkt auf eine Gerade ein; eine Homographie sagt seine Position direkt voraus. Beim stereoskopischen Sehen liefert die verbleibende Position entlang der Epipolargeraden Disparitätsinformationen, die zur Tiefenschätzung verwendet werden.

Explore solutions

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens