350 likes | 426 Views
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ß. Gliederung.
E N D
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ß
Gliederung 1. Verschiebungsvektoren & Rekonstruktion 2. Optischer Fluß 3. Objektrotation & Rekonstruktion 4. Diskussion
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
Lokale Verschiebungsvektoren • Konstante Kameraposition • Absolute Bewegungen • Formfeste Szenenobjekte • Erzeugung einer Bildfolge E1, E2 , E3 , ... durch in konstanten Zeitabstand tconstaufgenommene Abbilder Ei
Lokale Verschiebungsvektoren • Oberflächenpunkt P wird in Ei auf palt = (x,y) und in Ei+1 auf pneu projiziert • Diskreter Fall für Zeitpunkteti= 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)
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)
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.
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 )Tund p = (x,y,f )TPunktvektoren • 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
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
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
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
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
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
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= itconst • Der optische Fluß sei nun definiert als ui (x, y ) = (ui (x, y ), vi (x, y ) )T von Bild Ei zu Ei+1
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 )
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) + xEx + yEy + tEt + 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
Horn-Schunck-Verfahren • Für einen bestimmten Zeitpunkt der Bildfolge nimmt die Horn-Schunck-Bedingung die Form uEx + vEy = -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)
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)
Horn-Schunck-Verfahren • Diese Glattheitist gegeben, wenn die Änderungendes 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 )
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
Horn-Schunck-Verfahren • Fg(u, v ) = (ux2+uy2 + vx2 + vy2 )dxdy • Fh(u, v ) =(uEx +vEy +Et )2dxdy • 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)
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
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)
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
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)
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
Weltkoordinaten aus Punktkorrespondenz • Als Ergebnis einer Kalibrierung (sh. Vortrag II) werden eine Rotationsmatrix R, ein Transla-tionsvektor T, die Kamerakonstante fk , die Ver-zerrungskoeffizienten 1und 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
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) = RP(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
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 )
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
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
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
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