Metoda de Selectionare Bazata Pe Fuzzy Logic

38
Metodă de selecţionare bazată pe Fuzzy Logic Capitolul 1 - Introducere 1.1 Tema proiectului Metodele de selecţionare bazate pe Fuzzy Logic reprezintă o soluţie modernă şi avansată în realizarea sistemelor decizionale, bazate pe diverse trăsături asemănătoare ale obiectelor. În această lucrare s-a propus realizarea proiectării şi dezvoltării unui astfel de model de clasificare, bazat pe extragerea unor caracteristici şi apoi utilizarea acestora pentru realizarea selecţiei (luarea deciziei). Intrarea acestui model constă în imagini color ale obiectelor de clasificat. Aplicaţia beneficiază de o implementare pe două nivele, respectiv primul nivel fiind reprezentat de algoritmii de extragere a celor trei caracteristici (marime, culoare, aspect fizic), realizaţi în mediul de dezvoltare integrat (IDE) Matlab, iar cel de-al doilea nivel constând în proiectarea unui model de decizie cu Fuzzy Logic, de tip Mamdani, cu trei 1

Transcript of Metoda de Selectionare Bazata Pe Fuzzy Logic

Page 1: Metoda de Selectionare Bazata Pe Fuzzy Logic

Metodă de selecţionare bazată pe

Fuzzy Logic

Capitolul 1 - Introducere

1.1 Tema proiectului

Metodele de selecţionare bazate pe Fuzzy Logic reprezintă o soluţie modernă şi

avansată în realizarea sistemelor decizionale, bazate pe diverse trăsături asemănătoare ale

obiectelor. În această lucrare s-a propus realizarea proiectării şi dezvoltării unui astfel de

model de clasificare, bazat pe extragerea unor caracteristici şi apoi utilizarea acestora pentru

realizarea selecţiei (luarea deciziei). Intrarea acestui model constă în imagini color ale

obiectelor de clasificat.

Aplicaţia beneficiază de o implementare pe două nivele, respectiv primul nivel fiind

reprezentat de algoritmii de extragere a celor trei caracteristici (marime, culoare, aspect

fizic), realizaţi în mediul de dezvoltare integrat (IDE) Matlab, iar cel de-al doilea nivel

constând în proiectarea unui model de decizie cu Fuzzy Logic, de tip Mamdani, cu trei

intrări, corespunzătoare trăsăturilor obiectelor şi două ieşiri, ce semnifică tipul, respectiv

starea obiectelor. Ulterior, este realizată legatura între sistemul de selecţionare şi parametrii

de intrare rezultaţi în urma prelucrării imaginilor cu algoritmii corespunzători.

Deoarece, sistemul în discuţie este unul decizional şi nu unul de control, am utilizat ca

metodă de defuzzificare metoda mediei maximelor (MOM). Valorile returnate la ieşire în

urma defuzzificarii sunt corelate cu variabilele lingvistice corespunzătoare în vederea afişării

rezultatelor finale, rezultate care dovedesc corectitudinea proiectării şi implementării

întregului proces.

1

Page 2: Metoda de Selectionare Bazata Pe Fuzzy Logic

1.1.1 Fundamentare teoretică

Logica Fuzzy a devenit o soluţie foarte promiţătoare pentru realizarea metodelor

decizionale. Tema acestei lucrări propune proiectarea eficientă a unui sistem de sortare

implementat pe baza logicii fuzzy. Pentru modelarea sistemului de clasificare şi a

algoritmilor de extragere a proprietăţilor obiectelor s-a folosit mediul de dezvoltare integrat

Matlab, şi mai exact Image Processing Toolbox, şi Fuzzy Logic Toolbox.

1.1.2 Metodologia propusă

Fig.1 - Schema logică pentru metodologia propusă

2

Page 3: Metoda de Selectionare Bazata Pe Fuzzy Logic

Punctul de plecare în implementarea unei astfel de metode de clasificare este

reprezentat de specificaţiile sistemului. Figura de mai sus reprezintă schema logică a

metodologiei propuse.

După ce au fost făcute specificaţiile sistemului de selecţionare urmează proiectarea

unui model decizional cu Fuzzy Logic în Matlab FIS Editor. Acest model este analizat, testat

şi ajustat până când rezultatele experimentale corespund cu performanţele cerute.

1.2 Logica Fuzzy

Logica Fuzzy (cuvant provenit din limba engleza care inseamna logică vagă) este o

formă de logică multi-valorica derivată din setul teoretic fuzzy, folsită pentru concluzionarea

unor propoziţii ale căror valoare de adevăr este mai mult aproximativă decât precisă. Spre

deosebire de logica clasică, care lucrează cu două valori numerice exacte (0 pentru fals şi 1

pentru adevărat), logica fuzzy foloseşte o plajă continuă de valori logice cuprinse în

intervalul [0;1], unde 0 indică falsitatea completă, iar 1 indică adevărul complet. Astfel, dacă

