Wydział Mechaniczno-Energetyczny © Dr inż. JANUSZ LICHOTA
PODSTAWY MECHATRONIKI Logika rozmyta (Fuzzy logic)
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
HISTORIA • 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 • 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
TEORIA ZBIORÓW 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 Funkcja przynależności w logice ostrej • Funkcja przynależności µA (x)=1, gdy x ∈ A µA (x)=0, gdy x ∉ A
True 1
GORĄCO
False 0 30 C
Temperatura
Jeżeli temperatura >= 30 C, jest gorąco (1 lub true); Jeżeli temperatura < 30 C, nie jest gorąco (0 lub false).
TEORIA ZBIORÓW Logika ostra • Rozróżnia dwie wartości true/ false, 1/0, nie ma żadnych pośrednich wartości • Przykład Reguła: Jeżeli temperatura jest większa niż 30 C, to jest gorąco, w przeciwnym przypadku nie jest. Przypadki: gorąco Temperatura = 40 C gorąco Temperatura = 30.1 C Nie gorąco Temperatura = 29.9 C Nie gorąco Temperatura = 20 C –
–
–
–
OPERACJE NA ZBIORACH Suma zbiorów
Zbiory równoważne
Zbiory równe
Np. A={x,y,z} B={1,2,3} to x=1, y=2, z=3
Iloczyn zbiorów
Podzbiór
W tym przypadku A „jest większy” niż B
OPERACJE NA ZBIORACH Dopełnienie
Relacja refleksyjna A jest w relacji z A
Przechodniość Dwa zbiory mają tę samą relację do trzeciego
Zbiór pusty
Symetria -relacja pierwszego zbioru do drugiego Jest taka sama jak drugiego do pierwszego
Równoważność -relacja refleksyjna+symetria+przechodniość
OPERACJE NA ZBIORACH Zbiory 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
Zbiór
Logika ostra
A B C D
Silnik 4-cylindrowy Silnik 6-cylindrowy Silnik 8-cylindrowy Inne
Zbiór Logika rozmyta E
Samochody polskie
F
Samochody z zagranicy
Jak zdefiniować zbiory E oraz F? Lista elementów? Reguła ? Funkcja przynależności?
OPERACJE NA ZBIORACH Zbiory mają część wspólną Pojęcie nadrzędne
Podrzędne
Roślina
Zwierzę
Pojazd
Drzewo
Ptak
Samochód
Dąb
Kaczor
Polonez
OPERACJE NA ZBIORACH Myś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
OPERACJE NA ZBIORACH Myślenie ostre i nieostre, niepewność • Informacja – znaczenie – Wiedza z doświadczenia
Niepewność – Warunki, w których istnieje możliwość popełnienia błędu
• Złożoność
OPERACJE NA ZBIORACH Wiedza niepewna i nieostra Wiedza niepewna
Wiedza nieostra
Nie można zdecydować, czy rzecz jest prawdziwa czy fałszywa.
Występuje wtedy, gdy w zdaniu zastosowano rozmyte pojęcie
Diana mogłaby mieć ponad 1.85 m wzrostu.
Diana jest duża.
OPERACJE NA ZBIORACH Możliwość i prawdopodobieństwo • Możliwość (zbiór rozmyty) – Stopień w jakim rzecz się zdarza
• Prawdopodobieństwo – Prawdopodobieństwo tego, czy zajdzie zdarzenie
Trucizna ?
OPERACJE NA ZBIORACH Pomiar i niepewność • Dokładność – Nieważne jak dokładnie mierzylibyśmy, zawsze będzie istniała niepewność pomiaru – Część ułamkowe
Miara ?
OPERACJE NA ZBIORACH Nieokreśloność (nierozstrzygalność) • 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 ZBIORACH Nieokreś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 ZBIORACH Po 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 ZBIORACH Niekompatybilność 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]
samochód z zagranicy
Zbiór rozmyty, E E={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 krajowy
FUNKCJE PRZYNALEŻNOŚCI „Bliskie zera”
„Około y”
„Prawdopodobnie NIE y”
„Młody (Young) / Stary (Old)”
FUNKCJE PRZYNALEŻNOŚCI 180 cm
179 cm
Przynależność do zbioru osób wysokich
1
Ostry wzrost
180 Przynależność do zbioru osób wysokich
1
Rozmyty wzrost
160 180
FUNKCJE PRZYNALEŻNOŚCI
Temperatura wysoka posiada różne znaczenia kontekstowe np. w przypadku gorączki i reaktora jądrowego.
FUNKCJE PRZYNALEŻNOŚCI
Zbiór ostry
Zbiór rozmyty
FUNKCJE PRZYNALEŻNOŚCI Rozszerzenia 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
FORMALIZM Definicje zbiorów rozmytych • 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
FORMALIZM Operacje rozmyte • 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
Logika rozmyta jest uogólnieniem logiki ostrej opartym na definicji funkcji przynależności
FORMALIZM Operacje na zbiorach
A µA∩ ∩B(x) = min [µA(x), µB(x)] ∀ x∈U
A∧B
B µA∪B(x) = max [µA(x), µB(x)] ∀ x∈U
A∨B
µA(x) =1- µA(x) ∀ x∈U
¬A
FORMALIZM Operacje na zbiorach •
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ład A ∩ 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}
Przynależność
•
Not Young A1
0
20
Mid Age A2
35
Not Old A3
45
60
80
A2 = A1 ∩ A3
Wiek
FORMALIZM t-norma • 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
FORMALIZM t-konorma • 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
FORMALIZM Zbiory rozmyte Mamdaniego 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
Regulator „PI”
PRZYKŁAD sterowanie temperaturą w pomieszczeniu
PRZYKŁAD 1 Zbiory 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 1 Zbiory 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 1 Rozmyte 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 1 Negacja
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 1 Koniunkcja
• 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) jest min(mA(x), mB(x))
PRZYKŁAD 1 Alternatywa
• 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) jest max(mA(x), mB(x))
PRZYKŁAD 1 Reguł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 1 Wyostrzanie 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 1 Wyostrzanie wyjścia • • • •
If HOT then ZMNIEJSZ DUŻO If WARM then ZMNIEJSZ TROCHĘ If COOL then ZWIĘKSZ TROCHĘ If COLD then ZWIĘKSZ DUŻO
• Wykorzystamy tę rozmytą informację do obliczenia wyjścia z regulatora
PRZYKŁAD 1 Defuzzyfikacja
• Znajdź środek ciężkości figury • Możliwe są również inne metody defuzzyfikacji np. średnia wartość maksymalna
PRZYKŁAD 2 Jego wysokość
PRZYKŁAD 2
180 cm
179 cm
Funkcja przynależności Wzrost MF Stopień przynalezności
Mały
Średni
Duży
1
0.5 0
25
40
55
Wartości rozmyte posiadają stopnie przynależności do zbioru.
Wzrost
PRZYKŁAD 3 Dwa wejścia i jedno wyjście
PRZYKŁAD 3 Rozmywanie • Dwa wejścia (x, y) i jedno wyjście (z) • Funkcje przynależności: low(t) = 1 - ( t / 10 ) high(t) = t / 10 1 0.68 Low
High
0.32 Ostre wejścia
0 X=0.32
Low(x) = 0.68, High(x) = 0.32,
Y=0.61
t
Low(y) = 0.39, High(y) = 0.61
PRZYKŁAD 3 Baza reguł • 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 3 Inferencja reguł, aktywność 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 3 Agregacja reguł, połączenie aktywnych reguł
•Low(z) = MAX(rule2, rule3) = MAX(0.61, 0.32) = 0.61 •High(z) = MAX(rule1, rule4) = MAX(0.39, 0.32) = 0.39 1 Low
High
0.61
0.39 0 t
PRZYKŁAD 3 Defuzyfikacja Max
• Środek ciężkości 1 Low
High
C=
∫ tf (t )dt
Min Max
∫ f (t )dt
Min
0.61
Środek ciężkości figury geometryczcnej
0.39 0 Ostre wyjście
t
LOGIKA ROZMYTA Regulator rozmyty • 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 high AND pressure is slightly low THEN heat change should be slightly negative.
LOGIKA ROZMYTA Regulator rozmyty Sygnał regulacyjny
Defuzzifikacja (wyostrzanie)
Regulator rozmyty Inferencja (oddziaływanie)
Obiekt
Pomiar
reguł Fuzzifikacja (rozmywanie)
Baza reguł
LOGIKA ROZMYTA Regulator rozmyty - projekt • 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 ROZMYTA Regulator 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 ROZMYTA Regulator 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 ROZMYTA Regulator 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 ROZMYTA Działanie regulatora rozmytego Wejście ostre
Rozmywanie
Funkcje przynależności wejść
Wejście rozmyte
Obliczanie reguł
Reguły i ich inferencja
Wyjście rozmyte
Defuzzyfikacja
Wyjściowe funkcje przynależności Output Membership Functions
Wyjście ostre
STEROWANIE ROZMYTE WENTYLACJĄ
LOGIKA ROZMYTA Sterowanie wentylacją - baza reguł Wymiennik Powietrze Wentylator zawór zamknięty
Woda grzewcza
Regulator temperatury
LOGIKA ROZMYTA Sterowanie wentylacją - baza reguł Temperatura powietrza
Prędkość wentylatora
• 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}
• • • • •
Temperatury w F
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 ROZMYTA Sterowanie wentylacją - baza reguł • • • • •
IF Cold THEN Stop IF Cool THEN Slow IF OK THEN Medium IF Warm THEN Fast IF Hot THEN Blast
LOGIKA ROZMYTA Sterowanie wentylacją – wejścia/wyjścia 0 100 90 80
If Hot then Blast
st Bla
Fa st
If Warm then Fast
70 60 50 40
If Just Right then Medium
Med ium
30
•If Cool then Slow
if Cold then Stop
20
•If OK then Medium
op St
10
•IF Cold then Stop
IF Cool then Slow
Sl ow
•If Warm then Fast
0
•IF Hot then Blast Ho t
W
Jus Rig t ht
ld Co
Co ol
ar m
1
0 45
50
55
60
65
70
75
80
85
90
LOGIKA ROZMYTA Sterowanie wentylacją – wejścia/wyjścia 1 0 100 90 80
st Bla
t
Fa st
70 60 Med iu
50 40
Sl
m
•IF Cold then Stop
ow
•If Cool then Slow
30
•If OK then Medium
20
op St
10
•If Warm then Fast
0
•IF Hot then Blast Ho t
W
Jus t Rig ht
ld Co
Co ol
ar m
1
0 45
50
55
60
65
70
75
80
85
90
STEROWANIE ROZMYTE I 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
SPRZĘŻENIE ZWROTNE Z OBSERWATOREM STANU din u
y Obiekt
Klqr
obserwator
x
0
Regulator Proporcjonalny (wektor)
Regulator „próbuje: utrzymać zadaną wartość wyjścia y=0
Badane możliwości regulacji • Sygnał wyjściowy z regulatora jest funkcją sygnału wyjściowego z obiektu. Przykłady obejmują – Regulator PID
KI Tuz = K P + + KDs s
– Regulację adaptacyjną opartą o model (Model reference adaptive control - MRAC)
• MRAC potrafi zredukować wpływ zakłóceń, lecz nie dostarcza estymaty stanu
Schemat obiektu
wejście wyjście zakłócenie
u y = x2 w
k u
m1
m2
w
x1, x3 = dx1/dt x2, x4 = dx2/dt
PRZESTRZEŃ STANU UKŁADU STEROWANIA
0 x1 0 x 0 0 2 = x3 − k m1 k m1 x4 k m 2 − k m 2
1 0 x1 0 0 0 1 x2 0 0 + w u + 0 0 x3 1 m1 0 0 0 x4 0 1 m2
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 x2 w 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ść
OBIEKT (masa-sprężyna-masa) BEZ REGULATORA Sprężyna zwolniona Pozycja m1 oraz m2
6 5 4
impuls wprawia w ruch masę m2
3 2
prędkość m1 oraz m2
1 0
0
5 Time (s e cond)
10
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 y
Estymator długości sprężyny
u
Rozmyty model sprężyny
Rozmyty kompensator (regulator)
ROZMYTY MODEL SPRĘŻYNY • Wymaga estymaty wejściowej – Długości sprężyny (L = 0) oraz
L – zmiana długości sprężyny
– Kierunku ruchu sprężyny jest danego przez dL/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
ROZMYTY MODEL SPRĘŻYNY Reguły • IF L is zero AND dL/dt is medium OR large THEN tłum wibracje • IF L is almost zero AND dL/dt is large THEN 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ń
ROZMYTY MODEL SPRĘŻYNY Reguły – płaszczyzna wyjściowa Stan sprężyny spring_state
0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -2
-2 -1
0
spring_length_estimate
Estymata długości sprężyny
0 1
2
2 delta_spring_length_estimate
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 ROZMYTY Reguły
y
Estymator długości sprężyny
u
Rozmyty model sprężyny
Rules to supress vibrations 1. If (spring state is (control_output 2. If (spring state is (control_output 3. If (spring state is (control_output 4. If (spring state is (control_output 5. If (spring state is (control_output
Reguły do tłumienia oscylacji
compressing_fast_with_neutal_spring) then is big_stop_spring_stretching) compressing_slowly_with_neutal_spring) then is small_stop_spring_stretching) not_stretching_or_compressing_with_neutal_spring) then is zero) stretching_slowly_at_zero_accel) then is small_stop_ spring_compressing) stretching_fast_with_neutal_spring) then is big_stop_ spring_compressing)
Dodatkowe reguły do śledzenia wartości zadanej 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)
Rozmyty kompensator (regulator)
SYMULACJA Redukcja drgań sprężyny Regulator rozmyty
Marrison and Stengel (#3)
1.5
1.5
m1 position m2 position m1 velocity m2 velocity
1
1
0.5
0.5
0
0
-0.5
0
5
10 Time (s ec)
15
m1 position m2 position m1 velocity m2 velocity
20
-0.5
0
5
10 Time (s ec)
15
20
SYMULACJA Redukcja zakłócenia działającego na m2 Wyjście z obiektu y
Wyjście z kompensatora u u1
y 2 Fuzzy Design A Design B Marrison Design #1 Design #3
1.5 1
Fuzzy Design A Design B Marrison Design #1 Design #3
0.5
0 0.5
-0.5
0 -0.5 0
5
10 Time(sec)
15
20
-1 0
5
10 Time(sec)
15
20
SYMULACJA Odpowiedź skokowa - śledzenie Wyjście z obiektu y
Wyjście z kompensatora u
2
2 1
1.5
0
1
-1
Fuzzy Design A Design B Marrison Design #1 Design #3
0.5 0 -0.5 0
5
10 Time(sec)
15
Fuzzy Design A Design B Marrison Design #1 Design #3
-2 -3
20
-4 0
5
10 Time(sec)
15
20
STEROWANIE ROBOTEM
ZASTOSOWANIE- Sterowanie robotem Regulator rozmyty Wartość rzeczywista
Rozmycie
Baza reguł
Wyostrzenie
Funkcje przynależności Reguły rozmyte (IF ... THEN ...) Zmienne rozmyte Zmienne lingwistyczne
Wartość rzeczywista
ZASTOSOWANIE- Sterowanie robotem Operatory rozmyte Typowa reguła Mamdaniego IF x1 is A1i AND x2 is A2i THEN y i is B i , for i = 1, 2,..., l
Wartość rozmyta
X (liczba rzeczywista)
Fuzzifier Fuzzifier
Wartości rozmyte
…
Użyte bloki w oprogramowaniu do tworzenia reguł Mamdaniego DOF AND/OR AND/OR
Bloki logiczne
Wartość rozmyta
Y Output Output Block Block
(Zbiór rozmyty)
Y1 Y2 Yn
…
Funkcja przynależności Metoda defuzyfikacji
Defuzzifier Defuzzifier
Wyjście ostre
ZASTOSOWANIE- Sterowanie robotem Struktura regulatora rozmytego Detekcja zmiany theta
theta_dot
IF theta AND theta_dot THEN force
is POS is NEG is NEG
Fuzzyfikacja Fuzzyfikacja (POS) (POS) Fuzzyfikacja Fuzzyfikacja (NEG) (NEG)
Blok Blok wyjściowy wyjściowy AND
ZERO
NEG
POS
Center of Gravity siła
(NEG) (NEG)
Reguła #2
siła
Reguła #3
siła
Defuzyfikacja Defuzyfikacja Wyjście u
ZASTOSOWANIE- Sterowanie robotem Unikanie przeszkody Kąt czujnika i
w
Odległość do przeszkody (mierzona przez czujnik i)
v Regulator rozmyty
θ1 θ2
ZASTOSOWANIE- Sterowanie robotem Unikanie przeszkody Funkcje przynależności: Close Near
Neg
Far
b) Kąt czujnika (th)
a) Odległość mierzona przez czujnik(d) Zero VSlow Slow
c) Prędkość w przód (V)
Fast
Pos
Zero
Neg
SNeg
Zero
SPos
d) Prędkość kątowa (W)
Pos
ZASTOSOWANIE- Sterowanie robotem Unikanie przeszkody θ1 θ2
Reguły dla i - tego czujnika : 1."IF distancei is Close 2."IF distancei is Close 3."IF distancei is Close 4."IF distancei is Near 5."IF distancei is Near 6."IF distancei is Near 7."IF distancei is Far 8."IF distancei is Far 9."IF distancei is Far
And anglei is Pos Then V And anglei is Zero Then V And anglei is Neg Then V And anglei is Pos Then V And anglei is Zero Then V And anglei is Neg Then V And anglei is Pos Then V And anglei is Zero Then V And anglei is Neg Then V
Is VSlow W is Neg " Is Zero " Is VSlow W Is Pos " Is Slow W Is SNeg" Is VSlow W Is SNeg" Is Slow W Is Spos" Is Fast W Is Zero" Is Fast W Is Zero" Is Fast W Is Zero"
ZASTOSOWANIE- Sterowanie robotem Unikanie przeszkody Regulator rozmyty reagujący na zdarzenia
Aktywność procesora
Zwykły regulator rozmyty
Czas symulacji
Czas symulacji
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 robotem Współpraca robotów Zadanie wymagające współpracy: pchanie piłki
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 robotami uzyskuje 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.
ZASTOSOWANIE- Sterowanie robotem Współpraca robotów GPunkt docelowy Obiekt
fl<0 fl=0
Robot
wl
fl>0
Region popychania fr>0
fr=0
B
rB
rA
wr
Problem najpierw zostanie rozwiązany dla jednego robota, a następnie rozszerzony na pozostałe.
A
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:
fr<0
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.
f – wskaźnik obszaru w – wektor normalny do prostej
ZASTOSOWANIE- Sterowanie robotem Współpraca robotów G
B
wl
wr Regiony popychania
rB A
Oba roboty ustawiają się względem siebie symetrycznie względem prostej G-A
ZASTOSOWANIE- Sterowanie robotem Współpraca robotów Sygnał wejściowy “in”
Sygnał wyjściowy “out”
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
“in”? object_reached · Standby: stan początkowy. Robot czeka na sygnał z systemu nadrzędnego
“in”? komenda “in”? obiekt_zgubiony “out”! cel_osiągnięty
· Path Planning: robot przesuwa się w stronę celu omijając przeszkody oraz inne roboty. Po osiągnięciu celu stan zmienia się na Standby lub Placement, w zależności od komendy z systemu nadrzędnego (komenda pushing, to stan “out”? obiekt_dotknięty Placement, w przeciwnym przypadku stan Standby.
“in”? Poza_regionem_pchania “out”? Obiekt _osiągnął_cel
“in”? Robot_gotowy
· 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 robotem Współpraca robotów Wynik symulacji
ZASTOSOWANIE- Sterowanie robotem Współpraca robotów Wynik symulacji
ZASTOSOWANIE- Sterowanie robotem Wyniki rzeczywistego eksperymentu Opisany algorytm zaimplementowano w robocie Pioneer 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 robotem Wyniki eksperymentu
Parkowanie samochodu
ZASTOSOWANIE Parkowanie samochodu • • • • •
Końcowa pozycja i kierunek nie są precyzyjnie określone Zadanie łatwe dla człowieka Trudność rozwiązania wzrasta wraz z precyzją W końcu może być niemożliwe do rozwiązania przez człowieka Problem parkowanie jest łatwy do rozwiązania, gdy nie jest sformułowany precyzyjnie
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 Sekwencyjny algorytm selekcji wstecznej False
Oryginalna przestrzeń cech
Zbiór cech mały/dobry?
True
True Najlepsza prędkość False klasyfikacji cech?
Cechy
Wstępna selekcja
1/2 Przestrzeń cech
Zastąp cechę Wyrzuć cechę
Wyrzuć 1 cechę
Zoptymalizowany zbiór cech (koniec)
Klasyfikator bayesowski
Częściowo zoptymalizowany zbiór cech
• Przykład selekcji cech : – Agent wielu sygnałów RPM, algorytm selekcji cech zredukował zbiór 220 możliwych cech do 11
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 » Maksymalny rozmiar złego klastra » Średnia wartość „dobrego” sygnału » Liczba złych klastrów » Średnia odległość do dobrej » Procent złych sygnałów reguły
AGENCI POJEDYNCZEGO SYGNAŁU Analiza różnych cech sygnałów z jednego czujnika ECT Single Signal Agent
IAC Single Signal Agent
IAT Single Signal Agent
Convexity Max Avg WA DB12 WA DB31 XC DB13 XC DB20
Max Avg XC DB00 WA DB13 WA DB14 Concavity
Avg WE DB34 XC DB31 XC DB32 XC DB33
MAF Single Signal Agent
RPM Single Signal Agent
Convexity Fluctuation Min Max Avg WA DB15 WE DB14 WE DB25 XC DB12 XC DB13 XC DB23 XC DB30
Max Fluctuation XC DB22 XC DB33 Concavity WA DB12 WA DB15 WA DB23 WE DB31 WE DB32 WE DB35
WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓW Min/Max/Avg: Parametry statystyczne oryginalnego sygnału Convexity/Concavity: Miara krzywizny Fluctuation: Miara odchyłki sygnału WA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki j WE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki j XC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j
TP Single Signal Agent Convexity Max Min WA DB12 XC DB33 WE DB12 XC DB10
AGENCI POJEDYNCZEGO SYGNAŁU Przypadek 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 RPM Krok 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 RPM Krok 2: Wyodrębnianie i selekcja cech Wyodrębniono ponad 60 cech Selekcja cech (ograniczenie liczby do 12)
Dane o cechach po obliczeniach w ADSAS dla danego sygnału
State
Max
3 (fuzzy terms)
3
Fluctuation 3
XC DB22 3
XC DB33 3
Concavity 3
WA DB12 3
WA DB15 3
WA DB23 3
WE DB31 3
WE DB31 3
WE DB35 3
WAHANIA OBROTÓW RPM Krok 3: Nauka rozmyta / inferencja – 600 odcinków uczących z 12 testów – Wygenerowano 382 reguły rozmyte Sygnał testowy
?: nieznany X: zły √: dobry
WAHANIA OBROTÓW RPM Krok 4: Analiza całego sygnału Każdy sygnał jest przeliczany z zastosowaniem jednej lub kilku kolumn tablicy inferencji Avg Good Belief 4 (fuzzy terms) 0.203 Rzeczywiste
wartości tego sygnału
Avg Bad Belief 4 0.154
Avg Distance* to Good Rules 4 0.0717
Maximum Cluster Size 4 3
Number of Clusters 4 3
Percentage of Signal Labeled Bad 4 25%
Inferencja rozmyta (wnioskowanie) (System uczony na podstawie wyboru dobrych i złych sygnałów)
* Odległości do reguł są mierzone w przestrzeni Euklidesowskiej od danych do środka reguły.
Ten sygnał jest oznaczony jako Bad
WIEDZA INŻYNIERSKA O INTERAKCJI SYGNAŁÓW
LOAD
O2S xx
Skrzynia biegów
RPM
VSS
FUELPW xx ECT IAC
MAF
Szybki wpływ
SPARKADV TP
Efekt mały/nieznany
Control Signals (z PCM)
Sygnały wejściowe z czujników
Efekt znaczący
Sygnał kluczowy Sygnał użyteczny TPCT
AGENT WIELU SYGNAŁÓW Analiza różnych cech sygnałów z wielu czujników IAC Multiple Signal Agent IAC XC DB33 IAC XC DB34 MAF Avg MAF WA DB14 MAF WA DB25 MAF XC DB23 TP Concavity TP Flucatuation TP WA DB15 TP WA DB25 TP WA DB35 TP XC DB34
MAF Multiple Signal Agent
RPM Multiple Signal Agent
MAF Fluctuation MAF Max MAF WE DB25 MAF XC DB33
RPM Convexity RPM Avg RPM WE DB35
TP Max RPM Min RPM Avg RPM XC DB10 IAC Max IAC XC DB30 IAC XC DB34 IAC XC DB35
FUEL Fluctuation FUEL Min FUEL Max FUEL Avg MAF Max MAF Avg MAF WE DB24
TP Multiple Signal Agent
TP XC DB30 TP XC DB25 TPCT Avg TPCT XC DB30
SPARK Fluctuation SPARK Max
WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓW Min/Max/Avg: Parametry statystyczne oryginalnego sygnału Convexity/Concavity: Miara krzywizny Fluctuation: Miara odchyłki sygnału WA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki j WE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki j XC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j
TP Single Signal Agent Convexity Max Min WA DB12 XC DB33 WE DB12 XC DB10
AGENT WIELU SYGNAŁÓW Przypadek 2: nierówna praca na biegu jałowym 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
• Agent pojedynczego sygnału TP nie wykrył tego błędu
WYNIKI NAUKI ROZMYTEJ – 250 odcinków uczących z 8 testów – Wygenerowano 19 reguł rozmytych Sygnał testowy
?: nieznany X: zły √: dobry
Wszystkie dane o sygnale
Avg Good Belief 4 (fuzzy terms) 0.611
Avg Bad Belief 4 1.0
Avg Distance to Good Rules 4 972
Maximum Cluster Size 4 19
Number of Clusters 4 1
Percentage of Signal Labeled Bad 4 100%
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 based on the MPEG-4 facial definition parameter 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 format MPEG-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
ZDZIWIENIE
Wesoły, radosny
ZŁOŚĆ
RADOŚĆ
rozśmieszony
Agresywny spokojny
Pełen nadziei
Miły skłonny
Rozpaczliwy WSTRĘT Pogardliwy
SMUTEK Znudzony Przygnębiony
ufny zamyślony posłuszny spokojny
zachwycony NIECIERPLIWOŚĆ
AKCEPTACJA
Parametry twarzy (FAPs) i archetypy uczuć Eyebrow - brew Jaw – szczęka Lip - warga Squeeze – zmarszczenie, uścisk Raise- podnieś
Anger ZŁOŚĆ
Sadness SMUTEK
Surprise ZDZIWIENIE
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 (-)
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 (+)
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 (-)
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) lub nosa do poziomu oczu (ENS0)
SYNTETYCZNE TWARZE W MPEG-4 • Zdefiniowane przez FDP-y (Face Definition Points)
Emocje wg Whissel’a Tablica Pobudzenie Przestraszony Afraid Wstydliwy, nieśmiały Bashful
. 4.9 2
Wstręt Disgusted
5
Winny, zmieszany Guilty
4
Cierpliwy Patient Zaskoczony, zdziwiony Surprised
3.3 6.5
Pobudzenie
Ocena
3.4
Zły Angry
. 4.2
2.7
2.7
Zachwycony Delighted
4.2
6.4
3.2
Podniecony Eager
5
5.1
1.1
Radosny Joyful
5.4
6.1
3.8
Smutny Sad
3.8
2.4
Ocena
5.2
Parametry twarzy (FAPs) i archetypy uczuć Cheek - policzek Eyelid- powieka Eyebrow - brew Jaw – szczęka Lip - warga Squeeze – zmarszczenie, uścisk
Radość Joy
Wstręt Disgust
Strach Fear
close_t_l_eyelid (+) close_b_l_eyelid (+) stretch_l_cornerlip (+) raise_l_m_eyebrow (+) lift_l_cheek (+) lower_t_midlip (-) OR open_jaw (+)
close_t_r_eyelid (+) close_b_r_eyelid (+) Raise- podnieś Lift- podnieść stretch_r_cornerlip (+) raise_r_m_eyebrow(+) lift_r_cheek (+) raise_b_midlip (-)
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 (+) raise_l_o_eyebrow (+) raise_l_m_eyebrow(+) raise_l_i_eyebrow (+) squeeze_l_eyebrow (+) open_jaw (+) OR close_t_l_eyelid (-) OR lower_t_midlip (+)
raise_r_o_eyebrow (+) raise_r_m_eyebrow (+) raise_r_I_eyebrow (+) squeeze_r_eyebrow(+) close_t_r_eyelid (-) lower_t_midlip (-)
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 2
5
3
1
6
9 7 10
13
ESo
8
12
14
ENSo 15
16
18 ENSo
ENSo
17 ENSo
19 ENSo
4 11
“Hierarchical facial features localisation using a morphological approach,” Raphael Villedieu, Technical Report NTUA, June 2000 Obraz oryginalny (wyodrębniono twarz)
Kontury
kropelki Wykrycie oczu (symetria, pozycja, obszar)
Wykrycie pionowych krawędzi
Żłobienie Oczy
Udoskonalenie (ramka + wykrycie cechy)
Wykrywanie cech
Znajdź ramki (względem oczu)
Następna ramka
Zlokalizowane cechy
ramki
“Hierarchical facial features localisation using a morphological approach,” Raphael Villedieu, Technical Report NTUA, June 2000
Filtr (najciemniejsze piksle)
Wybrane punkty (ekstremum)
Cechy i terminy lingwistyczne • Tablica jest używana do określenia ilości i rodzaju terminu lingwistycznego przyporządkowanego do danej cechy – Przykład: termin lingwistyczny medium oraz high są wystarczające do opisu cechy F11 1 0. 9 0. 8 0. 7 0. 6 0. 5 0. 4 0. 3 0. 2 0. 1 0 -600
-400
-200
0
200
400
600
800
Funkcje przynależności cechy F4
1000
1200
Fuzzyfikacja wektora wejściowego • Dziedzina danej cechy jest ustalana na podstawie parametrów statystycznych – Przykład: rozsądnym zakresem wariancji cechy F5 jest
[m A5 − 3 ⋅ σ A5
mSu5 + 3 ⋅ σ Su5 ]
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
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ście archetypu 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 Zakresy występowania FAP-ów
Baza reguł rozmytych
Reguły zdefiniowane przez użytkownika
Wektor cech
Emocje FUZZYFIKACJA
WNIOSKOWANIE ROZMYTE
DEFUZZYFIKACJA
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 µYZi powinno mieć środek w aY mYZi =
aX
m XZi
– Reguła 3: aY oraz aX są znanymi wartościami uzyskanymi z badań Whissel’a
WYNIKI EKSPERYMENTALNE Static Set (%) PHYSTA (%) 100 90 80 70 60 50 40 30 20 10 0
Fear
Strach
Disgust
Wstręt
Joy
Radość
Sadness
Surprise
Smutek Zdziwienie
Anger
Złość
WYNIKI EKSPERYMENTALNE Rec. Rate (%) 80 70 60 50 40 30 20 10 0
Disdain
Disgust
Repulsion
Pogarda
Wstręt
Odraza
Delighted
Eager
Joy
Zachwyt Podniecenie Radość
POCIĄGI W JAPONII
ROZMYTE STEROWANIE POCIĄGIEM • Metro w Sendai, Japonia stosuje regulatory rozmyte (Serji Yasunobu z Hitachi). • 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Ą
3. Dane wejściowe D hz [m]
p
tn, pn, xn
p [Mpa] tp , pp Q u Pz [MW]
Dw t 2 , p2
t 3 , p3
Rp
Czynnik: , pn, pn – ciśnienie w układzie z – temp. wody zasilającej w, tw – ciśn. i temp wody wtryskowej
Rn
υkp
QPP2
υ1
QPP1
airz – temp. otoczenia
QECO
kp – nadmiar powietrza w komorze (kotle)
Walczak
Qkp
υ3
p – strumień masowy pary z kotła
Qukp
Dp i B ?
t1 , p1 tz , pz Dp- Dw
λkp υad
pz [Mpa]
QLUVO υairz
Czy można zadać strumień paliwa B ?
G
υairg
– stopień suchości za walczakiem
Wydajność kotła
n
υ2
Powietrze
LUVO – nadmiar powietrza za LUVO
P [MW]
paliwo
Rg
λw
υw
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 THEN CR 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ło moderate decline względem dolara US$
ROZMYTY MODEL STÓP PROCENTOWYCH µ
small
medium
large
1,0 0,8 IF różnica oprocentowania pomiędzy USA i Europą is medium AND stopa wzrostu w USA is significantly larger THEN Euro € będzie kontynuowało moderate decline względem dolara US$
0,3
0,4%
0,9% i USA- iEuropa 0,8%
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 URUCHOMIONYCH REGUŁ
ROZMYTA NAUKA (1) Adaptuj szerokość i środek reguły rozmytej (2) Zapominaj o nieużywanych regułach (3) Szukaj nowych reguł (1)
(2)
(3)
w1
IF
AND
THEN
w2
IF
AND
THEN
w3
IF
AND
THEN
w4
IF
AND
THEN
w5
IF
AND
THEN
w6
IF
AND
THEN
w7
IF
AND
THEN
Rozpoznawanie zatoru płuc Diagnosis of Pulmonary Embolism Using Fuzzy Inference System Research Advisor: Dr. Gursel Serpen Research Assistant: Vishwanth Acharya University of Toledo
ZATOR PŁUC Pulmonary Embolism (PE)
• Skrzep krwi oddziela się od źródła i staje się zatorem •
Płuco
Blood clots break off from their source and become emboli.
• Zator przemieszcza się przez Serce serce do arterii płucnych •
Zator w arterii płucnej
Zator Zator przemieszcza się ze stóp do płuca
Emboli travel through the heart into the pulmonary
.
arteries
• Okludują (zamykają) arterie w różnych częściach płuca •
Żyła
Skrzep w żyle nogi
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]
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
Niskie prawdopodobieństwo
• >= 2 duże obszarowo defekty z perfuzją (SPD). • 1 duży SPD i >= 2 średnie SPD. • >= 4 średnie SPD.
• 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.
Ś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.
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)
Dane z obrazu Skany V/Q Prześwietlenie promieniami X
Rozmywanie GUI
IAS
Baza reguł Wyostrzanie
Wejście radiologa
Przetwarzanie obrazu
Fuzzy Inference System FIS
Diagnoza
Wejścia do systemu diagnostycznego (według kryteriów PIOPED) • 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)
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 Membership Function Plots
Weight Membership Function Plots
Vqdef
Funkcje przynależności sygnałów wejściowych Membership Function Plots
Cxrab
Membership Function Plots
Peff
Baza reguł systemu diagnostycznego PE (Modelowanie według kryteriów PIOPED) Dia – diagnoza
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) NO - normal VLO- very low IF (vqdef is CM) and (cxrab is LL) THEN (dia is IM) LO - low THEN (dia is IM) IF (vqdef is SMM) and (cxrab is NO) IM - intermediate THEN (dia is IM) IF (vqdef is CM) and (peff is LO) HI - high THEN (dia is LO) IF (vqdef is MM) and (cxrab is NO) IF (vqdef is CM) and (cxrab is UML) THEN (dia is LO) 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 VLO) IF (wt is VLO) and (cxrab is NO) IF (wt is ZE) and (vqdef is CM) and (cxrab is NO) and peff is ZE THEN (dia is NO) THEN (dia is HI) Wt – waga, (wstępne IF (wt is HI) and (vqdef is UM) THEN (dia is HI) obliczenia defektów perfuzji w IF (wt is HI) and (vqdef is SMM) obszarach) THEN (dia is IM) Vqdef – odchyłki w obrazie IF (wt is HI) and (vqdef is MM) IF (wt is IM) and (vqdef is UM) THEN (dia is HI) przepłukiwania(perfuzji) i THEN (dia is IM) wentylacji IF (wt is IM) and (vqdef is SMM) Cxrab – nienormalna budowa THEN (dia is LO) klatki piersiowej IF (wt is IM) and (vqdef is MM) THEN (dia is LO) (prześwietlenie promieniami IF (wt is LO) and (vqdef is UM) 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 AKWIZYCJA OBRAZU
Digitalizacja
Normalizacja •8-bitowa skala szarości •Dostrojenie intensywności.
WYJŚCIE
•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 Technet99m. • 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 1
255 * a 200 * a
255 * m
127 * a
0
0
0
Image intensity range (a <= 1)
Mapping function (m)
Intensity mapping done during enhancement
Odwzorowanie = I(x,y) * a * m
Resulting Intensity
Poprawa jakości obrazu
Przed normalizacją
Po normalizacji
Poprawa jakości obrazu Problemy • 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 Program komputerowy oparty o logikę rozmytą
5 4.5
FIS Radiologists
4 3.5 3 2.5
Radiolog
2 1.5 1 0.5 0 1 2 3
4 5 6 7 8 9 10 11 12 13 14
Zapobieganie katastrofie lotniczej
Dziękuję za uwagę i zainteresowanie