Sunteți pe pagina 1din 21

CAPITOLUL III

III.1. Procesarea imaginilor

Procesarea imaginilor este o metodă de efectuare a unor operații pe o imagine, pentru a


obține o imagine îmbunătățită sau pentru a extrage câteva informații utile din aceasta. Este un
tip de procesare a semnalului în care intrarea este o imagine și ieșirea poate fi imaginea sau
caracteristicile asociate cu acea imagine. Tehnicile de procesare a imaginilor se numără
printre tehnologiile cu creștere rapidă. Aceasta reprezintă o arie centrală de cercetare în
domeniul disciplinelor de inginerie și informatică.[46]

În cadrul acestei lucrări, pentru atingerea scopului, anume divizarea imaginii în două
categorii: hemangion și non-hemangiom se vor folosi algoritmi de segmentare.
Algoritmii de segmentare folosiți pentru imaginile
monocromatice au, în general, la bază două caracteristici ale
intensității imaginii: discontinuitățile și similitudinile. În cazul
primei categorii, abordarea constă în divizarea imaginii în
funcție de modificările bruște de intensitate, așa cum se
întâmplă în cazul contururilor și marginilor. Pentru a doua
categorie de algoritmi, segmentarea partiționează imaginea în
regiuni cu proprietăți similare, conform unui criteriu prestabilit.
O altă abordare fundamentală în segmentare este compararea
fiecărui pixel, în parte, cu un prag, metodă care oferă un calcul
rapid. [49]

Un sistem obiectiv de monitorizare și evaluare


automată ar fi un instrument foarte util pentru medici în
prezicerea dezvoltării tumorii și luarea celei mai potrivite
decizii în ceea ce
Fig. 3.1 Imagine înainte și după segmentare

-2-
privește tratamentul. Cu toate acestea, până în prezent, doar câteva rezultate sunt raportate pe
această temă . Primul pas pentru un astfel de sistem de monitorizare automată constă în
detectarea regiunii hemangiomului.
Pentru investigarea diferitelor metode de tratament, este necesar să se determine
suprafața pe care hemangiomul o acoperă pentru a afla cât de mult a crescut sau a scăzut de la
ultima examinare.

Pentru ca evaluarea să fie mai ușoară, mai rapidă, mai confortabilă și în majoritatea
cazurilor mai precisă decât o segmentare manuală a zonei afectate a pielii, este preferata o
metodă automatizată.

În procesarea imaginilor, segmentarea imaginii este procesul de împărțire a unei


imagini digitale în mai multe segmente (seturi de pixeli, de asemenea cunoscute sub numele
de super- pixeli). Scopul segmentării este de a simplifica și / sau de a schimba reprezentarea
unei imagini în ceva mai semnificativ și mai ușor de analizat. Segmentarea imaginii este
folosită în mod obișnuit pentru a localiza obiectele și limitele (linii, curbe etc.) în imagini.
Mai precis, segmentarea imaginilor este procesul de atribuire a unei etichete fiecărui pixel
dintr-o imagine, astfel încât pixelii cu aceeași etichetă să aibă anumite caracteristici.[50]
Sarcina algoritmului de segmentare este de a găsi regiunile dintr-o imagine aparținând
hemangiomului. Zona de interes conține atât pixeli de hemangiom, cât și non-hemangiom,
care sunt în majoritatea cazurilor piele (dar pot fi, de asemenea, păr, haine, instrumente de
masura etc.)

Pentru determinarea celei mai bune modalități de segmentare se va folosi o bază de


date ce conține 72 imagini clinice cu hemangioame, cu clarități, texturi si forme cât mai
diversificate, provenite de la 28 de pacienți. Pe acestea se vor aplica, pe rând operații de
segmentare în vederea alegerii celei mai potrivite metode.

III.2. Tehnici de segmentare cu selecție automată a pragului

III.2.1 Metoda Otsu

Metoda de prag a lui Otsu implică iterarea tuturor valorilor prag posibile și calcularea
unei măsuri a distribuției acestora de o parte și de alta a pragului, adică pixeli de interes și
pixeli de fundal. [49]

