35
Computer Vision V. Dynamische Stereoanalyse Datum: 12.01.2001 Vortrag von: Mark Kiwitz

Computer Vision

  • Upload
    rowena

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Computer Vision

Computer Vision

V. Dynamische Stereoanalyse

Datum: 12.01.2001Vortrag von: Mark Kiwitz

Page 2: Computer Vision

2

Einführung

Welche Dynamikursachen betrachten wir? Bedeutung von Bewegungsvektoren Darstellung von Vektorfeldern Grundlage für Gestaltsrekonstruktion Berechnungsverfahren: optischer Fluß

Page 3: Computer Vision

3

Gliederung

1. Verschiebungsvektoren & Rekonstruktion

2. Optischer Fluß3. Objektrotation & Rekonstruktion4. Diskussion

Page 4: Computer Vision

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

Page 5: Computer Vision

5

Lokale Verschiebungsvektoren

Konstante Kameraposition Absolute Bewegungen Formfeste Szenenobjekte

Erzeugung einer Bildfolge E1 , E2 , E3 , ...

durch in konstanten Zeitabstand tconst

aufgenommene Abbilder Ei

Page 6: Computer Vision

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)

Page 7: Computer Vision

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)

Page 8: Computer Vision

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.

Page 9: Computer Vision

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

Page 10: Computer Vision

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

Page 11: Computer Vision

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

Page 12: Computer Vision

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

Page 13: Computer Vision

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

Page 14: Computer Vision

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

Page 15: Computer Vision

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

Page 16: Computer Vision

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 )

Page 17: Computer Vision

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

Page 18: Computer Vision

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)

Page 19: Computer Vision

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)

Page 20: Computer Vision

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 )

Page 21: Computer Vision

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

Page 22: Computer Vision

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)

Page 23: Computer Vision

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

Page 24: Computer Vision

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 )

Page 25: Computer Vision

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

Page 26: Computer Vision

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)

Page 27: Computer Vision

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

Page 28: Computer Vision

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

Page 29: Computer Vision

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

Page 30: Computer Vision

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 )

Page 31: Computer Vision

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

Page 32: Computer Vision

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

Page 33: Computer Vision

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

Page 34: Computer Vision

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)

Page 35: Computer Vision

Ende des Vortrages

Vielen Dank für Eure Aufmerksamkeit