în logica clasică un obiect poate aparţine (1) sau nu (0) unei mulţimi date, în logica fuzzy

putem defini gradul de apartenenţă al obiectului la mulţime care poate lua valori între 0 şi 1.

Mai mult, atunci când sunt folosite variabile lingvistice, gradele de apartenenţa pot fi

controlate prin funcţii specifice.

Diferenţă esenţială dintre logica clasică şi cea fuzzy, este faptul că legea “terţului

exclus", nu mai este valabilă. În Figura 2 de mai jos este ilustrată diferenţa între logica

booleană şi cea fuzzy. Dacă în primul caz există o delimitare clară între cele două valori de

adevăr, în al doilea caz există o zonă de nedeterminare, în care valoarea de adevăr poate fi 0

şi 1 în acelaşi timp, într-o anumită măsură dată de gradul dapartenenta.[3]

3

Page 4: Metoda de Selectionare Bazata Pe Fuzzy Logic

Fig. 1 - Ilustrarea mulţimilor “TRUE” şi “FALSE” în logica booleană (a) şi în logica fuzzy (b) [3]

1.2.1 Mulţimile Fuzzy

Conceptul de mulţime fuzzy, introdus de către Zadeh, a apărut ca o urmare firească a

imposibilităţii de a modela un sistem indenit cu ajutorul unor instrumente matematice

precise, cum ar fi cele ale teoriei probabilistice.

Fie X o colecţie de obiecte. Mulţimea fuzzy A definită pe mulţimea X este o mulţime

de perechi ordonate:

{ ( ) / }AA x x

unde ( )A x reprezintă funcţia caracteristică sau funcţia de apartenenţa a lui x la mulţimea A.

Semnul ”/" este folosit doar pentru a delimita valoarea reală x de valoarea funcţiei de

apartenenţa ( )A x .

Functia de apartenenţa se defineşte pe intervalul de valori posibile ale lui x cu valori

reale, în intervalul [0,1]: ( )A x [0; 1].

Dacă A conţine doar 0 şi 1, atunci A nu mai este o mulţime fuzzy, ci una

caracteristică logicii clasice. Dacă funcţia de apartenenţa este discretă, atunci mulţimea A se

scrie ca:

1 1 2 21

/ / ... / /n

n n i ii

A x x x x

Dacă funcţia de apartenenţa este o funcţie continuă, atunci mulţimea fuzzy A se scrie

ca:

4

Page 5: Metoda de Selectionare Bazata Pe Fuzzy Logic

( ) /A

X

A x x

unde prin integrare se înţelege totalitatea punctelor ( ) /A x x .

Pentru o mai bună înţelegere a mulţimilor fuzzy definim cinci concepte:

1. Variabilă lingvistică x : o proprietate, un atribut al obiectului (obiectelor) în discuţie

2. Valoare lingvistică A: un adverb, adjectiv asociatvariabilei lingvistice, care dă şi numele

mulţimii fuzzy asociate

3. Universul discuţiei X : o mulţime clasică, tranşantă, pe care se definesc mulţimile fuzzy

4. Gradul de apartenenţa : arată masura în care un element aparţine unei mulţimi fuzzy,

[0;1]

5. Funcţia de apartenenţa A : asociază fiecărui element x gradul de apartenenţa la mulţimea

fuzzy A :

( ) : [0;1]A x X

Astfel, mulţimea fuzzy A este complet determinată de mulţimea perechilor ordonate:

{( , ( )) | }AA x x x X

Funcţiile de apartenenţa pot fi de mai multe tipuri. De exemplu, în toolboxul de Fuzzy

Logic din Matlab sunt implementate 11 tipuri de mulţimi fuzzy reprezentate în Figură 3.

Acestea sunt triunghiulare (trimf), trapezoidale (tramf), de tip Gauss (gaussmf şi gauss2mf),

clopot generalizat (gbellmf), sigmoidale (sigmf, dsigmf, psigmf) şi curbe polinomiale (zmf,

pimf, smf).

Un tip special de mulţime fuzzy este mulţimea de tip “singleton” a cărei funcţie de

apartenenţa are valoarea 1 doar într-un punct particular şi valoarea 0 în rest. [1]

5

Page 6: Metoda de Selectionare Bazata Pe Fuzzy Logic

Figura 2: Cele 11 tipuri de mulţimi fuzzy [7]

1.2.2 Variabile lingvistice

În timp ce variabilele matematice iau de obicei valori numerice, în aplicaţiile cu

logică fuzzy, variabilele lingvistice nenumerice sunt adesea folosite pentru a facilita

exprimarea regulilor şi a faptelor.

O variabilă lingvistică precum “vârsta” poate lua o valoare precum “tânăr” sau

antonimul acestuia “bătrân”. Oricum, marea utilitate a variabilelor lingvistice este aceea că

pot fi modificate prin intermediul pragurilor lingvistice aplicate termenilor primari. De

asemenea, pragurile lingvistice pot fi asociate unor funcţii certe.

