Anul 2019
1
Cuprins
Capitolul 1 Introducere................................................................................................................................3
1.1 Comportamentul licuricilor................................................................................................................4
1.2 Algoritmul Firefly...............................................................................................................................4
1.3 Comparație între FA, PSO și GA.........................................................................................................6
1.4 Algoritmul Firefly Modificat...............................................................................................................7
Capitolul 2 Stadiul actual al cunoașterii.......................................................................................................8
2
Capitolul 1 Introducere
Segmentarea imaginii este un pas fundamental în procesarea de imagini. Aceasta reprezintă
un proces de împărțire digitală a imaginii în mai multe segmente. Scopul segmentării este de a
simplifica sau schimba reprezentarea unei imagini în ceva ce este mai semnificativ și mai ușor de
analizat. Mai precis, segmentarea imaginilor este un proces de atribuire a unor etichete fiecărui
pixel dintr-o imagine, astfel încât pixelii cu aceleași etichete să reprezinte o anumită
caracteristică. Datorită diferitelor texturi, forme și culori imaginea este separată în diferite
regiuni cu caracteristici consistente. În principiu există patru metode majore de segmentare de
imagine: segmentarea pe praguri, detecția muchiilor, extracția regiunilor și metoda de clustering.
O metodă foarte folosită este stabilirea pragurilor de imagine care separă imaginea în două
regiuni, una de primplan și una de fundal. Bazându-se pe valorile de prag obținute, metodele se
împart în metode cu praguri de nivel unic și metode cu praguri de nivel multiplu. În cazul
metodelor cu praguri de nivel unic, imaginile se împart în două regiuni, iar în cazul celorlalte
imaginile se împart în regiuni multiple bazate valorile pragurilor alese.
Selectarea nivelelor de prag dintr-o imagine este o sarcină destul de complicată. Există deja
numeroase aplicații bazate pe segmentarea imaginilor, cum ar fi recunoașterea caracterelor
optice, detecția tumorilor pe creier, analiza traficului, detecția numărului de înmatriculare a
vehiculelor și multe altele. Pentru o analiză de succes a imaginii principalul parametru ce trebuie
urmărit este acuratețea.
Inteligența roiurilor include o colecție de agenți diferiți care prezintă un comportament
natural organizat și descentralizat. Acești agenți, cum ar fi păsările, furnicile, albinele și altele,
urmează niște reguli simple care determină un posibil comportament atunci când interacționează
între ei sau cu mediul.
În ultima perioadă algoritmii inspirați din biologie devin tot mai puternici în optimizările
numerice moderne și sunt folosiți în aplicații precum data mining, testări de software sau
procesare de imagine. Unii dintre cei mai cunoscuți algoritmi sunt optimizarea roiurilor de
particule (PSO), coloniile de albine artificiale (ABC), căutarea cucului și altele. Acestea au fost
folosite în segmentarea imaginilor și s-au obținut niște rezultate foarte bune.
Algoritmul Firefly a fost propus de Xin She Yang în 2008 și se bazează pe comportamentul
social al licuricilor. Algoritmul a fost deja folosit în diverse domenii de cercetare și a prezentat
rezultate foarte bune. În cazul algoritmului Firefly, există două aspecte principale: variația
intensității luminii și atracția dintre licurici. Yang a simplificat atracția dintre licurici ca fiind
determinată de luminozitatea licuriciului, astfel dacă un licurici este mai luminos, acesta este
mai atractiv.
În această lucrare se va prezenta o metodă de procesare a imaginilor prin segmentarea
imaginilor. Pentru acest lucru se va folosi algoritmul Firefly propus de Yang.
3
1.1 Comportamentul licuricilor
Licuricii sunt niște insecte care produc semnale luminoase scurte și ritmice. Semnalele
luminoase sunt produse de un proces de bioluminescență și încă există nelămuriri în legătură cu
adevăratele lor funcții. Două dintre aceste funcții sunt pentru a atrage parteneri pentru
împerechere, adică funcția de a comunica, iar cealaltă este pentru a atrage prada.
Semnalele luminoase ritmice, rata de apariție și durata formează o parte a sistemului de
comunicație care atrag licuricii între ei. La unele specii de licurici, femelele sunt cele atrase de
semnalele luminoase ale masculilor, în timp ce la alte specii femela produce aceste semnale
pentru a atrage masculii ca pradă, aceștia crezând că vor găsi o potențială pereche.
Se cunoaște că intensitatea luminii scade invers proporțional cu pătratul distanței de la
sursa de lumină. Mai mult aerul absoarbe lumina ceea ce o face mult mai slabă cu creșterea
distanței. Acești doi factori combinați fac ca licuricii să fie vizibili de la distanțe limitate, dar
acestea sunt de obicei de-ajuns pentru ca licuricii să comunice.
Câteodată este nevoie de o funcție care să descrească monoton cu o rată mai mică. În acest
caz vom putea folosi aproximația:
I0
I ( r )= (2)
1+ γ r 2
La distanțe mai mici cele două formule dau aceleași rezultate. Acest lucru se întâmplă
deoarece extinderea seriilor sunt echivalente până la ordinul 3:
1 1
≈ 1−γ r 2+ γ 2 r 4 + …
2
Cum de obicei este mai ușor să calculăm 1/(1+r2) decât o funcție exponențială, funcția (4)
β0 1
poate fi ușor înlocuită cu β= 2 . Ecuația (4) definește caracteristica distanței
Γ= peste
1+γ r √γ
care atracția se schimbă semnificativ de la β 0 la β 0 ⅇ−1.
Distanța dintre oricare doi licurici i și j aflați în locațiile xi și respectiv xj este distanța
carteziană unde xi,k este a componenta k a coordonatei spațiale xi a licuriciului i.
5
d
r ij =‖ xi −x j‖=
√∑ (
k=1
x i k −x j ,k )2
,
(6)
Deplasarea licuriciului i care este atras de licuriciul j este descrisă de ecuația (4) unde al
doilea parametru este atracția, iar ultimul termen este parametrul de randomizare.
1
( )
2
Dacă γ tinde spre 0, atunci atracția și luminozitatea sunt constante (β=β0). Cu alte cuvinte,
un licurici poate fi văzut din orice poziție. Acest lucru corespunde cu un caz special al
optimizării roiurilor de particule (PSO). Dacă γ tinde spre infinit, atracția și luminozitatea scad,
iar mișcarea devine aleatorie. În acest caz, se poate spune că licuricii nu văd foarte departe, acest
lucru fiind ca și cum aceștia s-ar mișca printr-o zonă cu ceață. Acest caz corespunde metodei de
căutare aleatorie. Cum algoritmul Firefly este de obicei între aceste două extreme, putem ajusta γ
și α în așa fel încât acesta să fie mai bun decât PSO și căutarea aleatorie la un loc. Un avantaj al
acestui algoritm este că licurici diferiți vor lucra aproape independent, acest lucru făcând posibilă
implementarea paralelă.
Este necesar să menționăm că distanța r definită mai sus nu e limitată la distanța
Euclidiană. Pot fi definite multe forme ale distanței r in hiperspațiul n-dimensional, în funcție de
problema de interes. De exemplu în cazul problemelor de planificări r poate fi întârzierea sau un
interval de timp. Pentru rețelele complicate cum sunt internetul și rețelele sociale, distanța r poate
fi definită ca o combinație de clustere locale și o proximitate de noduri. Se poate zice că orice
măsură care poate caracteriza efectiv cantitatea de interes într-o problemă de optimizare poate fi
distanța r. Scala normală Γ poate fi asociată scala din problema de interes. Dacă Γ este scala
pentru o problemă de optimizare dată, pentru un număr foarte mare de licurici n ≫ m , unde m
este numărul de optime local, atunci locațiile inițiale a celor n licurici ar trebui distribuite
uniform peste tot spațiul de căutare. Cu schimbarea iterațiilor, licuricii vor converge în toate
optimele locale într-un mod stohastic.
6
standard cu parametrii de învățare α ≈ β ≈ 2 fără corecție de inerție. Deoarece majoritatea
problemelor pot fi rezolvate cu o populație n între 15 și 50, s-a ales o populație fixă de n=40.
După implementarea și testarea celor trei algoritmi s-a observat că algoritmii se opresc
când variațiile valorilor funcțiilor sunt mai mici decât o toleranță data de ε ≤ 10−5. Rezultatele
sunt rezumate în tabelul (1) unde sunt atinse optimele globale. Rezultatele din tabel sunt
exprimate sub următoarea formă: 3752 ± 725(99%). Acest lucru înseamnă că valoarea medie de
evaluări ale funcției este 3752 cu o deviație standard de 725. Rata de succes în găsirea optimului
global pentru acest exemplu este de 99%.
Functions/Algorithm
GA PSO FA
s
Michalewicz’s (d=16) 89325 ± 7914(95%) 6922 ± 537(98%) 3752 ± 725(99%)
Rosenbrock’s (d=16) 55723 ± 8901(90%) 32756 ± 5325(98%) 7792 ± 2923(99%)
17040 ±
De Jong’s (d=256) 25412 ± 1237(100%) 7217 ± 730(100%)
1123(100%)
Schwefel’s (d=128) 227329 ± 7572(95%) 14522 ± 1275(97%) 9902 ± 592(100%)
Ackley’s (d=128) 32720 ± 3327(90%) 23407 ± 4325(92%) 5293 ± 4920(100%)
Rastrigin’s 110523 ± 5199(77%) 79491 ± 3715(90%) 15573 ± 4399(100%)
Easom’s 19239 ± 3307(92%) 17273 ± 2929(90%) 7925 ± 1799(100%)
Griewank’s 70925 ± 7652(90%) 55970 ± 4223(92%) 12592 ± 3715(100%)
Shubert’s (18 minima) 54077 ± 4997(89%) 23992 ± 3755(92%) 12577 ± 2356(100%)
Yang’s (d = 16) 27923 ± 3025(83%) 14116 ± 2949(90%) 7390 ± 2189(100%)
Tabel 1 Rezultatele comparației dintre GA, PSO și FA
Se poate observa că algoritmul Firefly este mult eficient în găsirea optimului global cu
scoruri mult mai mari.
7
Capitolul 2 Stadiul actual al cunoașterii
Algoritmul Firefly poate fi folosit și în procesarea imaginilor, existând deja un număr de
lucrări despre acest subiect. Una dintre acestea este o lucrarea despre selectarea pragurilor de
imagine pe mai multe nivele, în care se aplică algoritmul folosind criteriul entropiei maxime. În
experimentele prezentate, a fost folosită metoda căutării exhaustive, algoritmul PSO și altele
pentru a găsi soluții de comparare cu rezultatele generate de algoritmul Firefly. În urma
comparației s-a observat că timpul de calcul este cel mai scurt, iar raportul semnal-zgomot
maxim este cel mai bun în cazul algoritmului Firefly. De asemenea rezultatele segmentării în
cazul algoritmului Firefly sunt superioare față de unele dintre metode.
O altă lucrare prezintă aplicarea algoritmului Firefly în rezolvarea problemei de urmărire a
obiectelor. Se propune o arhitectura de urmărire bazată pe optimizare și se studiază sensibilitatea
parametrilor algoritmului. În rezultatele obținute se observă că un sistem de urmărire bazat pe
algoritmul Firefly, poate urmări o țintă arbitrară într-un mod mai robust, în diferite condiții ale
mediului. S-a comparat viteza și acuratețea algoritmului Firefly cu alți algoritmi cum ar fi filtrul
de particule (PF), PSO sau algoritmul meanshift și s-a observat că cele mai bune rezultate s-au
obținut în cazul algoritmului Firefly. În metoda propusă se poate urmări doar un singur obiect,
însă nu s-a descoperit cum s-ar putea face urmărirea a mai multor obiecte.
Mai departe se va prezenta o metodă de segmentare a imaginilor folosind algoritmul
Firefly. Segmentarea imaginilor este procesul care împarte o imagine în segmente pe doua nivele
sau segmente pe mai multe nivele. Segmentarea pe două nivele împarte imaginea în două părți,
una în prim plan, iar cealaltă în fundal. Segmentarea pe mai multe nivele folosește valori de prag
multiple pentru a separa imaginea în părți diferite. Problema ce această metodă este că este un
proces de lungă durată. Pentru a obține o eficiență mai bună, se folosește algoritmul Firefly
deoarece acesta are o rată de conversie mult mai bună și un timp de calcul scurt.
Alegerea pragurilor de nivel multiple este o problema destul de complicată. Algoritmul
Firefly este unul dintre cei mai buni algoritmi pentru maximizarea entropiei în măsurarea
histogramei. Algoritmul Firefly poate fi folosit efectiv cu metoda zborului Lévy, găsindu-se
valoarea de prag optimă. În continuare vor fi prezentați pașii procesului de segmentare:
Pas 1. Generarea populației este aleatorie Xi (i=1,2,3....N);
Pas 2. Se definește metoda entropiei Kapoor ca funcție obiectiv;
Pas 3. Se inițializează coeficientul de absorbție γ, atracția inițială β0, mărimea pasului
pentru zborul Levy și iterația maximă;
Pas 4. Se calculează valoarea fitness pentru fiecare licurici;
Pas 5. Se actualizează pozițiile licuricilor spre cel mai atractiv, folosind ecuația (4) ;
Pas 6. Se repetă pașii 3-5 până se ajunge la iterația maximă;
Pas 7. Se determină valoarea de prag optimă și segmentul de imagine corespunzător.
8
Există niște parametrii de evaluare a performanței cum ar fi raportul maxim semnal-
zgomot (PSNR), matricea de indici de asemănare structurală, timpul de calcul și valorile funcției
obiectiv care sunt folosiți pentru a afla informații pentru calitatea segmentului de imagine.
Valorile raportul PSNR sunt folosite pentru a analiza asemănării dintre imaginea originală și
segmentul de imagine folosind eroarea medie pătratică.
După aplicarea algoritmului descris s-au obținut rezultatele care se pot observa în Fig. 1. În
imaginea se poate observa cum a fost segmentată imaginea pe 2, 3, 4 și 5 praguri. Cu ajutorul
algoritmului s-au obținut valorile de prag optime pentru o segmentare cât mai precisă.
O altă metodă de segmentare a imaginii se folosește doar de algoritmul Firefly. Imaginea
poate fi segmentată bazându-se pe intervalele de intensitate ale obiectelor din imagine.
Histogramele sunt folosite pentru a determina variațiile de intensitate. Numărul de praguri și
valorile acestora sunt determinate pe baza variației. Pixelii de intensități variate din imagine sunt
considerați licurici. Pixelii sunt clustere bazate pe valorile intensităților similare. Clasa de
variație a imaginii este considerată funcția obiectiv a algoritmului Firefly. Metoda maximizează
9
funcția obiectiv pentru a obține valori de prag optime. Diagrama bloc a algoritmului se poate
vizualiza în Fig. 2.
10
Start
Se citește imaginea
Se afișează histograma
Se determină limitele
căutării
Se inițializeză licuricii
Se evaluează funcția
obiectiv
Se oprește căutarea
Se găsesc cei mai și se afișează valorile
atractivi licurici de prag
Se actualizează Se segmentează
pozițiile licuricilor imaginea și se afișează
Stop
Se repetă până se
realizează toate
iterațiile
Licuricii sunt inițializați aleatoriu în spațiul de căutare. După fiecare iterație, licuricii se
deplasează spre cea mai bună valoare globală. După terminarea algoritmului, poziția licuricilor
11
indică valorile de prag ale imaginii. În Fig. 4 se observă comportamentul și pozițiile licuricilor.
Imaginea de intrare este segmentată pe baza valorilor de prag obținute, iar imaginea se poate
vedea în Fig. 5.
Fig. 5 Imaginea segmentată ( cu valorile de prag 44, 76, 103, 125, 150, 180)
12
Algoritmul folosește imagini grayscale și le segmentează determinând numărul optim de praguri
și valorile acestora. Algoritmul poate fi folosit în aplicații precum recunoașterea de imagini,
imagistică medicală, detecția obiectelor și altele.
13
Bibliografie
14