4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael...

42
4.5.2001 1 Hauptseminar Robot/Computer Vision SS 2001 „Active Contours“ von Andrew Blake und Michael Isard B-Splines Florian Klaschka

Transcript of 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael...

Page 1: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 1

HauptseminarRobot/Computer Vision

SS 2001„Active Contours“

von Andrew Blake und Michael Isard

B-SplinesFlorian Klaschka

Page 2: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 2

Übersicht• Anwendungen• B-Splines• Basisfunktionen

– Formeln– Knotenvektor– Eigenschaften– Periodische Basisfunktionen– Mehrfache Knoten

• Normen, Fläche und Momente

Page 3: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 3

Anwendung: Active Contours

Page 4: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 4

Anwendungen

• Active Contours

• 2D-/3D-Modellierung und Design

• Messwertauswertung, Interpolation

• Funktionsapproximation

Page 5: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 5

B-Spline

• Parametrisierte, polynomielle Kurve im Rn der Ordnung d

• Besteht aus polynomiellen Segmenten (engl: spans) der Ordnung d

• Ordnung d Grad d-1 (gebräuchlich: d=3 oder d=4)

• Gewichtete Summe von NB Basisfunktionen Bn, n = 0, 1, ... , NB-1, Gewichte: die NB Stützpunkte qn, n = 0, 1, ... , NB-1

Page 6: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 6

B-Spline Beispiel

Page 7: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 7

B-Spline Formel

1