-3-
Este folosită pentru a reduce o imagine cu nivele de gri la una binară. Algoritmul
imparte imaginea în două clase de pixeli conform histogramei bimodale (pixeli în de
hemangiom și pixeli de fundal), apoi calculează pragul optim separând cele două clase astfel
încât dispersia lor combinată să fie minimă sau, astfel încât variația lor între clase este
maximă.

Pragul optim de segmentare se alege astfel încât varianța dintre clase să fie minimizată.

Aceasta se calculează după formula:[50]


2
= � ( 𝑡 ) 𝜎 2 ( 𝑡 ) + ( 𝑡 ) 𝜎 2( 𝑡 ) (3.1)

𝜎� (�) 1 1 2 2
Unde probalilitatea fiecărei clase poate fi scrisă ca:

�1 (𝑡) = ∑� � 𝑃(𝑖) (3.2)


�2(𝑡) = ∑𝐼 𝑃(𝑖 (3.3)
)
�=�+1
Iar media claselor este dată de ecuațiile:
� �𝑃 (� )
(3.4)
1
𝜇1(𝑡) = ∑�=1

(�) �𝑃 (� )
𝐼
(3.5)
2
𝜇2(𝑡) = ∑�=�+1

(�)
Astfel, varianța individuală a fiecarei clase poate fi scrisă ca:
2 � 2 𝑃 (� ) (3.6)

𝜎1 (𝑡) = ∑�=1[𝑖 − �1(�)

𝜇1(𝑡)]
2 𝐼 2 𝑃 (� ) (3.7)

𝜎2 (𝑡) = ∑�=�+1[𝑖 − �2(�)

𝜇2(𝑡)]
Pentru alegerea pragului se calculează valorile parametrilor pentru fiecare valoare a

-4-

luminanței ( tє(0,255)) și se alege valoarea pentru care 𝜎 2 (𝑡) are cea mai mică valoare.
Acest tip de segmentare are rezultate foarte bune doar atunci când pixelii din imagine,
aparținând clasei non-hemangiom au proprietăți asemănatoare. De exemplu pentru o imagine
unde hemangiomul se diferentiază foarte clar de piele și nu există alte obiecte care pot altera
histograma bimodală, se va obține o segmentare de tipul celor prezentate mai jos:

-5-
a b

Fig. 3.2 a) Imagine cu hemangiom; b) Imagine segmentată prin metoda Otsu;

a b
Fig. 3.3 a) Imagine cu hemangiom; b) Imagine segmentată prin metoda Otsu;

Însă ulititatea acestui tip de segmentare scade pentru imaginile cu histogramă mai
complexă.

Fig. 3.4 a) Imagine cu hemangiom; b) Imagine segmentată prin metoda Otsu;

Rezultatul poate fi îmbunătățit prin preprocesarea imaginii. După oparația de egalizare


a histogramei segmentarea este puțin mai precisă, însă rezultatul nu este,totuși, unul
mulțumitor.

-6-
Fig. 3.5 Imaginea 3.4.a segmentată prin metoda Otsu după egalizarea histogramei

Mediul MatLab are implementată o funcție care calculează automat pragul de


segmentare prin metoda Otsu, fără a fi nevoie de implementarea manuală a acesteia. Pentru a
folosi această funcție imaginea trebuie să fie cu nivele de gri. Sintaxa folosită pentru
segmentarea imaginilor cu selecție a pragului după crieriile impuse de Otsu este:

Imagine_gri=rgb2gray(imagine_originală);

Nivel_otsu=graythresh(imagine_gri);

Imagine_segmentată=im2bw(imagine_gri, nivel_otsu);

Funcția graythresh calculează automat pragul de segmentare folosindu-se de


histograma imaginii date, apoi segmentarea se face cu funcția de binarizare (im2bw), care
selectează zona de hemangiom dupa pragul calculat anterior.

