Top Banner
B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨ uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom vom Grad (k - 1), das an den Segment¨ uberg¨ angen im allgemeinen C k-2 stetig differenzierbar ist. Dabei seien B-Splines St¨ uckweise Polynome, denen die folgenden geordneten Parameterwerte zugrundeliegen: t =(t 0 ,t 1 ,t 2 ,...,t m ,t m+1 ,...,t m+k ), wobei m: wird von der Anzahl der zu interpolierenden Punkte bestimmt k : die festgelegte Ordnung der B-Spline-Kurve 48
44

B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Apr 16, 2018

Download

Documents

phamlien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

B-Spline-Kurve und -Basisfunktionen

Eine B-Spline-Kurve der Ordnung k ist ein stuckweise aus

B-Splines (Basisfunktion) zusammengesetztes Polynom vom Grad

(k − 1), das an den Segmentubergangen im allgemeinen Ck−2

stetig differenzierbar ist.

Dabei seien B-Splines Stuckweise Polynome, denen die folgenden

geordneten Parameterwerte zugrundeliegen:

t = (t0, t1, t2, . . . , tm, tm+1, . . . , tm+k),

wobei

• m: wird von der Anzahl der zu interpolierenden Punkte bestimmt

• k: die festgelegte Ordnung der B-Spline-Kurve

48

Page 2: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Beispiele von B-Splines

B-Splines der Ordnung 1, 2, 3 und 4:

Innerhalb eines Parameterintervals gibt es k sich uberlappende

B-Splines.

49

Page 3: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Ein Beispiel der kubischen B-Splines

50

Page 4: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

B-Splines der Ordnung k - I

Das rekursive Definitionsverfahren einer B-Spline-Basisfunktion

Ni,k(t):

51

Page 5: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

B-Splines der Ordnung k - II

Aktuelle Segemente der B-Spline-Basisfunktionen der Ordnungen 2,

3 und 4 fur ti ≤ t < ti+1:

52

Page 6: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Uniforme B-Splines der Ordnung 1 bis 4

k=1 k=2

k=3 k=4

53

Page 7: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Nichtuniforme B-Splines

Ordnung 3:

54

Page 8: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Eigenschaften der B-Splines

Partition of unity:∑k

i=0 Ni,k(t) = 1.

Positivity: Ni,k(t) ≥ 0.

Local support: Ni,k(t) = 0 for t /∈ [ti, ti+k].Ck−2 continuity: If the knots {ti} are pairwise

different from each other, then Ni,k(t) ∈ Ck−2, i.e.

Ni,k(t) is (k − 2) times continuously differentiable.

55

Page 9: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Gewinnung einer B-Spline-Kurve

Eine B-Spline-Kurve kann dadurch konstruiert werden, daß eine

Menge von vorgegebenen Großen mit diesen B-Splines gemischt

werden:

r(t) =m∑

j=0

vj ·Nj,k(t)

wobei vj Kontrollpunkte (de Boor-Punkte) genannt werden.

Sei ein Parameter t gegeben, ist r(t) ein Punkt dieser

B-Spline-Kurve.

Wenn t von tk−1 bis zu tm+1 variiert, so stellt r(t) eine Ck−2 stetig

differenzierbare Kurve dar.

56

Page 10: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Berechnung von Kontrollpunkten ausDatenpunkten

Die Punkte vj sind nur bei k = 2 identisch mit den

Datenpunkten zur Interpolation, sonst nicht.

Ein Kontrollpunktzug bildet eine konvexe Hulle fur die

Interpolationskurve.

Zwei Verfahren zur Berechnung von Kontrollpunkten aus

Datenpunkten:

57

Page 11: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

1 Durch die Losung des folgenden Gleichungssytems

(Bohm84):

qj(t) =m∑

j=0

vj ·Nj,k(t)

wobei qj die Datenpunkte fur die Interpolation sind,

j = 0, · · · ,m.

2 Durch Lernen basierend auf dem Gradient-Abstieg

(Zhang98).

58

Page 12: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Lattice - I

59

Page 13: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Lattice - II

60

Page 14: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Tensor-Produkt 2D-NURBS

61

Page 15: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Problematik in der realen Welt

• Modellierung: Lernen aus Beispielen,

selbstoptimierende Gestaltung, Vorhersagen, ...

• Regelung: Perzeption-Aktion-Zyklus,

Zustandsregelung, Identifikation dynamischer Systeme,

...

Funktionsapproximation als Benchmark zur Wahl eines

Modells

62

Page 16: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Funktionsapproximation - 1D Beispiel

Eine Testfunktion f(x) = 8sin(10x2 + 5x + 1) mit

−1 < x < 1 und die richtig verteilten B-Splines:

63

Page 17: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Lattice

Abbildung 1: The B-spline model – a two-dimensional

illustration.

64

Page 18: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Jedes n-dimensionale Viereck (n > 1) wird von dem jth

multivariaten B-spline N jk(x) bedeckt. N j

k(x) ist uber

den Tensorprodukt n univariate B-splines:

N jk(x) =

n∏j=1

N jij,kj

(xj) (1)

65

Page 19: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

(a) Tensor product of

two, order 2 univariateB-splines.

(b) Tensor product of

one order 3 and oneorder 2 univariate B-splines.

(c) Tensor product of

two univariate B-splinesof order 3.

Abbildung 2: Bivariate B-splines formed by taking the

tensor product of two univariate B-splines.

66

Page 20: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Allgemeine Anforderungen an einenApproximator

• Universalitat: Approximation von beliebigen Funktionen

• Generalisierung: gute Approximation ohne Overfitting

• Adaptivitat: selbsteinstellend anhand von neuen Daten

