segmentarea imaginilor tehnici de clusteringimag.pub.ro/ro/cursuri/archive/ai_curs4.pdf · e o...

24
1 LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR C. VERTAN SEGMENTAREA IMAGINILOR TEHNICI DE CLUSTERING LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR C. VERTAN Categorii de tehnici de segmentare pe regiuni Thresholding (segmentare pe histograma) Cresterea si fuziunea regiunilor Segmentarea in spatiul caracteristicilor (generalizare thresholding) pentru regiuni cu uniformitate a valorilor pentru regiuni cu uniformitate a caracteristicilor (texturi)

Upload: others

Post on 28-Jan-2020

13 views

Category:

Documents


1 download

TRANSCRIPT

1

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

SEGMENTAREA IMAGINILOR

TEHNICI DE CLUSTERING

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Categorii de tehnici de segmentare pe regiuni

Thresholding (segmentare pe histograma)

Cresterea si fuziunea regiunilor

Segmentarea in spatiul caracteristicilor (generalizare thresholding)

pentru regiuni cu uniformitate a valorilor

pentru regiuni cu uniformitate a caracteristicilor (texturi)

2

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Segmentarea in spatiul caracteristicilor (generalizare thresholding)

Spatiul caracteristicilor poate avea orice dimensionalitate.

Metode automate/ semi-automate.

Metodologia este analoga cuantizarii vectoriale folosite lacompresie.

Tipuri de metode de clustering

- iterative

- ierarhice

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

R

G

B

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

Valori tipice pentru caracteristicileobiectele : prototipurile claselor.

3

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Cine [si cum] defineste numarul necesar, corect, de parti aleimaginii ?

3 tipuri de elemente :cer, vegetatie, casa

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

supra-segmentare ?(copac impartit in doua clase)

sub-segmentare ?(soarele este in clasa “cer”)

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

R

G

Segmentarea inseamna identificareagrupurilor de pixeli ce au caracteristiciasemanatoare.

Acest proces de grupare se numesteclustering.

Algoritmii de clustering urmarescidentificarea automata a unor grupuride puncte din spatiul caracteristicilorce sunt :

compacte, densereprezentativebine separate ?

?

4

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Spatiul caracteristicilor

original medie Reprezentarea spatiului2D al caracteristicilor

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Spatiul caracteristicilor

5

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

ClusteringPunerea problemei :

un set de N puncte, descrise de vectori de dimensiune ptrebuie impartit in C clase (grupuri, clustere).

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

ip2i1ii

i

===

xx

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.

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

ClusteringApartenenta punctelor la clase

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

Apartenenta punctului xi la clasa j :

Modele de clustering :

Net (binar) :

⎩⎨⎧

∉∈

=ji

jiij Clasa,0

Clasa,1u

xx

Nuantat (fuzzy) :

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

6

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

ClusteringMasuri de calitate a claselor

clase compacte : centrul clasei este “aproape” de toate puncteleclasei (punctele clasei sunt bine aproximate decentrul clasei).

clasa are suficient de multe puncte

clase bine separate : distantele dintre centrele claselor sa fie catmai mari.

Cele doua cerinte sunt adeseori contradictorii.

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringnet

Basic ISODATA (k-means, C-means)

ISODATA = Iterative Self Organizing Data Analysis Technique

Se fixeaza numarul de clase dorit, C.

Calitatea partitiei (a claselor) e caracterizata de eroarea globala deaproximare a vectorilor de date prin prototipurile claselor.

∑ ∑∑= ==

⎟⎟⎠

⎞⎜⎜⎝

⎛−===

C

1j

N

1i

2jiij

C

