1 / 61

Segmentazione: Introduzione

Segmentazione: Introduzione. How do we know which groups of pixels in a digital image correspond to the objects to be analyzed?. Segmentazione. Consiste nel partizionamento di una immagine in regioni omogenee sulla base di un certo criterio di appartenenza dei pixel ad una regione

marius
Download Presentation

Segmentazione: Introduzione

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Segmentazione: Introduzione

  2. How do we know which groups of pixels in a digital image correspond to the objects to be analyzed?

  3. Segmentazione • Consiste nel partizionamento di una immagine in regioni omogenee sulla base di un certo criterio di appartenenza dei pixel ad una regione • Obiettivo: individuare/riconoscere gli oggetti che compongono l’immagine • “The segmentation of the image(s) presented to an image analysis system is critically dependent on the scene to be sensed, the imaging geometry, configuration, and sensor used to transduce the scene into a digital image, and ultimately the desired output (goal) of the system” (A. Jain)

  4. Regioni • Le regioni in cui l’immagine viene suddivisa devono soddisfare alcune proprietà: • DISTINCT: • Nessun pixel è condiviso da due regioni • COMPLETE: • Tutti i pixel dell’ immagine sono assegnati ad almeno una regione della partizione • CONNECTED: • Tutti i pixel appartenenti ad una regione sono “connessi” • HOMOGENEOUS: • Tutte le regioni sono omogenee rispetto ad un criterio fissato (e.g. intensità, colore, texture, ecc..)

  5. “Formalmente” • Sia Irc una immagine con r righe e c colonne in cui il pixel (i,j) assume il valore xijnello spazio dei colori S Irc = {xij : i=1…r, j=1…c, xij in S} Esempio: S=RGB  xij=[xij,R; xij,G; xij,B] • Sia H un predicato di omogeneità definito su un qualsiasi insieme di pixel • Sia Rl = {(il1,jl1), (il2,jl2),…, (iln,jln)} ⊆ {1,…,r}x{1,…,c} • La segmentazione di Irc è una partizione P={R1, R2,…,Rk} tale che: • Ri∩ Rj = Ø i,j = 1,…,K i≠j (Distinct) • U Ri = {1,…,r}x{1,…,c}(Complete) • In ogni regione Rii pixel sono “connessi” (Connected) • H(Rn)= true  Rn (Homogeneous) H(Rn U Rm)=false Rn, Rm adiacenti K i=1

  6. Esempi Microarray Image Segmentation Medical Image Segmentation 8-connesso Rl 4-connesso Landscape Image Segmentation Skin Segmentation

  7. Segmentation Resolution • Si possono definire tre categorie di risoluzione: • Undersegmentation corrisponde alla risoluzione più bassa. L'omogeneità è definita con un grande margine di tolleranza. Soltanto i colori più signicativi sono mantenuti. I contorni delle regioni sono i bordi dominanti nell'immagine. • Oversegmentation corrisponde ad una risoluzione intermedia. La gamma dei colori è abbastanza ricca l’immagine è suddivisa in piccole regioni che possono essere “fuse” attraverso controlli basati sulla conoscenza. E’ la risoluzione raccomandata quando il goal è l’object recognition. • Quantization corrisponde ad una risoluzione alta. La gamma di colori contiene tutti i colori importanti nell'immagine. Questa categoria di segmentazione è diventata importante con la diffusione delle basi di dati di immagini. Una ampia gamma di colori, possibilmente insieme alla struttura spaziale, è essenziale per le query basate sul contenuto. Dorin Comaniciu

  8. Biological Segmentation in Human: Visual Perception • “To see an object in the world we must see it as something” (L.Wittegenstein) “IT is established since the Gestalt movement in psychology that perceptual grouping plays a fundamental role in human perception.” (R. Nock – F. Nielsen)

  9. Visual Perception • primo stadio dell’elaborazione dell’informazione che si conclude con la Percezione: Input Ambientale (Stimolo) ↓ Registro Sensoriale (Stimolo, Organi di Senso) ↓ Selezione Tramite Attenzione Selettiva dell’input Interessante ↓ Percezione-Riconoscimento Human Visual Perception (Pre-Atentive) is governed by Gestalt Principles

  10. Gestalt Principles of Visual Organization • Figura e sfondo • Prossimità • Chiusura • Continuazione • Similarità • Comune Destino • Parallelismo • Regione Comune • Simmetria

  11. Figura e Sfondo • IL RAPPORTO TRA FIGURA E SFONDO permette di “leggere” l’immagine, attraverso la separazione della figura dallo sfondo. Gli elementi dominanti sono percepiti come figura, il resto è percepito come sfondo. il faro spicca maggiormente e quindi viene catalogata come figura mentre le linee orizzontalo celesti sono percepite come sfondo.

  12. Prossimità • Le colonne e le righe dominano la nostra focale. Tendiamo ad identificare come gruppi le features che sono vicine tra loro. Questa legge è da tenere in considerazione quando l’immagine gioca un ruolo importante nell’abilità di interpretare il messaggio che si nasconde dietro. La figura A, a dimostrazione di questa legge, non viene vista come un insieme di righe ma piuttosto come un insieme di colonne. figura A

  13. Chiusura • Il nostro “occhio” tende a completare gli spazi vuoti e le forme non chiuse. Noi tendiamo a vedere le immagini complete persino quando una parte dell’informazione è mancante. In questa figura tendiamo a vedere tre rettangoli rotti ed un parentesi quadrata sulla sinistra piuttosto che tre colonne ed un parentesi quadrata sulla destra. Se eliminiamo le linee orizzontali ritorniamo alla figura che abbiamo visto nel principio di prossimità.

  14. Continuazione • l’organizzazione della percezione porta lo sguardo a proseguire lungo una linea retta o una curva. • distinguiamo due linee: una da a a c e una da b a d. • In realtà questo grafico potrebbe rappresentare un altro insieme di linee: da a a d e da b a c. Tuttavia, è più probabile che si tenda ad identificare il primo gruppo di queste linee che hanno una migliore continuazione rispetto al secondo dove è presente un ovvia torsione. b a c d

  15. Similarità • Elementi visivi simili vengono raggruppati sulla base della forma, della grandezza, del colore o della direzione. • I cerchi e i quadrati sono raggruppati in maniera naturale; percepiamo colonne alternate di cerchi e quadrati. • Se non fossero presenti le due caratteristiche ricorrenti percepiremmo la figura come righe o colonne

  16. Comune Destino • Oggetti che si muovono nella stessa direzione tendono ad essere percepiti come una unica entità

  17. Parallelismo • Linee parallele tendono ad essere raggruppate insieme

  18. Regione Comune • Figure posizionate all’interno della stessa regione chiusa tendono ad essere percepite insieme

  19. Simmetria • Percepire l’intero di una figura rispetto alle parti singole che la costituiscono • Osservando la figura si vedono due rombi sovrapposti o tre oggetti: un piccolo rombo e due oggetti irregolari sopra e sotto di esso. • Secondo il principio di simmetria, si percepiranno probabilmente due rombi sovrapposti

  20. Gestalt Principles e Strategie di Segmentazione • Molte strategie di segmentazione sono riconducibili ai principi Gestalt

  21. Strategie di Segmentazione: Thresholding • Ogni pixel di una immagine a toni di grigio è caratterizzato da un valore di luminanza. L’algoritmo, di base, fissa una soglia di luminanza, allo scopo di distinguere tra due regioni(Sfondo/Oggetti). La soglia può essere fissata arbitrariamente, o in maniera automatica in base ad un certo criterio(usualmente statistico). Number of pixel Basato sull’istogramma (distribuzione) 0 Max Intensity

  22. “Formalmente” • Se gli oggetti e il background occupano differenti range nella scala di grigi, possiamo “marcare” i pixel degli oggetti con il processo thresholding: • Sia Irc(i,j) l’immagine originale in scala di grigio • Sia Brc(i,j) l’immagine binaria ottenuta dal processo thresholding su Irc(i,j) • Brc(i,j) = 0 if Irc(i,j)<t • Brc(i,j) = 1 if Irc(i,j)≥t • Possiamo assumere che 1 indica oggetti mentre 0 indica Background • Come facciamo a scegliere una soglia t? • Peack and Valley Method • Global threshold selection

  23. Threshold Selection: Peak and Valley method • Histogramma (h): distribuzione di frequenza dei livelli di grigio presenti nell’immagine Irc(i,j) • hI(g) = numero di pixel in Irc il cui livello di grigio è g • Trova i due picchi più prominenti di h • g è un picco se hI(g)>hI(g±Dg), Dg=1,…,k • Siano g1 e g2 i due picchi più alti con g1<g2 • Trova la valle più profonda, g, tra g1 e g2 • g è una valle se hI(g)≤hI(g’), g,g’ in [g1,g2] • Usa g come threshold

  24. Esempio

  25. Global threshold selection • Seleziona una soglia iniziale T (es: media dei grigi presenti) • Segmenta l’immagine usando T • Questo passo produce due gruppi di pixel • G1: tutti i pixel hanno valore minore a T • G2: tutti i pixel hanno valore maggiore uguale a T • Computa la media sui valori di grigio dei pixel presenti in G1 e G2 (µ1, µ2 ) • Computa la nuova soglia threshold • T=½ (µ1+ µ2) • Ripeti gli step da 2-4 fino a convergenza • Es. Convergenza: T non cambia in due ripetizioni successive

  26. Esempio

  27. Thresholding • Vantaggi • Semplice • Efficiente • Svantaggi • Perdita delle informazioni di prossimità • L’istogramma descrive informazioni globali • Limitata per scene complesse (due classi) • In immagini a colori risulta più complicato

  28. Strategie di Segmentazione: Clustering • Dalla rappresentazione dell’immagine nell’usuale spazio bidimensionale, si passa ad uno spazio delle caratteristiche, ad esempio lo spazio tridimensionale RGB, e si procede ad un partizionamento di tale spazio, allo scopo di identificare le regioni. • Svantaggio: si perdono le proprietà di vicinato dei pixel, quindi si possono generare regioni non connesse. • L’immagine si può vedere come un grafo su cui applicare l’algoritmo per la ricerca componenti connesse dopo aver effettuato la procedura di clustering. • …Consensus Clustering? • …Gravitational Clustering?

  29. Strategie di Segmentazione: Clustering • Classificazione non supervisionata • Suddivisione dei vettori di uno spazio di caratteristiche in classi tali che • gli elementi di una classe siano tra loro simili • gli elementi di classi differenti siano tra loro dissimili • Bisogna definire: • Spazio delle caratteristiche • Misura di Similarità • Funzioni Obiettivo da minimizzare/massimizzare

  30. Strategie di Segmentazione: Clustering • Spazio delle Caratteristiche RGB • Ogni pixel (i,j) dell’immagine Irc , è un vettore di tre componenti xij = [xij,R , xij,G , xij,B]

  31. Strategie di Segmentazione: Clustering • Spazio delle Caratteristiche RGB • Ogni pixel (i,j) dell’immagine Irc , è un vettore di tre componenti xij = [xij,R , xij,G , xij,B] • Misura di similarità tra due vettori di uno spazio q-dimensionale: • d(xij, yij)= (∑ | xij,k-yij,k|q)1/q (q=2 Distanza Euclidea) • Funzione Obiettivo da minimizzare • Es: Somma degli errori quadratici • F(P) = ∑ ∑ ||xij - µl||2 • µl = 1/|Rl| ∑ xij q k=1 k k l =1 xij in Rl k xij in Rl

  32. Agglomerative Clustering Divisive Clustering Clustering approaches Bottom up Top-down

  33. Hierarchical Clustering • Inizializzazione: ogni punto dello spazio è un cluster • Itera: • Seleziona i due clusters più simili • Es: Minima distanza intra-cluster • Effettua il merge dei clusters selezionati • Stop: quando è raggiunto il numero di clusters richiesto Agglomerative Clustering (bottom-up)

  34. Esempio 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 Grado di Dissimilarità 6 4 5 2 1 3 5 2 3 1 4 6

  35. Hierarchical Clustering: Single Link xr xs Cluster r Cluster s d(r,s) = min(dist(xri,xsj))

  36. Hierarchical Clustering: Complete Link xr Cluster r xs Cluster s d(r,s) = max(dist(xri,xsj))

  37. Hierarchical Clustering: Avarage Link xr xs Cluster r Cluster s nr ns 1 nr ns d(r,s) = ∑ ∑ dist(xri,xsj) i=1 j=1

  38. Partitional Clustering Approach • A partition clustering algorithm is to start with an initial partition and assign pattern to clusters so as to reduce square-error. Partition are update iteratively by reassigning patterns in attempt to reduce the square-error. (A.Jain)

  39. Squared Error Clustering Method

  40. K-mean Algoritm Partitional Clustering (Divisivo, ma numero gruppi assegnato a priori)

  41. K-means (Ver. 1) • Input • Irc , k (numero delle classi), ε reale • Inizializzazione • r=0, segli k vettori dello spazio S (centroidi iniziali) µ10…µk0 • Rl={xij: | xij - µl|≤ | xij - µw| } l=1,…,k , w≠j • Computa nuovi centroidi µ1,r+1 , …, µk,r+1 • se F(P)< ε (r>n) STOP altrimenti vai al punto 1 incrementando r

  42. K-Means(Ver. 2)

  43. Esempio

  44. Image Segmentation by Clustering • Scegli K • Scegli le features da associare ai pixels (colore, texture, posizione, o combinazione di questi, ecc…) • Definisci una misura di similarità tra i vettori delle features • Applica l’algoritmo HC/K-Means • Applica l’algoritmo delle componenti connesse • Unisci le componenti con dimensione minore di una soglia t ad componente adiacente che è molto simile rispetto al criterio di omogeneità fissato.

  45. Grafi e Componenti connesse • Sia G = (V,E) un grafo indiretto. Una componente connessa di G è un insieme massimale C ⊆ V tale che, per ogni u,vєC esistono un cammino tra u e v. • Equivalentemente, le componenti connesse di un grafo G sono le classi di equivalenza della relazione di raggiungibilità.

  46. Esempio A C D G E F H B Matrice di Adiacenza (possibile rappresentazione) G=(V,E) V= {A, B, C, D, E, F, G, H} E= {(A,C), (A,B), (B,C), (D,E), (E,F), (F,G) }

  47. Teoremi • Dato un grafo indiretto G e due vertici u e v, esiste un cammino da u a v in G se e solo se u e v appartengono allo stesso albero della DF-foresta. • La foresta DF contiene tanti alberi quante CC. • Si può dimostrare che DFS( opportunamente modificato) su un grafo non orientato G può essere usata per identificare le Componenti Connesse

  48. Algoritmo Componenti Connesse CCDFSVisit(u) if П[u] = nil then k  k + 1 cc[u]  k else cc[u]  cc[П[u]] end if color[u]  gray time  time + 1 d[u] time for each v є Adj[u] do if color[v] = white then П[v]  u CCDFSVisit(v) end if end for color[u]  black time  time + 1 f[u]  time CCDFS(G) k  0 for each u є V [G] do color[u]  white П[u] nil end for time  0 for each u єV [G] do if color[u] = white then CCDFSVisit(u) end if end for

  49. Strategie di Segmentazione: Region Growing • Individuare le regioni che compongono l’immagine per accrescimento omogeneo a partire da un singolo pixel • Una regione omogenea di un'immagine può essere ottenuta attraverso un processo di crescita che, cominciando da un seed di pre-selezionato, progressivamente agglomera pixel ad esso adiacenti che soddisfano un certo criterio di omogeneità; il processo di crescita si arresta quando nessun pixel può essere aggiunto alla regione.

  50. Region Growing • Ad ogni istante viene preso in considerazione un pixel che non è stato ancora allocato ma che è adiacente ad una regione; il pixel è allocato alla regione adiacente che risulta più simile secondo il criterio scelto. R4 R3 R1 R2 Pixel considerato R4

More Related