1.2.3 Grade de adevăr

Logica fuzzy şi logica probalisică sunt similare din punct de vedere matematic,

ambele având grade de adevăr cuprinse în intervalul 0-1, dar conceptual sunt diferite, datorită

6

Page 7: Metoda de Selectionare Bazata Pe Fuzzy Logic

interpretărilor diferite. Logica fuzzy corespunde unor “grade de adevăr”, în timp ce logică

probalistică corespunde “probabilităţii, posibilităţii”. Consecvent, probabilitatea nu are nimic

în comun cu fuzzificarea, acestea sunt concepte diferite care la o privire superficială par

similare din cauza folosirii aceluiaşi interval de valori numerice reale, [0;1]. Totuşi, din

moment ce teoreme, precum cea a lui De Morgan, au aplicabilităţi duale, şi proprietăţile

variabilelor aleatoare sunt similare cu proprietăţile stărilor logice binare, se pot observa

cazurile în care ar putea apărea confuzii.

1.2.4 Aplicarea valorilor de adevăr

O aplicaţie de bază ar putea caracteriza gamele de variaţie pentru o variabilă continuă.

De exemplu, măsurarea temperaturii pentru împiedicarea blocării frânelor unui automobil

poate avea mai multe funcţii membre separate, definind intervale de temperatură particulare

necesare pentru controlul corespunzător al frânelor. Fiecare funcţie indică aceeaşi valoare a

temperaturii către o valoare de adevăr în intervalul [0;1].

În această imagine, înţelesul expresiilor RECE, CALD, FIERBINTE este reprezentat

de funcţii care acoperă scara de temperatura. Un punct conţinut în acest interval are trei

“valori de adevăr”- una pentru fiecare din aceste trei funcţii. Linia verticală din imagine

reprezintă o anumită temperature pe care cele trei săgeţi (valori de adevăr) de ecartament o

indică. Din moment ce sageata roşie pointeaza spre zero, acesta temperatură poate fi

interpretată ca fiind “nu fierbinte”. Sageata portocalie (care indică spre 0,2) descrie această

7

Page 8: Metoda de Selectionare Bazata Pe Fuzzy Logic

temperatură ca fiind “uşor caldă”, în timp ce sageata albastră (care pointeaza la 0,8) descrie

temperatura ca fiind “destul de rece”. [1]

1.2.5 Raţionament Fuzzy

Raţionamentul fuzzy (denumit si raţionamentul aproximativ) este analogul logicii

predicatelor pentru raţionamentul cu propoziţii precise şi este, aşadar, o extensie a logicii

propoziţiilor clasice. Raţionamentul fuzzy foloseşte propoziţii fuzzy care sunt afirmaţii ce

pot fi adevărate în anumite grade cuprinse în intervalul [0; 1]. Aceste propoziţii sunt

exprimate folosind limbajul natural. Un model de propoziţie fuzzy este:

“ este ”

unde este o variabilă lingvistică iar este o valoare lingvistică a variabilei . Înţelesul

acestei propoziţii este determinat de mulţimea fuzzy definită pe universul discuţiei variabilei .

Regulile fuzzy sunt propoziţii condiţionale de tipul DACĂ-ATUNCI care folosesc

variabile şi valori lingvistice fuzzy:

“ Daca este atunci este ”

unde şi sunt valori lingvistice definite prin mulţimi fuzzy pentru variabilele lingvistice , respectiv y.

Partea DACĂ a regulii ( este ) se numeşte premisă sau antecedent, pe când partea

ATUNCI ( este ) se numeşte concluzie sau consecvent.

Interpretarea unei reguli fuzzy are loc în două etape: mai întâi se evaluează premisa

iar apoi se aplică acest rezultat concluziei. Dacă premisa este adevărată într-un anumit grad,

atunci concluzia este adevărată în acelaşi grad.

În logica Booleană principalele instrumente de raţionament sunt tautologiile, cum

sunt modus ponens şi modus tolens. În logica fuzzy este folosit acelaşi principiu, dar în locul

8

Page 9: Metoda de Selectionare Bazata Pe Fuzzy Logic

premisă implicaţie concluzieconcluzie

ABB

propoziţiilor tranşante sunt folosite propoziţii şi reguli fuzzy. Cea mai folosită tautologie în

raţionamentul fuzzy este modus ponens generalizat (MPG):

unde şi sunt mulţimile fuzzy şi modificate.

Aflarea concluziei se realizează în urma procesului de inferenţă (deducţie) fuzzy, care matematic se poate rezolva folosind regula compoziţională de inferenţă propusă de Zadeh:

= o ( )

unde: “” simbolizează operaţia de implicaţie (evaluarea regulii fuzzy);

“o” simbolizează operaţia de compunere a celor două propoziţii fuzzy din MPG.

Folosind funcţiile de apartenenţă avem:

Trebuie stabiliţi operatorii pentru cele două operaţii: implicaţie şi compunere. Pentru implicaţie cei mai folosiţi operatori sunt:

