3D-Model Reconstruction using Vanishing Points Seminar: Ausgewä hlte Themen zu "Bildverstehen und Mustererkennung" Dozenten: Prof. Dr. Xiaoyi Jiang, Dr. Da-Chuan Cheng, Steffen Wachenfeld, Kai Rothaus Referent: Katharina Ernst - Wintersemester 2004/2005 -
Gliederung 1. Einleitung Anwendungen Beispiele 2. Rekonstruktion mit Fluchtpunkten aus Einzelbildern Zusammenfassung Zentralprojektive Abbildung Fluchtpunkte Hauptpunkt-Transformation Projektive Bildentzerrung 3. Fluchtpunktbestimmung Fluchtpunktbestimmung mit dem Satz des Thales Fluchtbestimmung mit der Hough-Transformation 4. 3D-Rekonstruktion mit Fluchtpunkten Einleitung Zusammenfassung Struktur von Projektionsmatrizen Fluchtpunkte Berechnung von Projektionsmatrizen Epipolare Geometrie Rekonstruktion und Struktur-Abbildung 5. Ergebnisse/Ausblick - 2 -
1. Einleitung Anwendungen 3D-Dokumentation von Bauwerken (analoge bzw. digitale Bilder) Anwendungen in der Architektur: - Restaurationsaufgaben - Rekonstruktionen von Bauzeichnungen fehlende Daten werden direkt im Bild ermittelt Drei verschiedene Bereiche der 3D-Rekonstruktion: 1) Rekonstruktion mit kalibrierten Kameras: Voraussetzung: korrespondierende Bildpunkte Serie von Bildern eines Objektes eine oder mehrere kalibrierte Kamera(s) Kamerapositionen nicht bekannt 2) Rekonstruktion aus einer Bildfolge: Voraussetzung: korrespondierende Bildpunkte, internen Kamera-Parameter verä ndern sich nicht Serie von monokularen, binokularen oder trinokularen Bildern - 3 -
3) Rekonstruktion aus festen Standpunkten: Voraussetzung: korrespondierende Bildpunkte Serie von Bildern nicht-bekannte Kameras aus willkürlichen Positionen internen Kamera-Parameter dürfen sich ä ndern geringste Information über ein Objekt gegeben Im Folgenden: Rekonstruktion aus festen Standpunkten sehr wenig Information vorhanden genaue 3D-Rekonstruktion i.a. unmöglich Hinzunahme zusä tzl. objektspez. Informationen - Linearitä t, Parallelitä t und Orthogonalitä t - 4 -
Beispiele Wir werden zwei Verfahren zur Rekonstruktion vorstellen, die in diesen Bereich fallen: 1. Rekonstruktion mit Fluchtpunkten aus Einzelbildern: - nur Einzelbilder (monokulare Rekonstruktion) maß stabsgerechte Entzerrung Abb.1: Unkalibriertes Bild eines Hauses Abb.2: Entzerrte Bilder der Seitenflä chen des Hauses aus Abb.1-5 -
2. 3D-Rekonstruktion mit Fluchtpunkten: - Serie von unkalibrierten Bildern 3D-Modelle des Objektes Objekt kann aus neuen Standpunkten betrachten werden Abb.1: Unkalibrierte Bilder Abb.2: 3D-Rekonstruktion wesentlicher Teil der 3D-Rekonstruktion: Fluchtpunktbestimmung wir werden verschiedene Möglichkeiten vorstellen, um Fluchtpunkte zu detektieren - 6 -
2. Rekonstruktion mit Fluchtpunkten aus Einzelbildern 2.1 Zusammenfassung nutzt die Eigenschaften einer zentralprojektiven Abbildung Beziehungen zwischen effektiver Brennweite, Bildhauptpunkt und Fluchtpunkten Hauptpunkt-Transformation projektive Bildentzerrung (Ä hnlichkeits-transformation in die 2D-Bildebene) aus den entzerrten Bildern können dann direkt die interessierenden Maß e bestimmt werden, wenn man den Abbildungsmaß stab kennt. - 7 -
2.3 Zentralprojektive Abbildung 3D-Model Reconstruction using Vanishing Points zentralprojektiven Abbildung: - rä umliche Lage eines Architektur-Objektes wird beschrieben durch die Lage eines Aufpunktes und die Orientierung eines orthogonalen Dreibeins Projektionszentrum der Kamera/ C Aufpunkt Bildebene Hauptpunkt Dies geschieht wie folgt: - XYZ ist das Koordinatenbezugssystem der Kamera - die Bilder einer Schar paralleler Geraden schneiden sich im Fluchtpunkt der Geradenschar - es existieren drei solche Fluchtpunkte: Q x, Q y und Q z - Q x, Q y und Q z beschreiben die Orientierung des Dreibeins - 8 -
- die Bilder aller zur X-Achse parallelen Linien des Architektur-Objektes schneiden sich im Fluchtpunkt Q x, und die zur Y- und Z-Achse parallelen Linien in den Fluchtpunkten Q y und Q z - das Projektionszentrum c der Kamera ist der Aufpunkt des Dreibeins - die Dreibeinachsen sind paarweise orthogonal das durch die 3 Fluchtpunkte gebildete Dreieck hat folgende Eigenschaften: den Lotfuß punkt von Projektionszentrum auf die Bildebene, nennt man Hauptpunkt P. - P liegt innerhalb QxQyQz - P bildet zusammen mit Q x, Q y und Q z ein orthozentrisches System P ist Schnittpunkt der Höhen des Dreiecks QxQyQz die Größ e des Dreiecks wird durch die effektive Brennweite f bestimmt ( f ist die Lä nge der Strecke CP) alle Winkel des Dreiecks sind 90 Grad liegt die (X,Y) Ebene des Dreibeins parallel zur Bildebene, dann rücken Q x und Q y ins Unendliche. Q z wird auf P abgebildet und die Strecken Q xqz und Q Q y z stehen senkrecht zueinander liegt die X-Achse des Dreibeins parallel zur Bildebene, dann rückt Q x ins Unendliche. Q y und Q z liegen zusammen mit P auf einer Geraden, die orthogonal zur Linie PQ steht x - 9 -
Abb.2: Hauptpunkt P als Höhenschnittpunk des Fluchtpunktdreiecks eine Abbildung einer planaren Flä che ist maß stabsgerecht die Objektebene, in der sich die interessierende Flä che befindet, liegt parallel zur Bildebene - 10 -
Dies ist i. A. aber nicht gegeben. Ä hnlichkeitstransformation des Bildes notwendig Hauptpunkt und Brennweite sind dafür erforderlich diese beiden Koordinaten lassen sich leicht bestimmen, wenn bereits Fluchtpunkte bekannt sind: die Hauptpunktkoordinaten erhalten wir durch die Bestimmung des Höhenschnittpunktes im Dreieck Q Q Q x y z die Brennweite lä sst sich linear durch die Koordinaten des den Hauptpunktes und der Fluchtpunkte bestimmen 2.5 Fluchtpunkte Koordinaten der drei Fluchtpunkte bekannt man kann Hauptpunkt und Brennweite damit berechnen und eine Hauptpunkt-Transformation durchführen Entzerrung verschiedene Möglichkeiten zur Bestimmung dieser Fluchpunkte im nä chsten Kapitel (3. Fluchtpunktbestimmung) - 11 -
2.6 Hauptpunkt-Transformation 3D-Model Reconstruction using Vanishing Points Ä hnlichkeitstransformation der planaren 3D-Objektebene in die Bildebene projektiven Bildentzerrung projektive Transformation: Drehung der Kamera um ihr Projektionszentrum - beliebiger Raumpunkt r wird nicht mehr in den Bildpunkt B = ( u, v), sondern in den Bildpunkt B ' = ( u', v') abgebildet - festgelegt durch Hauptpunkt P, Brennweite f und einer Rotationsmatrix R Hauptpunkt-Transformation: Drehung wird so ausgeführt, dass ein vorgegebener Bildpunkt B = ( u, v) in den Hauptpunkt transformiert wird der Sehstrahl s durch B und das Projektionszentrum c wird in die optische Achse gedreht zum Sehstrahl s orthogonale Ebenen, befinden sich danach parallel zur Bildebene keine projektive Verzerrung mehr - 12 -
Folgende Abbildung veranschaulicht die projektive Transformation von Bildpunkten und die daraus resultierende Entzerrung der Bildpunkte: Verzerrtes Bild Entzerrtes Bild Objekt Objekt s Sehstrahl Objektebene s Sehstrahl Objektebene Kamera Bildebene Kamera Bildebene im ersten Bild: Verzerrungen (Objektebene nicht parallel zur Bildebene) im zweiten Bild: maß stabsgerechte Abbildung Kamera wurde so gedreht, dass der Sehstrahl s in der optischen Achse liegt zum Sehstrahl s orthogonal Ebenen, befinden sich parallel zur Bildebene keine projektive Verzerrung mehr - 13 -
Hauptpunkt-Transformation: einer der Fluchtpunkte Q = ( u q, v q ) wird in den Hauptpunkt P = ( u 0, v 0) transformiert Objektebene liegt parallel zur Bildebene Ä hnlichkeitsabbildung dieser Bildebene 2.7 Projektive Bildentzerrung projektive Bildentzerrung mittels Hauptpunkt- Transformation (nach Bestimmung der Fluchtpunkte und Berechnung von Hauptpunkt und Brennweite) anschließ end muss das Bild nur noch so gedreht werden, dass die vertikalen Raumgeraden senkrecht und die horizontalen Raumgeraden waagerecht im Bild verlaufen - 14 -
3. Fluchtpunktbestimmung 3D-Model Reconstruction using Vanishing Points es ex. eine Reihe von Verfahren zur Fluchtpunktbestimmung wir werden hier zwei verschiedene Verfahren kurz vorstellen: 1. Fluchtpunktbestimmung mit dem Satz des Thales indirektes Verfahren Kantenerkennungs-Algorithmus erstellt eine Liste aller Geradensegmente im Bild und ordnet diese Segmente den drei gesuchten Fluchtpunkten zu mit den Satz des Thales und den Segmentlisten werden die Koordinaten der Fluchpunkte bestimmt 2. Fluchtbestimmung mit der Hough- Transformation direktes Verfahren Bild wird in einen anderen Raum (Akkumulator) transformiert mit Hilfe der Gauß -Kugel werden im Akkumulator Hinweise über das Vorhandensein von strukturellen Merkmalen eines Fluchtpunktes gesammelt die Fluchtpunktebestimmung durch Maximusfindung im Akkumulator bestimmt. - 15 -
3.1 Fluchtpunktbestimmung mit dem Satz des Thales Kantenerkennungs-Algorithmus erstellt eine Liste aller Geradensegmente im Bild und ordnet diese Segmente den drei gesuchten Fluchtpunkten zu Abb.1: unkalibriertes Bild eines Hauses Abb.2: Geradensegmente dreier orthogonaler Richtungen für das Haus Abb.1 ein beliebiger Bildpunkt wird als Aufpunkt A = ( u, v a a ) festgelegt zu jedem Geradensegment wird die zugehörige Gerade g i bestimmt für jede Gerade g i wird der Lotfuß punkt ( ul, vl ) bestimmt (der Punkt mit dem kürzesten euklidischen Abstand zum Aufpunkt A) - 16 -
Satz des Thales: alle Lotfuß punkte, die zum Fluchtpunkt Q = ( u q, v q ) gehören, liegen (im Idealfall) auf einem Kreis 1 2 2 dieser Kreis hat den Radius ρ = ( u u ) + ( v v ) und den Mittelpunkt u, v m ) M =. ( m 2 q a q a Abb.3: Geradensegmente und Lotfuß punkte im Thaleskreis mit Mittelpunkt M, Aufpunkt A und Fluchtpunkt Q durch Kreisanpassung und Ausgleichsrechnung an die Lotfuß punkte Parameter u v m, m und ρ des Kreises, der den Fluchtpunkt charakterisiert Koordinaten des gesuchten Fluchtpunktes Q = ( u q, vq ): uq = 2 um ua, vq = 2 vm va. - 17 -
Die folgende Abbildung veranschaulicht den Prozess der Fluchtpunktbestimmung: Abb.4: Lotfuß punkte, angepasste Kreise und Segmente dreier orthogonaler Richtungen - 18 -
3.2 Fluchtbestimmung mit der Hough-Transformation Grundprinzip: - das Bild wird in einen anderen Raum (Akkumulator) transformiert, wo die Hinweise über das Vorhandensein von strukturellen Merkmalen eines Fluchtpunktes gesammelt werden Problem der Merkmalsextraktion wird zum Problem der Maximusfindung im Akkumulator (einfacher zu lösen) verschiedene Methoden, um in einem Bild Fluchtpunkte mit der Hough-Transformation zu detektieren, unterscheiden sich im Parameter- Raum, indem die Maxima gesucht werden die meisten Methoden benutzen Gauß -Kugel um Orientierungen darzustellen und arbeiten im Raum der Kugel-Koordinaten ( θ, ϕ) Grundidee dieses Verfahrens: Einheitskugel, mit Mittelpunkt im Kamerazentrum, als Akkumulator-Raum für jedes Liniensegment, das auf der Bildebene detektiert wird, betrachtet man die interpretation plane, die von dem Segment und dem Kamerazentrum gebildet wird diese Ebene schneidet die Gauß -Kugel in Form eines groß en Kreises Zä hler im Akkumulator werden auf dem Umfang dieses Kreises erhöht - 19 -
Umfä nge, die durch die Linien-Segmenten entstehen, die in der realen Szene parallel sind, schneiden sich Punkte auf der Einheitskugel, an denen am Ende ein Maximum vorliegt, entsprechen den Richtungen der entsprechen Fluchtpunkte diese Punkte werden dann auf der Bildebene identifiziert, indem man Linien mit dieser Richtung mit der Bildebene zum Schnitt bringt Abb.1: Fluchtpunkte, interpretation planes, und die Gauß -Kugel Abb.5: Zwei Vereinfachungen und ihre Kanten-Orientierungen auf der Gauß -Kugel - 20 -
Gauß -Kugel ist ein Akkumulator-Array für diese Kreise Maxima auf dieser Kugel reprä sentieren die gemeinsame Orientierung verschiedener Linien-Segmente und entsprechen den Fluchtpunkten Abb.1: Original Bild Abb.2: Gerade Linien, gefunden durch die Hough-Transformation Abb.3: Akkumulator Vorteil dieser Methode: sowohl endliche als auch unendliche Fluchtpunkte können detektiert werden - 21 -
4. 3D-Rekonstruktion mit Fluchtpunkten 4.1 Einleitung bisher projektive Entzerrung von Einzelbildern nun Serie von Bildern, aus denen ein 3D-Modell des Objektes erstellt wird Betrachtung aus neuen Standpunkten im Folgenden stellen wir ein Verfahren der 3D- Rekonstruktion vor, das mit nur zwei Bildern aus verschiedenen Positionen auskommt und keine inneren Kameraparameter benötigt - 22 -
4.2 Zusammenfassung Wir erhalten ein 3D-Model aus zwei oder mehreren unkalibrierten Bildern in den folgenden 4 Schritten: 1) Benutzer wä hlt eine Serie von Bildkanten aus, die entweder parallel sind oder senkrecht zur Welt stehen. Lokalisierung dieser Vereinfachungen anhand der Bild-Neigung. Abb.1: Unkalibrierte Bilder Abb.2: Lokalisierung 2) Berechnung der Fluchtpunkte für jedes Bild Bestimmung der inneren Kamera-Parameter Abb.3:Bestimmung der Fluchtpunkte und Kamera-Kalibrierung 3) Berechnung der Projektionsmatrizen für jedes Bild. Verfeinerung dieser Matrizen mit der Epipolaren Geometrie durch zusä tzliche Korrespondenzen von Bildpunkten erhä lt man die Bewegung (Rotation und Translation) zwischen den Standpunkten. Abb.4:Berechnung der Projektions-Matrizen und der Kamera-Bewegung - 23 -
4) Finden von weiteren Korrespondenzen zwischen den Bildern mit den Projektionsmatrizen. Berechnung 3D strukturierter Dreiecke, die ein Modell des Objektes zeigen. Abb.5: 3D-Rekonstruktion durch Triangulation - 24 -
4.3 Struktur von Projektionsmatrizen 3D-Model Reconstruction using Vanishing Points Die Projektion einer Loch-Kamera von der 3D- Geometrie eines Objektes in 2D-Bilddaten kann durch eine 3x4 Kamera-Projektionsmatrix P dargestellt werden: ui p λ = i vi p p 11 p p 12 13 14 21 22 23 24 1 31 p32 p33 p34 p p p p X i Yi Z i 1 Diese Projektionsmatrix kann zerlegt werden in die Orientierung, die Position und die Kalibrierung der Kamera (eine 3x3 Rotations-Matrix R, ein 3x1 Translations-Vektor T und eine 3x3 Kamera- Kalibrierungs-Matrix K): P = K [R T] Dabei hat K folgende Gestalt: α u K = 0 s 0 u0 v 1 0 αv 0 Bei α u und α v handelt es sich um Scale(Maß stab)- Faktoren, s ist der Skew(Neigung)-Parameter und u 0, v 0 sind die Koordinaten des Bildhauptpunktes (der Schnittpunkt der Optischen Achse mit der Bildebene). - 25 -
4.4 Fluchtpunkte Fluchtpunkte werden benötigt, um für jeden Standpunkt die Kamera-Kalibrierungs-Matrix K (unter der Voraussetzung von 0 Skew und bekanntem Seitenverhä ltnis), die Rotations-Matrix R und die Richtung der Translation T zu bestimmen. Koordinaten der drei Fluchtpunkte bekannt Parameter der Projektionsmatrix können hergeleitet werden auf Möglichkeiten zur Bestimmung dieser Fluchpunkte sind wir bereits im vorherigen Teil (3. Fluchpunktbestimmung) genau eingegangen - 26 -
4.5 Berechnung von Projektionsmatrizen Bestimmung der inneren Kamera-Parameter (und der λ i -Scale-Faktoren) durch Lösen folgender Gleichung: (Vorraussetzung: Fluchpunkte bereits bestimmt) u1 v1 1 u v 2 2 1 2 u 3 λ1 v 3 0 1 0 0 λ 2 2 0 0 u1 0 v1 2 λ 3 1 u v 2 2 1 u3 v 3 1 T = KK T geometrische Bedeutung: Sei x 0 der Bildhauptpunkt, und x 1, x 2, x 3 die drei Fluchtpunkte. 2 2 Flä che x0 λ i erfüllt folgende Gleichung: λ i = x2x Flä che x x x 1 2 3 3 Abb.6: Interpretation von x 0 als das Orthozentrum und λ 2 i als die Flä che der Bildhauptpunkt bildet zusammen mit den drei Fluchtpunkten ein orthozentrisches System, wobei λ 2 i die normalisierte Flä che des Dreiecks ist. - 27 -
Fluchtpunkte werden benutzt zur: - Bestimmung der Kamera-Orientierung und Kamera-Position - direkte Schä tzung der Rotation (falls diese unabhä ngig von der Kamera-Translation) Paar korrespondierender Punkte gegeben Bestimmung der Translation mit Hilfe der Eigenschaften der Epipolaren Geometrie Rotation, Translation und innere Kamera-Parameter Berechnung der Projektionsmatrizen für die verschiedenen Standpunkte Bestimmung der Epipolaren Geometrie mit Projektionsmatrizen Finden weiterer Punkt-Korrespondenzen 3D-Positionen der Punkte - 28 -
4.6 Epipolare Geometrie 3D-Model Reconstruction using Vanishing Points Abb.7: Das Prinzip der Triangulation in einer Bildfolge Abb.8: Die Epipolaren Eigenschaften Epipolare Geometrie: - wir haben z.b. zwei Bilder aus verschiedenen Kamerapositionen C und C ' - Projektion x des Bildes vom Objektpunkt M ist bekannt (Schnittpunkt der Linie CM mit der Bildebene) der korrespondierende Punkt im anderen Bild liegt auf der so genannten Epipolar-Linie. - 29 -
Epipolar-Linie: Schnittlinie der Ebene, die von den Projektionszentren der Kameras C und C ' und den Objektpunkt M gebildet wird, mit den Bildebenen Abb.9: Die Epipolar-Linie auf der der korrespond. Bildpunkt X abgebildet wird Schnittpunkte der Verbindungslinie CC ' der Kameras mit den Bildebenen bewegen sich nicht, wenn M herumbewegt wird. diese Schnittpunkte nennt man Epipole anschaulich: Epipole sind genau die Punkte, an denen die eine Kamera von der anderen gesehen wird Theorie der Epipolaren Geometrie lä sst sich ebenso auf drei versch. Standpunkte erweitern - 30 -
4.7 Rekonstruktion und Textur-Abbildung diese Punkte werden dann zusammen mit der Bildpunkt-Triangulation verwendet, um eine 3D-Textur zu erhalten. Abb.10: Folge unkalibrierter Bilder mit versch. Kameraeinstellungen Abb.11: Erstelltes 3D-Modell; Betrachtung aus neuen Standpunkten - 31 -
5. Ergebnisse/Ausblick zwei grundlegende Verfahren zur Rekonstruktion mittels Fluchtpunkten und Methoden zur Fluchtpunkt-Detektion monokularen Rekonstruktionsverfahren: - eine experimentelle Versuchsreihe zeigte nur geringe Abweichungen von den echten Werten Verfahren zur Anwendung auf Einzelbilder geeignet monokulare Rekonstruktion liefert jedoch nur eine Entzerrung eines Einzelbildes zweite Verfahren zur 3D-Rekonstruktion anwendungsbezogener - arbeitet mit mindestens zwei Bildern 3D Modelle; Betrachtung aus neuen Standpunkten bessere Resultate für die Arbeit in der Architektur zweite Verfahren wird in der Architektur erfolgreich genutzt - wurde implementiert als ein System namens PhotoBuilder - bereits zahlreich angewendet, um 3D-Modelle von Gebä uden zu erstellen, z.b. der Universitä t von Cambridge - die Resultate sind sehr eindrucksvoll - 32 -