Pentru imaginile din planul a al spațiului Lab nu este nevoie de pasul de trecere în
tonuri de gri, deoarece imaginea este deja reprezentată cu această hartă de culoare.

III.2.2 Segmentarea Kittler

În afara metodelor de segmnetare implementate deja în MatLab, există și alte metode


pentru selecția pragului optim pentru segmentarea imaginilor. Stabilirea unei metode eficiente
implică evaluarea histogramei sau orice altă formă de analiză a intensității nivelurilor de gri.

-7-
O abordare eficientă este considerarea segmentării o problemă de clasificare. Astfel
scopul algoritmului este să clasifice fiecare pixel, în funție de apartenența lui la una din cele
două categorii (regiune de interes și background) după intensitatea luminoasă a acestuia.

Kittler și Illingworth [51] au propus o abordare iterativă pentru algoritmul de calculare


al erorii minime, care este, la fel ca Otsu, o segmentare cu prag automat. Acesta poate fi
privită ca o generalizare a algoritmului intermeans .
Se pornește de la o valoare a pragului, aleasă în mod aleatoriu, apoi se calculează
varianța valorilor pixelilor precum și varianța medie pentru fiecare din cele două categorii
(definite de poziția față de prag). Apoi se schimbă poziția pragului și se refac calculele până
când nu mai există schimbări de valori între iterații.

Pentru calculul matematic se urmează urmatorii pași:

i. Se alege un prag inițial t.


ii. Se calculează valoarea medie a claselor, varianța individuală și proporția în
care apar cele două clase:

1 �
(3.8)
�1 = ∑�=0 ℎ�
𝑛2
1 �
𝜇1 = 2
∑ (3.9)
𝑛 �1 �=0

1 � 2 (3.10)
1
= ∑ �=0 ℎ
2
𝜎 𝑛 2�

1 2
pentru pixelii din intervalul cuprins
În mod similar se calculează parametrii p2, 𝜇2,

𝜎2
între t+1 și N.
iii. Se reestimează pragul t conform formulei:

�+√�2−��
𝑡=[ ] (3.11)

- 30 -
Unde A, B și C sunt coeficienții din probabilitatea densității distribuției Gaussiene:

1 1
�= − (3.12)
𝜎2 𝜎2
1 2

- 31 -
𝜇1 𝜇2
�= − (3.13)
1 2

𝜎2 𝜎2
𝜇1 𝜇2 2� 2
� = 𝜎1−2 + (3.14)
���2 2 2 2

𝜎1 𝜎 𝜎2 �1

iv. Cu pragul calculat la pasul anterior se recalculează parametrii, cei doi pași
repetându-se până când valoarea lui t converge către una stabilă.

Deoarece acest tip de segmentare nu se regăsește în biblioteca MatLab-ului, funcția va


fi scrisă conform formulelor matematice pentru determinarea pragului. Odată ce pragul a fost
stabilit, segmentarea se face cu funcția de binarizare și parametrul t calculat anterior.

a b c
Fig. 3.6 a) Imaginea RGB; b) Planul a al imaginii; c) Imaginea segmentată prin metoda Kittler

Pentru imaginile clare, cu hemangiom bine definit și bine separate de zona de fundal
segmentarea cu prag Kittler este una reușită. Marginile reale ale hemangiomului sunt păstrate,
există mici erori insă se poate măsura cu o precizie destul de bună dimensiunea reală a
hemangiomului.

- 32 -
a b c
Fig. 3.7 a) Imaginea RGB; b) Planul a al imaginii; c) Imaginea segmentată prin metoda Kittler

Insă, precum segmentarea cu calcularea pragului prin metoda lui Otsu, algoritmul nu
este capabil să detecteze porțiunile hemangimului unde se schimbă colorația. Astfel, pentru
unele hemangioame va fi detectată o zonă mai mica, ceea ce scade acuratețea segmentării.

a b c
Fig. 3.8 a) Imaginea RGB; b) Planul a al imaginii; c) Imaginea segmentată prin metoda Kittler

