Zeugung

Werbung
Computer Vision
V. Dynamische Stereoanalyse
Datum: 12.01.2001
Vortrag von: Mark Kiwitz
Einführung





Welche Dynamikursachen betrachten wir?
Bedeutung von Bewegungsvektoren
Darstellung von Vektorfeldern
Grundlage für Gestaltsrekonstruktion
Berechnungsverfahren: optischer Fluß
2
Gliederung
1. Verschiebungsvektoren & Rekonstruktion
2. Optischer Fluß
3. Objektrotation & Rekonstruktion
4. Diskussion
3
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
4
Lokale
Verschiebungsvektoren
 Konstante Kameraposition
 Absolute Bewegungen
 Formfeste Szenenobjekte
 Erzeugung einer Bildfolge E1 , E2 , E3 , ... durch
in konstanten Zeitabstand tconst aufgenommene
Abbilder Ei
5
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)
6
Lokale
Verschiebungsvektoren
 Veschiebungsvektoren dxy (t) repräsentieren die
3D-Bewegung
 Menge dieser Vektoren bilden das lokale Verschiebungsfeld , welche die Grundlage für Untersuchungen der Bewegungsgeometrie bilden
 Berechnung nur möglich, wenn einzelne Oberflächenpunkte eindeutig in der Bildfolge verfolgt
werden können (Aperturproblem)
7
Objektbewegung und
lokale Verschiebung
 Lokale Verschiebungsfelder sind sinnvoll für
Rekonstruktionsalgorithmen, aber es besteht
das Problem, daß dabei die 3D-Bewegungsvektoren nicht immer konstant sind.
 Absolute Geschwindigkeit des Oberflächenpunktes muß ermittelt werden.
8
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
9
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
dxy (t) =
folgt:
f/Zt2  (P(t) x vXYZ (t)) x k
10
Objektbewegung und
lokale Verschiebung
 Nutzung für synthetische Objekte zur Erzeugung eines lokalen Verschiebungsfeld
 Schlüsse ziehen auf das Verhalten von lokalen
Verschiebungsvektoren relativ zur
Objektgeometrie
 Diskontinuitäten bei Verdeckungskanten
11
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
12
Lokale Verschiebungen
und Gradienten
 Oberflächengradienten und lokale Verschiebungen sind voneinander abhängig
 Diese Abhängigkeiten zu überprüfen sind eine
spezielle Zielstellung der Gestaltrekonstruktion
 Durch Approximation können Verschiebungsfelder als Polynome dargestellt werden
13
2. Optischer Fluß
 Ausgangsproblem: bis jetzt wurden nur dynamische 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
14
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
15
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 Vektorberechnung von (u, v )T nur gering unterstützen)
 Zielstellung ist, daß der optische Fluß der lokalen Verschiebung entspricht
 Bewegungstreue des optischen Flusses:
xy (ti) = ui (x, y ) , xy(ti) = vi (x, y )
16
Horn-Schunck-Verfahren
 Darstellung der Bildfunktion E (x, y, ti) für einen
kleinen Schritt (x, y, t) durch eine Taylorreihe
E (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
17
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 ( Schnittpunkt einer Senkrechten mit der Geraden)
18
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)
19
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 )
20
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
21
Horn-Schunck-Verfahren
 Fg (u, v ) =
 (ux2 + uy2 + vx2 + vy2 )dxdy
 Fh (u, v ) =
 (u Ex +v Ey +Et ) dxdy
2
 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-SchunckBedingung gerechtfertigt ist)
22
Horn-Schunck-Verfahren
 Das Funktional FkHornSchunck (u, v ) gilt es nun zu
minimieren
 Möglichkeiten sind zum einen die Variationsrechnung (Euler-Gleichungen), zum anderen die
sog. diskrete Iteration
23
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
2
2
+ (vi+1,j - vij ) + (vi,j+1 - vij )
)
24
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
25
Diskussion
 Ist die Bewegungstreue immer gültig?
 Zumindest ist es verifizierbar, daß der berechnete optische Fluß einer Projektion des Verschiebungsvektors 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)
26
3. Objektrotation und
Rekonstruktion
 Zunächst wurden die Verhältnisse zwischen
3D-Bewegung und lokalen Verschiebungsvektoren 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
27
Weltkoordinaten aus
Punktkorrespondenz
 Als Ergebnis einer Kalibrierung (sh. Vortrag II)
werden eine Rotationsmatrix R, ein Translationsvektor T, die Kamerakonstante fk , die Verzerrungskoeffizienten 1 und 2 , der Bildhauptpunkt (cx , cy ) und der Skalierungsfaktor sx vorrausgesetzt
 Für das X Y Z -Weltkoordinatensystem stimmen
die Z -Achse mit der Drehachse überein und die
Scheibenebene sei parallel zur X Y -Ebene
28
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. RR  P(t) + T = C(t +1)
 Es sei C(t) = (X (t),Y (t),Z (t) ) die Darstellung der
Position des beobachteten Oberflächenpunktes
29
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 (1 + 1 r
(t)2
y
(t)
= y (1 + 1 r
(t)2
(t)
(t)
+ 2 r
(t)4
)
+ 2 r
(t)4
)
30
Eingeschränkter Suchbereich
für die Korrespondenzanalyse
 In kalibrierten Situationen können aus korrespondierenden Punkten Tiefenwerte bzw. Weltkoordinaten berechnet werden
 Einschränkung der Korrespondenzsuche des
Suchbereichs durch die Epipolargeometrie jeweils auf eine Gerade bzw. auf eine Strecke
 Zur selben Situation kommt hinzu, daß die Kamera entgegengesetzt der Rotationsrichtung
sich auf einer Kreisbahn bewegt
31
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 Zylindermantel in die Punkte T1 und T2
 Zum Zeitpukt t +1 werden beide Punkte in die
Bildpunkte t1 und t2 projiziert, die Verbindungsgerade ist dann der eingeschränkte Suchbereich
32
4. Diskussion
 Wie kann nun allgemein eine dynamische
Stereoanalyse erfolgen ?
1. Berechnung von lokalen Verschiebunsvektoren
2. Bestimmung der Oberflächenpunkte entsprechender Verschiebungsvektoren
3. Rekonstruktion geschlossener Oberflächen mit
Hilfe von Glättungs-, Approximations- oder Interpolationsalgorithmen angewendet auf einzelne rekonstruierte Oberflächenpunkte
33
Diskussion
 In erster Linie werden diese genannten Verfahren für Navigationslösungen (z.B. gesicherte
Abstandsmessungen) verwendet
 In heutiger Zeit werden diese auch für Modellierungen von 3D-Objekten in Simulationen oder
Spielen verwendet (z.B. Motion-Capturing)
34
Ende des Vortrages
Vielen Dank für Eure
Aufmerksamkeit
Herunterladen