• Parallelitat: Rechnen nach biologischen Vorbildern

• Interpretierbarkeit: mindestens als “Grey-box” anstatt

“Black-box”

67

Page 21: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Bedeutung der Interpretierbarkeit einesModells

Richard P. Feynman: “the way we have to describe

nature is generally incomprehensible to us”.

Albert Einstein: “it should be possible to explain the

laws of physics to a barmaid”.

68

Page 22: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Wichtige Grunde fur symbolische Interpretierbarkeit

eines Approximators:

• Linguistische Modellierung bietet ein Mittel zur

Fertigkeitsubertragung von einem Experten auf einen

Computer oder Roboter.

• Automatisches Lernen eines transparenten Modells

erleichtert die Analyse, Validierung und Uberwachung

bei der Entwicklung eines Modells bzw. eines Reglers.

• Transparente Modelle besitzen vielfaltige

Anwendungsmoglichkeiten in Decision-SupportSystems.

69

Page 23: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Symbolumwandlung der Kernfunktionen

Positiv definierte, konvexe Kernfunktionen konnen als

Fuzzy-Mengen betrachtet werden. Z.B.:

µB(x) =1

1 +(

x−5010

)2

70

Page 24: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

B-Spline ANFIS

Bei einem B-Spline ANFIS mit n Eingangen

x1, x2, . . . , xn, werden Regeln der folgenden Form

benutzt:

{Regel(i1, i2, . . . , in): IF (x1 IS N 1i1,k1

) AND (x2 IS

N 2i2,k2

) AND . . . AND (xn IS Nnin,kn

) THEN y IS

Yi1i2...in},wobei

• xj: Eingangsgroße j (j = 1, . . . , n),

• kj: Ordnung der B-Spline-Basisfunktion fur xj,

71

Page 25: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

• N jij,kj

: mit dem i-ten linguistischen Term fur xj assoziierte

B-Spline-Funktion,

• ij = 0, . . . ,mj, Partitionierung von Eingang j,

• Yi1i2...in: Kontrollpunkte der Regel(i1, i2, . . . , in).

• der “AND”-Operator: Produkt

72

Page 26: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Dann ist der Ausgang y eines MISO Regelungssystems:

y =m1∑

i1=1

. . .

mn∑in=1

(Yi1,...,in

n∏j=1

N jij,kj

(xj))

Das ist ein allgemeines B-Spline-Modell, das die

Hyperflache NUBS (nonuniform B-spline) darstellt.

73

Page 27: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Architektur des B-Spline ANFIS

74

Page 28: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

ZF-Formulierung - Tensorprodukt

Tensor-Produkt 2D-Splines:

75

Page 29: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Die Aktivierung der ZF uber den Eingang

76

Page 30: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

B-Spline ANFIS: ein Besipiel

Ein Beispiel mit zwei Eingangsvariablen (x und y) und

einem Ausgang z. Die Parameter der DANN-Teile sind

Z1, Z2, Z3, Z4.

77

Page 31: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Die linguistischen Terme der Eingange (WENN-Teile):

78

Page 32: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Die Parameter der DANN-Teile:

79

Page 33: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Ein Beispiel-Regelbasis

Die Beispiel-Regelbasis besteht aus vier Regeln:Regel

1) IF x is X1 and y is Y1 THEN z is Z1

2) IF x is X1 and y is Y2 THEN z is Z2

3) IF x is X2 and y is Y1 THEN z is Z3

4) IF x is X2 and y is Y2 THEN z is Z4

80

Page 34: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Illustrierung der Fuzzy-Inferenz

81

Page 35: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

82

Page 36: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

83

Page 37: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

84

Page 38: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

85

Page 39: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

86

Page 40: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Algorithm zum uberwachten Lernen - I

Angenommen sei {(X, yd)} eine Menge von

Trainingsdaten, wobei

• X = (x1, x2, . . . , xn) : der Vektor der Eingangsdaten,

• yd : der gewunschte Ausgang fur X.

Der LSE ist:

E =12(yr − yd)2, (2)

87

Page 41: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

wobei yr der aktuelle reale Ausgangswert wahrend des

Tranings ist.

Die zu findenen Parameter sind Yi1,i2,...,in, die den Fehler

in (2) minimiert, d.h.

E =12(yr − yd)2 ≡ MIN. (3)

88

Page 42: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Algorithm zum uberwachten Lernen - II

Jeder Controlpunkt Yi1,...,in kann uber das folgende

Gradientabstiegsverfahren verbessert werden:

∆Yi1,...,in = −ε∂E

∂Yi1,...,in

(4)

= ε(yr − yd)n∏

j=1

N jij,kj

(xj) (5)

wobei 0 < ε ≤ 1.

89

Page 43: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Das Gradientabstiegsverfahren gewahrleistet, dass der

Lernalgorithmus zum globalen Minimum der

LSE-Funktion konvergiert, weil die 2. partielle Ableitung

bezuglich zu Yi1,i2,...,in konstant ist:

∂2E

∂2Yi1,...,in

= (n∏

j=1

N jij,kj

(xj))2 ≥ 0. (6)

Dies bedeutet dass die LSE-Funktion (2) konvex im

Raum Yi1,i2,...,in ist und deshalb nur einen (globalen)

Minimum besitzt.

90

Page 44: B-Spline-Kurve und -Basisfunktionen · B-Spline-Kurve und -Basisfunktionen Eine B-Spline-Kurve der Ordnung k ist ein st¨uckweise aus B-Splines (Basisfunktion) zusammengesetztes Polynom

Funktionsapproximation - Demonstrationen

sin(x2) Stop 1d-demo

sin(x2y) Stop 2d-demo

91