Computer Vision V Dynamische Stereoanalyse Datum 12 01

  • Slides: 35
Download presentation
Computer Vision V. Dynamische Stereoanalyse Datum: 12. 01. 2001 Vortrag von: Mark Kiwitz

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

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

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

1. Verschiebungsvektoren & Rekonstruktion § Theoretische Grundlagen für dynamische Bildaufnahmen § keine Einschränkung der 3 D-Bewegung § keine kalibrierten Bildaufnahmesituationen § Berechnung von Oberflächennormalen aus lokalen Verschiebungsvektoren 4

Lokale Verschiebungsvektoren § Konstante Kameraposition § Absolute Bewegungen § Formfeste Szenenobjekte § Erzeugung einer

Lokale Verschiebungsvektoren § Konstante Kameraposition § Absolute Bewegungen § Formfeste Szenenobjekte § Erzeugung einer Bildfolge E 1 , E 2 , E 3 , . . . durch in konstanten Zeitabstand tconst aufgenommene Abbilder Ei 5

Lokale Verschiebungsvektoren § Oberflächenpunkt P wird in Ei auf palt = (x, y) und

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 3 D-Bewegung § Menge dieser Vektoren

Lokale Verschiebungsvektoren § Veschiebungsvektoren dxy (t) repräsentieren die 3 D-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

Objektbewegung und lokale Verschiebung § Lokale Verschiebungsfelder sind sinnvoll für Rekonstruktionsalgorithmen, aber es besteht das Problem, daß dabei die 3 D-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 ,

Objektbewegung und lokale Verschiebung § Geschwindigkeit des Oberflächenpunktes P = (X , Y , Z ): v. P(t) = v. XYZ (t) § Für kamerazentriertes Projektionsmodell seien P = (X , Y , Z )T und p = (x , y , f )T Punktvektoren § Geschwindigkeiten der Punkte: v. XYZ (t) = d. P/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)

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/Zt 2 (P(t) x v. XYZ (t)) x k 10

Objektbewegung und lokale Verschiebung § Nutzung für synthetische Objekte zur Erzeugung eines lokalen Verschiebungsfeld

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 liegt

Objektbewegung und Gradienten § § § § Oberflächenpunkt P sei auf einer Facette liegt auf der Ebene: Z = p. X + q. Y + r Für P gilt speziell P = (A, B, p. A + q. B + 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

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

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

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

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 (

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 = u i ( x , y ) Ex + v i ( x , y ) Ey + Et 17

Horn-Schunck-Verfahren § Für einen bestimmten Zeitpunkt der Bildfolge nimmt die Horn-Schunck-Bedingung die Form u

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

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

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

Horn-Schunck-Verfahren § Um jetzt den optimalen Wert herauszufinden, werden die einzelnen Ableitungen quadriert und anschließend aufsummiert u x ( x , y ) 2 + u y ( 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 ) = (ux 2 + uy 2

Horn-Schunck-Verfahren § Fg ( u , v ) = (ux 2 + uy 2 + vx 2 + vy 2 )dxdy § Fh (u, v ) = (u Ex +v Ey +Et )2 dxdy § Der Fehler insgesamt ist also: Fk. Horn. Schunck (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) 22

Horn-Schunck-Verfahren § Das Funktional Fk. Horn. Schunck (u, v ) gilt es nun zu

Horn-Schunck-Verfahren § Das Funktional Fk. Horn. Schunck (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,

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: f. Glattheit (i, j ) = 2 1/ 4 ((ui+1, j - uij ) + (ui, j+1 - uij ) + (vi+1, j - vij ) + (vi, j+1 - vij ) 2 2 2 ) 24

Horn-Schunck-Verfahren § Der Fehler der Horn-Schunck-Bedingung wird dann folgendermaßen abgeschätzt: f. HS (i, j

Horn-Schunck-Verfahren § Der Fehler der Horn-Schunck-Bedingung wird dann folgendermaßen abgeschätzt: f. HS (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 ) = ( f. Glattheit (i, j ) + f. HS (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

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 3 D -Bewegung und

3. Objektrotation und Rekonstruktion § Zunächst wurden die Verhältnisse zwischen 3 D -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 27

Weltkoordinaten aus Punktkorrespondenz § Als Ergebnis einer Kalibrierung (sh. Vortrag II) werden eine Rotationsmatrix

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 Scheibene sei parallel zur X Y -Ebene 28

Weltkoordinaten aus Punktkorrespondenz § Man betrachte nun einen beliebigen Oberflächenpunkt P = (XW ,

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

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) + 2 r ( t) 4 ) 30

Eingeschränkter Suchbereich für die Korrespondenzanalyse § In kalibrierten Situationen können aus korrespondierenden Punkten Tiefenwerte

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 §

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 T 1 und T 2 § Zum Zeitpukt t +1 werden beide Punkte in die Bildpunkte t 1 und t 2 projiziert, die Verbindungsgerade ist dann der eingeschränkte Suchbereich 32

4. Diskussion § Wie kann nun allgemein eine dynamische Stereoanalyse erfolgen ? 1. Berechnung

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

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 3 D-Objekten in Simulationen oder Spielen verwendet (z. B. Motion-Capturing) 34

Ende des Vortrages Vielen Dank für Eure Aufmerksamkeit

Ende des Vortrages Vielen Dank für Eure Aufmerksamkeit