min

(Mamdani)

produs

(Larsen)

Pentru compunere cel mai des se foloseşte compunerea max-min:

9

Page 10: Metoda de Selectionare Bazata Pe Fuzzy Logic

,

unde şi sunt universurile discuţiei pentru cele două variabile, respectiv .

Folosirea compunerii max-min împreună cu implicaţiile min sau produs conduc la

cele mai folosite mecanisme de inferenţă compoziţională:

Inferenţa compoziţională max-min, sau Mamdani

,

Inferenţa compoziţională max-produs, sau Larsen

,

* este o mulţime fuzzy rezultată în urma unui proces de fuzzificare (ce se va discuta în paragraful următor) şi de cele mai multe ori este o mulţime fuzzy singleton. Inferenţa compoziţională este ilustrată în Figura 4, pentru trei tipuri de inferenţe: Mamdani, Larsen şi

Takagi-Sugeno. Având în vedere cazul particular de mulţime fuzzy singleton pentru *, inferenţa compoziţională max-min se reduce la formula:

,

,

În cazul în care mulţimea fuzzy este de tip Takagi-Sugeno de ordin zero (mulţime fuzzy singleton) indiferent de operatorul folosit pentru operaţia de compunere, rezultă inferenţa compoziţională Takagi-Sugeno.[1]

10

Page 11: Metoda de Selectionare Bazata Pe Fuzzy Logic

Fig. 3 - Inferenţa compoziţională [8]

1.2.6 Proprietăţile mulţimilor Fuzzy

Normalitatea. O mulţime fuzzy este normală dacă valoarea maximă afunctiei de

apartenenţa este 1:

( ) 1x x

11

Page 12: Metoda de Selectionare Bazata Pe Fuzzy Logic

unde x reprezintă supremul sau maximul lui x . În caz contrar vom spune că mulţimea este

subnormală.

Convexitatea. O mulţime fuzzy A este convexă dacă şi numai dacă mulţimile A

definite ca:

{ | ( ) }AA x x

sunt convexe pentru orice [0;1].

Punctul “crossover”. Pentru o mulţime A punctul “crossover” este elementul

pentru care funcţia de apartenenţa are valoarea 0,5.

Valori singulare fuzzy. O valoare singulară (engl. singleton) este o mulţime fuzzy

care are un grad de apartenenţa pentru o singură valoare. Fie A o valoare singulară pentru un

interval X , x X , atunci A poate fi scrisă ca: /A x

Folosind această definiţie, o mulţime fuzzy poate fi considerată o reuniune de valori

singulare. [1]

Capitolul 2 - Sisteme Fuzzy

Un sistem cu logică fuzzy (SLF) permite modelarea şi implementarea funcţionării

oricărui proces prin descrierea relaţiilor de intrare-ieşire folosind variabile şi valori

lingvistice şi reguli fuzzy DACĂ-ATUNCI (IF-THEN). Valorile numerice tranşante ale

variabilelor de ieşire rezultă prin aplicarea unor operaţii: fuzzificare, inferenţă fuzzy,

defuzzificare, asupra valorilor numerice ale variabilelor de intrare.

După Brubaker dezvoltarea unui sistem cu logică fuzzy este justificată pentru

sistemele a căror funcţionare este prea complexă pentru a putea fi definită adecvat prin

tehnici tradiţionale:

sisteme prea complexe pentru a fi modelate precis;

12

Page 13: Metoda de Selectionare Bazata Pe Fuzzy Logic

Fuzzificare Inferenţă DefuzzificareA* B* y*x*

Valori tranşante de intrare Valori tranşante de ieşire

Mulţimi fuzzy de intrare (A) Mulţimi fuzzy de ieşire (B)Baza de

reguli fuzzy

Baza de cunoştinţe

mulţimi şi reguli fuzzy

flux informaţional

flux de calcul

sisteme cu funcţionare mediu spre puternic neliniară;

sisteme ce prezintă anumite incertitudini fie în intrări fie în funcţionare.

În Figura 5. este prezentată structura unui SLF. Specific acestei structuri este lipsa

fluxului informaţional de la Baza de cunoştinţe, atât înspre interfaţa de Fuzzificare cât şi

înspre interfaţa de Defuzzificare [1]

Figura 4: Schema bloc a unui sistem cu logică fuzzy [1]

În structura SLF sunt cuprinse modulele:

Fuzzificare =: interfaţa ce transformă valorile tranşante ale variabilelor de intrare

( *) în mulţimi fuzzy de tip singleton ( *);

Baza de cunoştinţe =: furnizează modulului Inferenţă informaţiile necesare:

- mulţimile fuzzy pentru variabilele de intrare ( );

- mulţimile fuzzy pentru variabilele de ieşire ( );

- baza de reguli fuzzy.

Inferenţă =: blocul care determină valorile fuzzy ale variabilelor de ieşire ( *)

folosind inferenţa fuzzy;

