elaborazione dei segnali multimediali raffaele gaetano 06...

48
SEGMENTAZIONE DI IMMAGINI Elaborazione dei Segnali Multimediali Raffaele Gaetano 06 Maggio 2014

Upload: others

Post on 05-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • SEGMENTAZIONE DI IMMAGINI

    Elaborazione dei Segnali Multimediali

    Raffaele Gaetano

    06 Maggio 2014

  • DEFINIZIONE

    • La segmentazione è un processo di basso livello utile a molte applicazioni basate sull’elaborazione delle immagini.

    • Effettua un partizionamento dell’immagine identificandone le regioni (oggetti) costituenti, sulla base di criteri specifici per ogni applicazione.

  • RAPPRESENTAZIONE

    • Gli elementi della mappa sono in corrispondenza univoca con i pixel dell’immagine e ne identificano un “segmento” (regione) di appartenenza.

    • Mappa di etichette

  • RAPPRESENTAZIONE

    • Gli elementi non nulli della mappa identificano il contorno tra le varie regioni di interesse.

    • Mappa di contorni

  • DEFINIZIONE

    • Una segmentazione tipicamente gode di quattro proprietà fondamentali:

    � Nessun pixel è condiviso tra due o più regioni.

    � Tutti i pixel dell’immagine sono associati ad una regione.

    � Tutte le regioni sono omogenee (rispetto a criteri specifici per ogni applicazione).

    � Due regioni diverse non sono «omogenee».

  • POSSIBILI APPLICAZIONI• Tecniche di codifica ad oggetti (Region-based Image

    Coding)� Shape-Adaptive Wavelet� KLT adattativa

    • Image Analysis� Analisi di immagini telerilevate (classificazione dei terreni,

    monitoraggio ambientale, …)� Analisi di immagini medicali (telemedicina, …)

    • Content-based Image Retrieval� Riconoscimento dei contenuti delle immagini (data-mining)� Archiviazione “intelligente”

    • Computer Vision

  • DEFINIZIONE

    • Data l’eterogeneità delle possibili applicazioni, è evidente che non possa esistere una tecnica di segmentazione che sia “universalmente” buona.

    • Esistono però concetti di base del trattamento di immagini che sono comuni a molte tecniche di segmentazione.

    • Nel caso generale, si fa riferimento a due proprietà fondamentali delle immagini: discontinuità e similarità.

  • TECNICHE DI BASE

    EDGE-BASED

    • Si basano sull’idea che tra diverse regioni d’interesse si riscontrano rapidi cambiamentinei valori di intensità/colore.

    • Lo scopo dunque è il rilevamento (e la “classificazione”) delle discontinuità (edges) dell’immagine (livelli di grigio).

    • Il prodotto della segmentazione sarà chiaramente una mappa di contorni.

  • TECNICHE DI BASE

    EDGE-BASED (esempio)

  • RILEVAMENTO DELLE DISCONTINUITA’

    • Un modo semplice ed efficace per rilevare le discontinuità prevede un approccio locale.� Una maschera (finestra) opportunamente progettata

    è fatta scorrere sull’immagine.

    � La sua risposta in ogni blocco è memorizzata in una nuova immagine.

    w1 w2 w3

    w4 w5 w6

    w7 w8 w9

    ∑=

    =9

    1iii xwR

  • ALCUNI ESEMPI:POINT DETECTION (1)

    • Un punto isolato è un punto il cui valore di intensità è sensibilmente diverso da quello del suo vicinato.

    • Può essere rilevato utilizzando una maschera e seguita da una sogliatura della risposta:

    -1 -1 -1

    -1 8 -1

    -1 -1 -1

    pTR >

  • ALCUNI ESEMPI:POINT DETECTION (2)

  • ALCUNI ESEMPI:LINE DETECTION (1)

    • Una linea è un insieme di punti contigui i cui valori di intensità sono simili tra loro e diversi da quelli dei pixel di “sfondo”.

    • Necessario definire più maschere per catturare linee al variare della loro direzione:

    -1 -1 -1

    2 2 2

    -1 -1 -1

    -1 -1 2

    -1 2 -1

    2 -1 -1

    -1 2 -1

    -1 2 -1

    -1 2 -1

    2 -1 -1

    -1 2 -1

    -1 -1 2

  • ALCUNI ESEMPI:LINE DETECTION (2)

    • 4 risposte per ogni punto.

    • Un punto è individuato come possibile linea nella

    direzione della maschera i–esima se:

    ji RR > ij ≠∀

  • EDGE DETECTION

    • Edge Detection rappresenta l’approccio più comune per il rilevamento delle discontinuità significative in immagini a livelli di grigio.

    • Basato sul modello di edge “a rampa”.

    • Gran parte delle tecniche di edge detection utilizza soprattutto lederivate prima e seconda dell’immagine.

    50 100 150 200 2500

    100

    200

    50 100 150 200 250-2

    0

    2

    4

    6

    50 100 150 200 250

    -5

    0

    5

  • GRADIENTE DI UN’IMMAGINE

    • Le derivate di una immagine si ottengono in generale attraverso un’approssimazione dell’operatore gradiente bidimensionale:

    • In edge detection se ne utilizzano in particolare due quantità derivate, l’intensità e l’orientazione:

    ∂∂∂∂

    =

    =∇

    yI

    xI

    I

    II

    y

    x

    22yx III +=∇ ( )

    =∇

    x

    y

    I

    II arctanα

  • OPERATORI GRADIENTE PER IMMAGINI DIGITALI

    • Utilizzando apposite maschere, è possibile

    stimare le quantità Ix e Iy in corrispondenza di ciascun pixel.

    • Diverse approssimazioni possibili:� Roberts “cross-gradient” operators (2x2)

    � Prewitt operators (3x3)

    � Sobel operators (3x3)

  • OPERATORI GRADIENTE PER IMMAGINI DIGITALI - ROBERTS

    x1 x2 x3

    x4 x5 x6

    x7 x8 x9

    Roberts “cross-gradient” operators :

    59 xxI x −= 68 xxI y −=

    • Si implementa dunque tramite maschere 2x2:

    • Implementazione non “immediata” per l’assenza di un centro proprio nella maschera.

    -1 0

    0 1

    0 -1

    1 0

  • OPERATORI GRADIENTE PER IMMAGINI DIGITALI - PREWITT

    x1 x2 x3

    x4 x5 x6

    x7 x8 x9

    Prewitt operators :

    )()( 321987 xxxxxxI x ++−++=

    • Implementazione tramite maschere 3x3:

    )()( 741963 xxxxxxI y ++−++=

    -1 -1 -1

    0 0 0

    1 1 1

    -1 0 1

    -1 0 1

    -1 0 1

  • OPERATORI GRADIENTE PER IMMAGINI DIGITALI - SOBEL

    x1 x2 x3

    x4 x5 x6

    x7 x8 x9

    Sobel operators :

    )2()2( 321987 xxxxxxI x ++−++=

    • Implementazione tramite maschere 3x3:

    )2()2( 741963 xxxxxxI y ++−++=

    -1 -2 -1

    0 0 0

    1 2 1

    -1 0 1

    -2 0 2

    -1 0 1

    Combinano l’azione di derivazione in una direzione (Prewitt) con un’azione di smoothingnella direzione ortogonale.

  • EDGE DETECTIONTECNICHE BASATE SU DERIVATA PRIMA

    • Nei casi più semplici, articolate in 3 fasi:• Smoothing (l’operazione di derivazione è

    tipicamente piuttosto sensibile al rumore):

    • Derivazione (nel caso del gradiente di Sobell’azione di smoothing è inclusa in questa fase):

    • Thresholding:

    σGII ∗=~

    nel caso di filtraggio GaussianoAd es.

    22 ~~~yx III +=∇

    ( )eTIM >∇= ~

  • EDGE DETECTIONTECNICHE BASATE SU DERIVATA PRIMA

  • DERIVATA SECONDA DI UN’IMMAGINE

    LAPLACIANO

    x1 x2 x3

    x4 x5 x6

    x7 x8 x9

    Laplacian operator :

    )(4 864252

    2

    2

    22 xxxxx

    y

    I

    x

    II +++−≈

    ∂∂+

    ∂∂=∇

    • Implementazione tramite maschere 3x3:

    0 -1 0

    -1 4 -1

    0 -1 0

    Una approssimazione alternativa considera anche

    i vicini nelle direzioni “diagonali”:

    -1 -1 -1

    -1 8 -1

    -1 -1 -1

  • EDGE DETECTIONTECNICHE BASATE SU DERIV. SECONDA

    • Si basano sulla proprietà di zero-crossing della derivata seconda in corrispondenza degli edge.

    • Producono contorni “fini”, cioè dello spessore di un pixel.

    • Hanno diversi aspetti negativi:

    • Sensibilità al rumore

    • Implementazione non banaledel calcolo dei zero-crossing

    50 100 150 200 2500

    100

    200

    50 100 150 200 250-2

    0

    2

    4

    6

    50 100 150 200 250

    -5

    0

    5

  • EDGE DETECTIONOPERATORE “LoG”

    • Una semplice tecnica di edge detection basata sul Laplaciano può essere articolata in 4 fasi: smoothing, calcolo della derivata seconda, thresholding e calcolo dei zero-crossing.

    • Un operatore, noto come Laplacian of a Gaussian(LoG), realizza le prime due fasi con un’unica operazione di filtraggio:

    2

    2

    2)( σr

    erh−

    =

    2

    2

    24

    222 )( σ

    σσ r

    er

    rh−

    −−=∇

    222 yxr +=con0 0 -1 0 0

    0 -1 -2 -1 0

    -1 -2 16 -2 -1

    0 -1 -2 -1 0

    0 0 -1 0 0

  • EDGE DETECTIONCALCOLO DEI ZERO-CROSSING

    • Una volta calcolato il laplaciano dell’immagine, bisogna rilevarne i passaggi per zero

    • Una soluzione semplice è quella di effettuare una sogliatura (thresholding):

    • I passaggi per zero corrisponderanno dunque

    alle transizioni tra 0 e 1 sull’immagine I th

    >∇

  • EDGE DETECTIONTECNICHE BASATE SU DERIV. SECONDA

    ImmagineSorgente

    LoG

    ThresholdedLoG

    Mappa deiContorni

  • EDGE DETECTIONOPERAZIONI DI POST-PROCESSING

    • La maggior parte delle tecniche di edge detection non garantiscono una segmentazione consistente.

    • Con alcune di esse, i contorni rilevati sono spessi �procedure di assottigliamento (thinning) .

    • Disturbi quali il rumore, le variazioni di illuminazione ed altri fenomeni causano il rilevamento di contorni incompleti �procedure di Edge Linking .

    • Regioni dell’immagine possono essere rilevate solo se i contorni si chiudono su se stessi.

  • CANNY EDGE DETECTOR/LINKER

    • Edge detector basato sulla derivata prima(Roberts).

    • Prevede l’assottigliamento (thinning) dei contorni direttamente sull’immagine gradiente, attraverso una procedura chiamata Nonmaxima Suppression.

    • Utilizza una strategia di thresholding basata su due soglie, nota come HysteresisThresholding.

  • CANNY EDGE DETECTOR/LINKERNONMAXIMA SUPPRESSION

    • A partire dal gradiente dell’immagine, vengono annullati (soppressi) tutti i valori dei pixel che non sono più elevati dei due vicini nella direzione del gradiente.

  • CANNY EDGE DETECTOR/LINKERHYSTERESIS THRESHOLDING

    • Basato su una doppia soglia:

    • A partire da ogni pixel al di sopra della soglia alta, Thigh ,il relativo contorno viene “seguito”, finchè i pixel hanno un valore superiore alla sogli bassa, Tlow.

  • TECNICHE DI BASE

    REGION-BASED

    • Si basano sulla progressiva aggregazione di pixel in regioni connesse.

    • Tale aggregazione avviene sulla base di uno o più criteri di similarità.

    • Il prodotto della segmentazione sarà stavolta una mappa di etichette.

  • REGION GROWING (1)

    • Proposto da Haralick, fa uso di descrittori statistici.

    • I pixel dell’immagine sono progressivamente raggruppati fino a quando media e varianza della regione ottenuta restano stabili.

    RSia una regione di RN pixel:

    ∑∈

    =RyxR

    R yxINX

    ),(

    ),(1

    ∑∈

    −=Ryx

    RR XyxIS),(

    22 )),((

    media scatter

  • REGION GROWING (2)

    • Partendo da un punto qualsiasi dell’immagine vengono aggregati tutti i pixel del suo vicinato per i quali la statistica:

    • Le statistiche della regione vengono aggiornate:

    • La procedura è ripetuta per ogni punto aggiunto.

    hRR

    RR TSXxN

    NNT

  • WATERSHED TRANSFORM (1)

    • Trasformata basata sui DEM (Digital Elevation Model):� I valori di un blocco di dati sono interpretati

    come altitudini.

    � A partire dai minimi locali, vi si associano gli elementi del vicinato che sono collegati ad essi da una traiettoria in ascesa (criterio di similarità).

    � Si determinano così dei bacini di attrazione (catchment basin) separati da linee di separazione dette watershed.

  • WATERSHED TRANSFORM (2)

    • E’ implementata attraverso algoritmi di flooding:� Si simula il riempimento

    con acqua dei bacini di attrazione.

    � La crescita delle regioni nelle varie direzioni viene arrestata quando più bacini si fondono.

    • Per la segmentazione, la trasformata si applica al gradiente dell’immagine.

    Watershed Line

    CatchmentBasin

  • WATERSHED TRANSFORM (3)

    • La mappa è generalmente molto frammentata (oversplitting).

  • TECNICHE DI BASE

    CLASS-BASED• In queste tecniche, l’analisi dell’immagine non è più

    effettuata su base locale ma sull’intera immagine.

    • In generale, ai pixel dell’immagine vengono associati dei valori caratteristici detti “features”

    � Valori di intensità per immagini monocromatiche

    � Terne di valori (R,G,B) per immagini a colori, ecc..

    • La segmentazione consiste nel raggruppare i pixel attraverso operazioni di sogliatura o di clustering.

    • Mappe di etichette e regioni non connesse.

  • SOGLIATURA (1)

    • Tecnica basata sull’analisi dell’istogrammadell’immagine.

    • Applicabile ad immagini a livelli di grigio, particolarmente indicata per segmentazioni binarie.

    ),( yxIImmaginesorgente

    Soglia T

    Immaginethresholded

    ≥<

    =TyxIse

    TyxIseyxI th ),(1

    ),(0),(

  • SOGLIATURA (2)

    • Nel caso più generale, la soglia può dipendere, oltre che dall’intensità, anche da altre proprietà associate ai pixel (thesholding locale):

    • Inoltre, se la soglia dipende anche dalla posizione del pixel si parla di thresholding adattativo o dinamico:

    )],(),,([ yxpyxITT =

    )],(),,(,,[ yxpyxIyxTT =

  • SOGLIATURA (3)

    0 50 100 150 200 250 3000

    20

    40

    60

    80

    100

    120

    140

    Threshold

  • CLUSTERING

    • Insieme di tecniche il cui scopo è di raggruppare i pixel dell’immagine in cluster, sulla base di vettori caratteristici (feature vector) ad essi associati.

    • I vettori caratteristici determinano lo spazio di rappresentazione (feature space) dei pixel dell’immagine.

    • I vettori caratteristici dei pixel appartenenti ad un cluster sono “vicini” l’un l’altro nel corrispondente spazio di rappresentazione.

  • K-MEANS CLUSTERING (1)

    • Si suddividono i pixel nello spazio di rappresentazione in K gruppi:

    • L’errore quadratico medio (LSE) è utilizzato per determinare la distanza dei feature vector dalle medie dei rispettivi cluster:

    • L’obiettivo è il clustering che minimizza D.

    KCCC ,...,, 21 con medie Kmmm ,...,, 21

    ∑ ∑= ∈

    −=K

    k Cxki

    Ki

    mxD1

    2

  • K-MEANS CLUSTERING (2)

    ALGORITMO

    1. Si sceglie in modo casuale un set di K medie (m1,…,mk)

    2. Per ogni vettore xi si calcola la distanza dalle K medie:

    3. Si assegna il pixel xi al cluster Cj a cui corrisponde la media più vicina

    4. Si effettua l’aggiornamento delle medie

    5. Si ripetono i punti 3 e 4 fino a convergenza:

    KkmxmxD kiki ,...,1),(2 =∀−=

    kCC itkitk ∀≡ −1

  • K-MEANS CLUSTERING (3)

    APPLICAZIONE

    0

    50

    100

    150

    200

    250

    300 0

    50

    100

    150

    200

    250

    3000

    100

    200

    300

  • ISODATA CLUSTERING (1)

    • Si suddividono i pixel nello spazio di rappresentazione in K gruppi:

    • Si considerano anche le matrici di covarianza:

    • Si basa sulla fusione/suddivisione di cluster.

    KCCC ,...,, 21 con medie Kmmm ,...,, 21

    nnnn

    n

    n

    k

    σσσ

    σσσσσσ

    ...

    ............

    ...

    ...

    21

    22212

    11211

  • ISODATA CLUSTERING (2)

    ALGORITMO

    1. Si assegna xi al cluster l che minimizza:

    2. Si fondono tutte le coppie di cluster Ci e Cj per cui vale:

    3. Si suddividono (2-means) tutti i cluster k per cui vale:

    1. Si ripetono i punti 1,2 e 3 fino a convergenza.

    ][]'[ 1 lilli mxmxD −Σ−=−

    Σ

    υτΣ )(max kii

  • ISODATA CLUSTERING (3)

    APPLICAZIONE

    ImmagineSorgente

    SegmentazioneK-Means

    SegmentazioneISODATA