0

)())(),(()(BN

nnn

T sBqsysxsr

• mit Stützpunkten qn=(xn, yn)T und Basisfunktionen Bn(s), n = 0, 1, ... , NB-1

• definiert für 0 s L

Page 8: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 8

Beispiel: B-Spline-Funktion (R1)

Mit Stützpunkten gewichtete Basisfunktionen und B-Spline-Funktion

Page 9: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 9

Basisfunktionen Beispiel (d=3)

sonst

ss

ss

ss

sB

0

32)3(

21

10

)(2

21

2

23

43

221

0

Page 10: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 10

Basisfunktionen Bsp. (d=3, NB=4)

• Weitere Basisfunktionen sind um n verschobene Kopien (im Beispiel, nicht allgemein)

)()( 0 nsBsBn

Page 11: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 11

Knotenvektor K

• Die Berührpunkten der Basisfunktions-Teilstücke heißen Knoten

• Der Knotenvektor K setzt sich aus diesen Knoten zusammen

• Im Beispiel: K = (0, 1, 2, 3, 4, 5, 6)T

• Knotenvektor bestimmt die Form der Basisfunktionen (Im Beispiel: periodisch, uniform)

• Knotenvektor bestimmt damit auch L

Page 12: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 12

Cox-deBoor-Rekursionsformel

1

1,1

1

1,,

11,

)()()()()(

0

1)(

ndn

dndn

ndn

dnndn

nnn

kk

sBsk

kk

sBkssB

sonst

ksksB

• kn aus Knotenvektor K

• Voraussetzung: 0/0 = 0

Page 13: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 13

Basisfunktion B0,3(s)

s

B

BB

BBB

1,2

2,11,1

3,02,01,0

Page 14: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 14

Eigenschaften

• Die Kurve liegt in der konvexen Hülle des Kontrollpolygons (convex hull property)

ssBBN

nn allefür 1)(

1

0

• d-2 stetige Ableitungen (Cd-2) auf der Kurve

• maximal d-2 stetige Ableitungen an den Berührpunkten der Teilstücke

Page 15: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 15

Periodische Basis

• Problem: Summe der Basisfunktionen = 1 gilt nicht über dem ganzen Intervall [0, L]

Page 16: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 16

Periodische Basis• Lösung 1: Intervall einschränken auf gültigen Bereich• hier: Kontrollpolygon (q0, q1, ... ,q7); Knotenvektor

K=(0, 1, ... , 10)T; aber s [2, 8]

Page 17: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 17

Periodische Basis• Lösung 2: Basisfunktionen am Ende des

verkürzten Intervalls „umbrechen“

Page 18: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 18

Geschlossene B-Spline-Kurve

• Umbruch führt zu geschlossener Kurve mit K = (0, 1, ... , 8)T, s [0, 8]

• Entspricht Wiederholung von d-1 Stützpunkten am Anfang oder Ende des Kontrollpolygons

Page 19: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 19

Offene B-Spline-Kurve, Spitzen

• Wie entstehen offene B-Spline-Kurven (Kurve beginnt im Ersten Stützpunkt und endet im letzten) oder Kurven mit Spitzen in einem Stützpunkt?

• Zwei Möglichkeiten:– Mehrfache Stützpunkte– Mehrfache Knoten

Page 20: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 20

Mehrfache Stützpunkte

• Funktioniert, aber:– Lineare Segmente– Falsche Interpretation bei Approximation

Page 21: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 21

Mehrfache Knoten

• Knoten werden überlagert• Aus K=(0,1,2,3,4,5)T wird K=(0,1,2,2,3,4)T

• L = 5 wird zu L = 4

Page 22: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 22

Spitzen

• Spitzen in Basisfunktionen erzeugen Spitzen in der Kurve• d-3 stetige Ableitungen in der Spitze• Allgemein d-m-1 stetige Ableitungen in mehrfachen

Knoten mit Multiplizität m

Page 23: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 23

Offene B-Spline-Basis

• Dreifachknoten am Anfang und Ende der quadratischen Basisfunktionen (d=3)

• Knotenvektor K=(0,0,0,1,2,3,4,5,5,5); (offen, uniform)• L = 5

Page 24: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 24

Offene B-Spline-Funktion (R1)

Page 25: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 25

Offener B-Spline (R2)

• Anfangs- und Endpunkt der Kurve fallen mit erstem und letztem Stützpunkt zusammen

• Ableitung in diesen Punkten abhängig von erstem und letztem Segment des Kontrollpolygons

Page 26: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 26

B-Spline-Funktionen(R1)

• Summenformel für B-Spline-Kurven:

• Summenformel für B-Spline-Funktionen:

1

0

)()(BN

nnn sBxsx

1

0

)()(BN

nnn sBqsr

Page 27: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 27

B-Spline-Funktionen

• Summenformel als Matrixprodukt:

mit Basisvektor:

und Kontrollvektor:

xTssx QB )()(

))(),...,(),(()( 110 sBsBsBsBN

TB

1

0

BN

x

x

x

Q

Page 28: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 28

Norm und Inneres Produkt für Spline-Funktionen

• L2-Norm ||x|| für Spline-Funktion x(s):

• Innere Produkt <x,y> für zwei Funktionen x(s), y(s):

L

dssxL

x0

22)(

1

L

dssysxL

yx0

)()(1

,

Page 29: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 29

Norm und Inneres Produkt als Matrixprodukt

• L2-Norm für Kontrollvektor:

mit metrischer Matrix B:

• Inneres Produkt:

xTxx Bx QQQ )(

L

T dsssL

B0

)()(1

BB

xTxxx B 2121 )(, QQQQ

Page 30: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 30

Anwendung 1 - Inneres Produkt

• Spline-Approximation durch Methode der kleinsten Quadrate

xx

xx

xxxx

xxxxxxx

QQ

QQ

QQQQ

QQQQQQQ

,

,

,,

,,)(ˆ

2

1

2212

211121

Page 31: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 31

Anwendung 2 – Inneres Produkt

• Funktions-Approximation:

• Diskrete Approximation: dssfs

LBx )()(

11 BQ

N

nnn

x sfsL

B1

1 )()(1

BQ

Page 32: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 32

Norm und Inneres Produkt für B-Spline-Kurven

• Kontrollvektor:

• Kurve als Matrixprodukt:

TNNy

x

BByyxx ),...,,,...,( 1010

Q

QQ

QB0

0BQU

T

T

s

sssr

)(

)()()(

Page 33: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 33

Norm und Inneres Produkt für B-Spline-Kurven

• L2-Norm:

mit:

• Inneres Produkt:

QQQ UdssrL

TL

0

22)(

1

B

BdssUsU

LU

LT

0

0

0

)()(1

2121, QQQQ UT

Page 34: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 34

Anwendung – L2-Norm

• Unterschied zwischen zwei Kurven ||Q1-Q2||

Page 35: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 35

L2-Norm vs. Euklidische Norm

• Euklidische Norm: |r1-r0|<|r2-r0|

• L2-Norm: ||r2-r0||< ||r1-r0||

Page 36: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 36

L2-Norm und Reparametrisierung

• Möglichkeiten:– Suche über allen Parametrisierungen– Anderer Abstandsbegriff (später im Buch)

Page 37: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 37

Fläche und Momente für geschlossenen B-Splines

• Momente:– Fläche– Schwerpunkt– Trägheit

• Grobe Unterscheidung von Objekten

• Initialisierung

• Verfolgung von Objekten

Page 38: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 38

Schwerpunkt

• Einfach, aber nicht invariant gegenüber Reparametrisierungen:

• Invariant, aber nicht in Q berechenbar:

1

01 und

0

11mit

,1

,1)(

1y

0

xy

xL

dssrL

rQ

Q

L

L

dssr

dssrsrr

0

0

|)(|

|)(|)(

Page 39: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 39

Momente

• Fläche:

• Schwerpunkt:

• Trägheit:

LTT dsssB

B

BAA

0

)()( und mit )(Α BB0

0QQQ

L

dssrsrsrA

r0

)()(),(det)(

1

Q

L

T dssrsrsrsrA

I0

)()()(),(det)(

1

Q

Page 40: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 40

Beispiel

Page 41: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 41

Literatur zu Splines

• (Active Contours)

• David F. Rogers, J. Alan Adams, „Mathematical Elements for Computer Graphics“, 1990, McGraw-Hill

• Gerald Farin, „Curves and surfaces for computer aided geometric design“, 1993, Acad. Press

Page 42: 4.5.20011 Hauptseminar Robot/Computer Vision SS 2001 Active Contours von Andrew Blake und Michael Isard B-Splines Florian Klaschka.

4.5.2001 Florian Klaschka 42

The End