Cu cât calitatea imaginii scade și intervin mai multe obiecte în jurul hemangiomului cu
atât calitatea acestei segmentări scade. Algoritmul detectează doar zonele puternic colorate,
eliminând porțiuni din mijlocul tumorii.
Din rezultatele acestor segmentări cu prag automat se disting limitările acestora. Deși
se obtin rezultate foarte bune pe imagini unde histograma are doar două moduri, clasificarea
regiunilor de hemangion și non-hemangiom nu se mai face foarte exact atunci cand
histograma este alterata. Se poate observa faptul că până și o discolorație a regiunii de
hemangiom poate scădea calitatea rezultatului, iar pixelii de hemangiom cu nivele de gri cu
valori apropiate de fundal se confundă cu acesta.
Astfel, pentru obținerea unui rezultat mai bun se vor încerca, în continuare, alte metode
de segmentare ce nu implică calcularea unui prag.
- 33 -
III.3 Tehnici de clustering

Clustering-ul este o tehnică de segmentare a imaginilor. Sarcina clusterului este de a


împărți un set de date imagine într-un număr de grupuri sau clustere disjuncte.

Analiza clusterelor nu este un algoritm specific, ci se poate realiza prin diferiți


algoritmi care diferă semnificativ ca mod de detecție a ceea ce constituie un cluster în
mod eficient. Noțiunea de cluster se referă la grupuri de pixeli cu proprietăți fizice
asemănatoare (formă, culoare, textură). Algoritmul adecvat de grupare și setările
parametrilor (inclusiv parametrii cum ar fi funcția de distanță de utilizat, pragul de densitate
sau numărul de clustere așteptate) depind de setul individual de date și de rezultatele
așteptate. Analiza clusterului ca atare nu este o sarcină automată, ci un proces iterativ de
identificare a claselor. Adesea este necesară modificarea parametrilor de preprocesare a
datelor și a parametrilor de model până când rezultatul atinge proprietățile dorite.[37]
Spre deosebire de tehnicile de segmentare cu prag, care se bazează doar pe valorile
nivelurilor de gri, pe care le consideră suficiente pentru caracterizarea imaginii, în tehnicile de
clustering sunt luate în calcul caracteristici suplimentare. Aici gruparea se face prin calcularea
probabilității de a aparțiune unei clase prin compararea acestuia și integrarea lui acolo unde
sunt găsite proprietăți similare.

III.3.1 Fuzzy C-means (FCM)

Clusteringul fuzzy este o metodă de grupare în care datele pot aparține mai multor
grupuri. Algoritmul împarte punctele de date în grupuri bazate pe similitudinea dintre
elemente și verifică pentru a găsi modele sau asemănări între elementele dintr-un set.
Elementele din clustere ar trebui să fie cât mai apropiate posibil între ele și cât mai diferite
de cele din alte grupuri. Din punct de vedere computațional, este mult mai ușor să creeze
granițe fuzzy decât să stabilească un grup pentru un punct.[52]
Această abordare ia in calcul faptul că nu toți pixelii hemangiomului au proprietăți
identice și nu consideră cele două clase exclusiv disjuncte. În imaginile cu caracter medical
este întâlnit destul de frecvent cazul în care regiunea de interes se confundă, din punct de
vedere al luminanței cu fundalul. Prin urmare, condiția impusă anterior (un pixel poate
aparține unei singure clase), limitează performanțele algoritmilor. Pentru depășirea acestei

- 34 -
bariere se va

- 35 -
considera că fiecare pixel poate aparține mai multor clase, cu un procentaj de probabilitate
mai mic sau mai mare. [37]

Conform algoritmului Fuzzy C-Means (FCM) un punct de date poate aparține în mod
teoretic tuturor grupurilor, cu o funcție de membru (numită de asemenea calitate de membru)
între 0 și 1, unde: 0 este locul în care punctul de date este la cel mai îndepărtat punct din
centrul unui cluster și 1 este locul unde datele punctul este cel mai apropiat de centru.

Gradul de apartenență al unui pixel la un grup se calculează după formula:

