4.5.2001 1
HauptseminarRobot/Computer Vision
SS 2001„Active Contours“
von Andrew Blake und Michael Isard
B-SplinesFlorian Klaschka
4.5.2001 Florian Klaschka 2
Übersicht• Anwendungen• B-Splines• Basisfunktionen
– Formeln– Knotenvektor– Eigenschaften– Periodische Basisfunktionen– Mehrfache Knoten
• Normen, Fläche und Momente
4.5.2001 Florian Klaschka 3
Anwendung: Active Contours
4.5.2001 Florian Klaschka 4
Anwendungen
• Active Contours
• 2D-/3D-Modellierung und Design
• Messwertauswertung, Interpolation
• Funktionsapproximation
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
4.5.2001 Florian Klaschka 6
B-Spline Beispiel
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
4.5.2001 Florian Klaschka 8
Beispiel: B-Spline-Funktion (R1)
Mit Stützpunkten gewichtete Basisfunktionen und B-Spline-Funktion
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
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
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
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
4.5.2001 Florian Klaschka 13
Basisfunktion B0,3(s)
s
B
BB
BBB
1,2
2,11,1
3,02,01,0
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
4.5.2001 Florian Klaschka 15
Periodische Basis
• Problem: Summe der Basisfunktionen = 1 gilt nicht über dem ganzen Intervall [0, L]
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]
4.5.2001 Florian Klaschka 17
Periodische Basis• Lösung 2: Basisfunktionen am Ende des
verkürzten Intervalls „umbrechen“
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
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
4.5.2001 Florian Klaschka 20
Mehrfache Stützpunkte
• Funktioniert, aber:– Lineare Segmente– Falsche Interpretation bei Approximation
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
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
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
4.5.2001 Florian Klaschka 24
Offene B-Spline-Funktion (R1)
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
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
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
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
,
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
4.5.2001 Florian Klaschka 30
Anwendung 1 - Inneres Produkt
• Spline-Approximation durch Methode der kleinsten Quadrate
xx
xx
xxxx
xxxxxxx
QQQQ
QQQQQQQ
,
,
,,
,,)(ˆ
2
1
2212
211121
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
4.5.2001 Florian Klaschka 32
Norm und Inneres Produkt für B-Spline-Kurven
• Kontrollvektor:
• Kurve als Matrixprodukt:
TNNy
x
BByyxx ),...,,,...,( 1010
Q
QB0
0BQU
T
T
s
sssr
)(
)()()(
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
4.5.2001 Florian Klaschka 34
Anwendung – L2-Norm
• Unterschied zwischen zwei Kurven ||Q1-Q2||
4.5.2001 Florian Klaschka 35
L2-Norm vs. Euklidische Norm
• Euklidische Norm: |r1-r0|<|r2-r0|
• L2-Norm: ||r2-r0||< ||r1-r0||
4.5.2001 Florian Klaschka 36
L2-Norm und Reparametrisierung
• Möglichkeiten:– Suche über allen Parametrisierungen– Anderer Abstandsbegriff (später im Buch)
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
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
|)(|
|)(|)(
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
4.5.2001 Florian Klaschka 40
Beispiel
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
4.5.2001 Florian Klaschka 42
The End
Top Related