© Dr inż. JANUSZ LICHOTA
PODSTAWY MECHATRONIKILogika rozmyta(Fuzzy logic)
Wydział Mechaniczno-Energetyczny
PLAN WYSTĄPIENIA
• Historia
• Formalizm
• Zastosowania
- sterowanie wentylacją
- sterowanie rozmyte a regulator stanu
- ruch robotów
- rozpoznawanie uczuć
- sterowanie turbiną parową
- z pamiętnika operatora młyna cementowego...
- sterowanie ruchem pociągów w Japonii
- rozmyte inwestowanie na giełdzie
- rozpoznawanie rozedmy płuc
- zapobieganie katastrofie lotniczej
• Arystoteles “prawo wyłączonego środka”– Każde zdanie musi być prawdziwe lub fałszywe
• Platon: dopuścił trzeci stan: 0 i 1 się łączą
• Łukasiewicz: początek XX wieku, zaproponował 3-wartościowa logikę (0, 1, 2) jako alternatywną do (0, 1)– Knuth proponował (-1, 0, 1)
HISTORIA
HISTORIA
• Pojęcie wprowadzone przez Lotfi A. Zadeha, profesora informatyki na University of California (Berkeley) w 1965
• Rozszerzył teorię zbiorów
• Wiele zastosowań w automatyce
FORMALIZM
Zajmuje się własnościami dobrze zdefiniowanych elementów
• Zbiór U
– Zawiera wszystkie elementy w danym zagadnieniu
• A = pewien podzbiór w U
– zdefiniowany poprzez listę elementów lub regułę, lub
– przez funkcję przynależności opisująca elementy zbioru
• Lista
A = {x, y,z,...} porządek elementów nie jest istotny
A = (x, y,z,...) porządek elementów jest istotny
• Reguła
A = {x∈∈∈∈ U |||| x spełnia pewne warunki} np.
A = {x∈∈∈∈ U |||| x spełnia pewne warunki} A = {x∈∈∈∈ U |||| g(x) <= 0}
• Funkcja przynależności
µA (x)=1, gdy x ∈ A
µA (x)=0, gdy x ∉ A
TEORIA ZBIORÓW
TEORIA ZBIORÓWFunkcja przynależności w logice ostrej
30 C Temperatura
GORĄCO
1
Jeżeli temperatura >= 30 C, jest gorąco (1 lub true);
Jeżeli temperatura < 30 C, nie jest gorąco (0 lub false).
0
True
False
• Funkcja przynależności
µA (x)=1, gdy x ∈ A
µA (x)=0, gdy x ∉ A
• Rozróżnia dwie wartości true/ false, 1/0, nie ma żadnych pośrednich wartości
• PrzykładReguła:
Jeżeli temperatura jest większa niż 30 C, to jest gorąco, w przeciwnym przypadku nie jest.
Przypadki:– Temperatura = 40 C– Temperatura = 30.1 C– Temperatura = 29.9 C– Temperatura = 20 C
Nie gorąco
Nie gorąco
gorącogorąco
TEORIA ZBIORÓWLogika ostra
OPERACJE NA ZBIORACH
Suma zbiorów Iloczyn zbiorów
Zbiory równoważne
Zbiory równe
Podzbiór
W tym przypadku A „jest większy” niż B
Np. A={x,y,z}B={1,2,3} to x=1, y=2, z=3
OPERACJE NA ZBIORACH
Dopełnienie
Relacja refleksyjnaA jest w relacji z A
PrzechodniośćDwa zbiory mają tę samą relację do trzeciego
Zbiór pusty
Symetria-relacja pierwszego zbioru do drugiegoJest taka sama jak drugiego do pierwszego
Równoważność-relacja refleksyjna+symetria+przechodniość
OPERACJE NA ZBIORACHZbiory mają część wspólną
Przykład: U=zbiór wszystkich samochodów we Wrocławiu
A= {x∈ U | x ma 4 cylindry} B= {x∈ U | x ma 6 cylindrów}
Co sprawia, że samochód jest „polski”?
-samochody produkowane w Polsce mogą zawierać część z zagranicy-samochody produkowane za granicą mogązawierać części produkowane w Polsce
Jak zdefiniować zbiory E oraz F?
Lista elementów?Reguła ?Funkcja przynależności?
Silnik 4-cylindrowySilnik 6-cylindrowySilnik 8-cylindrowyInne
Samochodypolskie
Samochody z zagranicy
Logika ostra Logika rozmytaZbiór
ABCD
Zbiór
E
F
PolonezKaczorDąbPodrzędne
SamochódPtakDrzewo
PojazdZwierzęRoślinaPojęcie nadrzędne
OPERACJE NA ZBIORACHZbiory mają część wspólną
OPERACJE NA ZBIORACHMyślenie ostre i nieostre
Podejścia do rozwiązywania zadań-logiczne / metaforyczne-sensowne / marzycielskie-poważne / z humorem-określone / dwuznaczne-spójne / paradoksalne-żmudne / żartobliwe-dokładne / przybliżone-rzeczywiste / fantazjujące-skoncentrowane / rozproszone-analityczne / nielogiczne-szczegółowe / ogólne-dojrzałe / niedojrzałe
Ostre / rozmyte
• Informacja– znaczenie
– Wiedza z doświadczenia
Niepewność– Warunki, w których istnieje możliwośćpopełnienia błędu
• Złożoność
OPERACJE NA ZBIORACHMyślenie ostre i nieostre, niepewność
Wiedza niepewna
Nie można zdecydować, czy rzecz jest prawdziwa czy
fałszywa.
Diana mogłaby mieć ponad 1.85 m wzrostu.
Wiedza nieostra
Występuje wtedy, gdy w zdaniu zastosowano rozmyte pojęcie
Diana jest duża.
OPERACJE NA ZBIORACHWiedza niepewna i nieostra
• Możliwość (zbiór rozmyty)– Stopień w jakim rzecz się zdarza
• Prawdopodobieństwo– Prawdopodobieństwo tego, czy zajdzie zdarzenie
Trucizna ?
OPERACJE NA ZBIORACHMożliwość i prawdopodobieństwo
OPERACJE NA ZBIORACHPomiar i niepewność
• Dokładność– Nieważne jak dokładnie mierzylibyśmy, zawsze będzie istniała niepewność pomiaru
– Część ułamkowe
Miara ?
• Rozumienie znaczenia słów– Znaczenie kontekstowe
– Nieokreśloność
• Paradoks stogu siana (lub owsa)
Biorąc jedno źdźbło trawy ze stogu, pozostaje on stogiem
OPERACJE NA ZBIORACHNieokreśloność (nierozstrzygalność)
(1)Osoba nie posiadająca włosów jest łysa (ilośćwłosów n=0)
(2) Jeżeli osoba posiadająca n włosów na głowie jest łysa, to osoba posiadająca n+1 włosów na głowie jest łysa
Modus Ponens
(Jeżeli A, to B. Dane jest A. Następnikiem jest B.)
WNIOSEK Z KLASYCZNEJ LOGIKI: wszyscy są łysi.
OPERACJE NA ZBIORACHNieokreśloność (nierozstrzygalność)
OPERACJE NA ZBIORACHPo co nam niedokładność?
• Umożliwia rozróżnienie rzeczy „istotnych” od „nieistotnych”
• Tworzy kognicyjne pola pojęć
• Umożliwia redukcję złożoności procesu, niestety wywołuje niekompatybilność względem innych procesów
OPERACJE NA ZBIORACHNiekompatybilność
Im bardziej złożony obiekt, tym mniej jesteśmy w stanie połączyć precyzję oraz znaczenie danego zachowania od pewnego punktu.
EKSPERYMENT ROZMYTY
Niewiele?Kilka?Dużo?
Co oznacza każdy termin ?
Normalizacja wyników – maksymalną wartością jest 1
Znormalizowany wykres funkcji jest funkcją przynależności
ZBIORY ROZMYTE
Funkcja przynależności do zbioru rozmytego µµµµA(x) µµµµA(x) przyjmuje dowolną wartość z przedziału [0, 1]
Zbiór rozmyty, EE={x∈ U | [x, µE (x) ]}
U = wszystkie samochody we WrocławiuµµµµD(x) = p(x) = udział części krajowychµµµµF(x) = 1-p(x) = udział części zagranicznych
Funkcje przynależności wyrażają subiektywną wartość utylitarną opartą np. na prawdopodobieństwie lub nie.
„Jeżeli 40 % części w samochodzie ma pochodzenie krajowe, to jest to prawdopodobnie samochód z zagranicy”
samochód z zagranicy
samochód krajowy
FUNKCJE PRZYNALEŻNOŚCI
„Bliskie zera” „Prawdopodobnie NIE y”
„Około y” „Młody (Young) / Stary (Old)”
180 cm 179 cm
wzrost
180160
Rozmyty1
wzrost
180
Ostry1
FUNKCJE PRZYNALEŻNOŚCI
Przynależność do zbioru osób wysokich
Przynależność do zbioru osób wysokich
Temperatura wysoka posiada różne znaczeniakontekstowe np. w przypadku gorączki i reaktorajądrowego.
FUNKCJE PRZYNALEŻNOŚCI
Zbiór ostry Zbiór rozmyty
FUNKCJE PRZYNALEŻNOŚCI
FUNKCJE PRZYNALEŻNOŚCIRozszerzenia operatorów
• Można modelować takie pojęcia jak BARDZO, NIECO, TROSZECZKĘ itp.
• Np. jeżeli x przynależy w stopniu µ(x) do zbioru GORĄCO, funkcja przynależności (µ(x))2 mogłaby odpowiadać za BARDZO GORĄCO, lub √(µ(x)) za DOŚĆ GORĄCO
• Nośnik zbioru rozmytego
supp(A) = {x∈ U | µA (x)>0 }
• Środek zbioru rozmytego
– Funkcja dwustronna : Środek = wartość średnia
– Funkcja z lewej strony : Środek = max (x) dla którego µ( x) = 1
– Funkcja z prawej strony : Środek = min (x) dla którego µ( x) = 1
FORMALIZMDefinicje zbiorów rozmytych
• Suma zbiorów
A ∪ B
Wtedy i tylko wtedy, gdy µA∪B(x) = max [µA(x), µB(x)] ∀ x∈U
• Część wspólna zbiorów
A ∩∩∩∩ B
Wtedy i tylko wtedy, gdy µA∩∩∩∩B(x) = min [µA(x), µB(x)] ∀ x∈U
• A zawiera B
A ⊃⊃⊃⊃ B
Wtedy i tylko wtedy, gdy µA(x) >= µB(x) ∀ x∈U
• Równoważność zbiorów
A ∼∼∼∼ B
Wtedy i tylko wtedy, gdy µA(x) = µB(x) ∀ x∈U
• Dopełnienie zbioru
U-A
Wtedy i tylko wtedy, gdy µA(x) =1- µA(x) ∀ x∈U
FORMALIZMOperacje rozmyte
Logika rozmyta jest uogólnieniemlogiki ostrej opartym na definicji funkcji przynależności
A B
A ∧∧∧∧ B A ∨∨∨∨ B ¬A
FORMALIZM Operacje na zbiorach
µA∪B(x) = max [µA(x), µB(x)] ∀ x∈UµA∩∩∩∩B(x) = min [µA(x), µB(x)] ∀ x∈U µA(x) =1- µA(x) ∀ x∈U
• Suma rozmyta
A ∪ B
• Przykład
– A = {1.0, 0.20, 0.75}
– B = {0.2, 0.45, 0.50}
– A ∪ B = {MAX(1.0, 0.2), MAX(0.20, 0.45), MAX(0.75, 0.50)}
= {1.0, 0.45, 0.75}
• Część wspólna zbiorów
A ∩∩∩∩ B
PrzykładA ∩ B = {MIN(1.0, 0.2), MIN(0.20, 0.45), MIN(0.75, 0.50)} = {0.2, 0.20, 0.50}
FORMALIZM Operacje na zbiorach
Dopełnienie zbioru
Ac=U-A
• Przykład
– Ac = {1 – 1.0, 1 – 0.2, 1 – 0.75} = {0.0, 0.8, 0.25}
FORMALIZM Operacje na zbiorach
Not YoungA1
MidAgeA2
Not OldA3
WiekPrzy
należn
ość
0 803520 6045
A2 = A1 ∩ A3
• Przecięcie się dwóch zbiorów rozmytych A oraz B jest operacją binarną i na przedziale jednostkowym
• i: [0,1] x [0,1] � [0,1]– (A∩B)(x) = i[A(x), B(x)]
• Standardowa część wspólna:– i(a,b) = min(a,b)
• Wynik algebraiczny:– i(a,b) = ab
FORMALIZMt-norma
• Suma dwóch zbiorów rozmytych A i B jest operacją binarną i na przedziale jednostkowym :– u: [0,1] x [0,1] � [0,1]– (A∪B)(x) = u[A(x), B(x)]
• Standardowa suma:– u(a,b) = max(a,b)
• Wynik algebraiczny:– u(a,b) = a+b-ab
FORMALIZMt-konorma
Poprzednik i następnik są rozmyte
– np., “IF błąd IS mały AND zmiana błędu w czasie IS ujemna, THEN sygnał sterujący IS mały”
– Czym jest błąd “mały”, “średni”, oraz “duży”?
• Należy “rozmyć” fizyczny pomiar błędu/pochodnej, zastosować reguły rozmyte, oraz “de-fuzzikować” (wyostrzyć) sygnał sterujący
FORMALIZMZbiory rozmyte Mamdaniego
Regulator „PI”
PRZYKŁADsterowanie temperaturą w pomieszczeniu
PRZYKŁAD 1Zbiory ostre
• Dowolna wartość jest ściśle wewnątrz jednego ze zbiorów
• Np. 12.9° przynależy z wartością 1 do „zimno” i 0 do pozostałych zbiorów
• Jeżeli (5 < x ≤ 15) to …
PRZYKŁAD 1Zbiory rozmyte
• Wartości przynależą do każdego zbioru w pewnym stopniu• Np. 27.1° przynależy 0.1 do ‘Warm’ i 0.6 do ‘Hot’ (0 do
pozostałych)
PRZYKŁAD 1Rozmyte wyjścia
• Musimy wyznaczyć jedną, konkretną wartość wyjścia,• Np. jakie powinno być wyjście dla danej temperatury • Potrzebujemy czegoś, co nazwiemy ‘defuzzyfikacją’
(wyostrzaniem wyjścia)
PRZYKŁAD 1Negacja
Jeżeli x należy do zbioru A, a przynależność wynosi mA(x), to negacją tego faktu (x NIE należy do zbioru A) jest 1 - mA(x)
PRZYKŁAD 1Koniunkcja
• Minimum– Jeżeli x należy do zbioru A w stopniu mA(x) i do zbioru B w
stopniu mB(x) to koniunkcją (x należy do zbioru A AND B) jestmin(mA(x), mB(x))
PRZYKŁAD 1Alternatywa
• Maksimum– Jeżeli x należy do zbioru A w stopniu mA(x) i do zbioru B w
stopniu mB(x), to alternatywą (x należy do A OR B) jestmax(mA(x), mB(x))
PRZYKŁAD 1Reguły rozmyte
• If HOT then ZMNIEJSZ DUŻO
• If WARM then ZMNIEJSZ TROCHĘ
• If COOL then ZWIĘKSZ TROCHĘ
• If COLD then ZWIĘKSZ DUŻO
• Wyjścia są również reprezentowane przez zbiory rozmyte
PRZYKŁAD 1Wyostrzanie wyjścia
• Temperatura wynosi 27.1°C• 27.1°C przynależy 0.1 do zbioru WARM oraz 0.6 do
zbioru HOT• ‘If WARM then ZMNIEJSZ TROCHĘ
– Przynależność 0.1 dla wyjścia ZMNIEJSZ TROCHĘ
• ‘If HOT then ZMNIEJSZ DUŻO’– Przynależność 0.6 do wyjścia ZMNIEJSZ DUŻO
• Inne wyjścia (ZWIĘKSZ DUŻO, ZWIĘKSZ TROCHĘ) mają przynależność 0
PRZYKŁAD 1Wyostrzanie wyjścia
• Wykorzystamy tę rozmytą informację do obliczenia wyjścia z regulatora
• If HOT then ZMNIEJSZ DUŻO
• If WARM then ZMNIEJSZ TROCHĘ
• If COOL then ZWIĘKSZ TROCHĘ
• If COLD then ZWIĘKSZ DUŻO
PRZYKŁAD 1Defuzzyfikacja
• Znajdź środek ciężkości figury• Możliwe są również inne metody defuzzyfikacji np.
średnia wartość maksymalna
PRZYKŁAD 2Jego wysokość
Wzrost25 40 55
Mały Duży1
Średni
0.5
MF
Stopień
przynalezności
Wzrost
Wartości rozmyte posiadają stopnie przynależności do zbioru.
0
PRZYKŁAD 2Funkcja przynależności
180 cm 179 cm
PRZYKŁAD 3Dwa wejścia i jedno wyjście
• Dwa wejścia (x, y) i jedno wyjście (z)
• Funkcje przynależności:low(t) = 1 - ( t / 10 )
high(t) = t / 10
Low High
1
0tX=0.32 Y=0.61
0.32
0.68
Low(x) = 0.68, High(x) = 0.32, Low(y) = 0.39, High(y) = 0.61
Ostre wejścia
PRZYKŁAD 3Rozmywanie
• Reguła 1: If x is low AND y is low Then z is high
• Reguła 2: If x is low AND y is high Then z is low
• Reguła 3: If x is high AND y is low Then z is low
• Reguła 4: If x is high AND y is high Then z is high
PRZYKŁAD 3Baza reguł
• Reguła 1: low(x)=0.68, low(y)=0.39 => high(z)=MIN(0.68,0.39)=0.39
• Reguła 2: low(x)=0.68, high(y)=0.61 => low(z)=MIN(0.68,0.61)=0.61
• Reguła 3: high(x)=0.32, low(y)=0.39 => low(z)=MIN(0.32,0.39)=0.32
• Reguła 4: high(x)=0.32, high(y)=0.61 => high(z)=MIN(0.32,0.61)=0.32
„Siła” reguły
PRZYKŁAD 3Inferencja reguł, aktywność reguł
Low High1
0
t
•Low(z) = MAX(rule2, rule3) = MAX(0.61, 0.32) = 0.61
•High(z) = MAX(rule1, rule4) = MAX(0.39, 0.32) = 0.39
0.61
0.39
PRZYKŁAD 3Agregacja reguł, połączenie aktywnych reguł
• Środek ciężkości
Low High1
0
0.61
0.39
tOstre wyjście
∫
∫=
Max
Min
Max
Min
dttf
dtttf
C
)(
)(
Środek ciężkości figury geometryczcnej
PRZYKŁAD 3Defuzyfikacja
• System ekspertowy• Formalizuje wiedzę pobraną od człowieka
– Ma to znaczenie w procesach, w których trudno jest sformułować model matematyczny
• Stosuje terminy rozmyte very high, slightly low, almost zero.
– If temperature is very highAND pressure is slightly lowTHEN heat change should be slightly negative.
LOGIKA ROZMYTARegulator rozmyty
Obiekt
Defuzzifikacja(wyostrzanie)
Inferencja(oddziaływanie)
reguł
Fuzzifikacja(rozmywanie)
Baza reguł
Regulator rozmyty
Sygnał regulacyjny
Pomiar
LOGIKA ROZMYTARegulator rozmyty
• Krok 1– Zidentyfikuj istotne wejścia i wyjścia
– Zakresy wejść i wyjść
– Wybierz zmienne lingwistyczne
• Krok 2– Wprowadź funkcję rozmywającą dla każdej zmiennej wejściowej w celu interpretacji pomiarów
LOGIKA ROZMYTARegulator rozmyty - projekt
• Krok 3– Sformułuj reguły rozmyte
• Pobierz je od ludzi
• Naucz na podstawie danych empirycznych
– Reguły mają formę• If e = A and e’ = B then v = C.
LOGIKA ROZMYTARegulator rozmyty - projekt
• Krok 4– Zaprojektuj metodę inferencji reguł
If <e,e’> is A x B, then v is C,
[A x B](x,y) = min[A(x),B(y)].
– Każda reguła ma odpowiadającą jej relację R
LOGIKA ROZMYTARegulator rozmyty - projekt
– If <e,e’> is A1 x B1, then v is C1
– If <e,e’> is A2 x B2, then v is C2
– …
– If <e,e’> is An x Bn, then v is Cn
– Zdarzenie: <e,e’> is x0 x y0
– Wywnioskuj, że v is C1
• Wyostrz wyjście v– Metoda środka ciężkości itd.
LOGIKA ROZMYTARegulator rozmyty - projekt
Wejście ostre
Wejście rozmyte
Wyjście rozmyte
Wyjście ostre
Rozmywanie
Obliczanie reguł
Defuzzyfikacja
Funkcje przynależności wejść
Reguły i ich inferencja
Wyjściowe funkcje przynależności
Output Membership Functions
LOGIKA ROZMYTADziałanie regulatora rozmytego
STEROWANIE ROZMYTEWENTYLACJĄ
Powietrze
Wymiennik
Woda grzewcza
Wentylator
Regulator temperatury
LOGIKA ROZMYTASterowanie wentylacją - baza reguł
zawór zamknięty
Temperatura powietrza
• Set cold {50, 0, 0}
• Set cool {65, 55, 45}
• Set just right {70, 65, 60}
• Set warm {85, 75, 65}
• Set hot {∞, 90, 80}
Prędkość wentylatora
• Set stop {0, 0, 0}
• Set slow {50, 30, 10}
• Set medium {60, 50, 40}
• Set fast {90, 70, 50}
• Set blast {∞, 100, 80}
LOGIKA ROZMYTASterowanie wentylacją - baza reguł
Temperatury w F
• IF Cold THEN Stop
• IF Cool THEN Slow
• IF OK THEN Medium
• IF Warm THEN Fast
• IF Hot THEN Blast
LOGIKA ROZMYTASterowanie wentylacją - baza reguł
Stop
Slow
Medium
Fast
B
last
0
10
20
30
40
50
60
70
80
90
100
0
1
45 50 55 60 65 70 75 80
0
Cold
Cool
85 90
Just
Right
Warm
Hot
if Coldthen Stop
IF CoolthenSlow
If Just Rightthen
Medium
If WarmthenFast
If HotthenBlast
LOGIKA ROZMYTASterowanie wentylacją – wejścia/wyjścia
•IF Cold then Stop
•If Cool then Slow
•If OK then Medium
•If Warm then Fast
•IF Hot then Blast
1
Stop
Slow
Medium
Fast
Blast
0
10
20
30
40
50
60
70
80
90
100
0
1
45 50 55 60 65 70 75 80
0
Cold
Cool
85 90
Just
Right
Warm
Hot
t
LOGIKA ROZMYTASterowanie wentylacją – wejścia/wyjścia
•IF Cold then Stop
•If Cool then Slow
•If OK then Medium
•If Warm then Fast
•IF Hot then Blast
STEROWANIE ROZMYTEI
REGULATOR STANU
SPRZĘŻENIE ZWROTNE OD STANU
• Maksymalizuje odporność regulatora w sensie kwadratowym. Sygnał wyjściowy jest liniową funkcją wektora stanu
u = kx– Regulator liniowo-kwadratowy
– (Linear Quadratic Regulator - LQR)
• Przy niedostępnym stanie używany jest obserwator do estymacji stanu
OBSERWATOR STANU
• Używa sygnałów wejściowych i wyjściowych do modelowania obiektu oraz estymowania jego stanu– Deterministyczny
• Obserwator Luenbergera
• Obserwator adaptacyjny
– Stochastyczny• filtr Kalmana
Obiekt
dinyu
Klqr�x
obserwator
Regulator „próbuje: utrzymać zadaną wartość wyjścia y=0
SPRZĘŻENIE ZWROTNE Z OBSERWATOREM STANU
0RegulatorProporcjonalny(wektor)
• Sygnał wyjściowy z regulatora jest funkcją sygnału wyjściowego z obiektu. Przykłady obejmują– Regulator PID
– Regulację adaptacyjną opartą o model (Model reference adaptive control - MRAC)
• MRAC potrafi zredukować wpływ zakłóceń, lecz nie dostarcza estymaty stanu
Badane możliwości regulacji
sKs
KKT D
IPuz ++=
m2 m1
x1, x3 = dx1/dt
x2, x4 = dx2/dt
u w
wejście u
wyjście y = x2 zakłócenie w
k
Schemat obiektu
PRZESTRZEŃ STANU UKŁADU STEROWANIA
w
m
um
x
x
x
x
mkmk
mkmk
x
x
x
x
+
+
−
−=
2
1
4
3
2
1
22
11
4
3
2
1
1
0
0
0
0
1
0
0
00
00
1000
0100
�
�
�
�
x1 jest pozycją m1
x2 jest pozycją m2
x3 jest prędkością m1
x4 jest prędkością m2
y wyjściem z obiektu x2w jest przyspieszeniem zakłóceń działających na m2
u jest przyspieszeniem sterującym masą m1
Zadania dla układu regulacji
• Dla mas m1 = m2 = 1 oraz stałej sprężyny 0.5 < k < 2.0– Zredukować zakłócenia działające na m2 oraz m1
– Zredukować falę sinusoidalną działającą na m2
– Zmaksymalizować odporność
– Śledzić skok jednostkowy zakładając, że• Wyjście kompensatora (regulatora) jest ograniczone do u < |1|
• Czas regulacji oraz przeregulowanie jest minimalne
Podejście jakościowe (rozmyte)
• Regulator rozmyty oparty o model jakościowy– Używa hierarchicznej struktury
• Najpierw, osiągnięcie odporności (i stabilności)
• Potem, osiągniecie wskaźników jakości regulacji
– Dobra jakość regulacji oraz stabilność
0 5 100
1
2
3
4
5
6
Time (second)
prędkośćm1 oraz m2
Pozycjam1 oraz m2
impuls wprawia wruch masę
m2
Sprężyna zwolniona
OBIEKT (masa-sprężyna-masa) BEZ REGULATORA
STRUKTURA REGULATORA
• Estymata stanu sprężyny jeżeli stan nie jest dostępny– Filtr Kalmana
– przyspieszenie m2
• Określ oscylacje sprężyny stosując jej rozmyty model
• Tłumienie wibracji używając wyjścia modelu sprężyny
• Gdy sprężyna nie podlega naciskowi rozpocznij śledzenie
u
y
Rozmyty kompensator (regulator)
Rozmyty model sprężyny
Estymator długości sprężyny
ROZMYTY MODEL SPRĘŻYNY
• Wymaga estymaty wejściowej
– Długości sprężyny (L = 0) oraz
– Kierunku ruchu sprężyny jest danego przezdL/dt, (np. rozciąganie lub ściskanie) gdy L = 0.
• Estymaty nie muszą być optymalne (np. z filtru Kalmana), lecz mogą być otrzymane z filtrów sub-optymalnych
L – zmiana długości sprężyny
ROZMYTY MODEL SPRĘŻYNYReguły
• IF L is zero AND dL/dt is medium ORlarge THEN tłum wibracje
• IF L is almost zero AND dL/dt is largeTHEN tłum wibracje
– Kierunek wyjścia jest dany przez dL/dt oraz jest przeciwnie skierowany względem rozszerzania lub skracania długości sprężyny
• Reguły redukują wpływ zakłóceń
-2 -1 0 1 2
-2
0
2
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
spring_length_estimate delta_spring_length_estimate
spring_state
ROZMYTY MODEL SPRĘŻYNYReguły – płaszczyzna wyjściowa
Stan sprężyny
Estymata długości sprężyny Estymata zmiany długości sprężyny
REGULATOR ROZMYTY
• Tłumienie oscylacji– Sygnał z regulatora jest w przeciwną stronę niż z obiektu, gdy L = 0
– Przesuwa sygnał sterujący o wartość proporcjonalną do błędu pozycji oraz prędkości
• Śledzenie wartości zadanej– Gdy L jest małe, to działa regulator PD
REGULATOR ROZMYTYReguły
Rules to supress vibrations
1. If (spring state is compressing_fast_with_neutal_spring) then
(control_output is big_stop_spring_stretching) 2. If (spring state is compressing_slowly_with_neutal_spring) then
(control_output is small_stop_spring_stretching)
3. If (spring state is not_stretching_or_compressing_with_neutal_spring) then (control_output is zero)
4. If (spring state is stretching_slowly_at_zero_accel) then
(control_output is small_stop_ spring_compressing) 5. If (spring state is stretching_fast_with_neutal_spring) then
(control_output is big_stop_ spring_compressing)
Additional rules to achieve tracking of m2.
6. If (position_error is BigNegative) and (spring_length is smallBell) then
(control_output is zero_large_position) 7. If (position_error is negative) and (spring_length is tinyBell) then
(control_output is zero_small_position)
8. If (position_error is zero) and (spring_length is tinyBell) then (control_output is zero)
9. If (position_error is positive) and (spring_length is tinyBell) then
(control_output is zero_small_position) 10. If (position_error is BigPositive) and (spring_length is smallBell) then
(control_output is zero_large_position)
Reguły do tłumienia oscylacji
Dodatkowe reguły do śledzenia wartości zadanej
u
y
Rozmyty kompensator (regulator)
Rozmyty model sprężyny
Estymator długości sprężyny
SYMULACJARedukcja drgań sprężyny
m1 positionm2 positionm1 velocitym2 velocity
0 5 10 15 20-0.5
0
0.5
1
1.5
Time(sec)
0 5 10 15 20-0.5
0
0.5
1
1.5
Time(sec)
m1 positionm2 positionm1 velocitym2 velocity
Regulator rozmyty Marrison and Stengel (#3)
0 5 10 15 20-0.5
0
0.5
1
1.5
2y
Time(sec)
Fuzzy Design A Design BMarrison Design #1 Design #3
Wyjście z obiektu y
0 5 10 15 20-1
-0.5
0
0.5
1u
Time(sec)
Fuzzy Design A Design BMarrison Design #1 Design #3
Wyjście z kompensatora u
SYMULACJARedukcja zakłócenia działającego na m2
0 5 10 15 20-0.5
0
0.5
1
1.5
2
Time(sec)
Fuzzy Design A Design BMarrison Design #1 Design #3
Wyjście z obiektu y
0 5 10 15 20-4
-3
-2
-1
0
1
2
Time(sec)
Fuzzy Design A Design BMarrison Design #1 Design #3
Wyjście z kompensatora u
SYMULACJAOdpowiedź skokowa - śledzenie
STEROWANIE ROBOTEM
WyostrzenieRozmycie Baza
reguł
Funkcje przynależności
Reguły rozmyte (IF ... THEN ...) Zmienne rozmyte Zmienne lingwistyczne
Wartośćrzeczywista
Wartość rzeczywista
ZASTOSOWANIE- Sterowanie robotemRegulator rozmyty
Użyte bloki w oprogramowaniu do tworzenia reguł Mamdaniego
Funkcja przynależności
Typowa reguła Mamdaniegoi
1 1 2 2IF is AND is THEN is , for 1, 2,...,i i ix A x A y B i l=
X (liczba rzeczywista)
Wartośćrozmyta
FuzzifierFuzzifier
Output Block
Output Block
Wartośćrozmyta
Y(Zbiór rozmyty)
…
AND/ORAND/ORWartościrozmyte
DOF
DefuzzifierDefuzzifier
Y1Y2
Yn…
Metoda defuzyfikacji
Wyjście ostre
Bloki logiczne
ZASTOSOWANIE- Sterowanie robotemOperatory rozmyte
IF theta is POSAND theta_dot is NEGTHEN force is NEG
NEGZERO
POS
Fuzzyfikacja(POS)
Fuzzyfikacja(POS)
AND
DefuzyfikacjaDefuzyfikacja
theta
theta_dot Fuzzyfikacja(NEG)
Fuzzyfikacja(NEG)
siłaBlok
wyjściowy
(NEG)
Blok wyjściowy
(NEG)
Center of Gravity
Reguła #2
Reguła #3
siła
siła
Wyjścieu
Detekcja zmiany
ZASTOSOWANIE- Sterowanie robotemStruktura regulatora rozmytego
Odległość do przeszkody(mierzona przez czujnik i)
Kąt czujnika i w
v
Regulator rozmyty
θ2
θ1
ZASTOSOWANIE- Sterowanie robotemUnikanie przeszkody
a) Odległość mierzona przez czujnik(d) b) Kąt czujnika (th)
c) Prędkość w przód (V) d) Prędkość kątowa (W)
Close Near Far Neg Zero Pos
Zero VSlow Slow Fast Neg SNeg Zero SPos Pos
Funkcje przynależności:
ZASTOSOWANIE- Sterowanie robotemUnikanie przeszkody
1."IF distancei is Close And anglei is Pos Then V Is VSlow W is Neg "2."IF distancei is Close And anglei is Zero Then V Is Zero " 3."IF distancei is Close And anglei is Neg Then V Is VSlow W Is Pos "4."IF distancei is Near And anglei is Pos Then V Is Slow W Is SNeg"5."IF distancei is Near And anglei is Zero Then V Is VSlow W Is SNeg"6."IF distancei is Near And anglei is Neg Then V Is Slow W Is Spos"7."IF distancei is Far And anglei is Pos Then V Is Fast W Is Zero"8."IF distancei is Far And anglei is Zero Then V Is Fast W Is Zero"9."IF distancei is Far And anglei is Neg Then V Is Fast W Is Zero"
Reguły dla i - tego czujnika :
ZASTOSOWANIE- Sterowanie robotemUnikanie przeszkody
θ2
θ1
Czas symulacjiCzas symulacji
Aktyw
ność proce
sora
Regulator rozmyty reagujący na zdarzenia
Zwykły regulator rozmyty
Konwencjonalny regulator rozmyty oblicza operacje rozmyte (fuzzyfikacja, inferencja, defuzyfikacja) w każdym kroku czasu. W przypadku reakcji na zdarzenia obliczenia są prowadzone wtedy, gdy występuje zmiana w otoczeniu.
ZASTOSOWANIE- Sterowanie robotemUnikanie przeszkody
Zadanie wymagające współpracy: pchanie piłki
ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów
Założenia
− System nadrzędny posiada informacje o pozycji początkowej obiektu (piłki) i przesyła tę informację do robotów.
− Roboty znają swoją własną pozycję i potrafią określić pozycję względem obiektu.
− System nadrzędny komunikując się z robotamiuzyskuje informację o ich pozycji oraz stopniu wykonania zadania.
− Obiekt jest okrągły i znana jest pozycja środka ciężkości.
Roboty pozycjonują się wzajemnie i prostopadle względem obiektu. Następnie pchają obiekt do wyznaczonego celu.
Regionpopychania
rArB
G��
B��
rw��
lw��
fr=0
fr<0fr>0
fl<0
fl=0fl>0
A
Problem najpierw zostanie rozwiązany dla jednego robota, a następnie rozszerzony na pozostałe.
Robot znajduje się w pewnej pozycji początkowej. Jego zadaniem jest przepchnięcie piłki do zadanej nowej pozycji. Robot powinien ustawić się we właściwej pozycji do pchania piłki.
Pozycja docelowa G pokazana na rysunku może być obliczona następująco:
po osiągnięciu punktu A robot powoli popycha piłkę, robot powinien zawsze pozostawać po stronie przeciwnej piłki względem punktu G tj. w regionie popychania. Jest on zdefiniowany jako dwie linie przechodzące przez środek ciężkości piłki.
ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów
Punkt docelowyObiekt
Robot
f – wskaźnik obszaruw – wektor normalny do prostej
rB
G��
B��
rw��
lw��
Regiony popychania
ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów
Oba roboty ustawiają się względem siebie symetrycznie względem prostej G-A
A
“in”? komenda
“out”! cel_osiągnięty
“in”? object_reached
“in”? obiekt_zgubiony
“out”? obiekt_dotknięty
“in”? Robot_gotowy
“in”? Poza_regionem_pchania
“out”? Obiekt _osiągnął_cel
Sygnał wejściowy“in”
Sygnał wyjściowy“out”
ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów
Jeżeli jeden robot nie jest w stanie wypełnić zadania ze względu na wagę piłki, to system nadrzędny może wykryć ten stan poprzez ocenę pracy robota (prędkość popychania) i wezwać drugiego robota.
Stany pracy pojedynczego robota
· Standby: stan początkowy. Robot czeka na sygnał z systemu nadrzędnego
· Path Planning: robot przesuwa się w stronę celu omijając przeszkody oraz inne roboty. Po osiągnięciu celustan zmienia się na Standby lub Placement, w zależności od komendy z systemu nadrzędnego (komenda pushing, to stan Placement, w przeciwnym przypadku stan Standby.
· Placement: stan określa, że robot pozycjonuje się wewnątrz regionu popychania dotykając obiektu.
· Ready_to_push: robot jet gotowy do popychania obiektu czekając na drugiego robota, aby dotknął obiekt i przeszedł w stan gotowości do popychania ready_to_push.
· Pushing: po potwierdzeniu przez system nadrzędny, że wszystkie roboty są w stanie ready_to_push, robot przechodzi w stan pushing, próbując popychać obiekt w stronę celu. Stany zmieniają się w cyklu {Standby, Path_planning, Ready_to_push, Pushing, Standby},
ZASTOSOWANIE- Sterowanie robotemWspółpraca robotówWynik symulacji
ZASTOSOWANIE- Sterowanie robotemWspółpraca robotówWynik symulacji
Opisany algorytm zaimplementowano w robociePioneer AT2 wyprodukowanym przez ActivMedia Robotics™. Robot ma dwa niezależne silniki i cztery koła. Dwa lewe koła są napędzane przez jeden silnik, dwa prawe - przez drugi.
Robot jest wyposażony w 16 czujników odległości, 8 z przodu i 8 z tyłu. Pozycja jest mierzona przez hodometr(przyrząd do mierzenia odległości). Robot oblicza kierunek z informacji z hodometru. Zainstalowany komputer pracuje pod systemem Windows 2000. Algorytmy ruchu zostały zaimplementowane w w DEVSJAVA oraz V-Lab®.
ZASTOSOWANIE- Sterowanie robotemWyniki rzeczywistego eksperymentu
ZASTOSOWANIE- Sterowanie robotemWyniki eksperymentu
Parkowanie samochodu
•• KoKońńcowa pozycja i kierunek nie scowa pozycja i kierunek nie sąą precyzyjnieprecyzyjnieokreokreśślone lone
•• Zadanie Zadanie łłatwe dla czatwe dla człłowiekaowieka•• TTrudnorudnośćść rozwirozwiąązania wzrasta wraz z precyzjzania wzrasta wraz z precyzjąą•• W koW końńcu mocu możże bye byćć niemoniemożżliwe do rozwiliwe do rozwiąązaniazania
przez czprzez człłowiekaowieka•• Problem Problem parkowanie jest parkowanie jest łłatwy do rozwiatwy do rozwiąązania,zania,
gdy nie jest sformugdy nie jest sformułłowany precyzyjnieowany precyzyjnie
ZASTOSOWANIEParkowanie samochodu
DIAGNOSTYKA SILNIKA
Ramy obliczeniowe
• Podział sygnału na odcinki
• Automatyczne wyodrębnianie cech
• Automatyczna selekcja cech
• Detekcja błędów w odcinkach oparta o algorytm rozmyty
• Detekcja błędów w sygnale oparta o algorytm rozmyty
Podział sygnału na odcinki z użyciem falek
• Podział sygnału na odcinki: izolacja zdarzeń
• Falki: sygnał jest podzielony na różne funkcje zdefiniowane przez falki
• Przykład:
AUTOMATYCZNE WYODRĘBNIANIE CECH
• Interesujące cechy: krawędzie (brzegi), oscylacje, stan ustalony, impulsy (piki)
• Rodziny cech:– Podstawowe cechy statystyczne : maksimum, minimum, średnia, zakres wartości,
długość odcinka, itp.
– Energia falki : Znormalizowana suma kwadratów współczynników transformacji falki
– Średnia falki: Średnia współczynników transformacji falki
– X-Centroid: poziomy środek ciężkości współczynników transformaty falki
– Wypukłość/wklęsłość : Stosunek współczynników wypukłości i wklęsłości poszczególnych falek w danym odcinku
AUTOMATYCZNA SELEKCJA CECH
• Przykład selekcji cech :– Agent wielu sygnałów RPM, algorytm selekcji cech zredukował zbiór 220
możliwych cech do 11
Oryginalna przestrzeńcech
Wstępna selekcja
1/2 Przestrzeń cech
Sekwencyjny algorytm selekcji wstecznej
Częściowo zoptymalizowany zbiór cech
Najlepsza prędkość klasyfikacji cech?
Klasyfikatorbayesowski
Zbiór cech mały/dobry?
Wyrzuć
1
cechę
Zoptymalizowany zbiór cech (koniec)
True
Zastąp cechęWyrzuć cechę
False
False True
Cechy
DETEKCJA BŁĘDÓW W ODCINKACH
• Nauka rozmyta– Każdy agent musi wygenerować swoją własną bazę wiedzy poprzez
automatyczne uczenie rozmyte
– Baza wiedzy jest zbiorem reguł oraz zmiennych rozmytych
– Przykład reguły rozmytej
IF WaveletAverage is LOW AND Maximum is LOW THEN segment is GOOD
– Zbiór uczący zawiera wektor cech reprezentujący dobre odcinki
• Detekcja błędów– W każdym odcinku sygnału wejściowego agent stosuje rozumowanie rozmyte i
dzieli zdarzenia na
GOOD, BAD, UNKNOWN
DETEKCJA BŁĘDÓW W SYGNALE
• Analiza sygnału jako całości daje lepsze zrozumienie błędów– Sygnał „zły” wygląda inaczej od „dobrego”
• Więcej odcinków jest oznaczonych jako złe
• Złe odcinki skupiają się
• Złe dane z odcinka są bardziej odległe od dobrych w przestrzeni cech
• Cechy całego sygnału» Średnia wartość „złego” sygnału
» Średnia wartość „dobrego” sygnału
» Średnia odległość do dobrej reguły
» Maksymalny rozmiar złego klastra
» Liczba złych klastrów
» Procent złych sygnałów
AGENCI POJEDYNCZEGO SYGNAŁUAnaliza różnych cech sygnałów z jednego czujnika
ECTSingle Signal
Agent
ConvexityMaxAvg
WA DB12WA DB31XC DB13XC DB20
IACSingle Signal
Agent
MaxAvg
XC DB00WA DB13WA DB14Concavity
IATSingle Signal
Agent
AvgWE DB34XC DB31XC DB32XC DB33
MAFSingle Signal
Agent
ConvexityFluctuation
MinMaxAvg
WA DB15WE DB14WE DB25XC DB12XC DB13XC DB23XC DB30
RPMSingle Signal
Agent
MaxFluctuationXC DB22XC DB33ConcavityWA DB12WA DB15WA DB23WE DB31WE DB32WE DB35
TPSingle Signal
Agent
ConvexityMaxMin
WA DB12XC DB33WE DB12XC DB10
WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓWMin/Max/Avg: Parametry statystyczne oryginalnego sygnałuConvexity/Concavity: Miara krzywiznyFluctuation: Miara odchyłki sygnałuWA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki jWE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki jXC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j
AGENCI POJEDYNCZEGO SYGNAŁUPrzypadek 1: wahania obrotów RPM Przyczyna podstawowa: źle ułożony czujnik położenia cylindra (Cylinder Identification Sensor CID) Zbyt późne wtryskiwanie paliwa
WAHANIA OBROTÓW RPMKrok 1: Podział sygnału na odcinki• Stany odcinków są oznaczone kolorami
• Czerwony : wznoszący, zielony : opadający, brązowy : stały
WAHANIA OBROTÓW RPMKrok 2: Wyodrębnianie i selekcja cech
State Max Fluctu-ation
XCDB22
XCDB33
Conca-vity
WADB12
WADB15
WADB23
WEDB31
WEDB31
WEDB35
3 (fuzzy terms) 3 3 3 3 3 3 3 3 3 3 3
Wyodrębniono ponad 60 cech
Selekcja cech (ograniczenie liczby do 12)
Dane o cechach po obliczeniach w ADSAS dla danego sygnału
WAHANIA OBROTÓW RPMKrok 3: Nauka rozmyta / inferencja
Sygnał testowy
?: nieznanyX: zły√√√√: dobry
– 600 odcinków uczących z 12 testów
– Wygenerowano 382 reguły rozmyte
WAHANIA OBROTÓW RPMKrok 4: Analiza całego sygnału
Avg GoodBelief
Avg BadBelief
Avg Distance*to Good Rules
MaximumCluster Size
Number ofClusters
Percentage ofSignal Labeled Bad
4 (fuzzy terms) 4 4 4 4 40.203 0.154 0.0717 3 3 25%
Inferencja rozmyta (wnioskowanie)
(System uczony na podstawie wyboru dobrych i złych sygnałów)
Ten sygnał jest oznaczony jako Bad
Rzeczywiste wartościtego sygnału
Każdy sygnał jest przeliczany z
zastosowaniem jednej lub kilku kolumn tablicy
inferencji
* Odległości do reguł są mierzone w przestrzeni Euklidesowskiej od danych do środka reguły.
WIEDZA INŻYNIERSKA O INTERAKCJI SYGNAŁÓW
Control Signals(z PCM)
FUELPW xx
IAC
SPARKADV
RPM
MAF
TP
VSS
O2S xxLOADSkrzyniabiegów
ECT
Efekt znaczący
Szybki wpływ
Efekt mały/nieznany
Sygnał kluczowy
Sygnał użyteczny
TPCTSygnały wejściowe z czujników
AGENT WIELU SYGNAŁÓWAnaliza różnych cech sygnałów z wielu czujników
RPM ConvexityRPM Avg
RPM WE DB35
FUEL FluctuationFUEL MinFUEL MaxFUEL Avg
MAF MaxMAF Avg
MAF WE DB24
SPARK FluctuationSPARK Max
IACMultiple Signal
Agent
IAC XC DB33IAC XC DB34
MAF AvgMAF WA DB14MAF WA DB25MAF XC DB23
TP ConcavityTP FlucatuationTP WA DB15TP WA DB25TP WA DB35TP XC DB34
MAFMultiple Signal
Agent
MAF FluctuationMAF Max
MAF WE DB25MAF XC DB33
TP Max
RPM MinRPM Avg
RPM XC DB10
IAC MaxIAC XC DB30IAC XC DB34IAC XC DB35
RPMMultiple Signal
Agent
TPMultiple Signal
Agent
TP XC DB30TP XC DB25
TPCT AvgTPCT XC DB30
WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓWMin/Max/Avg: Parametry statystyczne oryginalnego sygnałuConvexity/Concavity: Miara krzywiznyFluctuation: Miara odchyłki sygnałuWA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki jWE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki jXC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j
TPSingle Signal
Agent
ConvexityMaxMin
WA DB12XC DB33WE DB12XC DB10
AGENT WIELU SYGNAŁÓWPrzypadek 2: nierówna praca na biegu jałowym
• Agent pojedynczego sygnału TP nie wykrył tego błędu
Przyczyna podstawowa: Niewłaściwy odczyt z czujnika TP. TPCT zmienia się i TP ≠≠≠≠ TPCT. Układ regulacji silnika dostaje informację, że przepustnica jest częściowo otwarta : zła dostawa paliwa, nierówna praca na biegu jałowym
WYNIKI NAUKI ROZMYTEJ
– 250 odcinków uczących z 8 testów
– Wygenerowano 19 reguł rozmytych
?: nieznanyX: zły√√√√: dobry
Sygnał testowy
Avg GoodBelief
Avg BadBelief
Avg Distanceto Good Rules
MaximumCluster Size
Number ofClusters
Percentage ofSignal Labeled Bad
4 (fuzzy terms) 4 4 4 4 40.611 1.0 972 19 1 100%
Wszystkie dane o sygnale
ADSAS: Narzędzie do interaktywnej i automatycznej diagnostyki błędów• Oprogramowanie do analizy sygnałów z samochodu– Dane o pracy samochodu są w formacie CSV
– Pokazuje sygnały oraz transformacje
– Generuje odcinki oraz cechy danych
– Generuje nowych agentów
– Uczy agentów
– Testuje zapisy z pracy samochodu
– Przechowuje i przeszukuje informacje o poszczególnych przypadkach pracy
ADSAS: Główne okno programu
WNIOSKI
• ADSAS posiada potencjał do – Rozwiązywania problemów przemysłowych
– Analizy sygnałów i inteligencji maszynowej
– Zastosowania w nauczaniu do• Dyskretnego przetwarzania sygnałów
• Systemów inteligentnych
• Acknowledgment– This work is support in part by a grant from NSF, a contract from Ford,
and a grant from CEEP
ROZPOZNAWANIE UCZUĆ
A Fuzzy System for Emotion Classification A Fuzzy System for Emotion Classification based on the MPEGbased on the MPEG--4 facial definition 4 facial definition
parameter setparameter set
•Nicolas Tsapatsoulis, Kostas Karpouzis,George Stamou, Fred Piat and Stefanos Kollias
Image, Video and Multimedia Systems Laboratory
National Technical Univ. of Athens
DEFINICJA PROBLEMU
• Opisać archetypy emocji stosując FAP-y (Facial Animation Parameters) naniesione na formatMPEG-4
• Przybliżać FAP-y przez punkty
• Połączyć koło emocji Whissel’a z systemem rozmytym, aby rozszerzyć zakres rozpoznawanych emocji
ANALIZA EMOCJI Inżynierska i psychologiczna
• Inżynierowie koncentrują się na archetypach emocji - zdziwienie, strach, radość, smutek, wstręt, złość.
• Psychologowie badają interakcje emocji– Rezultaty badań nie są łatwe do zaimplementowania
– Można uzyskać pewne wskazówki
• Whissel sugeruje, że emocje tworzą punkty w przestrzeni dwuwymiarowej
KOŁO EMOCJI Whissel’a
�Osie : pobudzenie (activation) – ocena (evaluation)
�Pobudzenie: stopień wzbudzenia
�Ocena : stopień zadowolenia
STRACH
ZŁOŚĆ
WSTRĘT
SMUTEK
Przygnębiony
Znudzony
Pogardliwy
Rozpaczliwy
spokojny
Miłyskłonny
ufny
zamyślonyposłuszny
zachwycony
NIECIERPLIWOŚĆ
ZDZIWIENIE
RADOŚĆ
AKCEPTACJAspokojny
rozśmieszony
Pełen nadziei
Wesoły, radosny
Agresywny
Parametry twarzy (FAPs) i archetypy uczuć
Anger
squeeze_l_eyebrow (+)lower_t_midlip (-)raise_l_i_eyebrow (+)close_t_r_eyelid (-)close_b_r_eyelid (-)
squeeze_r_eyebrow(+)raise_b_midlip (+)raise_r_i_eyebrow (+)close_t_l_eyelid (-)close_b_l_eyelid (-)
Sadness
raise_l_i_eyebrow (+)close_t_l_eyelid (+) raise_l_m_eyebrow (-)raise_l_o_eyebrow (-)close_b_l_eyelid (+)
raise_r_i_eyebrow (+) close_t_r_eyelid (+)raise_r_m_eyebrow (-)raise_r_o_eyebrow (-)close_b_r_eyelid (+)
Surprise
raise_l_o_eyebrow (+)raise_l_i_eyebrow (+)raise_l_m_eyebrow (+)squeeze_l_eyebrow (-)open_jaw (+)
raise_r_o_eyebrow (+)raise_r_i_eyebrow (+)raise_r_m_eyebrow(+)squeeze_r_eyebrow (-)
ZŁOŚĆ
SMUTEK
ZDZIWIENIE
Eyebrow - brewJaw – szczękaLip - wargaSqueeze – zmarszczenie, uścisk
Raise- podnieś
ANIMACJA TWARZY W MPEG-4
• Emocja jest reprezentowana przez FAP-y(Facial Animation Parameters)
– Np. raise_l_o_eyebrow, raise_r_i_eyebrow, open_jaw
• Znormalizowane do standardowych odległości sztywnych obszarów w twarzy np. lewego oka do prawego oka (ES0) lubnosa do poziomu oczu (ENS0)
SYNTETYCZNE TWARZE W MPEG-4
• Zdefiniowane przez FDP-y (Face Definition Points)
Emocje wg Whissel’a
Pobudzenie
.Ocena Pobudzenie
.Ocena
PrzestraszonyAfraid 4.9 3.4 Zły
Angry 4.2 2.7Wstydliwy, nieśmiałyBashful
22.7 Zachwycony
Delighted 4.2 6.4
WstrętDisgusted
53.2 Podniecony
Eager 5 5.1
Winny, zmieszanyGuilty
41.1 Radosny
Joyful 5.4 6.1
CierpliwyPatient
3.33.8 Smutny
Sad 3.8 2.4Zaskoczony,zdziwionySurprised
6.5 5.2
Tablica
RadośćJoy
close_t_l_eyelid (+)close_b_l_eyelid (+)stretch_l_cornerlip (+)raise_l_m_eyebrow (+)
close_t_r_eyelid (+)close_b_r_eyelid (+)stretch_r_cornerlip (+)raise_r_m_eyebrow(+)
lift_l_cheek (+)lower_t_midlip (-)
OR open_jaw (+)
lift_r_cheek (+)raise_b_midlip (-)
WstrętDisgust
close_t_l_eyelid (+)close_t_r_eyelid (+)lower_t_midlip (-)
close_b_l_eyelid (+)close_b_r_eyelid (+)open_jaw (+)
squeeze_l_cornerlip (+) AND / OR squeeze_r_cornerlip (+)
StrachFear
raise_l_o_eyebrow (+)raise_l_m_eyebrow(+)raise_l_i_eyebrow (+)squeeze_l_eyebrow (+)open_jaw (+)
raise_r_o_eyebrow (+)raise_r_m_eyebrow (+)raise_r_I_eyebrow (+)squeeze_r_eyebrow(+)close_t_r_eyelid (-)
OR close_t_l_eyelid (-) lower_t_midlip (-)
OR lower_t_midlip (+)
Cheek - policzekEyelid- powiekaEyebrow - brewJaw – szczękaLip - wargaSqueeze – zmarszczenie, uścisk
Raise- podnieśLift- podnieść
Parametry twarzy (FAPs) i archetypy uczuć
Detekcja punktów twarzy
• Automatyczna detekcja w obrazach, których części twarzy są duże; półautomatyczna w przeciwnym przypadku
• Detekcja oczu jest podstawą do detekcji pozostałych punktów
ENSo
ESo
1
2
3 4
5
6
7 8
9
1011
12
13
14
15
16ENSo
17ENSo
18ENSo
19ENSo
“Hierarchical facial features localisation using amorphological approach,” Raphael Villedieu,Technical Report NTUA, June 2000
Wykrycie pionowych krawędzi
Obraz oryginalny(wyodrębniono twarz) Kontury kropelki
Żłobienie
Oczy
ramkiZlokalizowane cechyNastępna ramka
Wykrywanie cechUdoskonalenie (ramka +wykrycie cechy)
Wykrycie oczu (symetria, pozycja, obszar)
Znajdź ramki(względem oczu)
Filtr (najciemniejsze piksle)
Wybrane punkty(ekstremum)
“Hierarchical facial features localisation using amorphological approach,” Raphael Villedieu,Technical Report NTUA, June 2000
Cechy i terminy lingwistyczne
• Tablica jest używana do określenia ilości i rodzajuterminu lingwistycznego przyporządkowanego do danej cechy– Przykład: termin lingwistyczny medium oraz high są
wystarczające do opisu cechy F11
-600 -400 -200 0 200 400 600 800 1000 12000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Funkcje przynależności cechy F4
Fuzzyfikacja wektora wejściowego
• Dziedzina danej cechy jest ustalana na podstawie parametrów statystycznych– Przykład: rozsądnym zakresem wariancji cechy F5 jest
gdzie mA5, σA5 oraz mSu5, σSu5 są wartościami średnimi oraz odchyleniem
standardowym cechy F5 odpowiadającym terminom złość (A) oraz zdziwienie
(Su) odpowiednio (patrz tablica)
– Jednostronne cechy jak F11 to takie, których albo dolna albo
górna granica jest zerem
[ ]5555 3 3 SuSuAA mm σσ ⋅+⋅−
Struktura systemu rozmytego
• 15-członowy wektor odpowiadający FAP-om przedstawionym w tabeli.
• Wyjściem jest n-tka, gdzie n jest liczbą modelowanych emocji; wyjściearchetypu wyraża stopień przekonania, że emocja jest złością, smutkiem, radością, wstrętem, strachem lub zdziwieniem
• Fuzzyfikcja : stosowana jest tabela (estymacja zakresu FAP-ów)
• Baza reguł : otrzymana ze studiów psychologicznych; używany jest parametr pobudzenia Whissel’a; wyraża on wiedze a-priori o obiekcie.Reguły IF-THEN skonstruowano heurystycznie z tabel 2 i 4
FUZZYFIKACJAWNIOSKOWANIE
ROZMYTE DEFUZZYFIKACJA
Zakresy występowaniaFAP-ów
Baza reguł rozmytych
Reguły zdefiniowane przez użytkownika
EmocjeWektor cech
Rozpoznawanie szerszego zakresu emocji
• Estymacja cech uczestniczących w danej emocji• Modyfikacja funkcji przynależności cechy do
odpowiadającej nowej emocji• Definicja sześciu generalnych kategorii odpowiadającym
archetypom emocji– Przykład: Kategoria strach zawiera zarówno zmartwienie jak i
terror; ich modelowanie poprzez właściwe tłumaczenie pozycji (współrzędnych) terminów lingwistycznych połączonych z poszczególnymi cechami w dziedzinie (kole Whissel’a)
Modyfikacja funkcji przynależności z użyciem parametru pobudzenie
• Niech wartości pobudzenie aY oraz aX odpowiadająemocjom Y oraz X– Reguła 1: Emocje tej samej kategorii zawierają tę samą
cechę Fi.– Reguła 2: Niech µΧZi oraz µYZi będą funkcjami
przynależności terminu lingwistycznego Z odpowiadającego Fi oraz połączonego z emocjami X oraz Y odpowiednio. Jeżeli µΧZi ma środek w punkcie mXZi dziedziny to µYZipowinno mieć środek w
– Reguła 3: aY oraz aX są znanymi wartościami uzyskanymi z badań Whissel’a
XZiX
YYZi m
a
am =
0
10
20
30
40
50
60
70
80
90
100
Fear Disgust Joy Sadness Surprise Anger
Static Set (%)
PHYSTA (%)
Strach Wstręt Radość Smutek Zdziwienie Złość
WYNIKI EKSPERYMENTALNE
WYNIKI EKSPERYMENTALNE
0
10
20
30
40
50
60
70
80
Disdain Disgust Repulsion Delighted Eager Joy
Rec. Rate (%)
Pogarda Wstręt Odraza Zachwyt Podniecenie Radość
POCIĄGI W JAPONII
ROZMYTE STEROWANIE POCIĄGIEM
• Metro w Sendai, Japonia stosuje regulatory rozmyte (Serji Yasunobu zHitachi).
• Badania i rozwój trwały 8 lat, a układ regulacji został uruchomiony w 1987 roku.
Układ regulacji
• Opiera się na regułach uzyskanych od maszynistów w celu jak najlepszego modelowania ludzkich decyzji
• Zadanie: Regulować prędkość na zakrętach, przyspieszenie oraz hamowanie.
����
• System długo nie był perfekcyjny. Maszyniści lepiej sterowali pociągami, ponieważ podejmowali decyzje w oparciu o doświadczenie oraz predykcję
• To doprowadziło do…
Wspomaganie decyzji: predykcyjna regulacja rozmyta
• Może ocenić rezultaty decyzji oraz określić, czy decyzja powinna być podjęta
• Posiada model silnika oraz hamulców służący do przewidywania następnego stanu prędkości, punktu zatrzymania i czasu jazdy
• Regulator wybiera najlepsze działanie w oparciu o przewidywane stany
☺☺☺☺
• Ruch metra w Sendai jest gładki
• Maszyniści mają problemy z prześcignięciem układu regulacji w dokładności zatrzymania oraz płynności ruchu.
STEROWANIE TURBINĄ PAROWĄ
Czynnik:, pn, pn – ciśnienie w układzie
z – temp. wody zasilającej
w, tw – ciśn. i temp wody wtryskowej
Powietrze
airz – temp. otoczenia
kp – nadmiar powietrza w komorze (kotle)
LUVO – nadmiar powietrza za LUVO
Walczak– stopień suchości za walczakiem
Wydajność kotła
p – strumień masowy pary z kotła
Czy można zadaćstrumień paliwa B ?
Dp i B ?
3. Dane wejściowe
tz , pz
t1 , p1
tn, pn, xn tp , pp
QPP2
t2 , p2t3 , p3
paliwo
υυυυkp
υυυυad
υυυυ1
υυυυ2
υυυυ3
υυυυwυυυυairz
υυυυairg
Dw
Dp- Dw
λλλλkpλλλλw
Dp
QPP1
QECO
QLUVO
Qu
Qukp
Qkp
G
Rp
Rn
Pz [MW]
n
Rg
p [Mpa]
P [MW]
pz [Mpa]
hz [m]
Illustrations of Fuzzy Propositions –Composition/Evaluation (Earl Cox)
Illustrations of Fuzzy Propositions –Composition/Evaluation (from Earl Cox)
Illustrations of Fuzzy Propositions Decomposition – Defuzzification/Action (from Earl Cox)
Defuzzification (from Earl Cox)
Z pamiętnika ... operatora młyna cementowego
ROZMYTE STEROWANIE MŁYNEM CEMENTOWYM
Regulator rozmyty-Poprzedniki
•BZ : temperatura w strefie spalania•OX : tlen w gazach odlotowych•BE : temperatura na końcu pieca
-Następniki•CR : prędkość podajnika węgla•DP : pozycja klapy gazów wylotowych
-27 reguł rozmytych, np.• IF BZ is OK
and OX is low and BE is low
THENCR is large and DP is large
Rozmyte inwestowanie na giełdzie
PRZYKŁAD REGUŁY
IF różnica oprocentowania pomiędzy USA i Europą is medium
AND
stopa wzrostu w USA is significantly larger
THEN Euro € będzie kontynuowałomoderate decline względem dolara US$
small large
ROZMYTY MODEL STÓP PROCENTOWYCH
iUSA- iEuropa
µ
1,0medium
0,8
0,3
�
0,8%0,4% 0,9%
IF różnica oprocentowania pomiędzy USA i Europą is medium
AND stopa wzrostu w USA is significantly larger
THEN Euro € będzie kontynuowałomoderate decline względem dolara US$
ROZMYTA BAZA REGUŁ
IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...
WYJŚCIE z URUCHOMIONYCHREGUŁ
IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...
�
�
�
ROZMYTA NAUKA
(1) Adaptuj szerokość i środek reguły rozmytej
(2) Zapominaj o nieużywanych regułach
(3) Szukaj nowych reguł
w7
w6
w5
w4
w3
w2
w1
THENANDIF
THENANDIF
THENANDIF
THENANDIF
THENANDIF
THENANDIF
THENANDIF
(1)(2)
(3)
Rozpoznawaniezatoru płuc
Diagnosis of Pulmonary Embolism Using Fuzzy Inference System
Research Advisor: Dr. Gursel Serpen
Research Assistant: Vishwanth Acharya
University of Toledo
ZATOR PŁUCPulmonary Embolism (PE)
• Skrzep krwi oddziela się od źródła i staje się zatorem
• Blood clots break off from their source and become emboli.
• Zator przemieszcza się przez serce do arterii płucnych
• Emboli travel through the heart into the pulmonary
arteries.
• Okludują (zamykają) arterie w różnych częściach płuca
• They occlude the arteries to various anatomic regions of the lung.
300,000 to 600,000 hospitalizacji oraz 50,000 zgonów rocznie z powodu skrzepu [NIH Consensus Statement cited August 1999]
Zator w arterii płucnejPłuco
SerceZator przemieszcza się ze stópdo płuca
Skrzep w żylenogiŻyła
Zator
Grupy osób narażone na podwyższone ryzyko zatoru płuc
• Pacjenci poddający się różnym typom operacji chirurgicznych – ogólnym, urologicznym, neurochirurgii, ginekologicznym
• Pacjenci z problemami ortopedycznymi oraz chorobami chronicznymi
Różne kryteria diagnostyczne
• PIOPED - Prospective Investigation of Pulmonary Embolism Diagnosis [1995].
• Kryteria Biello [1979].
• Analizy radiologów
Kryteria PIOPED
Wysokie prawdopodobieństwo• >= 2 duże obszarowo defekty z
perfuzją (SPD).
• 1 duży SPD i >= 2 średnie SPD.
• >= 4 średnie SPD.
Średnie prawdopodobieństwo• 1 średnia lub < 2 duże SPD.
• Odpowiadający defekt w obrazie V/Q i nieprzezroczystość CXR w dolnej części płuc
• Pojedynczy średni defekt w obrazie V/Q
• Odpowiadający defekt V/Q i mały wysięk opłucnej.
Niskie prawdopodobieństwo• Wiele odpowiadających
defektów w obrazie V/Q.
• Corresponding V/Q defects and
CXR parenchymal opacity in
upper or middle lung zone.
• Odpowiadające defekty V/Q i duży wysięk opłucnej
• > 3 małe SPD.
Bardzo niskie prawdopodobieństwo
• <= 3 małe SPD.
Normalne• Brak defektów perfuzji oraz
zarysów pefuzji widocznych na CXR
PRZETWARZANIE OBRAZÓW I FIS(Fuzzy interface ssytem)
Rozmywanie
Baza reguł
Wyostrzanie
GUI IAS
Przetwarzanie obrazu Fuzzy Inference SystemFIS
Skany V/Q Prześwietlenie promieniami X
Diagnoza
Wejścieradiologa
Dane z obrazu
• Liczba perfuzji w większych obszarach
• Liczba perfuzji w pozostałych obszarach
• Odchylenia od normalnej wentylacji i perfuzji
• Odchylenia od budowy klatki piersiowej (promienie Roentgena)
• Obecność wysięku opłucnej
Wejścia do systemu diagnostycznego (według kryteriów PIOPED)
Wejścia do systemu diagnostycznego (według kryteriów PIOPED)
Wt – waga, (wstępne obliczenia defektów perfuzji w obszarach)
Vqdef – odchyłki w obrazie przepłukiwania(perfuzji) i wentylacji
Cxrab – nienormalna budowa klatki piersiowej (prześwietlenie promieniami X)
Peff – obecność wysięku opłucnej
Funkcje przynależności sygnałów wejściowych
Weight
Membership Function Plots
Membership Function Plots
Vqdef
Funkcje przynależności sygnałów wejściowych
Cxrab
Membership Function Plots
Membership Function Plots
Peff
Baza reguł systemu diagnostycznego PE (Modelowanie według kryteriów PIOPED)
IF (wt is HI) and (vqdef is CM) and (cxrab is NO) THEN (dia is HI)IF (wt is IM) and (vqdef is CM) and (cxrab is NO) THEN (dia is IM)IF (vqdef is CM) and (cxrab is LL) THEN (dia is IM)IF (vqdef is SMM) and (cxrab is NO) THEN (dia is IM)IF (vqdef is CM) and (peff is LO) THEN (dia is IM)IF (vqdef is MM) and (cxrab is NO) THEN (dia is LO)IF (vqdef is CM) and (cxrab is UML) THEN (dia is LO)IF (vqdef is CM) and (peff is LAR) THEN (dia is LO)IF (wt is LO) and (cxrab is NO) THEN (dia is LO)IF (wt is VLO) and (cxrab is NO) THEN (dia is VLO)IF (wt is ZE) and (vqdef is CM) and (cxrab is NO) and peff is ZE THEN (dia is NO)IF (wt is HI) and (vqdef is UM) THEN (dia is HI)IF (wt is HI) and (vqdef is SMM) THEN (dia is HI)IF (wt is HI) and (vqdef is MM) THEN (dia is IM)IF (wt is IM) and (vqdef is UM) THEN (dia is HI)IF (wt is IM) and (vqdef is SMM) THEN (dia is IM)IF (wt is IM) and (vqdef is MM) THEN (dia is LO)IF (wt is LO) and (vqdef is UM) THEN (dia is LO)
Dia – diagnoza
NO - normalVLO- very lowLO - low IM - intermediateHI - high
Wt – waga, (wstępne obliczenia defektów perfuzji w obszarach)Vqdef – odchyłki w obrazie przepłukiwania(perfuzji) i wentylacjiCxrab – nienormalna budowa klatki piersiowej (prześwietlenie promieniami X)Peff –wysięk opłucnej
Wyjścia z systemu rozmytego(Zgodnie z kryteriami PIOPED)
Wyjście z modelu rozmytego jest diagnozą. Stąd podzielono je na 5 klas. Funkcjami przynależności są
• Normal. (0 do 14)• Very Low. (14 do 37)• Low. (37 do 58)• Intermediate.(58 do 76)• High (76 do 100)
Wyjście z modelu rozmytego jest wartością ostrą i jest przekształcane do jednej z 5 klas w zależności od zakresu wejścia.
Wyjścia z systemu rozmytego(Zgodnie z kryteriami PIOPED)
Dia – Diagnoza, wyjście z modelu rozmytego jest podzielone na 5 klas.
PRZETWARZANIE OBRAZÓW
Digitalizacja
WYJŚCIE
AKWIZYCJA OBRAZU
Normalizacja•8-bitowa skala szarości•Dostrojenie intensywności.
•Akwizycja obrazu – obrazy są pozyskiwane ze szpitali od pacjentów cierpiących lub podejrzanych o zakrzep krwi
•Digitalizacja – uzyskany obraz jest zamieniany na 24-bitową bitmapę, aby ułatwić dalszą analizę
•Normalizacją– obraz jest konwertowany w 8-bitową skalę szarości i poprawiana jest intensywność obrazu
•Wyjście – obraz po obróbce jest wysyłany do Fuzzy Inference System w celu diagnozy.
Skany perfuzji (przepłukiwania)
• Dożylnie podawany jest radioaktywny izotop Technet-99m.
• Wykrywana jest blokada przepływu krwi poprzez naczynia w płucach
• Jeżeli naczynia są zablokowane przez skrzepy wówczas do danego obszaru wpływa zredukowana ilość krwi lub nie płynie wcale.
• Jeżeli występuje zator, to na obrazie widoczny jest brak izotopu Technet-99m w danym obszarze.
Skany wentylacji płuc
• Do płuc wdychany jest gaz radioaktywny
• To pokazuje rozkład dróg powietrza
• Poprzez połączenie informacji uzyskanej z obu skanów można uzyskać dokładniejszą diagnostykę zatoru.
Poprawa jakości obrazu• Dostrojenie intensywności w celu podniesienia średniej intensywności
piksla do 65% - 70% • Nieliniowe odwzorowanie z wykorzystaniem s-owatej funkcji w celu
poprawy kontrastu obrazu
Odwzorowanie = I(x,y) * a * m
0
255 * a
127 * a
0
1
0
255 * m
200 * a
Mapping function (m)Image intensity range (a <= 1)
Resulting Intensity
Intensity mapping done during enhancement
Poprawa jakości obrazu
Przed normalizacją Po normalizacji
Poprawa jakości obrazuProblemy
• Wiedza eksperta jest rozmyta, fakty i reguły nie są absolutnie pewne lub spójne
• Obecność zakłóceń w skanowanych obrazach V/Q (strzykawek, igły etc.).
• Zmiana rozmiaru płuc wraz ze zmianą pacjenta
WYNIKI ROZPOZNANIA
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FISRadiologists
Program komputerowyoparty o logikę rozmytą
Radiolog
Zapobieganie katastrofie lotniczej
Dziękuję za uwagę i zainteresowanie