Durch ein bildgebendes Gerät (z.B. einer Kamera) wird eine Projektion aus dem Raum (der Welt), auf eine Ebene (das Bild) vorgenommen (Bildakquisition). Parallele Linien im Raum ergeben in der Projektion Linien mit einem gemeinsamen Schnittpunkt. Diese Schnittpunkte werden Fluchtpunkte genannt. In einem 3-Dimensionalen Raum kann es demnach 3 Fluchtpunkte geben.
Die relative Orientierung einer Kamera zu der aufgenommenen Szene ist eine wichtige Information, um Aufgaben des maschinellen Sehens erfolgreich lösen zu können. Anhand der Fluchtpunkte können die intrinsischen Kameraparameter berechnet werden. Diese intrinsischen Parameter sind wiederum Bedingung bei der Berechnung der Rotationsmatrix. In dieser Arbeit wird das Cascaded-Hough–Transform (CHT) Verfahren von L. Tuytelaars et al. verwendet, um die Fluchtpunkte zu berechnen. Hierbei werden detektierte Kanten als Punkte in einen Parameterraum abgebildet. Nochmaliges Durchführen auf den Parameterraum ergibt demensprechend Punkte auf einer Linie mit einem gemeinsamen Schnittpunkt. Mittels dieser detektierten Fluchtpunkte werden die Koordinaten des Hauptpunktes, an dem die optische Achse den Sensor trifft (x0/y0- principal point) sowie die Brennweite (f- focal lenght) berechnet. Diese Berechnung erfolgt auf den Grundlagen von R. Hartley und A. Zisserman, Multiple View Geometry, pp-213ff.
Zusätzlich wird eine einfache Fluchtpunktgruppen Klassifizierung (EFPG) vorgestellt. Die Ausgaben des Algorithmus werden mit den der OpenCV-Kamerakalibrierung (OCVK) (calibrateCa-mera und calibrationMatrixValues) gewonnenen Parametern verglichen. Als Berechnungsgrundlagen dienen für dieses Projekt aufgenommene digitale Fotografien.
Studienarbeit - IM230 Bildverstehen WS 2015/16, Hochschule Landshut
Berechnung von Fluchtpunkten und Herleitung der intrinsischen
Kameraparameter (x0, y0, f)
Julian Nowroth, Hochschule Landshut
Inhalt- Durch ein bildgebendes Gerät (z.B. einer Kamera) wird eine Projektion aus dem Raum (der Welt), auf eine Ebene (das Bild) vorgenommen (Bildakquisition). Parallele Linien im Raum ergeben in der Projektion Linien mit einem gemeinsamen Schnittpunkt. Diese Schnittpunkte werden Fluchtpunkte genannt. In einem 3-Dimensionalen Raum kann es demnach 3 Fluchtpunkte geben. Die relative Orientierung einer Kamera zu der aufgenommenen Szene ist eine wichtige Information, um Aufgaben des maschinellen Sehens erfolgreich lösen zu können. Anhand der Fluchtpunkte können die intrinsischen Kameraparameter berechnet werden. Diese intrinsischen Parameter sind wiederum Bedingung bei der Berechnung der Rotationsmatrix. In dieser Arbeit wird das Cascaded-Hough-Transform (CHT) Verfahren von L. Tuytelaars et al. [1] verwendet, um die Fluchtpunkte zu berechnen. Hierbei werden detektierte Kanten als Punkte in einen Parameterraum abgebildet. Nochmaliges Durchführen auf den Parameterraum ergibt demensprechend Punkte auf einer Linie mit einem gemeinsamen Schnittpunkt. Mittels dieser detek- tierten Fluchtpunkte werden die Koordinaten des Hauptpunktes, an dem die optische Achse den Sensor trifft (x0/y0- principal point) sowie die Brennweite (f- focal lenght) berechnet. Diese Berechnung erfolgt auf den Grundlagen von R. Hartley und A. Zisserman, Multiple View Geometry, pp-213ff [2]. Zusätzlich wird eine einfache Fluchtpunktgruppen Klassifizierung (EFPG) vorgestellt. Die Ausgaben des Algorithmus werden mit den der OpenCV-Kamerakalibrierung (OCVK) (calibrateCa- mera und calibrationMatrixValues) [3] gewonnenen Parametern verglichen. Als Berechnungsgrundlagen dienen für dieses Projekt aufgenommene digitale Fotografien.
I. Einleitung
Das Wissen über die Rotation der Kamera gegenüber dem Objekt ist eine Voraussetzung für eine erfolgreiche und vor allem richtige volumetrische Modellerstellung anhand von Konturbildern. Eine Menge an physikalischen Parametern soll so nah wie möglich das Modell des realen
Systems beschreiben. Bei der Bild Akquisition werden 3D-Weltpunkte auf korrespondierende 2D-Bildpunkte, anhand des Auftreffens eines Lichtstrahls auf einen Film oder ein photoelektrisches Element, abgebildet. Durch diese Projektion erscheinen parallele Linien des Raumes im Bild als Linien mit einem gemeinsamen Schnittpunkt, den sogenannten Fluchtpunkten. Aus diesen Fluchtpunkten lassen sich unter folgenden Bedingungen die intrinsischen Kameraparameter herleiten:
- Quadratische Pixel (bzw. bekanntes Seitenverhältnis)
- Keine Scherung (Bildachsen senkrecht)
Die intrinsischen Kameraparameter sind notwendig zur Bestimmung der Rotationsmatrix. [4]
Abbildung in dieser Leseprobe nicht enthalten
Für die Berechnung dreier Fluchtpunkte ist die Bestimmung dreier Gruppen von Linien erforderlich, wie in Abbildung 1 dargestellt. Linien in derselben Gruppe sind in der Szene parallel. Linien in verschiedenen Gruppen sind zueinander senkrecht [4]. Wie in der Abbildung 1 zu sehen, basieren die Fluchtlinien auf den äußeren und den dargestellten inneren Kanten der Kantensteine des Rubiks Würfel. Wie bei diesem gene
rierten Würfel, werden die Kanten auch in realen Projektionen verwendet, um die Fluchtpunkte zu finden. Wichtige Eigenschaften eines Bildes sind starke, lokale Änderungen des Betrages des Gradienten. In dieser Arbeit wird ausschließlich der Canny Edge detector von John F. Canny zur Ermittlung der Kanten im Bild mit getesteten Parametern verwendet. Dieser nutzt einen zweidimensionalen Filter in Form einer Gauß-Glocke. Abbildung 3 zeigt die Canny ermittelten Kanten der Eingabe aus Abbildung 2. Eine Kante wird detektiert, falls der Betrag des Gradienten eine obere Schranke überschreitet. [5]
Abbildung in dieser Leseprobe nicht enthalten
Die ermittelten Schwellenwerte für den Kantendetektor und Liniendetektor wurden so gewählt, dass sie mit den verschiedenen Testbildern (siehe Abs. „V. Experimentelle Ergebnisse“) der Größe 800x536 Pixel (Hochformat: 536x800 Pixel) gute Ergebnisse liefern.
II. Einfache FPG Klassifizierung (EFPG)
Nun besteht die Möglichkeit diese HLT ermittelten Linien mittels der Steigung m und dem y-Achsenabschnitt t der allgemeinen Geradengleichung:
Abbildung in dieser Leseprobe nicht enthalten
in die Fluchtpunktgruppen (FPG) einzuteilen. Eine Zuteilung in die FPG gemäß der Bedingungen aus Tabelle 1 liefert erstaunlich gute Ergebnisse, wie in Abbildung 5 dargestellt.
FPG 1 (blau):
Abbildung in dieser Leseprobe nicht enthalten
Mit jeweils einem Voting der Schnittpunkte für eine FPG erlangt man die Koordinaten der Fluchtpunkte. Versuche an weiterem Bildmaterial zeigten, dass dieses Verfahren für rotationsähnliches Bildmaterial stabil läuft. Abbildung 6 zeigt den Schnittpunkt der Höhen, des zu bildenden Fluchtpunktdreiecks (Dieses Verfahren wird detailliert in Abs. „IV. Die intrinsischen Kameraparameter (x0,y0,f)“ erläutert). Umso näher dieser Schnittpunkt im Zentrum liegt, desto genauer arbeitet das gewählte Verfahren. (Grundlage ist natürlich ein möglichst Aberration freies Bildmaterial).
Abbildung in dieser Leseprobe nicht enthalten
Ändert sich die Rotation des Bildmaterials, wird der Algorithmus mehr und mehr instabil und fehlklassifiziert die Fluchtlinien, wie in Abbildung 7 zu sehen. Die Folge sind falsch berechnete Fluchtpunkte und damit ein Principal Point (PP), weit entfernt vom Zentrum des Kamerasensors.
Abbildung in dieser Leseprobe nicht enthalten
Aus diesem Grund ist ein erweiterter Algorithmus notwendig, der diese Klassifizierung robust für unterschiedliches Bildmaterial mit einer niedrigen Fehlerrate durchführt.
III. Cascaded Hough Transform (CHT)
Im Folgenden wird das weniger bekannte CHT Verfahren erläutert, implementiert und angewendet. Ziel ist ein Verfahren für eine stabile Klassifizierung der Fluchtlinien und damit die Berechnung der intrinsischen Parameter sowie der Rotation mit einem geringen Fehler für unterschiedlichstes Bildmaterial. Der Algorithmus wird gemäß L. Tuytelaars et al. Erläuterungen umgesetzt [1]. In [1] wird beschrieben, wie durch einmaliges Anwenden des LHT gerade Linien erkannt werden und durch zweimaliges Anwenden des LHT, die gemeinsamen Schnittpunkte dieser Linien erkannt werden. Die zweite Anwendung des LHT wird auf einen Parameterunterraum durchgeführt, welcher die Linien der ersten Anwendung als Punkte enthält, wie in Abbildung 8 dargestellt. Die Linien erscheinen gemäß Tabelle 2 im Parameterunterraum als Punkte. Der dritte Parameterunterraum liefert für die getesteten Urbilder die besten Ergebnisse.
Abbildung in dieser Leseprobe nicht enthalten
nach dem CHT Verfahren klassifiziert und farbig dargestellt.
Abbildung 8: Linien der ersten LHT von Abbildung 2 als Punkte im
dritten Parameterunterraum gemäß Tabelle 2
Linien im Urbildraum werden zu Punkten im Parameterunterraum. Diese Punkte nehmen die Gestalt von Linien an. Dies ergibt sich aus der allgemeinen Geradengleichungen. Daher liegen Urbildlinien mit einem gemeinsamen Schnittpunkt, im Parameterraum auf einer Geraden [4]. Wendet man nun LHT schrittweise an, findet man drei Geradengleichungen, die den Fluchtpunkten des Urbildes entsprechen. Nun folgt die Prüfung mit einem Schwellenwert, welche Punkte auf welcher Geraden liegen. Punkte, die sehr nahe beieinander liegen, sowie Punkte die auf den Schnittpunkten der drei Geraden liegen, werden ausgenommen. Abbildung 9 stellt die Geraden der Fluchtpunkte, mit den verantwortlichen Linien des Urbilds als farbige Punkte, dar.
Abbildung in dieser Leseprobe nicht enthalten
Es gibt zwei Möglichkeiten an die Koordinaten der Fluchtpunkte des Urbildes zu gelangen. Die Geraden des Parameterunterraumes müssen entweder mittels der allgemeinen Geradengleichung und deren Umstellungen zurückgerechnet werden, oder der Schnittpunkt der detek- tierten Linien wird mit m und t ebenfalls mit der allgemeinen Geradengleichung im Urbild berechnet. In der Implementierung wurde auf die zweite Variante zurückgegriffen. In Abbildung 10 sind die Fluchtlinien
Abbildung in dieser Leseprobe nicht enthalten
IV. Die intrinsischen Kameraparameter (x0,y0,f)
Die Koordinaten des Hauptpunktes (Principal Point (PP)) und die Brennweite (Focal Length (FL)) können mittels der Berechnungsgrundlagen von R. Hartley und A. Zisserman mit den Koordinaten der Fluchtpunkte ermittelt werden [2]. Die drei Fluchtpunkte bilden ein Dreieck, deren Höhen sich bekanntermaßen in einem Punkt schneiden. Dieser Punkt ist der PP des Bildes, wie in Abbildung 11 dargestellt.
Abbildung in dieser Leseprobe nicht enthalten
Der PP auf dem Bildsensor wird im Verhältnis berechnet
Abbildung in dieser Leseprobe nicht enthalten
mit: PPSensorx v = , *Sensorh/b
Bildh,b
Die FL ist laut [2] der Abstand des Schnittpunktes eines Kreises mit dem Kreiszentrum auf dem Mittelpunkt einer
Höhe H mit Radius r und dem Lot durch PP auf die Höhe H. Eine Konstruktion ist in Abbildung 12 dargestellt.
Abbildung in dieser Leseprobe nicht enthalten
V. Experimentelle Ergebnisse
Die mit den beschriebenen Verfahren berechneten Werte, werden in diesem Abschnitt mit den aus der OCVK gewonnenen Parametern verglichen. Mit diesem Vergleich lässt sich, unter anderem, ein Urteil über die implementierten Algorithmen fällen. Die Kamera mit der alle Bilder aufgenommen wurden, hat einen 23,6 mm x 15,8 mm CCD-Sensor. Im Gegensatz zur OCVK mit dem Schachbrett Kalibrierungsmuster und dem EFPG Verfahren, liefert das CHT Verfahren aus [1] für jedes der vier Testbilder (Urbilder A/B/C/D) ein befriedigendes Ergebnis. Voraussetzung sind natürlich Bilder, in denen es für den Algorithmus möglich ist, Fluchtpunkte zu detektieren. Abbildung 13 zeigt ein Bild, an dem die CHT und EFPG Verfahren scheitern. Hier liefert die OpenCV- Kalibrierung die Parameter mit einer niedrigen reprojection error (rpe) Rate. Der PP liegt mit xü = 11,81 ; yü = 7,77 (mm) sehr nahe am Zentrum und f = 25,80 (mm) stimmt mit den realen Werten (Zoom + Autofokus) der Aufnahme mit kleinen Abweichungen überein. Der Grund für dieses Ergebnis liegt auf der Hand. Es gibt nicht genügend aussagekräftige parallele Linien für CHT und EFPG, das Schachbrettmuster wird aber gut erkannt. Im Gegensatz dazu liefert die OCVK auf das Urbild D (Abbildung 17) keine Parameter, da das
Schachbrettmuster nicht detektiert wird. Das CHT und das EFPG Verfahren liefern dahingegen auf das Urbild D gute Werte. Die berechnete FL der OCVK weicht in den Urbildern A/B/C weit von den realen Werten ab. Der Grund konnte nicht genauer analysiert werden. Vermutlich liegt es an der fehlenden Genauigkeit der Detektion des Musters, die mit der Entfernung der Kamera zum Kalibrierungsmuster ansteigt (ohne mechanischem Zoom).
[...]
- Arbeit zitieren
- Julian Nowroth (Autor:in), 2016, Berechnung von Fluchtpunkten und Herleitung der intrinsischen Kameraparameter (x0, y0, f), München, GRIN Verlag, https://www.grin.com/document/381990
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.