Defuzzificare =: interfaţa ce transformă valorile fuzzy ale variabilelor de ieşire în

13

Page 14: Metoda de Selectionare Bazata Pe Fuzzy Logic

valori tranşante ( *).

1.3 Sisteme cu locică Fuzzy Takagi-Sugeno

În prezent există două tipuri de SLF: de tip Mamdani şi de tip Takagi-Sugeno. Ele

diferă în principal prin partea de concluzie a regulilor fuzzy. Sistemele Mamdani utilizează mulţimi fuzzy obişnuite, pe când sistemele Takagi-Sugeno (T-S) folosesc în concluzie funcţii (liniare) a variabilelor de intrare.

Fluxul de date dintr-un SLF este prezentat grafic în Figura 6. Valorile tranşante * şi

* ale variabilelor de intrare sunt fuzzificate rezultând mulţimile fuzzy singleton *,

respectiv *. Gradele de activare (adevăr) ale celor două reguli sunt , respectiv şi sunt valori intermediare folosite în cadrul inferenţei. Menţionăm că regula R2 este o regulă compusă conţinând în partea de premisă ambele variabile legate prin conectivul fuzzy ŞI. Pentru conectivul ŞI este folosit operatorul “min”. Valorile fuzzy parţiale ale variabilei de

ieşire furnizate de cele două reguli sunt * şi * în cazul unui SLF T-S de ordin zero,

respectiv * şi * în cazul unui SLF T-S de ordin unu. Aceste valori parţiale sunt agregate şi apoi defuzzificate folosind metoda de defuzzificare numită medie ponderată. În urma

defuzzificării se obţine valoarea tranşantă * a variabilei de ieşire corespunzătoare valorilor

tranşante * şi * ale celor două variabile de intrare.[1]

14

Page 15: Metoda de Selectionare Bazata Pe Fuzzy Logic

Fig. 5 - Prelucrarea semnalelor într-un sistem cu logică fuzzy Takagi-Sugeno [1]

1.4 Sistemele cu logică Fuzzy Mamdani

Metoda de inferenţă Mamdani este cea mai des folosită în metodologia fuzzy. Această

metodă a fost de departe cea dintâi metodă de control utilizând logică fuzzy. A fost propusă

în 1975 de către Ebrahim Mamdani într-o încercare de a controla o combinaţie între un motor

pe bază de abur şi un boiler prin sintetizarea unui set de control cu reguli lingvistice obţinut

pe bază de axperimentare. Efortul lui Mamdani a fost bazat pe teoriile lui Lotfi Zadeh

privitoare la algoritmii fuzzy pentru sisteme complexe şi procese decizionale. Structura unui

sistem cu logică fuzzy de tip Mamdani este afişată în Figura 7.

Inferenţa de tip Mamdani, Figura 8, presupune că funcţiile member de ieşire să fie

mulţimi fuzzy. După finalizarea procesului de agregare, există o mulţime fuzzy pentru

fiecare variabilă de ieşire care necesită defuzzificare. Este posibil, şi în multe cazuri mult mai

eficient, să folosim un singur vârf ca ieşire a funcţiilor member decât un set de mulţimi

fuzzy distribuite. Acest tip de ieşire poartă numele de ieşire a funcţiilor member “singleton”,

şi poate fi gândit că un set fuzzy pre-defuzzificat. Ea îmbunătăţeşte eficienţa procesului de

15

Page 16: Metoda de Selectionare Bazata Pe Fuzzy Logic

defuzzificare, deoarece simplifică modul de calcul cerut de metoda mult mai generală

Mamdani, care determină centrul de greutate a unei funcţii bidimensionale. Mai degrabă

decât integrarea în funcţia bidimensională pentru a determina centrul de greutate, putem

folosi o medie ponderată pentru câteva puncte date. [1]

Fig. 6 - Structura unui sistem cu logică fuzzy Mamdani [1]

Fig. 7 - Interpretarea diagramei fuzzy de inferenţa de tip Mamdani [1]

16

Page 17: Metoda de Selectionare Bazata Pe Fuzzy Logic

Capitolul 3 - Instrumente software

1.5 Mediul de programare MATLAB

MATLAB (de la Matrix Laboratory) este un mediu de dezvoltare pentru calcul

numeric şi analiză statistică care conţine limbajul de programare cu acelaşi nume, creeat de

MathWorks. MATLAB permite manipularea matricilor, vizualizarea funcţiilor,

implementarea algoritmilor, crearea de interfeţe şi poate interacţiona cu alte aplicaţii.

Este un limbaj interactiv de nivel superior care permite realizarea unor cerinţe de

calcul dificile cu o viteză de lucru mai ridicată decât cea a limbajelor de programare

tradiţionale, precum C, C++ sau Fortran. Chiar dacă e specializat în calcul numeric, există

pachete care îi permit să interacţioneze cu motoarele de calcul simbolic gen Maple. Un

