TEAM 2 EPIPOLARGEOMETRIE TRIANGULIERUNG OPENCV Lisa Blum - Kathrin Kunze - Michael Kreil EPIPOLARGEOMETRIE Lisa Blum - Kathrin Kunze - Michael Kreil Lisa Blum - Kathrin Kunze - Michael Kreil Korrespondierende Punkte - Gegeben: 2D-Positionen der gefundenen Lichtquellen im Bild der ersten Kamera - Ziel: Korrespondierende 2D-Punkte im Bild der zweiten Kamera finden - Lösungsansatz: Epipolargeometrie Lisa Blum - Kathrin Kunze - Michael Kreil Epipolargeometrie • W: ein beliebiger Punkt in der Welt B1, B 2 • p, q: Abbildungen des Weltpunktes auf die Bildebenen • C 1, C 2: Brennpunkte der Kameras • E 1, E 2 : Epipole • l1,l 2 : Epipolarlinien • t: Translation • R: Rotation Lisa Blum - Kathrin Kunze - Michael Kreil Die Epipolarbedingung - Bedingung: Der zu p korrespondierende Punkt q muss auf der Epipolarlinie l 2 im zweiten Bild liegen - Nutzen: Der Suchbereich, in dem die korrespondierende Lichtquelle gesucht wird, ist auf eine Linie reduziert Lisa Blum - Kathrin Kunze - Michael Kreil Die Essential Matrix - Epipolar-Bedingung: - Essential Matrix q~ iT E ~ pi 0 E R [t ]x 0 t3 t 2 [ t ] x t 3 0 t 1 mit Kreuzproduktmatrix t 2 t1 0 ~i - Die Essential Matrix E mappt einen Bildpunkt p auf seine epipolare Linie l 2 im zweiten Bild: l2T E ~ pi Lisa Blum - Kathrin Kunze - Michael Kreil Die Fundamental Matrix - Bisher: Zusammenhänge in Bildkoordinaten - Gesucht: Zusammenhänge in Pixelkoordinaten ~p ~i - Umwandlung von Bild- in Pixelkoordinaten: p K p , wobei K die intrinsischen Kameraparameter enthält - Epipolarbedingung unter Verwendung von Pixelkoordinaten ~ pT (( K 1 )T E K 1 ) ~ q pp 0 - Fundamental Matrix F ( K 1 )T E K 1 ~p - Die Fundamental Matrix F mappt einen Punkt p T auf seine epipolare Linie im zweiten Bild: l2 F ~ pp Lisa Blum - Kathrin Kunze - Michael Kreil VIELEN DANK Lisa Blum - Kathrin Kunze - Michael Kreil TRIANGULIERUNG Lisa Blum - Kathrin Kunze - Michael Kreil 8-Punkte-Algorithmus - - Gesucht: F Gegeben: (min.) 8 korrespondierende Punktepaare (min.) 8 Gleichungen der Form T ~p ~p qi F p 0 f 11 werden umgeschrieben in die Form f12 N 9 A f 0 mit A IR und f ... Gleichung nur lösbar, wenn Rang(A)=8 f 33 Rauschen Rang(A)=9 Gleichung nicht lösbar Lisa Blum - Kathrin Kunze - Michael Kreil 8-Punkte-Algorithmus - f liegt im Nullraum von A Vorgehen - SVD(A) = U V T - 9 0 - Setze 9 0 - SVD(F)= U F F VF - Setze 3 0 1 0 - Setze F U F 0 2 0 0 T - 0 T 0 VF 0 ~ l2T F p p Lisa Blum - Kathrin Kunze - Michael Kreil 8-Punkte-Algorithmus - Problem: Numerische Instabilität des Algorithmus - resultierend aus großer Varianz der Einträge in A - Verbesserte 8-Punkte-Algorithmus durch Normalisieren der korrespondierenden Punkte - Ursprung in Schwerpunkt der feature-Punkte verschieben - feature-Punkte skalieren, so dass Wurzel(2) mittlere Norm max. Stabilität Lisa Blum - Kathrin Kunze - Michael Kreil Triangulierung - Gegeben: korrespondierende Punkte px qx i p und q py qy i - Gesucht: 3D-Punkt in der Welt py qy d F / wz b Lisa Blum - Kathrin Kunze - Michael Kreil Triangulierung - 3D-Koordinate des Weltpunktes: F wz b d wz wx px F wz wy py F Lisa Blum - Kathrin Kunze - Michael Kreil Triangulierung - Problem: Projektion Idee: Reprojektionsfehler minimieren Lisa Blum - Kathrin Kunze - Michael Kreil VIELEN DANK Lisa Blum - Kathrin Kunze - Michael Kreil OPENCV Lisa Blum - Kathrin Kunze - Michael Kreil Was ist das? - C++ Bibliothek - Intel-Entwicklung - Basiert auf IPL (Intel Image Processing Library) - Open Source - Optimiert für Intelprozessoren Lisa Blum - Kathrin Kunze - Michael Kreil Datenstrukturen Bilder - 1, 2, 3, ... Kanäle - 8, 16, 32 Bit Integer - 32 und 64 Bit Float - B/W, Graustufen, RGB, RGBA, LUV, XYZ, YCrCb, HSV, CMY, CMYK, YCC Felder, Matrizen, Vektoren, Graphen Lisa Blum - Kathrin Kunze - Michael Kreil Filter - Kalmann Sobel Convolution Dilatation, Erosion, Öffnen, Schließen Distanz Schwellwert (auch adaptiv) Median Max, Min Lisa Blum - Kathrin Kunze - Michael Kreil weitere Funktionen - Linien, Rechtecke, Kreise, Ellipsen (auch antialiased) - Histogramm - Hough- und Gauß-Laplace-Transformation - Kamerakalibrierung und Linsenentzerrung - Approximation durch Geraden, Polygone, Kurven, Ellipsen, konvexe Hüllen - Konturen, Objekt-, Bewegung-, Gestikerkennung Lisa Blum - Kathrin Kunze - Michael Kreil Lisa Blum - Kathrin Kunze - Michael Kreil Lisa Blum - Kathrin Kunze - Michael Kreil Lisa Blum - Kathrin Kunze - Michael Kreil http://www.intel.com/technology/computing/opencv/ http://sourceforge.net/projects/opencvlibrary/ VIELEN DANK Lisa Blum - Kathrin Kunze - Michael Kreil Input 3n Matrix mit n Koordinaten und Helligkeitswerten x1 y1 l 1 x2 x3 y2 l2 y3 l3 xn yn ln Intrinsische Kameraparameter Kx K 0 0 s K y 0 F Kx dx F Ky dy Hx Hy 1 HDR-Bild der 2. Kamera Lisa Blum - Kathrin Kunze - Michael Kreil Output 4n Matrix mit n Koordinaten und Helligkeitswerten x1 y1 z1 l1 Lisa Blum - x2 x3 y2 z2 l2 y3 z3 l3 Kathrin Kunze xn yn zn ln - Michael Kreil