1
𝑚−1
(
1 (3.15)
)
𝜇�� = (𝑥�−𝜇�) 1
𝑚−1
2
1
∑𝐾 ( )

�=1 (𝑥 −𝜇 )2
� �

Centrul claselor se calculează astfel:

∑�𝑁=1 𝜇��
𝑚�

𝑁

𝑚 (3.16)
𝜇
𝜇� = �=1

��

Parametrul m se numește grad de fuzificare al partiției. De acesta depinde distribuția


gradelor de apartenență a vectorilor între clase.
Etapele algoritmului sunt:
i. Inițializarea centroizilor claselor 𝜇� cu valori aleatoare sau
presupunearea poziției acestora atunci când este posibil
ii. Calculul conform formulei a gradelor de apartenență a vectorilor la clase
precum și a centrului claselor.
iii. Repetarea calculului până când nu se mai obțin diferențe semnificative

Algoritmul de segmentare bazat pe clustering de tip fuzzy este implementat in


MatLab, și este de forma:

[CENTER, U, OBJ_FCN] = fcm(DATA, N_CLUSTER)

Unde center returnează coordonatele pentru centrul fiecărui cluster, U reprezintă


gradul de apartenență.

- 34 -
La fiecare iterație funcția este minimizată pentru a găsi cea mai potrivită locație pentru
fiecare valoare și pentru clustere, acestea fiind returnate în variabila OBJ_FCN.

Funcția primește ca parametri de intrare imaginea care se dorește segmentată și


numărul de clase în care va fi împărțită.

Pentru aplicația în curs se vor folosi două clase. Se așteaptă ca algoritmul să distingă
pixelii de hemangiom, pe care să îi atribuie unei clase, apoi să mai formeze o clasă conținând
pixeli cu alte informații. În teorie, acest tip de segmentare ar trebui să aibă rezultate mai bune
pentru imaginile în cauză.

a b
Fig. 3.9 a) Imagine RGB; b) Imagine după segmentarea Fuzzy C-means

Pentru imaginile simple rezultatele sunt asemănătoare cu segmentările pe baza metodei


Otsu, însă timpul de rulare al acestui algoritm este mult mai mare. Micile goluri din interiorul
hemangiomului pot fi acoperite cu o funcție de umplere, implementată în MatLab, numită
imfill.

Această funcție are rolul de a identifica


porțiunile din interiorul hemangiomului care
au fost identificate ca non-hemangiom și de
a le umple. Pentru acest lucru trebuie
specificat în cadrul funcției parametrul
“holes” astfel:

img_filled=imfill(img_fcm,'holes')
Fig. 3.10 Efectul funcțiti imfill asupra imaginii segmentate

- 35 -
a b
Fig. 3.11 a) Imagine RGB; b) Imagine după segmentarea Fuzzy C-means

a b
Fig. 3.12 a) Imagine RGB; b) Imagine după segmentarea Fuzzy C-means

În cazul imaginilor complexe se observă diferențe considerabile în calitatea


segmentării. Atât în cazul hemangiomului cu discolorație, cât și in cazul celui acoperit cu
fire de păr, care nu au putut fi segmentat cu tehnicile anterioare, imaginea segmentată
păstrează conturul real al hemangiomului. Ca și în cazul anterior, golurile pot fi umplute cu
ajutorul funcției specifice.

Deoarece imaginile din data de baze sunt diferite din punct de vedere al calității,
contrastului și luminozității, și pentru că histogramele au, în general, mai mult de două moduri
iar algoritmul trebuie să împartă pixelii în două clase: hemangiom și non-hemangiom, sarcina
devine mai dificilă. Pentru obținerea unor rezultate mai bune s-au ales două metode de
- 36 -
segmentare:

- 37 -
- Prima formează o clasă cu pixelii de luminozitate mică și medie și o clasă cu
pixelii cu valori mari ale luminozității
- Cea de-a doua formează o clasă cu pixelii întunecați și una cu cei cu valori medii și
mari ai nivelurilor de gri

Datorită diversității imaginilor nu poate fi afirmat despre una din cele două metode
faptul că ar oferi rezultate superioare față de cealaltă.

a b c
Fig. 3.12 Imagine unde segmentarea FCM are rezultate mai bune cu cea de-a doua variantă

a) Imaginea originală; b) Imagine segmentată prin FCM cu primul prag; c) Imagine segmentată
prin FCM cu cel de-al doilea prag;

a b c
Fig. 3.13 Imagine unde segmentarea FCM are rezultate mai bune cu prima variantă de
segmentare; a) Imaginea originală; b) Imagine segmentată prin FCM cu primul prag; c) Imagine
segmentată prin FCM cu cel de-al doilea prag;

- 38 -
a b c
Fig. 3. 14 Imagine unde cele două metode de sejmentare FCM oferă rezultate asemănătoare

a) Imaginea originală; b) Imagine segmentată prin FCM cu primul prag; c) Imagine segmentată
prin FCM cu cel de-al doilea prag;

După cum se observă în imaginile de mai sus, tipul de segmentare cel mai potrivit
depinde de imagine, fiecare metodă putând oferi informații precise.

III.3.2 Expectation maximization (EM)

Acest algoritm se bazează pe alocarea datelor către un anumit set de partiții. Fiecare
valoare dată este asociată cu o partiție printr-un sistem bazat pe gradul în care este asociată o
valoare de date cu o anumită partiție. Expectation maximization se bazează foarte mult pe
presupunerea că valorile inițiale ale partițiilor sunt apropiate de clusterele naturale ale datelor
date.[53]
Algoritmul a fost explicat și denumit, într-o lucrare din 1977, de Arthur Dempster,
Nan Laird și Donald Rubin. Aceștia au subliniat faptul că metoda a fost "propusă de mai
multe ori în circumstanțe speciale" de către autorii anteriori. Lucrarea Dempster-Laird-
Rubin a generalizat metoda și a schițat o analiză de convergență pentru o clasă mai largă de
probleme. Indiferent de invențiile anterioare,metoda inovatoare Dempster-Laird-Rubin din
Jurnalul Societății Regale de Statistică a devenit un instrument important de analiză statistică.
Expectation-Maximization este o modalitate de a găsi probabilitatea maximă pentru
parametrii modelului atunci când datele sunt incomplete, au lipsuri sau au variabile latente
nevăzute (ascunse). Este un mod iterativ de a aproxima funcția maximă de probabilitate.
Funcționează prin alegerea valorilor aleatoare pentru punctele de date care lipsesc și folosind

- 39 -
acele informații pentru a estima un al doilea set de date. Noile valori sunt folosite pentru a crea
o mai bună estimare pentru primul set, iar procesul continuă până când algoritmul converge
într-un punct fix.[37]

Pașii pe care algoritmul îi parcurge sunt:[53]

i. Se face estimarea inițială pentru parametrii modelului și se creează o distribuție


a probabilităților. Acest lucru este denumit uneori Pasul E pentru distribuția
așteptată (de aici termenul expectation)
ii. Datele sunt suprapuse în model.
iii. Distribuția probabilităților din etapa E este optimizată pentru a include noile
date. Acest lucru este denumit uneori Pasul M.
iv. Etapele 2 până la 4 se repetă până când se atinge stabilitatea (adică o distribuție
care nu se schimbă de la etapa E la etapa M).

a b

c d
Fig. 3.15 a,c) Imagini segmentate cu FCM; b,d) Imagini segmentate cu EM;

- 40 -
Imaginile aflate pe prima coloană au fost segmentate cu fuzzy c-means iar cele
alăturate folosind expectation maximization.

Rezultatele obținute nu prezintă diferențe mari față de imaginile segmentate cu Fuzzy


C-means. Spre deosebire de fuzzy, expectation maximization nu este o funcție implementată in
MatLab, de aceea folosirea acesteia are un grad de dificultate mai ridicat

- 41 -

S-ar putea să vă placă și