1jjjij u),u(JJ μxμ ε

jμ prototipul (centroidul) clasei j

7

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringnet

Basic ISODATA (C-means)

=

=

=

=

=−=∂∂

N

1iij

N

1iiij

j

N

1ijiij

j

u

u

0)(u2J

μxμ

prototipurile claselor sunt mediile aritmeticeale vectorilor de date ce apartin claselor.

⎪⎩

⎪⎨⎧ ≠∀−≤−=

rest ,0jk,,1u kiji

ijμxμx orice vector apartine

clasei de al careiprototip este cel maiapropiat.

Clusteringnet

Basic ISODATA (C-means)

1. alege un set aleator de prototipuri

2. calculeaza apartenenta fiecarui vector la una dintre claselepartitiei (vectorii apartin clasei de al carei prototip suntcei mai apropiati)

3. calculeaza prototipurile claselor ca media aritmetica a vectorilorapartind 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.

8

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Pasii 2 - 3 ai algoritmului (calcul apartenenta vector la o clasasi calculul prototipului unei clase poarta numele de iteratieLBG (Linde-Buzo-Gray).

Orice instanta LBG se caracterizeaza prin

initializare (aleatoare sau prin “spargere”)iteratie LBGevaluare conditie de oprire

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

segm.pe hist.

clustering ISODATA

original

9

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

ClusteringnetProblema :

“oscilatii” ale vectorilor intre clase

alocarea vectorilor situati la egala distanta fata de clase

Clasa 1 Clasa 2

prototip 1

prototip 2

x

?

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringfuzzy

Orice vector apartine oricarei clase, dar intr-o masura maimare 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 ?

10

Fuzzy : de ce ?

« Computing with words » (Zadeh)

Numere Descrieri semantice ale obiectelorsi interactiunilor acestora.

Modele

Grade de apartenenta Multimi fuzzy Reguli(scalari) (functii) (sisteme bazate pe

inferenta)

Fuzzy ar permite adaptarea la o realitate graduala (nuantata).

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Numerele corespund masurii in care un obiect din universulproblemei satisface o proprietate (sau o categorie) semantica;numerele sunt in [0,1].

« Inalt »1

01.81.50 inaltime (metri)

Multime fuzzy = functie de apartenenta a obiectelor la categoria data

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

Fuzzy : cum ?

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

11

Un model «machiavelic» al categoriei «Inalt»:

1

01.80 inaltime2.1

Gradele de apartenenta nu sunt acelasi lucru cu probabilitatile !

Exemplul calatorului insetat (Bezdeck) :Calatorul insetat ce merge prin desert gaseste doua sticlepline cu lichid. Calatorul trebuie neaparat sa bea continutulunei sticle. Etichetele sticlelor nu sunt “clare”.

Fuzzy : cum ?

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Probabilitatea unui continut «potabil » : 0.9

Gradul de apartenenta al continutului lacategoria «potabil» : 0.9

Gradul de apartenenenta nu se schimba dupa observatie !

Probabilitatea : o sansa din zece de a gasi in sticla acid.

Gradul de apartenenta : continutul este foarte potabil(ar putea fi bere).

Fuzzy ≠probabilitate

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

12

Probabilitatea unui continut «potabil » : 0.1

Gradul de apartenenta al continutului lacategoria «potabil» : 0.1

Gradul de apartenenenta nu se schimba dupa observatie !

Probabilitatea : noua sanse din zece de a gasi in sticla acid.

Gradul de apartenenta : continutul este foarte putin potabil(aproape sigur este acid).

Fuzzy ≠probabilitate

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

ClusteringfuzzyModuri de interpretare a gradelor de apartenenta

Clustering “probabilist” - gradele de apartenenta reprezinta masurain care vectorii sunt “impartiti” claselor

∑=

=C

1jij 1u (constrangerea de normare probabilista)

Clustering “posibilist” - gradele de apartenenta reprezinta masurain care vectorii sunt “tipici” pentru clase

(faa constrangeri de normare)

13

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringfuzzy

“probabilist”FCM - Fuzzy C-Means (Fuzzy Isodata)

Se fixeaza numarul de clase dorit, C.

Calitatea partitiei (a claselor) e caracterizata de eroarea globala deaproximare a vectorilor de date prin prototipurile claselor.

∑ ∑∑= ==

⎟⎟⎠

⎞⎜⎜⎝

⎛−===

C

1j

N

1i

2ji

mij

C

1jjjij u),u(JJ μxμ ε

jμ prototipul (centroidul) clasei jm gradul de fuzificare al partitiei

∑ ∑∑ ∑= == =

⎟⎟⎠

⎞⎜⎜⎝

⎛−−⎟⎟

⎞⎜⎜⎝

⎛−=

N

1i

C

1jiji

C

1j

N

1i

2ji

mijFCM 1uuJ λμx

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

=

=

=

=

=−=∂

N

1i

mij

N

1ii

mij

j

N

1iji

mij

j

FCM

u

u

0)(u2J

μxμ

prototipul oricarei clase este o medie ponderataa tuturor vectorilor din setul de date, ponderaticu gradele lor de apartenenta la clasa respectiva.

Clusteringfuzzy

“probabilist”

1m

C

1k

1m2

ki

i

C

1kik

1m1

2ji

iiji

2ji

1mij

ij

FCM

m1u

mu0mu

uJ

=

−−=

−−

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=⇒=

⎟⎟⎟

⎜⎜⎜

−=⇒=−−=

∂∂

∑∑

μx

μxμx

λ

λλ

14

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringfuzzy

“probabilist”

= −

=

−−

−−

=

−=

C

1kki

1m2

ji1m

2

ij

C

1k

1m2

ki

1m2

jiij

),(dist

1),(dist

1

u

u

μx

μx

μx

μx

gradele de apartenenta depindinvers proportional de patratele distantelor de la vectorul de datela prototipurile claselor

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

Clusteringfuzzy

probabilist

FCM (Fuzzy Isodata)

1. alege un set aleator de prototipuri

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.

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

15

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Spatiul caracteristicilor

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

FCM, 2 clase, grad de apartenenta la 2

binarizare dupa grad apartenentamaxima

16

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

FCM, 3 clase 1

23

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

segm. dupa gradmax. apartenenta

23

1

17

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

FCM, C=3

FCM, C=4segmentare ideala (C=3)

Clusteringfuzzy

“probabilist”

Exemplu

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringfuzzy

“probabilist”Limitarile modelului de “impartire” a vectoruluiintre clase.

A

B

C

clasa 1 clasa 2

prototip 1 prototip 2

18

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringfuzzy

“posibilist”Gradele de apartenenta ca tipicalitati :

- posibilitatea de inlocui prototipul clasei prinvectorul dat

- masura in care vectorul dat este un reprezentat tipic al clasei

Nu se mai utilizeaza conditia de normare probabilista a gradelor deapartenenta.

∑ ∑∑ ∑= == =

−−⎟⎟⎠

⎞⎜⎜⎝

⎛−=

C

1j

N

1i

mijj

C

1j

N

1i

2ji

mijPCM )1u(uJ ημx

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

=

=

=

=

=−=∂

N

1i

mij

N

1ii

mij

j

N

1iji

mij

j

PCM

u

u

0)(u2J

μxμ

⎟⎟⎟

⎜⎜⎜

⎛ −+

=⇒=

=−+−=∂

∂ −−

j

2ji

ij

1mijj

2ji

1mij

ij

PCM

1

1u2m

0)1u(mmuu

J

η

η

μx

μx

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

Clusteringfuzzy

“posibilist”

19

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Clusteringfuzzy

“posibilist”⎟⎟⎟

⎜⎜⎜

⎛ −+

=

j

2ji

ij

1

1u

ημx

jη caracteristica a fiecarei clase (“largimea clasei”)(echivalentul unei “benzi de trecere de 3dB” - distanta lacare gradul de apartenenta al unui vector este 0.5).

=

=−

= N

1i

mij

N

1i

2ji

mij

j

u

uK

μxη

e o “distanta medie” caracteristicaclasei

Clusteringfuzzy

posibilist

PCM (Possibilistic C-Means)

1. alege un set aleator de prototipuri

2. calculeaza parametrii claselor (“largimea”)

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.

20

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Reglarea automata a numarului de clase C

Alegerea initiala gresita a numarului de clase determina erorile desupra-segmentare sau sub-segmentare.

Supra-segmentarea se poate corecta prin reunirea ulterioara aobiectelor deja determinate si este deci preferabila alegerea unui Cmai mare decat necesar.

Varianta 1 : se realizeaza partitii cu numar variabil de clase si sepastreaza partitia “cea mai buna”

Varianta 2 : algoritmul de partitionare isi modifica numarul de clasede exemplu eliminand clasele mici situate aproapede clase mai importante.

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Aglomerareacompetitiva

∑ ∑∑ ∑= == =

⎟⎟⎠

⎞⎜⎜⎝

⎛−⎟⎟

⎞⎜⎜⎝

⎛−=

C

1j

2N

1iij

C

1j

N

1i

2ji

2ij uuJ αμx

∑ ∑ ∑∑∑ ∑= = === =

⎟⎟⎠

⎞⎜⎜⎝

⎛−−⎟⎟

⎞⎜⎜⎝

⎛−⎟⎟

⎞⎜⎜⎝

⎛−=

C

1j

N

1i

C

1jiji

2N

1iij

C

1j

N

1i

2ji

2ijCA 1uuuJ λαμx

Competitive Agglomeration

eroare de reprezentare a claselorprin prototip (ca la FCM)

constrangerea probabilista a gradelor de apartenenta (ca la FCM)vectorii sunt partajati intre clase.

termen de cardinalitate a claseloroptim pentru numar mic de clase

21

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Aglomerareacompetitiva

=

=

=

=

=−=∂∂

N

1i

2ij

N

1ii

2ij

j

N

1iji

2ij

j

CA

u

u

0)(u2J

μxμ

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

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−

−+=

=

=

C

1j2

jt

C

1j2

jt

k

s2st

FCMst

CAst 1

N

Nuu

μx

μx

μxα

Ns - cardinalitatea clasei s

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

AglomerareacompetitivaAlegerea termenului de echilibru intre cerintele

contrare :

∑ ∑

∑∑

= =

= =

⎟⎟⎠

⎞⎜⎜⎝

−=

C

1j

2N

1iij

C

1j

N

1i

2ji

2ij

u

u μxα

Dupa fiecare etapa de recalculare a gradelor de apartenenta, severifica daca exista clase cu cardinalitate mica, candidate laeliminare.

22

Aglomerarecompetitiva1. alege un set aleator de prototipuri

2. calculeaza parametrul de echilibrare

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.

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

23

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Observatie

Elementele partitiei determinate prin clustering, ca si in cazulsegmentarii pe histograma, (deci multimile de pixeli ce au aceeasieticheta) nu sunt multimi conexe (pot avea mai mult de o singuracomponenta).

Nu se poate face nici o distinctie intre componente conexe diferitedin aceeasi clasa (adica intre obiectele de acelasi fel din scena).

Individualizarea componentelor dintr-o aceeasi clasa se faceprin aplicarea unei poceduri de etichetare.

24

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN