• Keine Ergebnisse gefunden

Geometrische Transformationen 2D Transformationen

N/A
N/A
Protected

Academic year: 2022

Aktie "Geometrische Transformationen 2D Transformationen"

Copied!
27
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Geometrische Transformationen 2D

Transformationen

Translation:

2 3

{ } P

i

P

i

 , 

Menge von Punkten

x 2

y

: '

x' d

y' d

P

i

P

i

P

i

T

x y

  

     

         

     

(2)

Transformationen (2)

Rotation:

 

 

 

 

 

 

 

 

y x P

R P

P

i i i

cos sin

sin cos

y' x'

' :

Um das Rotationszentrum

 

 

 

 

 

 

 

 

 

 

 

r r r

r r

r

y x y

y x x y

x

cos sin

sin cos

y' x'

) , (

Transformationen (3)

Skalierung:

 

 

 

 

 

 

 

 

y x s s

P S P P

y x

i i

i

0 0 y'

x' ' :

Scherung:

 

 

 

 

 

 

 

 

y x s

s P S P P

hx i H i

i

1 1 y'

x'

'

:

(3)

Transformationen (4)

Allgemein:

i H i

i i

i i

i i i

P S P

P S P

P R P

T P P P

'

'

'

'

:

Die Addition bei der Translation lässt aus hintereinander geschachtelten Transformationen, oft komplizierte Ausdrücke entstehen.

 

R P T

S P

T P P

i i

i i

 '

'

Homogene Koordinaten

Ein algebraisches Objekt eheisst homogen, falls für ein beliebiges l ≠0 das algebraische Objekt ledas gleiche geometrische Element erepräsentiert.

e(e)  e(le)  l ≠0

,

.

x x x

x y y k y

y W W W

x x

P y

y

     

         

       

             

     

      

2D Kartesische Koordinaten ---> HomogenenKoordinaten

wobei und

den selben Punkt beschreiben, also auch In Homogenen Koordinaten können alle Transformationen durch Multiplikationen ersetzt werden.

(4)

Translation in Homogene Koordinaten

Alle Transformationen werden zu Multiplikationen!

1 0

mit ( , ) 0 1

0 0 1

' 1 0

' 0 1

1 0 0 1 1

( , )

x

x y y

x y

d

T d d d

x d x

y d y P' T d d x y P

 

 

  

 

 

     

     

         

     

     

 

) , (

) , (

P 'PT d

x

d

y

P 'T d

x

d

y

P

Translation in Homogenen Koordinaten (2)

Eigenschaften:

 

 

 

 

 

 

1 0

0 1 0

0 1

1 0 0

1 0

0 1 1 0 0

1 0

0 1

1 2

2 1 1

1 2

2

y y

x x y

x y

x

d d

d d d

d d

d

   

) , ( ) , ( )

, ( ) , (

"

PT d

x2

d

y2

T d

x1

d

y1

PT d

x2

d

y2

T d

x1

d

y1

P '

) , (

"

und )

, (

s e i

P 'T d

x1

d

y1

P PT d

x2

d

y2

P

)

,

(

"

? ? ? ? ?  PT d

x1

d

x2

d

y1

d

y2

P

   

1 2 1 2 1 1 2 2

( T d

x

d

x

, d

y

d

y

) T d

x

, d

y

T d

x

, d

y

    

(5)

Skalierung in Homogenen Koordinaten

Eigenschaften:

 

 

 

 

 

 

1 0

0

0 0

0 0

s s 1 0 0

0 0

0 0 s

1 0 0

0 0

0 0 s

1 2

x2 x1 2

x2 1

x1

y y y

y

s s s

s

1

,

1

 

2

,

2

 

1 2

,

1 2

S s

x

s

y

S s

x

s

y

S s

x

s

x

s

y

s

y

Rotation in Homogenen Koordinaten

Eigenschaften:

 

 

 

 

 

 

 

 

1 0 0

0 r

0

1 0

0

0 cos sin

0 sin cos

1 0 0

0 cos sin

0 sin cos

21 22

12 11

r r r

   

R R R

? ? r

1 11 1

r  c o s   c o s - s in    s in 

 ??

r

12

(6)

Rechenregeln für Matrizen

A + B = B + A A + O = O + A = A A ( B + C ) = A B + A C

A ( B C ) = ( A B ) C : = ABC (A B)

T

= ( B

T

A

T

)

(A B)

-1

= ( B

-1

A

-1

)

ACHTUNG !!!!

Im Allgemeinen ist A B  B A

Verkettung von Transformationen

 

 

 

 

 

 

 

 

 

 

 

1 0

0

sin cos

1 cos

sin

sin cos

1 sin

cos

1 0 0

1 0

0 1

1 0 0

0 cos sin

0 sin cos

1 0 0

1 0

0 1

r r

r r

r r r

r

x y

y x

y x y

x

) ,- y T(- x )

R(

) y , T(x

r r

  

r r

) , y , x (

R

r r

 

) y ,

(x

r r

Rotation um Fixpunkt

(7)

Weitere Verkettungen

 

 

 

 

1 0

0

1 0

1 0

y f

y

x f

x

s y

s

s x

s

) ,-y T(-x )

s , S(s ) y , T(x

f f

x y

f f

) s , s , , (

S x

f

y

f x y

) s , s , , (

S x

f

y

f x y

Skalierung um Fixpunkt

Affine Transformationen

heißt zweidimensionale affine Transformation!

'

'

y yy

yx

x xy

xx

b y a x a y

b y a x a x

mit y'

x' y x Abbildung

Eine 

 

 

 

 

Eigenschaften: Parallelen werden auf Parallelen abgebildet und endliche Punkte werden auf endliche Punkte abgebildet.

Eine affine Transformationen läßt sich immer in eine Rotation, eine Translation, eine Skalierung und eine Scherung zerlegen! Leider nicht eindeutig!

(8)

2D Transformationen und Rasterung

In Animationen mit aufwendigen Objekten können Rasteroperationen eine effiziente Alternative zur Berechnung affiner Transformationen sein!

Translation: Kopiere einen Pixelblock von einen Rastergebiet ins andere.

Rotation um 90º: Einfache Umsortierung der Blöcke. (umkehren der Pixelwerte jeder Zeile, dann Zeilen mit Spalten vertauschen)

Beliebige Rotationen und Skalierungen erfordern die Transformation der einzelnen Pixelfelder auf ihre Zielgebiete. (Intensitäten je nach Überlapp bestimmen.)

Warping & Morphing

(9)

Übersicht

Warping

Geometrische Transformationen Forward and Inverse mapping Verschiebe Vektorfelder

Schnelle Algorithmen für geom. Transformationen Probleme!

Morphing

Mesh morphing

Feature-based morphing Mehrdimensionales Morphing

Morphing in drei und mehr Dimensionen

Warping: Transformationen der Bildgeometrie

Wofür:

Korrektur von Linsenfehlern

Vergrößern und verkleinern von Bildern Rotieren von Bildern

Perspektivische Korrektur von Bildern

Morphen!

(10)

z.B. Rotieren eines Bildes

Input [u,v] Output [x,y]

Gesucht:

Eine Abbildung A die jedem Pixel im Output einen Farbwert aus der Vorlage zuweist.

x u

y

A

 v

   

      

 

X

A

X

Rotation eines Bildes (2)

 

 

 

 

 

 

 

v u

t t v

u y

x R

cos sin

sin

cos 

 

 

 

 

 

 

 

 

 

v u

t t v

u y

x

(11)

Rotation eines Bildes (3)

Gegeben zwei Bilder die sich nur durch eine Rotation unterscheiden!

Wie viele Punktkorrespondenzen zwischen den Bildern sind notwendig um die Rotation eindeutig zu bestimmen?

cos sin

sin

cos 

 

 

 

 

 

 

 

 

 

v u

t t v

u y

x

2 Punktpaare bestimmen die Rotation eindeutig!

Rotationen sind winkeltreu!

Affine Transformation

22 21

12

11

 

 

 

 

 

 

 

 

 

v u

t t v

u a

a a a

y x

3 Punktpaare bestimmen eine affine Abbildung eindeutig!

Eine affine Abbildung ist eine allgemeine lineare Abbildung die sich aus Translation, Rotation, Scherung, Skalierung und Streckung zusammen setzt.

(12)

Affine Transformation ?

Eine perspektivische Abbildung ist keineaffine Abbildung!!

Lässt sich ein planares perspektivisch verzerrtes Bild entzerren?

Wie viele Punkkorrespondenzen bestimmen eine perspektivische Abbildung?

Perspektivische Transformation

32

11 12 13

31

1

a u a v a

x a u a v

 

  

3 2

1

31

23 22

21

 

v a u a

a v a u y a

Geraden werden auf Geraden abgebildet!

Im allgemeinen bleibt weder die Parallelität von Geraden noch bleiben die Winkel zwischen Geraden erhalten.

Punkte können nach Unendlich abgebildet werden.

Wie viele Korrespondenzpaare bestimmen die Abbildung eindeutig?

Die perspektivische Abbildung ist eine nicht lineare Funktion.

u x

v y

    

   

   

(13)

Homogene Koordinaten (Einschub)

2D Kartesische Koordinaten ---> Homogene Koordinaten

´

´

x x y y

w

   

   

    

´

mit ´ = 0,

x w x

y w y w

w w

    

      

   

   

   

´ ´

wobei ´ und ´

x x

y k y

w w

   

   

   

   

    ´

den selben Punkt beschreiben, also auch = ´ .

1 1

x x w

x y

P y

y w

  

   

     

           

  

 

Perspektivische Transformation

Wir suchen die Abbildung

u x

v y

  

   

   

11 12 13

21 22 23

31 32 33

a´ a´ a´ ´

= a´ a´ a´ ´

a´ a´ a´ ´

w x w u

w y w v

w w

 

     

       

     

     

     

In Homogenen Koordinaten

33

1 1

´ a´

w

11 12 13

21 22 23

31 32

a a a

= a a a

a a 1 1

w x u

w y v

w

      

     

       

     

     

32

11 12 13

31

1

a u a v a

x a u a v

 

  

3 2

1

31

23 22

21

 

v a u a

a

v

a

u

y a

(14)

Perspektivische Transformation

11 12 13

31 32 1

a u a v a x a u a v

 

  

Lösen der Gleichungen mit 4 Punktkorrespondenzen.

1 1 1 2 1 3 3 1 3 2

a u a v a x a u x a v x

     

21 22 23

31 32 1

a u a v a y a u a v

 

    a u2 1a v2 2a2 3y a u3 1y a v3 2y

0 0 0 0 0 0 11

1 1 1 1 1 1 12

2 2 2 2 2 2 13

3 3 3 3 3 3 21

0 0 0 0 0 0 22

1 1 1 1 1 1 23

2 2 2 2 2 2 31

3 3 3 3 3 3

1 0 0 0

1 0 0 0

1 0 0 0

1 0 0 0

0 0 0 1

0 0 0 1

0 0 0 1

0 0 0 1

u v u x v x a

u v u x v x a

u v u x v x a

u v u x v x a

u v u y v y a

u v u y v y a

u v u y v y a

u v u y v y

 

 

   

 

   

   

 

    

   

 

   

 

   

 

0 1 2 3 0 1 2

32 3

x x x x y y y

a y

   

   

   

   

   

   

   

   

   

   

   

   

   

u vi, i

 

, x yi, i

i 0 , 1, 2 , 3

Planare Transformationen (Übersicht)

Name Matrix Wirkung Invariant

11 12 x

21 22 y

r r

r r t

0 0 1

t

Euklidisch Längen & Flächen

11 12 x

21 22 y

sr sr

sr sr t

0 0 1

t

Ähnlich Längenverhältnisse &

Winkel, ...

11 12 x

21 22 y

a a t

a a t

0 0 1

Affine Parallelen,

Flächenverhältnisse, Linearkombinationen von Vektoren, ...

11 12 13

21 22 23

31 32

a a a

a a a

a a 1

Projektiv Geraden,

Schnittpunkte von Geraden, ....

Multiple View Geometry in Computer Vision Hartley & Zissermann Cambridge Press p23

(15)

„Forward Mapping“

u

v I (u , v)

Input

x

y I (x , y)

Output

Position des Pixels

v v y

u u x

Problem: x,y sind nicht ganzzahlig!

Deshalb müssen die Nachbarpunkte in die Berechnung mit eingeschlossen werden.

„Forward Mapping (2)“

i i i

j j j

x u u

y v v

  

  

Bezeichnung: wird auch mit Verschiebe-, Vektor- oder Korrespondenz- feld bezeichnet (

Displacement vector field).

, v

u

Vorgehensweise zur Implementierung:

1. Es werden mehrere Nachbarpunkte gleichzeitig betrachtet, meist Dreiecke.

2. Die Fläche zwischen diesen Punkten wird dann gerastert.

(16)

„Backward Mapping“

u

v I (u , v)

Input x

y I (x , y)

Output

Position des Urbildes zwischen den Pixeln

v v y

u u x

Kann die Inverse Abbildung zu bestimmt werden?

Diese Abbildung wäre viel leichter auszuwerten! Denn es müsst ja nur zwischen den 4 umliegenden Pixeln interpoliert werden, und es könnten alle Pixel des Outputs der Reihe nach abgearbeitet werden. .

Einschub: Interpolation von Pixeln

?

tu , v tu , v+1

tu +1, v tu+1 , v+1

x1 x2

x1 = tu , v +v ( tu , v+1 - tu , v) x2 = tu+1 , v +v ( tu+1 , v+1 - tu+1 , v) Meist wird bilineare Interpolation benutzt!

= x1 + u (x2 - x1)

u

v

(17)

„Backward Mapping“ (2)

Ob sich eine Abbildung invertieren lässt ist von der Abbildung selbst abhängig (z.B. Rotationen lassen sich invertieren).

falls 1 existiert

1

x u

y v A

u u x x

v v y y

A A x

y

 

   

   

   

    

    

          

Angenommen es ist nur ein Vektorfeld gegeben, kann damit ein“Backward mapping“ durchgeführt werden?

,

u v

 

v v y

u u x

Das heißt:

kann aus , berechnet werden

u x x

v y y

  

  

„Backward Mapping“ (3)

Ganz einfach:

v

x u u u x u

y v v y v

      

      

,, ,

u u v v u v

 

Dies ist noch nicht die gesuchte Lösung!!!

Denn sind immer noch eine Funktion von

u,v

. Danach sollte aber jedoch aufgelöst werden.

Das Umkehren eines Korrespondenzfeldes kann nur über

v v y

u u x

Das heißt:

kann aus , berechnet werden

u x x

v y y

  

  

(18)

Schnelle Algorithmen für geom. Transformation

Für bestimmte Transformationen lassen sich spezielle optimierte Algorithmen implementieren.

Klassisches Beispiel: Separable Abbildungen

x u

y v

x u

y B C v

A

 

   

   

   

    

       

z.B. Die Rotation:

cos sin 1 0 cos sin

sin cos tan 1 / cos 0 1

R    

   

      

       

2-Pass Rotation

R C

cos sin

0 1

x u

y v

 

     

      

     

B

1 0

tan 1 / cos

x x

y   y

     

     

     

cos sin

sin cos

x u

y v

 

 

       

     

     

(19)

3-Pass Rotation

2- Schritt Rotation: Durch die Skalierung kann Information verloren gehen

cos sin 1 0 cos sin

sin cos tan 1 / cos 0 1

R    

   

      

       

Durch ein 3- Schritt Verfahren kann dies vermieden werden, Es sind nur noch eindimensionale Scherungen nötig.

   

cos sin 1 tan / 2 1 0 1 tan / 2

sin cos 0 1 sin 1 0 1

R    

  

    

   

        

2-Pass für perspektivische Transformation

C

B P

siehe: Wolberg, Georg „Digital Image Warping“

(20)

Warping zur Beschreibung einer Methamorphose

D‘Arcy Thompson 1860 – 1948 Mathematiker aus Schottland

Morphing

D‘Arcy Thompson (2)

(21)

½ + ½ =

Keine Korrespondenz

Korrespondenz

Morphing : Addition von Bilder

Korrespondenz ist die Punkt zu Punkt Zuordnung zwischen zwei Bildern und kann durch ein Korrespondenzfeld beschrieben werden.

Erstellen von Korrespondenzfeldern

Das Hauptproblem beim Morphing ist das Erstellen von Korrespondenzfeldern (Verschiebefeldern).

Manuelle Verfahren sind die Regel:

Meist wird die Korrespondenz an wenigen Stellen manuell bestimmt und für die restlichen Pixel interpoliert.

Die Verfahren unterscheiden sich nur in der Interpolationsmethode.

1. Mesh Warping.

2. Field Warping.

(22)

Mesh Warping

aus: Wolberg, Georg „ Image Morphing: A Survay“

Department of Computer Science City College of New York

Field Warping

Beim „Mesh Warping“ entstehen immer dann Bildfehler, wenn die Gitterkanten nicht mit den Bildkonturen übereinstimmen.

Ausweg: Man markiert nur noch Konturen in den Bilder (manuell). Durch das Abbilden der Konturen auf einander, wird dann für einige Punkte die Korrespondenz bestimmt, die dann auf die anderen Bildpunkte ausgedehnt wird.

(23)

Merkmalsbasiertes Morphing (Field Morphing)

aus: S. Lee, G.Wolberg,K. Chwa and s.Y. Shin Image Methamorphosis with Scattert Feature Constraints IEEE Transactions on Visualization and Computer Graphics 2:4 1996

Most Famous “Black or White” in 1991

“Feature-Based Image Metamorphosis”, by T. Beier and S. Neely, Siggraph 1992

(24)

Gradienten Verfahren

zur Optischen Fluss Berechnung

min!

)

