You are on page 1of 24

SEGMENTAREA IMAGINILOR TEHNICI DE CLUSTERING

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Categorii de tehnici de segmentare pe regiuni Thresholding (segmentare pe histograma)

Segmentarea in spatiul caracteristicilor (generalizare thresholding) pentru regiuni cu uniformitate a valorilor pentru regiuni cu uniformitate a caracteristicilor (texturi)

Cresterea si fuziunea regiunilor

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Segmentarea in spatiul caracteristicilor (generalizare thresholding) Spatiul caracteristicilor poate avea orice dimensionalitate. Metode automate/ semi-automate. Metodologia este analoga cuantizarii vectoriale folosite la compresie. Tipuri de metode de clustering - iterative - ierarhice
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Tipurile de obiecte pot fi separate in spatiul caracteristicilor, daca respectivele caracteristici sunt discriminante (de ex. culoarea). R

Valori tipice pentru caracteristicile obiectele : prototipurile claselor.


C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Cine [si cum] defineste numarul necesar, corect, de parti ale imaginii ? sub-segmentare ? (soarele este in clasa cer)

3 tipuri de elemente : cer, vegetatie, casa

supra-segmentare ? (copac impartit in doua clase)


C. VERTAN

4 tipuri de elemente : cer, vegetatie, lemn, zid

LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Segmentarea inseamna identificarea grupurilor de pixeli ce au caracteristici asemanatoare. R Acest proces de grupare se numeste clustering. Algoritmii de clustering urmaresc identificarea automata a unor grupuri de puncte din spatiul caracteristicilor ce sunt : compacte, dense reprezentative bine separate
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Spatiul caracteristicilor

original

medie

Reprezentarea spatiului 2D al caracteristicilor

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Spatiul caracteristicilor

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Clustering
Punerea problemei : un set de N puncte, descrise de vectori de dimensiune p trebuie impartit in C clase (grupuri, clustere).

X = { x i }, i = 1,2 ,..., N x i = ( xi 1 , xi 2 ,..., xip )


Impartirea (partitionarea) setului de puncte in clase : indice de apartenenta a fiecarui punct (carei clase ii apartine) Exprimarea cantitativa a conceptului de partitionare buna. criterii de calitate a partitiei.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Apartenenta punctelor la clase Apartenenta punctului xi la clasa j :

Clustering

uij , i = 1,2 ,..., N , j = 1,2 ,...,C


Modele de clustering : Net (binar) : Nuantat (fuzzy) :

1,x i Clasa j uij = 0 , x i Clasa j

uij [ 0 ,1 ]
i = 1,2 ,..., N , j = 1,2 ,...,C

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Masuri de calitate a claselor

Clustering

clase compacte : centrul clasei este aproape de toate punctele clasei (punctele clasei sunt bine aproximate de centrul clasei). clasa are suficient de multe puncte clase bine separate : distantele dintre centrele claselor sa fie cat mai mari. Cele doua cerinte sunt adeseori contradictorii.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Basic ISODATA (k-means, C-means)

Clustering net

ISODATA = Iterative Self Organizing Data Analysis Technique Se fixeaza numarul de clase dorit, C. Calitatea partitiei (a claselor) e caracterizata de eroarea globala de aproximare a vectorilor de date prin prototipurile claselor.

N J = J ( uij , j ) = j = uij x i j j =1 j =1 i = 1
C C

prototipul (centroidul) clasei j

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Basic ISODATA (C-means)


N J = 2 uij ( x i j ) = 0 j i =1

Clustering net

j =

uij xi
i =1 N

uij
i =1

prototipurile claselor sunt mediile aritmetice ale vectorilor de date ce apartin claselor.

1, x i j x i k ,k j uij = 0 , rest

orice vector apartine clasei de al carei prototip este cel mai apropiat.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Basic ISODATA (C-means) 1. alege un set aleator de prototipuri

Clustering net

2. calculeaza apartenenta fiecarui vector la una dintre clasele partitiei (vectorii apartin clasei de al carei prototip sunt cei mai apropiati) 3. calculeaza prototipurile claselor ca media aritmetica a vectorilor apartind fiecarei clase 4. evalueaza criteriu de oprire : eroare globala suficient de mica ? numar de iteratii suficient de mare ? au fost vectori care sa isi schimbe apartenenta ? au fost prototipuri care s-au modificat semnificativ ? 5. repeta de la 2 daca e cazul.