pachet adiţional, Simulink, oferă posibilitatea de a realiza simulări ale sistemelor dinamice şi

îmbarcate utilizând modele matematice. MATLAB e utilizat pe larg în industrie, în

universităţi şi e disponibil cross-platform, sub diverse sisteme de operare: Windows,

GNU/Linux, UNIX şi Mac OS.

MATLAB pune la dispoziţia utilizatorului un set de Toolbox-uri specializate pentru

rezolvarea diverselor cerinţe în cel mai optim mod. Astfel, în cea ce priveşte preluarea şi

procesarea imaginilor avem definite două toolbox-uri şi anume: Image Acquizition şi Image

Processing. Acest mediu suportă date standard şi formate de imagine, incluzând JPEG,

JPEG-2000, TIFF, PNG, HDF, HDF-EOS, FITS, Microsoft Excel, ASCII şi fişiere binare.

De asemenea, acesta suportă formate de imagini multibandă BIP şi BIL, precum cele

utilizate de LANDSAT, de exemplu. Nivelul jos de intrări/ieşiri şi funcţiile de mapare a

memoriei oferă posibilitatea de a dezvolta rutine client pentru a opera cu orice format de

date. [2]

17

Page 18: Metoda de Selectionare Bazata Pe Fuzzy Logic

1.6 Image Acquizition Toolbox

Image Acquizition Toolbox permite achiziţia videoclipurilor şi imaginilor direct în

MATLAB şi Simulink de la unităţi hardware compatibile PC. Hardware-ul poate fi detectat

automat şi configurat în conformitate cu cerinţele problemei, previzualizând achiziţia, după

care are loc achiziţia clipurilor video şi imaginilor. Având suport pentru furnizori multiplii de

hardware, poate folosi un domeniu larg de dispozitive de imagistică, de la camere web

comune sau acaparatori industriali de frame-uri până la camere ştiinţifice performanţe care

confruntă iluminatul slab, viteză ridicată, precum şi alte provocări.[4]

1.7 Image Processing Toolbox

Softul Image Processing Toolbox oferă un set comprehensiv de algoritmi-referinţă

standard şi unelte grafice pentru procesarea, analiza, vizualizarea şi dezvoltarea imaginilor.

Acesta oferă capacitatea de a restaura imagini afectate de zgomot sau degradate,

îmbunătăţirea imaginilor pentru creşterea inteligibitatii, extragerea de caracteristici,

analizarea formelor şi texturilor şi înregistrarea a două imagini. Cele mai multe funcţii ale

toolboxurilor sunt scrise în limbaj MATLAB deschis, oferind abilitatea inspectării

algoritmilor, modificării codului sursă, şi creării propriilor funcţii client.

Image Processing Toolbox suportă un set divers de tipuri de imagini, inclusive cu

gama dinamică ridicată, rezoluţii de gigapixeli sau imagini tomografice. Uneltele dinamice

permit explorarea unei imagini, examinarea unei regiuni de pixeli, ajustarea contrastului,

crearea de contururi sau histograme şi manipularea regiunilor de interes. De asemenea,

imaginile suportate sunt generate de o gamă largă de dispzitive, incluzând camere digitale,

sateliţi sau senzori de aer, dispozitive de imagistică medicală, microscoape, telescoape şi alte

dispozitive stintifice. Aceste imagini pot fi vizualizate, analizate şi procesate în mai multe

tipuri de date, incluzând puncte flotante cu precizie singulară şi duală, şi întregi cu semn sau

fără semn pe 8, 16 şi 32 de biţi.

18

Page 19: Metoda de Selectionare Bazata Pe Fuzzy Logic

Împreună, cele două toolboxuri promovate de MATLAB, oferă un mediu complet

pentru dezvoltarea aplicaţiilor cu imagini personalizate. [4]

1.8 Afişarea şi explorarea imaginilor

Image Procesing Toolbox ramifică grafica MATLAB pentru a oferi capabilităţi de

afişare personaliizata ale imaginilor. Se pot creea afişaje cu imagini mulltiple într-o singură

fereastră, afişaje adnotate cu text şi grafice, şi crearea de afisaaje specializate precum

histogramele, profilele şi conturarea subiectelor.

Adiţional funcţiilor de afişaj, toolboxul dezvoltă o gamă de unelte interactive pentru

explorarea imaginilor. Se pot obţine informaţiile de imagine, mărirea şi conturarea acesteia

precum şi examinarea în detaliu a unei regiuni de pixeli. De asemenea, se poate manipula

interactiv regiuni de interes precum punctele, liniile, pologoanele, elipsele şi formele

neregulate sau se pot ajusta contrastele ori masura distanţele. [4]

1.9 Procesarea şi postprocesarea imaginilor

Acest toolbox oferă algoritmi referinta-standard pentru procesarea şi postprocesarea

cerinţelor pentru rezolvarea frecvenţelor probleme de sistem, precum zgomotul, intervalul

dinamic redus, optica defocalizată şi diferenţa între reprezentarea diferită a intrării respectiv

ieşirii unui dispoziv.

Algoritmii de detecţie a conturului permit determiarea marginilor unui obiect conţinut

într-o imagine. Aceşti algoritmi includ metodele Sobel, Prewitt, Roberts, Canny şi Laplasian

din Gaussian. Metoda Canny care este foarte performanţă poate determină contururi foarte

slabe fără a fi influenţă de zgomot.

Algorimii de segmentare a imaginilor determină regiunile de limitare dintr-o imagine.

Există diverse abordări ale segmentării imaginilor, incluzând determinarea automată a unui

prag, metode bazate pe contur, şi metode bazate pe morfologie precum transformarea

cotiturilor, utillizata des pentru segmentarea obiectelor focalizate.[4]

19

Page 20: Metoda de Selectionare Bazata Pe Fuzzy Logic

1.10 Proiectarea şi simularea sistemelor fuzzy în MATLAB cu

Fuzzy Logic Toolbox

Fuzzy Logic Toolbox extinde mediul tehnic de calcul cu instrumente pentru

proiectarea sistemelor bazate pe logică fuzzy. Interfaţa grafică prezintă paşii de urmat în în

proiectarea sistemelor fuzzy. Sunt puse la dispoziţie funcţii pentru numeroase metode cu

logică fuzzy comune, inclusiv gruparea fuzzy ori învăţarea neurofuzzy adaptivă.

Toolboxul permite modelarea comportamentală a sistemelor logice complexe folosind

reguli logice simple, iar apoi implementarea acestor reguli într-un sistem de inferenţă fuzzy.

Acest toolbox poate fi folosit ca un motor de inferenţă de sine stătător. Alternativ, se pot

folosi blocuri de inferenţă fuzzy în Simulink, iar simularea sistemului fuzzy se face folosind

un model comprehensiv al întregului sistem dinamic. [4]

1.11 Utilizarea Fuzzy Logic Toolbox

Acest toolbox oferă interfeţe grafice ce permit dezvoltarea de sisteme fuzzy clasice şi

moduri de recunoaştere. Folosind toolboxul se pot realiza sisteme de inferenţă fuzzy, sisteme

de inferenţă neurofuzzy adaptive şi clasificări fuzzy. Suplimentar, acesta oferă un controller-

bloc fuzzy care poate fi folosit în Simulink pentru modelarea şi simularea sistemelor fuzzy

de control logic. Din Simulink se poate genera cod în limbajul de programare C pentru a fi

folosit în aplicaţii imbricate ce include logică fuzzy. [4]

1.12 Construirea unui sistem de inferenţă fuzzy

Inferenţa fuzzy este o metodă de interpretare a vectorului de intrare, bazată pe reguli

definite de utilizator, şi asignarea de valori vectorului de ieşire. Utilizând interfeţele grafice

de editare şi afisre conţinute în Fuzzy Logic Toolbox, se poate defini setul de reguli, a

20

Page 21: Metoda de Selectionare Bazata Pe Fuzzy Logic

funcţiilor membre şi analiza comportamentul unui sistem de inferenţă fuzzy. Următoarele

interfeţe de editare şi afişare sunt oferite: [1][4]

FIS Editor - afişează informaţii generale despre sistemul de inferenţă fuzzy

Fig. 8 - Editorul FIS [4]

Membership Function Editor (Editorul Funcţiilor Membre) - permite afişarea şi editarea funcţiilor membre asociate variabilelor de intrare şi de ieşire a fişierului .FIS

Fig. 9 - Editorul de funcţii membre

21

Page 22: Metoda de Selectionare Bazata Pe Fuzzy Logic

Rule Editor (Editorul Regulilor) – permite afişarea şi editarea de reguli fuzzyfolosind unul din cele trei formate: sintaxa full-English, notaţie simbolică concisă, sau notaţie indexată.

Rule Viewer (Afişarea Regulilor) – permite observarea detaliată a comportamentului unui fişier .FIS pentru a diagnostica dinamica unor reguli specifice său studia efectul modificării variabilelor de intrare.

Surface Viewer (Afişarea Sprafetelor) – generează o suprafaţă tridimensională a doua variabile de intrare şi o ieşire a unui .FIS

Figura 10: Afişarea suprafeţelor

1.13 Modelarea utilizând logică fuzzy

Fuzzy Logic Toolbox permite aplicarea tehnicilor de clasificare şi neurofuzzy pentru

diverse mdele şi clasificarea comportamentelor sistemelor. [4]

Inferenţa neurofuzzy adaptivă

Utilizând Sistemul de Inferenţă Adaptivă Neurofuzzy (ANFIS) se pot forma funcţii

membre prin instruirea acestora cu date de intrare/ieşire, mai degrabă decât specificându-le

22

Page 23: Metoda de Selectionare Bazata Pe Fuzzy Logic

manual. Toolboxul foloseşte un algoritm de post-propagare singular sau în combinaţie cu