( 

2

 

 

 

  I x I x y I y

p ixel

(25)

Korrespondenz zwischen zwei Bildern

Intensity

Image Position X x

I

I

x x

I I

 

Image 1 Image 2

x

min!

)

(  2

 

 

 

I xI x yI y

p ixel

Gradient-based Optical Flow

Grenzen des ‚Optischen Fluss‘ Verfahrens

Erfolgreich

Mit Fehlern

(26)

Die Korrespondenz beschreibt den Formunterschied

(Korrespondenzfeld)

Mehrdimensionales Morphen

(27)

Morphing in mehreren Dimension.

Morphing oder Interpolations Verfahren werden heute auf eine Vielzahl unterschiedlicher Datenstrukturen zur Bilderzeugung verwendet.

3D Objekte Animation ...

Referenzen

ÄHNLICHE DOKUMENTE

An dieser Stelle die oberste Matrix vom Stack pop-en und in die MODELVIEW- Matrix schreiben. C G C C

Es müssen mindestens zwei Punkte in beiden Systemen. koordinatenmäßig

69 Anhand einer einschlägigen Definition lässt sich jedoch schnell aufzeigen, warum Bogost diesen Begriff wohl meidet: „Reverse en- gineering is a process where an engineered

weil es für sie keine Taste auf der Tastatur gibt), oder die nicht in der gewählten Kodierung des Dokuments repräsentiert werden können (z.B. wenn ein griechischer Buchstabe in

gangsniveau zurlick. \'V'as nach einer Haarspalterei unter Fnchlcuten klingen mag, führt: zu einer jener eingan,r;s angesprochenen Fragen von allgemeinem öffCndichctl

Der Betrag der Determinante zeigt, um welchen Faktor sich ein n-dimensionales Volumen bei Anwendung der Matrix ändert.. Ein 2-dimensionales Volumen ist eine

1­E

 (World-Coordinate-) Window heißt ein rechteckiger (Szene-, Welt-) Ausschnitt, der abgebildet werden soll;. darf nicht mit dem (Window-Manager-) Window des