Computer Vision SS 211 Skript (Work in Progress) Simon Hawe & Martin Kleinsteuber Skript: Manuel Wolf
Inhaltsverzeichnis 1 Einführung 1 1.1 Was ist ein Bild?................................. 1 1.2 Wie entsteht ein Bild?............................... 1 1.2.1 Bild durch (dünne) Linse......................... 1 1.2.2 Einfaches Kameramodell: Die Lochkamera............... 1 1.2.3 Perspektive Projektion.......................... 2 1.3 Homogene Koordinaten.............................. 2 2 Feature Point Extraction 5 2.1 Corner and Line Detection............................ 5 2.1.1 Wiederholung Lineare Algebra...................... 5 2.1.2 Harris-Edge/Corner-Detector....................... 6 3 Bild, Urbild und Co-Bild von Linien und Punkten 9 4 Epipolargeometrie 11 4.1 Euklidische Transformationen (Wdh.)...................... 11 4.2 Epipolargeometrie (Kernstrahl-Geometrie).................... 11 4.3 Rechenbeispiele.................................. 12 5 8-Punkt-Algorithmus 15 5.1 Wiederholung: Mathe............................... 15 5.2 8-Punkt-Algorithmus............................... 15 5.3 Lin. Alg. Review................................. 16 5.4 Pose Recovery................................... 18 i
1 Einführung 1.1 Was ist ein Bild? Eine Funktion I : Ω R 2 R heißt monochromatisches Bild. oft: Ω rechteckig (CCD-Sensor, Charge-coupled-device) Bei digitalen Bildern ist sowohl Ω als auch der Wertebereich diskret und endlich, z.b. Ω = [164] [148] Z 2, I(x, y) [, 255] Z Physikalische Interpretation: I(x, y) ist Bestrahlungsstärke (in W m 2 ). Bild als Graph von I Digitale Bilder als Matrix Darstellung mit Grauwerten ( reales Bild) 1.2 Wie entsteht ein Bild? 1.2.1 Bild durch (dünne) Linse 1. Strahlen durch werden nicht abgelenkt 2. Strahlen parallel zur optischen Achse laufen durch den Brennpunkt Z f z = B b = z f z Z = z f 1 1 Z + 1 z = 1 f (Strahlensatz) (Gleichung für die dünne Linse) 1.2.2 Einfaches Kameramodell: Die Lochkamera Annahme: Öffnung alle Strahlen gehen durch das optische Zentrum, d.h. Bildpunkte sind immer in der Brennebene. x p R 3 mit Koordinaten y relativ zu, p = z y f = y z y = f z y Analog: x = f z x x y f auf Brennebene. 1
1 Einführung 1.2.3 Perspektive Projektion [ ] x Durch Identifikation der Brennebene mit R 2 hat das Bild von p die Koordinaten x Definition 1.1. Die Abbildung Π : R 3 R 2, y f z z y = f z [ ] x y [ ] x heißt ideale perspektive Projektion. y Diskussion: Wann ist diese Gleichung gültig? Bei zu kleinem z gehen die Koordinaten der Bildpunkte gegen unendlich; das Modell ergibt keinen Sinn mehr. 1.3 Homogene Koordinaten Definition 1.2. Sei x = von x. x 1. x n Frage: Was sind die Urbilder von [ ] x x Π 1 = y λ y λ R f R n. Dann heißen x 1. x n 1 Rn+1 die homogenen Koordinaten [ ] x unter der idealen perspektiven Projektion? y Jedem Punkt im R n kann eine Gerade (homogene Koordinaten) im R n+1 zugeordnet werden. Umgekehrt klappt es auch, falls nicht für alle Punkte der Geraden gilt x n+1 =. x x 1 1. = [ I n ]. x x n, I n : (n n)-einheitsmatrix n 1 =: Π heißt kanonische Projektion. [ ] [ ] x Beispiel 1.3. Die perspektive Projektion eines Punktes liefert y = f x z y [ ] [ ] x x bzw.: z y = f. y Der Übergang zu homogenen Koordinaten liefert: x f y z x x fx f x f = f z y = 1 z fy = 1 z f y = 1 z f Π y z 1 1 z 1 z 1 1 2
1.3 Homogene Koordinaten Wir erhalten somit das geometrische Modell einer idealen Kamera: x x f z y = f Π y z 1 1 1 3
2 Feature Point Extraction Idee: Zwei Bilder von einem Objekt. Finde Korrespondenzen eines markanten Merkmals (Feature) des ersten Bildes im zweiten. Mögliche Anwendungen: Tiefeninformationen aus Stereokameras (analog zum menschlichen Auge), Bewegung zwischen zwei Bildern,... Wie findet man solche Merkmale? Kanten und Ecken. 2.1 Corner and Line Detection Idee: kleiner Bildausschnitt, Verschiebung um u. Inmitten Fläche: Bild ändert sich nie. Am Rand: Bild ändert sich, außer Bild wird entlang der Kante verschoben. An Ecke: Bild ändert sich immer. Benötigte Mathematik: LinAlg: Eigenwerte Eigenwertzerlegung reeller symmetrischer Matrizen Positiv-semidefinite Matrizen Calculus Taylor-Approximation 1. Ordnung 2.1.1 Wiederholung Lineare Algebra Lineare Abbildung A : R n R m A R m n, x A x Ker A = {x R n Ax = } Bild A = {Ax x R n } Dimensionsformel: dim Ker A + dim } Bild {{ A} = n = Rang von A 5
2 Feature Point Extraction Definition 2.1. Transponierte von A: A T R n m Eigenschaften: (Bild A) = Ker A T ( : orthogonales Komplement) Betrachte A R n n. A : R n R n Definition 2.2. Falls A x = λ x für ein λ R, x R n \ {}, dann heißt x Eigenvektor von A zum Eigenwert λ. Beobachtung: [ Nicht ] jede reelle Matrix hat reelle Eigenwerte und -vektoren. 1 (z.b. A = ) 1 Definition 2.3. Falls eine Basis des R n aus Eigenvektoren besteht, z.b. [v 1,..., v n ] =: V : λ 1 A [v 1... v n ] = [A v 1... A v n ] = [λ 1 v 1... λ n v n ] = [v 1... v n ]... } {{ λ n } =:D A = V D V 1 heißt Eigenwertzerlegung von A. Definition 2.4. A R n n, A = A T (symmetrisch) und x T Ax, x R n A heißt positiv semidefinit. Falls x T Ax >, x positiv definit [ ] 2 1 Beispiel 2.5. ist positiv definit. Zur Überprüfung: Berechne Eigenvektoren. 1 2 Satz: Wenn A positiv definit, dann gilt: R n besitzt Basis aus Eigenvektoren von A. Alle Eigenwerte von A sind > (semidefinit: ). A = A T Allgemein: A = A T, dann besitzt A eine reelle Eigenwertzerlegung. Eigenvektoren zu unterschiedlichen Eigenwerten sind orthogonal, d.h. V kann so gewählt werden, dass: A = V D V 1, v T i v j = obda. v i = 1, d.h. V ist orthogonale Matrix (V T V = I n ). V 1 = V T A = V D V T, V orthogonal, V O(n) = {V R n n V T V = I n } 2.1.2 Harris-Edge/Corner-Detector Sei I : Ω R 2 R ein Bild. Sei W (x) Ω ein Fenster um x Ω. Betrachte: S(u) = x W (x)(i( x) I( x + u))2 I( x + u) T aylor I( x) u + I( x), I( x): Gradient von I bei x. 6
2.1 Corner and Line Detection S(u) x W (x) ( [ I x 1 ( x) I( x) } {{ } I x 2 ( x) ] }{{} u ) 2 u 1 u 2 = x W (x) ut I( x) T I( x) u = u T I( x) T I( x) u, G(x) R 2 2 ist symmetrisch und pos. semidefinit. x W (x) } {{ } =:G Beobachtung: [ ] homogene Fläche: G(x) = [ ] λ Kante: EW von G(x) : [ ] λ1 G(x) = V λ 2 = ũ 2 1 λ 1 + ũ 2 2 λ 2 V T S(u) u} T {{ V} =:ũ [ ] λ Falls λ 1, λ 2 = : S(u) für alle ũ, somit für alle u. Homogene Fläche. Falls λ 1, λ 2 = : S(u) für ũ = Eigenwert ist. Kante entlang x + u. Falls λ 1, λ 2 : S(u) nur für u = Ecke. V T u } {{ } =:ũ T [ ] s, s R, g.d.w. u Eigenvektor von G(x) zum 1 Anmerkung: Es kann hier zusätzlich ein Gewichtungsfaktor w( x) verwendet werden. (sehr naive) Approximierung des Gradienten: f (x) = h lim f(x+h) f(x) h=1 xi(x, y) I(x + 1, y) I(x, y) h 7
3 Bild, Urbild und Co-Bild von Linien und Punkten Definition 3.1. x, y R n schreibe x y falls λ R mit x = λy. p1 v1 Gerade im Raum: L (hom) = { p2 p3 v2 v3 λ R} 1 1 Für homogene Koordinaten in der BE gilt: x Π L (hom). Π = 1 1 Definition 3.2. Das Urbild eines Punktes x in der BE ist die Menge der Punkte im Raum, die über die Projektion auf x abgebildet werden. preimage(x) = Π 1 (x) Feststellung: Urbild eines Punktes / einer Geraden sind Untervektorräume in R 3. Definition 3.3. Das Co-Bild eines Punktes / einer Geraden ist das orthogonale Komplement des Urbildes. Bild, Urbild und Co-Bild von Punkten / Geraden sind einander eindeutig zuzuordnen, also äquivalente Darstellungen. Bild = Urbild BE Urbild = <Bild> = (Co-Bild) Co-Bild = Urbild Sei l das Co-Bild der Geraden L und sei x Π(L), dann gilt: x T l = = l T x. l 3 l 2 Definition 3.4. Sei l R 3, l = [l 1 l 2 l 3 ], dann ˆl R 3 3, ˆl = l 3 l 1. l 2 l 1 Es gilt: für a R 3 ˆl a = l a 9
3 Bild, Urbild und Co-Bild von Linien und Punkten Ker ˆl = l Bild ˆl = Bild ˆl T = (Ker ˆl) = l Es gilt: Bild Urbild Co-Bild Punkt < x > BE < x > < ˆx > Linie < ˆl > BE < ˆl > < l > 1
4 Epipolargeometrie 4.1 Euklidische Transformationen (Wdh.) { Rotationen: werden beschrieben durch Matrizen der speziellen orthogonalen Gruppe SO(n) = X R n n X T X = I n, detx = 1 } λ 1 Bemerkung: ist A = A T, so X SO(n) mit X T AX =... λ n (weil det[x 1,..., x n ] = det[x 1,..., x n ]). Bemerkung: X 1, X 2 SO(n), dann: 1. X 1 X 2 SO(n) 2. (i.a.) X 1 X 2 X 2 X 1 3. X T 1 = X 1 1 4. X 1 1 SO(n) Definition 4.1. Die Abbildung g : R n R n, x Rx + T mit R SO(n), T R n heißt euklidische Transformation. Bemerkung: g(x) g(y) 2 = x y 2 für alle x, y R n. Beispiel 4.2. g 1 (x) = R 1 x + T 1, g 2 = R 2 x + T 2 g 2 g 1 (x) = R 2 (R 1 x + T 1 ) + T 2 = R 2 R } {{ } 1 x + R 2 T 1 + T 2 ist wieder eine euklidische Transformation. } {{ } R T In homogenen Koordinaten [ ] lässt sich g beschreiben durch Matrix-Vektor-Multiplikation, nämlich: g(x (hom) ) = x R T 1 (hom) 4.2 Epipolargeometrie (Kernstrahl-Geometrie) Aufnahme eines Objektes aus verschiedenen Perspektiven. -> Epipolargeometrie beschreibt die Beziehung zwischen den Bildern. Annahme: Zwei identische kalibrierte Kameras mit relativer Pose (R, T ): g : x Rx + T Wenn X 1 R 3 Koordinaten eines Punktes p bezüglich Kameraframe 1, und X 2 R 3 Koordinaten desselben Punktes bezüglich Kameraframe 2, dann gilt X 2 = R X 1 + T. 11
4 Epipolargeometrie Ziel: Zusammenhang finden zwischen Bild von p in Kamera 1 und Kamera 2. Seien x 1, x 2 die Bildpunkte von p in homogenen Koordinaten. λ 1 x 1 = X 1, λ 2 x 2 = X 2, λ 1, λ 2 R \ {}, also: λ 2 x 2 = R λ 1 x 1 + T T ( ˆT t 1 ), T = t 2, ˆT t 3 t 2 = t 3 t 1 t 3 t 2 t 1 λ 2 ˆT x 2 = ˆT ( R λ 1 x 1 x T 2 x T 2 (T x 2 ) = ) = λ 1 x T 2 ˆT Rx 1 λ 1 x T 2 ˆT Rx 1 = Definition 4.3. Die Matrix E := ˆT R R 3 3 heißt essentielle Matrix. Die Gleichung x T 2 ˆT R x 1 = heißt epipolare Bedingung (epipolar constraint). Definition 4.4. Seien o 1, o 2 Ursprünge der beiden Koordinatensysteme. 1. Die Ebene, in der p, o 1, o 2 liegen, heißt Epipolarebene von p. (Falls o 1 =, so ist die Epipolarebene gegeben durch x1, T ). 2. Π 1 (o 2 ) =: e 1, Π 2 (o 1 ) =: e 2 heißen Epipole. 3. Der Schnitt der Epipolarebene von p mit der BE 1 (BE 2 ) ist eine Linie l 1 (l 2 ). Diese heißt Epipolarlinie von p. Satz: Sei E = ˆT R die essentielle Matrix, die die relative Pose zwischen den Kameras beschreibt. x 1 Bildpunkt von p in Kamera 1, x 2 Bildpunkt von p in Kamera 2. d.h. x T 2 Ex 1 =. Dann gilt: 1. e T 2 E =, Ee 1 = (d.h. e 2 T, e 1 R T T ) 2. l 2 Ex 1, l 1 E T x 2 3. l T i e i =, l T i x i = für i = 1, 2 4.3 Rechenbeispiele Anmerkung: Verschiedene Koordinatensysteme beachten! T ist im Koordinatensystem 2. x 1, e 1, bzw. x 2, e 2 sind in ihrem jeweiligen Koordinatensystem (1 bzw. 2). R x 1, R e 1 bzw. R T x 2, R T e 2 sind die Punkte im jeweils anderen Koordinatensystem (2 bzw. 1). 12
4.3 Rechenbeispiele Abbildung 4.1: Epipolargeometrie (1) Veranschaulichung der epipolaren Bedingung x T 2 ˆT R x 1 = x T 2 ˆT R x 1 = x 2 T R x } {{ } 1 o 1 p in KS 2 Beobachtung: dim x 2, T, R x 1 = 2...liegen in einer Ebene. (siehe Bild 4.1) (2) Zeige: a) Ee 1 = und b) e T 2 E = [ ] E = ˆT R a) E e 1 = ˆT R e 1 = T Re 1 = (T und Re 1 selbe Richtung, siehe Bild 4.1) b) (e T 2 E)T = E T e 2 = (R T ˆT T )e 2 = R T ˆT e2 = R T (T e 2 ) = R T = e T 2 E = [ ] (3) Zeige: l 1 E T x 2 und l 2 Ex 1 l 1 = e 1 x 1, also l 1 e 1, x 1 z.z.: E T x 2 e 1, x 1, also 1) x 1 E T x 2 und 2) e 1 E T x 2 1) x T 1 ET x 2 = x T 2 Ex epip. Bed. 1 = 2) e T 1 ET x 2 = (Ee 1 ) T (2)a) x 2 = T x 2 = E T x 2 e 1, x 1 E T x 2 l 1. Für l 2 Ex 1 analog. (4) Zeige: l T i e i = 13
4 Epipolargeometrie Für i = 1: l 1 E T x 2 (3) l 1 = λ (E T x 2 ) l T 1 e 1 = λ (E T x 2 ) T e 1 = λx T 2 Ee 1 Für i = 2 analog. (5) Zeige: l T i x 1 = (2)a) = λx T 2 =. Für i = 1: l1 T x 1 = λ(e T x 2 ) T x 1 = λx T 2 Ex epip. Bed. 1 = λ = Für i = 2 analog. 14
5 8-Punkt-Algorithmus Was können wir mit der essentiellen Matrix anfangen? Drastische Reduktion des Suchraums für korrespondierende Punkte (Linie statt ganzes Bild). Waagerechtes Ausrichten der Epipolarlinien. 5.1 Wiederholung: Mathe Benötigte Werkzeuge: (Matrix-)Normen, konkret: Frobeniusnorm Kroneckerprodukt Singulärwertzerlegung 5.2 8-Punkt-Algorithmus Gegeben (x i, y i ), i = 1...n korrespondierende Bildpunkte (in homogenen Koordinaten). Aufgabe: Finde E. Es gilt: y T i E x i i = 1...n. (*) Bemerkung: E kann höchstens bis auf skalares Vielfaches bestimmt werden. Umschreibe: y T Ex = y T [e 1, e 2, e 3 ] x } {{ } E = y T [t 1 e 1, t 2 e 2, t 3 e 3 ] (mit x = t 2 ) t 3 = [y T t 1 e 1, y T t 2 e 2, y T t 3 e 3 ] = [y T t 1, y T t 2, y T t 3 ] e } {{ } 2 e R 1 9 3 } {{ } R 9 = (x }{{} y) T Kroneckerprodukt e 1 e 2 e 3 t 1 e 1 15
5 8-Punkt-Algorithmus (*) wird also zu: e 1 D T e 2 =, D = [x 1 y 1,..., x n y 2 ] R 9 n e 3 (1) Wegen Skalierungsinvarianz verlange, dass E F = e 1 e 2 e 3 = 1. 2 (2) Finde η R q mit Norm η = 1 so, dass D T η 2 minimal wird. Lösung: min η =1 D T η 2 2 = min η =1η T DD T η η ist normierter Eigenvektor von DD T zum kleinsten Eigenwert. nächstes Problem: projeziere die Matrix H := [η 1, η 2, η 3 ] auf die näheste essentielle Matrix (d.h. auf eine mit Rang = 2 und 2 gleichen Singulärwerten). 1 Sei H = U σ σ 2 σ 3 V T SVD von H. Erhalte Schätzung für E mittels: ˆσ E := U ˆσ V T, ˆσ := 1 2 (σ 1 + σ 2 ) bzw., wegen Skalierungsinvarianz: 1 E := U 1 V T 5.3 Lin. Alg. Review Sei A R n k, (k n) Dann existiert U O(n), V O(k) (orthogonale Matrizen) und σ 1... σ n mit σ 1... A = U σ k V T (Singulärwertzerlegung SVD) σ 2 1 σ 2... 1 Bemerkung: V T (A T A)V =..., U T (AA T )U = σ 2 n σn 2... * i.a. nur numerische Approximation bestimmbar. 16
5.3 Lin. Alg. Review * U, V nicht eindeutig, aber Σ = σ 1... schon! σ k Satz: E R 3 3 \ {} ist essentielle Matrix genau dann, wenn σ E = U σ V T, mit U, V SO(3). (Beweis: Ma [1], Theorem 5.5) 1 Beispiel: SVD von 1 =: A 1 1 1 1 A = 1 1 1 } 1 {{ } } {{ 1 } } ±1 {{ } U Σ V T Achtung: Entweder U oder V / SO(3) (det = 1). Aber: U, V SO(3) immer konstruierbar, z.b. für U / SO(3): σ 1 σ E = U σ V T = U 1 σ V T. (analog für V) 1 d.h. wir können annehmen, dass U, V SO(3). * R n k ist reeller Vektorraum mit Skalarprodukt. R n k R n k R, (A, B) tr(a B T ) * tr(a B T ) = tr(b T A) = tr(b A T ) = tr(a T B) dadurch ist Norm erklärt: A F = [tr(a T A)] 1/2 (Frobenius-Norm) * UAV T F = A F für U O(n), V O(n) A F = (Σ σ 2 i )1/2, σ i Singulärwerte von A. Satz: Sei A R n k mit SVD A = U Sei M (l) = {X R n k rk(x) l} σ 1... σ l Sei A trunc := U... [ ] 1 Σ V T, Σ = σ... V T σ k 17
5 8-Punkt-Algorithmus Dann gilt: 1) A trunc M (l) 2) Für alle X M (l) gilt: A X F A A trunc F 5.4 Pose Recovery Wir haben E, wie bekommen wir nun R, ˆT? σ Sei E = U σ V T, U, V SO(3). } {{ } Σ 1 1 Sei ˆT 1 = U 1 Σ U T, R 1 = U 1 V T 1 1 1 1 und ˆT 2 = U 1 Σ U T, R 2 = U 1 V T 1 1 Es gibt genau zwei euklidische Transformationen die zu E gehören, nämlich: ( ˆT 1, R 1 ), ( ˆT 2, R 2 ). (Beweis in Ma [1]) Bemerkung: Erhält man also E über 8-Punkt-Algorithmus, ist ˆT bis auf Skalierung bestimmt. Festlegen von ˆT = 1 ˆ= Festlegen der Längeneinheit. F Gegeben (durch 8-Punkt-Algo) also ±E. 1 SVD von E = U( Σ)V T = U 1 1 ˆT 3 := Ũ 1 Σ Ũ T = ˆT 1 1 1 R 3 = Ũ 1 Σ V T = R 2 1 ˆT 4 = ˆT 2, R 4 = R 1 also 4 euklidische Bewegungen: ( ˆT 1, R 1 ), ( ˆT 2, R 2 ) ( ˆ=E) ( ˆT 1, R 2 ), ( ˆT 2, R 1 ) ( ˆ= E) } {{ } Ũ E = UΣV T ΣV T 1 18
5.4 Pose Recovery Nur ein Paar erfüllt die Gleichung λ 2 y = λ 1 Rx + T mit λ 1, λ 2 >. Ausprobieren. 19
Literaturverzeichnis [1] Yi Ma, Stefano Soatto, Jana Kosecka, and S. Shankar Sastry. An Invitation to 3-D Vision: From Images to Geometric Models. Springer Verlag. 21