Computer Vision
V. Dynamische Stereoanalyse
Datum: 12.01.2001Vortrag von: Mark Kiwitz
2
Einführung
Welche Dynamikursachen betrachten wir? Bedeutung von Bewegungsvektoren Darstellung von Vektorfeldern Grundlage für Gestaltsrekonstruktion Berechnungsverfahren: optischer Fluß
3
Gliederung
1. Verschiebungsvektoren & Rekonstruktion
2. Optischer Fluß3. Objektrotation & Rekonstruktion4. Diskussion
4
1. Verschiebungsvektoren & Rekonstruktion
Theoretische Grundlagen für dynamische Bildaufnahmen
keine Einschränkung der 3D-Bewegung keine kalibrierten
Bildaufnahmesituationen Berechnung von Oberflächennormalen aus
lokalen Verschiebungsvektoren
5
Lokale Verschiebungsvektoren
Konstante Kameraposition Absolute Bewegungen Formfeste Szenenobjekte
Erzeugung einer Bildfolge E1 , E2 , E3 , ...
durch in konstanten Zeitabstand tconst
aufgenommene Abbilder Ei
6
Lokale Verschiebungsvektoren
Oberflächenpunkt P wird in Ei auf palt = (x,y) und in Ei+1 auf pneu projiziert
Diskreter Fall für Zeitpunkte ti = i tconst :
dxy (ti) = pneu - palt = tconst (xy (ti) , xy(ti) )T Allgemeiner Fall:
vxy (ti) = dp/dt (t) = p’(t) = (xy (t) , xy(t) )T
& dxy (t) = tconst vxy (ti)
pneu = palt + tconst p’(t)
7
Lokale Verschiebungsvektoren
Veschiebungsvektoren dxy (t) repräsentieren die 3D-Bewegung
Menge dieser Vektoren bilden das lokale Ver-schiebungsfeld , welche die Grundlage für Un-tersuchungen der Bewegungsgeometrie bilden
Berechnung nur möglich, wenn einzelne Ober-flächenpunkte eindeutig in der Bildfolge verfolgt werden können (Aperturproblem)
8
Objektbewegung und lokale Verschiebung
Lokale Verschiebungsfelder sind sinnvoll für Rekonstruktionsalgorithmen, aber es besteht das Problem, daß dabei die 3D-Bewegungs-vektoren nicht immer konstant sind.
Absolute Geschwindigkeit des Oberflächenpunk-tes muß ermittelt werden.
9
Objektbewegung und lokale Verschiebung
Geschwindigkeit des Oberflächenpunktes P = (X ,Y ,Z ): vP(t) = vXYZ (t)
Für kamerazentriertes Projektionsmodell seien P = (X ,Y ,Z )T und p = (x ,y ,f )
T Punktvektoren Geschwindigkeiten der Punkte:
vXYZ (t) = dP/dt(t) = P’(t), dxy (t) = dp/dt(t) = p’ (t)
Skalarprodukt des Punktes P = (Xt ,Yt ,Zt ) mit dem Einheitsvektor k = (0,0,1)T ist Zt
10
Objektbewegung und lokale Verschiebung
Laut Strahlensatz gilt folgender Zusammenhang:
p(t) = f/Zt P(t) Aus Kreuzproduktregel
(a x b) x c = (a c) b - (b c) a folgt:
dxy (t) = f/Zt2 (P(t) x vXYZ (t)) x k
11
Objektbewegung und lokale Verschiebung
Nutzung für synthetische Objekte zur Er-zeugung eines lokalen Verschiebungsfeld
Schlüsse ziehen auf das Verhalten von lokalen Verschiebungsvektoren relativ zur Objektgeometrie
Diskontinuitäten bei Verdeckungskanten
12
Objektbewegung und Gradienten
Oberflächenpunkt P sei auf einer Facette Facette liegt auf der Ebene: Z = pX + qY + r Für P gilt speziell P = (A, B, pA + qB + r ) Bewegung der Facette ist eine Kombination
aus Rotation und nachfolgender Translation grad P = (nx(P), ny(P), nz(P))T = (p, q, -1)T
Drehung um Rotationszentrum (0, 0, r )T Rotationsachse sei (1 , 2 , 3 )
T
Translationsvektor sei (a ,b ,c )T
13
Lokale Verschiebungen und Gradienten
Oberflächengradienten und lokale Verschie-bungen sind voneinander abhängig
Diese Abhängigkeiten zu überprüfen sind eine spezielle Zielstellung der Gestaltrekonstruktion
Durch Approximation können Verschiebungs-felder als Polynome dargestellt werden
14
2. Optischer Fluß
Ausgangsproblem: bis jetzt wurden nur dynami-sche formfeste Szenenobjekte betrachtet; was ist, wenn die Kamera sich ebenfalls bewegt oder das Objekt nicht konstant ist (z.B.Wolken)?
Der optische Fluß bietet nun Verfahren, so daß Verschiebungsfelder auch für solche Situationen berechnet werden können
15
Lösungswege
Zu bestimmen ist eine Bildfunktion, die “Pixel” auf jeweils einen Wert abbildet
Diese nennt man Bildirradianz E (x, y, ti) von Bild Ei im Punkt p = (x, y ), für i = 0,1,2,... und ti = i tconst
Der optische Fluß sei nun definiert als
ui (x, y ) = (ui (x, y ), vi (x, y ) )T
von Bild Ei zu Ei+1
16
Lösungswege
Bildwerttreue des optischen Flusses:E (x +ui (x, y ), y +vi (x, y ), ti+1) = E (x, y, ti)
(dies kann jedoch Algorithmen zur Vektorbe-rechnung von (u, v )T nur gering unterstützen)
Zielstellung ist, daß der optische Fluß der loka-len Verschiebung entspricht
Bewegungstreue des optischen Flusses: xy (ti) = ui (x, y ) , xy(ti) = vi (x, y )
17
Horn-Schunck-Verfahren
Darstellung der Bildfunktion E (x, y, ti) für einen kleinen Schritt (x, y, t) durch eine TaylorreiheE (x + x, y + y, ti + t )
= E (x, y, ti) + x Ex + y Ey + t Et
+ e Aus der Bildwerttreue bzw. der
Bewegungstreue des optischen Flusses folgt die Horn-Schunck-Bedingung:0 = ui (x, y ) Ex + vi (x, y ) Ey + Et
18
Horn-Schunck-Verfahren
Für einen bestimmten Zeitpunkt der Bildfolge nimmt die Horn-Schunck-Bedingung die Form
u Ex + v Ey = -Et bzw. (Ex ,Ex ) (u,v )T = -Et
(die Ableitungen von E seien vorrausgesetzt) u und v sind dadurch eingeschränkt
(Darstellung als Gerade im uv-Raum) Nun könnte man eine Lösung wählen ( Schnitt-
punkt einer Senkrechten mit der Geraden)
19
Horn-Schunck-Verfahren
Da für die Bestimmung geeigneter u - und v - Werte eine Gerade unendlich viele Lösungen bietet, ist es sinnvoll eine weitere Annahme für den optischen Fluß zu untersuchen
Es existiert folgende Feststellung: benachbarte Oberflächenpunkte eines sich bewegenden Objektes besitzen etwa die selben Verschiebungsvektoren (Glattheit des Vektorfeldes)
20
Horn-Schunck-Verfahren
Diese Glattheit ist gegeben, wenn die Änderungen des Vektorfeldes klein sind man bestimmt die erste Ableitung des Vektorfeldes und versucht diese zu minimieren
u (x, y ) = (u (x, y ), v (x, y ) )T
insgesamt vier mögliche Ableitungen: ux (x, y ), uy (x, y ), vx (x, y ), vy (x, y )
21
Horn-Schunck-Verfahren
Um jetzt den optimalen Wert herauszufinden, werden die einzelnen Ableitungen quadriert und anschließend aufsummiert ux (x, y )2 +uy (x, y )2 +vx (x, y )2 +vy (x, y )2
Da dieser Fehler vom optischen Fluß abhängt, muß zusätzlich die Horn-Schunck-Bedingung eingehalten werden, d.h. hier muß ebenfalls der Fehler berücksichtigt werden (Fehlerterm e) folgende Funktionale sind zu minimieren
22
Horn-Schunck-Verfahren
Fg (u, v ) = (ux
2 + uy
2 + vx2 + vy
2 )dxdy
Fh (u, v ) = (u Ex +v Ey +Et )
2 dxdy
Der Fehler insgesamt ist also:
FkHornSchunck (u, v ) = Fg (u, v )+ Fh (u, v ) ist hierbei der Wichtungsparameter und ist
nach der Genauigkeit der Bildirradianzmessung zu wählen (größer, je mehr die Horn-Schunck-Bedingung gerechtfertigt ist)
23
Horn-Schunck-Verfahren
Das Funktional FkHornSchunck (u, v ) gilt es
nun zu minimieren Möglichkeiten sind zum einen die
Variations-rechnung (Euler-Gleichungen), zum anderen die sog. diskrete Iteration
24
Horn-Schunck-Verfahren
Für die diskrete Iteration werden Bildpunkte nur in ganzzahligen Koordinaten betrachtet (i, j ), mit 1 i M und 1 j N und ganzzahlige Zeitpunkte t = 0, 1, 2, ...
Nun kann der Glattheitsfehler zum Zeitpunkt t abgeschätzt dargestellt werden:
fGlattheit (i, j ) = 1/4 ((ui+1,j - uij )2 + (ui,j+1 - uij )
2
+ (vi+1,j - vij )2 + (vi,j+1 - vij )
2 )
25
Horn-Schunck-Verfahren
Der Fehler der Horn-Schunck-Bedingung wird dann folgendermaßen abgeschätzt:
fHS (i, j ) =
= Ex (x, y, t ) uij + Ey (x, y, t ) vij + Et (x, y, t )
Also gilt dann folgende Funktion zu minimieren:
ftotal (i, j ) = (
fGlattheit (i, j ) + fHS (i, j ) )
Diese Funktion wird nun abgeleitet, um das Minimum bestimmen zu können
26
Diskussion
Ist die Bewegungstreue immer gültig? Zumindest ist es verifizierbar, daß der berech-
nete optische Fluß einer Projektion des Ver-schiebungsvektors auf den Bildwertgradienten
(Ex (x, y, t ), Ey (x, y, t ))T entspricht. Verläuft der Verschiebungsvektor entlang
einer Bildkante so ist der dazugehörige optische Fluß an dieser Stelle der Nullvektor (Aperturproblem)
27
3. Objektrotation und Rekonstruktion
Zunächst wurden die Verhältnisse zwischen 3D-Bewegung und lokalen
Verschiebungsvekto-ren betrachtet, sowie mit dem optischen Fluß ein Berechnungsverfahren dieser Vektoren vorgestellt
Nun wird die Gestaltrekonstruktion betrachtet, unter der Vorgabe einer statischen Kamera und Objekte auf einer Drehscheibe
28
Weltkoordinaten aus Punktkorrespondenz
Als Ergebnis einer Kalibrierung (sh. Vortrag II) werden eine Rotationsmatrix R, ein Transla-tionsvektor T, die Kamerakonstante fk , die
Ver-zerrungskoeffizienten 1 und 2 , der Bildhaupt-punkt (cx , cy ) und der Skalierungsfaktor sx vor-rausgesetzt
Für das X Y Z -Weltkoordinatensystem stimmen die Z -Achse mit der Drehachse überein und die Scheibenebene sei parallel zur X Y -Ebene
29
Weltkoordinaten aus Punktkorrespondenz
Man betrachte nun einen beliebigen Oberflä-chenpunkt P = (XW , YW , ZW )
T
Zum Zeitpunkt t befindet sich dieser Punkt P(t)
und in t +1 : P(t +1) = R P(t)
Die Transformation in Kamerakoordinaten liefert
R P(t) + T = C(t) bzw. RR P(t) + T = C(t +1)
Es sei C(t) = (X (t),Y (t),Z (t) ) die Darstellung der
Position des beobachteten Oberflächenpunktes
30
Weltkoordinaten aus Punktkorrespondenz
Die Projektionszentrumskoordinaten sind
x (t) = fk /Z (t) X (t) und y (t) = fk /Z (t) Y (t)
Beziehungen zu den
Verzerrungskoordinaten
x (t) = x(t) (1 + 1 r (t)2
+ 2 r (t)4 )
y (t) = y(t) (1 + 1 r (t)2
+ 2 r (t)4 )
31
Eingeschränkter Suchbereich für die Korrespondenzanalyse
In kalibrierten Situationen können aus korres-pondierenden Punkten Tiefenwerte bzw. Welt-koordinaten berechnet werden
Einschränkung der Korrespondenzsuche des Suchbereichs durch die Epipolargeometrie je-weils auf eine Gerade bzw. auf eine Strecke
Zur selben Situation kommt hinzu, daß die Ka-mera entgegengesetzt der Rotationsrichtung sich auf einer Kreisbahn bewegt
32
Eingeschränkter Suchbereich für die Korrespondenzanalyse
Wieder wird hierbei ein Punkt P betrachtet Dieser ist zum Zeitpunkt t in der
unverzerrten Bildebene in den Bildpunkt p(t) = (x (t) , y (t) ) projiziert
Dieser Projektionsstrahl schneidet den Zylinder-mantel in die Punkte T1 und T2
Zum Zeitpukt t +1 werden beide Punkte in die Bildpunkte t1 und t2 projiziert, die Verbindungs-gerade ist dann der eingeschränkte Suchbereich
33
4. Diskussion
Wie kann nun allgemein eine dynamische Stereoanalyse erfolgen ?
1.Berechnung von lokalen Verschiebunsvektoren
2.Bestimmung der Oberflächenpunkte entspre-chender Verschiebungsvektoren
3.Rekonstruktion geschlossener Oberflächen mit Hilfe von Glättungs-, Approximations- oder In-terpolationsalgorithmen angewendet auf einzel-ne rekonstruierte Oberflächenpunkte
34
Diskussion
In erster Linie werden diese genannten Verfah-ren für Navigationslösungen (z.B. gesicherte Abstandsmessungen) verwendet
In heutiger Zeit werden diese auch für Modellie-rungen von 3D-Objekten in Simulationen oder Spielen verwendet (z.B. Motion-Capturing)
Ende des Vortrages
Vielen Dank für Eure Aufmerksamkeit