metoda pătratelor mai mici, capabilizand sistemul fuzzy să înveţe pe parcurs de la date.

Clasificarea fuzzy

Fuzzy Logic Toolbox oferă suport pentru metoda de clasificare “fuzzy C-means” şi

pentru clasificarea substractivă precum şi tehnici de modelare pentru clasificarea

datelor.Fuzzy C-means este o metodă de clasificare a datelor în care fiecare obiect aparţine

unei clase într-un anumit grad specificat de gradul de apartenenţa. Este o metodă care arăta

cum să se grupeze obiectele ce populează un spaţiu multidimensional într-un număr

specificat de clase diferite. Funcţia “fcm” din Fuzzy Logic Toolbox porneşte cu o estimare

iniţială a centrelor de clase, menite să marcheze locaţia medie a fiecărei clase. De obicei,

estimarea iniţială acentrelor este cel mai probabil incorectă. În plus, “fcm” atribuie (aleator)

fiecărui obiect un grad de apartenenţa la fiecare clasă. Prin actualizarea iterativă a centrelor

claselor şi a gradelo de apartenenţa a tuturor obiectelor “fcm” deplasează iterativ centrele

claselor în locaţiile cele mai potrivite setului de date. Această iterare (optimizare) se bazează

pe minimizarea unei funcţii obiectiv ce reprezintă suma distanţelor de la fiecare obiect la un

centru de clasă, ponderat cu gradul de apartenenţa al acelui obiect la acea clasă. [6]

1.14 Defuzificarea

Operaţia de asignare a unei valori reale corespunzătoare unei funcţii de apartenenţa se

numeşte defuzzificare, fiind necesară în numeroase aplicaţii în care rezultatele sunt fuzzy.

În esenţă, defuzzificarea reprezintă procesul de transformare a unei mărimi fuzzy într-

o mărime crisp. Ieşirea unui proces (sistem) fuzzy poate fi - din punct de vedere logic -

reuniunea a două sau mai multe funcţii de apartenenţa fuzzy, definite pe universul de discurs

al variabilei de ieşire. De exemplu, putem presupune că ieşirea fuzzy a unui sistem este

alcătuită din două părţi: prima parte de formă trapezoidală şi a doua - de formă

triunghiulară . În general, ieşirea fuzzy a unui process poate implică mai multe funcţii

23

Page 24: Metoda de Selectionare Bazata Pe Fuzzy Logic

de apartenenţa fuzzy de diferite forme; în acest caz . Corespunzător convenţiei

adoptateexista mai multe metode de defuzzificare, alegerea metodei în aplicaţii bazându-se

pe criterii care ţin de aprecierea rezultatelor obţinute în fiecare aplicaţie dată. [1][4][6]

a) Metoda maximului funcţiei de apartenenţa. Această metodă furnizează ca rezultat al

defuzzificarii, valoarea crisp , pentru care , (Figura 12).

Dacă funcţia de apartenenţa îşi atinge maximul într-un singur punct, valoarea reprezentativă

a funcţiei de apartenenţa se consideră ca fiind valoarea variabilei ( ) pentru care se atinge

maximul respectiv.

Fig. 11 - Metoda maximului funcţiei de apartenenţa [1][4][6]

b) Metoda (abscisei) centrului de masă este una dintre cele mai utilizate metode de

defuzzificare şi permite calculul valorii (Figura 13) conform relaţiei:

24

Page 25: Metoda de Selectionare Bazata Pe Fuzzy Logic

.

Fig. 12 - Metoda centrului de masă [1][4][6]

c) Metoda mediei ponderate este aplicabilă pentru funcţii de apartenenţa simetrice, fiind

prezentată în Figură 14 din care rezultă că valoarea defuzzificata se obţine prin ponderarea

valorilor funcţiilor de apartenenţa în punctele de maxim: .

25

Page 26: Metoda de Selectionare Bazata Pe Fuzzy Logic

Fig. 13 - Metoda mediei ponderate [1][4][6]

d) Metoda mediei maximelor presupune calculul lui (Figura 15) unde:

Fig. 14 - Metoda mediei maximelor [1][4][6]

26

Page 27: Metoda de Selectionare Bazata Pe Fuzzy Logic

Bibliografie

[1] Gabriel Oltean, Emilia Sipos - Tehnici fuzzy în proiectarea şi modelarea circuitelor analogice – Ed. U.T. Press

[2] Chander Mohan - An Introduction to fuzzy set theory and fuzzy logic

[3] M. Ivanovici - Procesarea imaginilor folosind Logica Fuzzy

[4] Image Processing Toolbox - Matlab

[5] Image Acquisition Toolbox - Matlab

[6] www.mathworks.com/products/fuzzylogic/

[7] http://www.bel.utcluj.ro/dce/didactic/tice/03_LogicaMultimiFuzzy.pdf

[8] http://www.bel.utcluj.ro/rom/dce/goltean/tice/04_RationamentAproximativ.pdf

27