Pasii 2 - 3 ai algoritmului (calcul apartenenta vector la o clasa si calculul prototipului unei clase poarta numele de iteratie LBG (Linde-Buzo-Gray). Orice instanta LBG se caracterizeaza prin initializare (aleatoare sau prin spargere) iteratie LBG evaluare conditie de oprire

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

original segm. pe hist.

clustering ISODATA

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Problema : oscilatii ale vectorilor intre clase

Clustering net

alocarea vectorilor situati la egala distanta fata de clase

x prototip 2 Clasa 1 prototip 1


C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Clasa 2

Clustering fuzzy
Orice vector apartine oricarei clase, dar intr-o masura mai mare sau mai mica. uij sunt gradele de apartenenta [fuzzy] ale vectorilor la clase. Probleme de ce fuzzy ? ce semnificatie au gradele de apartenenta ? cum se modifica criteriile obiective de calitate ?

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Fuzzy : de ce ?
Fuzzy ar permite adaptarea la o realitate graduala (nuantata). Computing with words (Zadeh)

Numere

Descrieri semantice ale obiectelor si interactiunilor acestora.

Modele Grade de apartenenta (scalari) Multimi fuzzy (functii)


C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Reguli (sisteme bazate pe inferenta)

Fuzzy : cum ?
Numerele corespund masurii in care un obiect din universul problemei satisface o proprietate (sau o categorie) semantica; numerele sunt in [0,1]. Multime fuzzy = functie de apartenenta a obiectelor la categoria data
1

Inalt
0 0 1.5 1.8 inaltime (metri)

Functia de apartenenta corespunde unui model natural (plauzibil) si nu este machiavelica (Bezdeck)

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

10

Fuzzy : cum ?
Un model machiavelic al categoriei Inalt:
1 0

1.8 2.1

inaltime

Gradele de apartenenta nu sunt acelasi lucru cu probabilitatile ! Exemplul calatorului insetat (Bezdeck) : Calatorul insetat ce merge prin desert gaseste doua sticle pline cu lichid. Calatorul trebuie neaparat sa bea continutul unei sticle. Etichetele sticlelor nu sunt clare.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Fuzzy probabilitate
Probabilitatea unui continut potabil : 0.9 Gradul de apartenenta al continutului la categoria potabil : 0.9 Probabilitatea : o sansa din zece de a gasi in sticla acid. Gradul de apartenenta : continutul este foarte potabil (ar putea fi bere). Gradul de apartenenenta nu se schimba dupa observatie !

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

11

Fuzzy probabilitate
Probabilitatea unui continut potabil : 0.1 Gradul de apartenenta al continutului la categoria potabil : 0.1 Probabilitatea : noua sanse din zece de a gasi in sticla acid. Gradul de apartenenta : continutul este foarte putin potabil (aproape sigur este acid). Gradul de apartenenenta nu se schimba dupa observatie !

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Moduri de interpretare a gradelor de apartenenta

Clustering fuzzy

Clustering probabilist - gradele de apartenenta reprezinta masura in care vectorii sunt impartiti claselor

uij = 1
j =1

(constrangerea de normare probabilista)

Clustering posibilist - gradele de apartenenta reprezinta masura in care vectorii sunt tipici pentru clase (faa constrangeri de normare)
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

12

FCM - Fuzzy C-Means (Fuzzy Isodata) Se fixeaza numarul de clase dorit, C.

Clustering fuzzy probabilist

Calitatea partitiei (a claselor) e caracterizata de eroarea globala de aproximare a vectorilor de date prin prototipurile claselor.
C C N m J = J ( uij , j ) = j = uij x i j j =1 j =1 i = 1 2

prototipul (centroidul) clasei j gradul de fuzificare al partitiei

J FCM

N m = uij x i j j =1 i = 1
C

C i uij 1 i = 1 j =1
N

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

J FCM m = 2 uij ( x i j ) = 0 j i =1
N

Clustering fuzzy probabilist

j =

uijm xi
i =1 N

uijm
i =1

prototipul oricarei clase este o medie ponderata a tuturor vectorilor din setul de date, ponderati cu gradele lor de apartenenta la clasa respectiva.
2

J FCM m = muij 1 x i j uij

i i = 0 uij = m xi j
m 1

1 m 1 2

C m uik = 1 i = C 2 k =1 x i k m 1 k =1 C. VERTAN

LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

13

uij =

xi j

2 m 1 2 m 1

k =1

xi k 1

Clustering fuzzy probabilist


gradele de apartenenta depind invers proportional de patratele distantelor de la vectorul de date la prototipurile claselor

uij =

2 m 1 ( x dist

i , j

1
i , k

2 k =1 m 1 ( x dist

rezolva problema gradelor de apartenenta egale in cazul vectorilor egal distantati de prototipuri ale claselor.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

FCM (Fuzzy Isodata) 1. alege un set aleator de prototipuri

Clustering fuzzy probabilist

2. calculeaza apartenenta fiecarui vector la clasele partitiei 3. calculeaza prototipurile claselor ca mediile ponderate ale vectorilor 4. evalueaza criteriu de oprire : eroare globala suficient de mica ? numar de iteratii suficient de mare ? au fost vectori care sa isi schimbe apartenenta ? au fost prototipuri care s-au modificat semnificativ ? 5. repeta de la 2 daca e cazul.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

14

Spatiul caracteristicilor

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

FCM, 2 clase, grad de apartenenta la 2

binarizare dupa grad apartenenta maxima


C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

15

FCM, 3 clase

2
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

segm. dupa grad max. apartenenta

2
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

16

Exemplu

Clustering fuzzy probabilist

FCM, C=3

segmentare ideala (C=3)

C. VERTAN

FCM, C=4

LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Limitarile modelului de impartire a vectorului intre clase. prototip 1 prototip 2

Clustering fuzzy probabilist

A clasa 1 clasa 2

B
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

17

Gradele de apartenenta ca tipicalitati : - posibilitatea de inlocui prototipul clasei prin vectorul dat

Clustering fuzzy posibilist

- masura in care vectorul dat este un reprezentat tipic al clasei Nu se mai utilizeaza conditia de normare probabilista a gradelor de apartenenta.
C N m J PCM = uij x i j j =1 i = 1 2

j ( uij 1 )m j =1 i =1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

J PCM m = 2 uij ( x i j ) = 0 j i =1
N

Clustering fuzzy posibilist

j =

uijm xi
i =1 N

uijm
i =1

prototipul oricarei clase este o medie ponderata a tuturor vectorilor din setul de date, ponderati cu gradele lor de apartenenta la clasa respectiva. (conditie de buna aproximare a claselor prin prototip)
2

J PCM m = muij 1 x i j uij m = 2 uij = 1

+ m j ( uij 1 )m 1 = 0

x j i 1+ j

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

18

uij =

1 x j i 1+ j
2

Clustering fuzzy posibilist

caracteristica a fiecarei clase (largimea clasei) (echivalentul unei benzi de trecere de 3dB - distanta la care gradul de apartenenta al unui vector este 0.5).

j = K

uijm x i j
i =1

uijm
i =1

e o distanta medie caracteristica clasei

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

PCM (Possibilistic C-Means) 1. alege un set aleator de prototipuri 2. calculeaza parametrii claselor (largimea)

Clustering fuzzy posibilist

3. calculeaza apartenenta fiecarui vector la clasele partitiei 4. calculeaza prototipurile claselor ca mediile ponderate ale vectorilor 5. evalueaza criteriu de oprire : eroare globala suficient de mica ? numar de iteratii suficient de mare ? au fost vectori care sa isi schimbe apartenenta ? au fost prototipuri care s-au modificat semnificativ ? 6. repeta de la 2 daca e cazul.

19

Reglarea automata a numarului de clase C Alegerea initiala gresita a numarului de clase determina erorile de supra-segmentare sau sub-segmentare. Supra-segmentarea se poate corecta prin reunirea ulterioara a obiectelor deja determinate si este deci preferabila alegerea unui C mai mare decat necesar. Varianta 1 : se realizeaza partitii cu numar variabil de clase si se pastreaza partitia cea mai buna Varianta 2 : algoritmul de partitionare isi modifica numarul de clase de exemplu eliminand clasele mici situate aproape de clase mai importante.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Competitive Agglomeration

Aglomerarea competitiva
N uij j =1 i = 1
C 2

N 2 J = uij x i j j =1 i =1
C

eroare de reprezentare a claselor prin prototip (ca la FCM)

termen de cardinalitate a claselor optim pentru numar mic de clase


2

J CA

N 2 = uij x i j j =1 i = 1
C

N C N uij i uij 1 j = 1 i =1 i =1 j = 1 C

constrangerea probabilista a gradelor de apartenenta (ca la FCM) vectorii sunt partajati intre clase.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

20

J CA 2 = 2 uij ( x i j ) = 0 j i =1
N

Aglomerarea competitiva

j =

uij2 xi
i =1 N

uij2
i =1

prototipul oricarei clase este o medie ponderata a tuturor vectorilor din setul de date, ponderati cu gradele lor de apartenenta la clasa respectiva. (conditie de buna aproximare a claselor prin prototip)
C Nk j =1 x t j Ns C + 2 1 xt s j =1 x t j 2

CA FCM u st = u st

Ns - cardinalitatea clasei s

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Alegerea termenului de echilibru intre cerintele contrare : C N

Aglomerarea competitiva

uij2 xi j
j =1 i =1 C

N uij j = 1 i =1

Dupa fiecare etapa de recalculare a gradelor de apartenenta, se verifica daca exista clase cu cardinalitate mica, candidate la eliminare.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

21

1. alege un set aleator de prototipuri 2. calculeaza parametrul de echilibrare

Aglomerare competitiva

3. calculeaza apartenenta fiecarui vector la clasele partitiei 4. calculeaza prototipurile claselor ca mediile ponderate ale vectorilor 5. evalueaza cardinaliatea claselor; reduce clasele nesemnificative 6. evalueaza criteriu de oprire : eroare globala suficient de mica ? numar de iteratii suficient de mare ? au fost vectori care sa isi schimbe apartenenta ? au fost prototipuri care s-au modificat semnificativ ? 7. repeta de la 2 daca e cazul.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

22

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Observatie Elementele partitiei determinate prin clustering, ca si in cazul segmentarii pe histograma, (deci multimile de pixeli ce au aceeasi eticheta) nu sunt multimi conexe (pot avea mai mult de o singura componenta). Nu se poate face nici o distinctie intre componente conexe diferite din aceeasi clasa (adica intre obiectele de acelasi fel din scena). Individualizarea componentelor dintr-o aceeasi clasa se face prin aplicarea unei poceduri de etichetare.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

23

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

24

You might also like