Computer Vision: Stereo
D. Schlesinger () Computer Vision: Stereo 1 / 12
Geometrisches Stereo vs. andere Methoden
Shape from Texture
Shape from Shading
Stereo
D. Schlesinger () Computer Vision: Stereo 2 / 12
Geometrische Grundlagen
Allgemeine Situation:
xlFxr = 0
(Bedingungen der Epipolargeometrie)
Paralleles (rektifiziertes) Stereo:
Die Menge der Korrespondenzpaare ist (xl,xr,y), d.h.∈R3
Korrespondenzproblem
D. Schlesinger () Computer Vision: Stereo 3 / 12
Stereo als Optischer Fluss (kontinuierlich)
Idee [Slesareva, Bruhn, Weickert, 2005]: der Optische Fluss (u,v) so einzuschränken, dass er die Bedingungen der (bekannten) EpipolargeometriexT·F·(x+ (u,v)) erfüllt.
x y 1"
f11 f12 f13
f21 f22 f23
f31 f32 f33
# "
x+u y+v 1
#
= 0
Energiefunktional:
E(p) =ED(p) +βES(p)→min
p
ED(p) =
Z
Ω
ΨD |gr(x+d(p))−gl(x)|2+α|∇gr(x+d(p))− ∇gl(x)|2
dxdy
ES(p) =
Z
Ω
ΨS |∇p|2
dxdy
x– Position im linken Bild,ql,gr – Bilder
p(x) – die Komponente des Flussfeldes entlang den entsprechenden Epipolarlinien (1D) d(p(x)) – „p- undF-gesteuertes“ Flussfeld (2D)
Einsetzen, ableiten, mit Standardmethoden lösen ...
D. Schlesinger () Computer Vision: Stereo 4 / 12
Diskrete Repräsentation der Tiefenkarte
Y
Z X
pl=Tl(X,Y,Z) pr=Tr(X,Y,Z)
k= 1 k= 2 . . . k=kmax
r r r r
r r
e e
e e
e
Definitionsbereich ist ein GraphV= (R,E),r∈Rein „Pixel“,R⊂Z2 Wertebereich ist eine (diskrete) MengeKder Label (Tiefenwerte) Tiefenkarte ist eine Abbildungy:R→K,
d.h. jeder Positionr∈Rwird ein Tiefenwertk∈K zugeordnet.
Jedes Paar (r,k) repräsentiert einen Punkt (X,Y,Z)∈R3
→wird auf das entsprechende Korrespondenzpaar (pl∈R2,pr ∈R2) abgebildet
D. Schlesinger () Computer Vision: Stereo 5 / 12
Ähnlichkeitsmaße
r r r r
. . . k= 1 k= 2
k=kmax . . .
pl pr
Quadratische Differenz der Farbwerte:
A(r,k) =A(pl,pr) = Il(pl)−Ir(pr)
2Rauschen unterdrücken:
A(pl,pr) =
X
4p∈F
[Il(pl+4p)−Ir(pr+4p)]2
Farbtransformationen erlauben:
die Färbungen dürfen sich um eine additive Konstante unterscheiden (heller/dunkler) A(pl,pr) = min
Cv
X
4p∈F
[Il(pl+4p) +Cv−Ir(pr+4p)]2
∂A
∂Cv
=
X
4p∈F
2 [Il(pl+4p) +Cv−Ir(pr+4p)] = 0
⇒ Cv= 1
|F|
X
4p∈F
[Ir(pr+4p)−Il(pl+4p)]
A(pl,pr) =
X
4p∈F
[Il(pl+4p)−Ir(pr+4p)]2−Cv2· |F|
D. Schlesinger () Computer Vision: Stereo 6 / 12
Ähnlichkeitsmaße
Weitere erlaubte Farbtransformation – Kontrast anpassen:
A(pl,pr) = min
Cv,Cs
X
4p∈F
[Il(pl+4p)·Cs+Cv−Ir(pr+4p)]2
⇒„fast“ Korrelationskoeffizient ...
Weitere Möglichkeiten – z.B. beliebige monotone Farbtransformationen usw.
Geometrische Transformationen erlauben:
G
Gl Gr
A(pl,pr) = min
Cv,Cs,Tr
X
4p∈F
Il(pl+4p)·Cs+Cv−Ir Tr(pr+4p)2Je mehr Transformationen werden erlaubt,
desto weniger diskriminativ werden die Ähnlichkeitsmaße
⇒Kompromiss „Rauschen↔Signal“ ist wichtig
Das Thema „Ähnlichkeitsmaße“ ist auch bei der „Erkennung“ relevant.
D. Schlesinger () Computer Vision: Stereo 7 / 12
Block Matching
Keine weitere Annahmen – unabhängige Entscheidungen für aller:
y(r) = arg min
k
A(r,k) ∀r
– sehr einfach
– sehr schnell (durch Integralbild)
– kann für die Schätzung „undichter“ Tiefenkarten verwendet werden – als eine Initialisierung für komplizierter Verfahren oft gut geeignet
D. Schlesinger () Computer Vision: Stereo 8 / 12
Zeilenweise Ansätze
Bestimmte Kombinationen der Label in den (horizontal) benachbarten Knoten sind gar nicht möglich:
r r r
k= 1 k= 2
k=kmax . . . k= 3 . . .
Eine Funktion definieren, die alle Labelpaare bewertet:
r r0
k= 1 k= 2 . . . k=kmax
e
Für jede Zeile des Definitionsbereiches
y∗= arg min
y
h X
ni=1
qi(yi) +
n
X
i=2
g(yi−1,yi)
i
→Dynamische Programmierung
[Gimel’farb, sehr lange her]
D. Schlesinger () Computer Vision: Stereo 9 / 12
Energieminimierung
Es gibt Funktionengfür die Bewertung der Labelpaare sowohl in der horizontalen als auch in der vertikalen Richtung
y∗= arg min
y
hX
r∈R
qr(yr) +
X
rr0∈E
g(yr,yr0)
i
k= 1 k= 2 . . . k=kmax
r r r r
r r
e e
e e e
g(k,k0) =
n
0 wenn |k−k0| ≤δ∞ sonst g(k,k0) = c·(k−k0)2 g(k,k0) =
n
0 wenn k=k0a>0 sonst
[Boykov, Kolmogorov, Veksler, Zabih, um 2001]
D. Schlesinger () Computer Vision: Stereo 10 / 12
Statistische Modelle – MRF-s
Die a-posteriori Wahrscheinlichkeitsverteilung der Labellings (Tiefenkarten):
p(y)∼exp
hX
r
qr(yr) +
X
rr0
g(yr,yr0)
i
Maximum a-posteriori Entscheidung:
y∗= arg min
y
hX
r
qr(yr) +
X
rr0
g(yr,yr0)
i
Minimum square error:
y∗r =
X
k
k·p(yr =k) ∀r
[Schlesinger, 2003]
D. Schlesinger () Computer Vision: Stereo 11 / 12
Nicht-rektifiziertes Stereo
„Einfache“ Variante:
1) Bilder rektifizieren (SIFT, RANSAC ... , Homographien anwenden) 2) Rektifiziertes Stereo lösen
„Kompliziertere“ Variante:
Sowohl die Tiefenkarte als auch die Epipolargeometrie sind Unbekannte Größen in einem einheitlichen Modell.
Iterieren:
1) Korrespondenzpaare→Epipolargeometrie (z.B. mit 8-Punkte Algorithmus) 2) Epipolargeometrie→Rektifiziertes Stereo, Abweichungen zulassen!!!
Zum Selbstweiterlesen:
Kontinuierlich: [Valgaerts, Bruhn, Mainberger, Weickert, 2010]
Diskret: [Schlesinger, Flach, Shekhovtsov, 2004]
D. Schlesinger () Computer Vision: Stereo 12 / 12