1 / 35

Computer Vision

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.

rowena
Download Presentation

Computer Vision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Vision V. Dynamische Stereoanalyse Datum: 12.01.2001 Vortrag 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 & Rekonstruktion 4. 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 tconstaufgenommene 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 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)

  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 )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

  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 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

  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 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 )

  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 ) =  (ux2+uy2 + vx2 + vy2 )dxdy • Fh(u, v ) =(uEx +vEy +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)

  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 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

  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. 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

  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)

  35. Ende des Vortrages Vielen Dank für Eure Aufmerksamkeit

More Related