appunti elaborazione delle immagini

96
Elaborazione delle Immagini Complementi

Upload: stefano-caminada

Post on 24-Nov-2015

112 views

Category:

Documents


13 download

DESCRIPTION

Appunti di Elaborazione delle Immagini unimib

TRANSCRIPT

  • Elaborazione delle

    Immagini Complementi

  • Segmentazione La segmentazione consiste nel partizionare limmagine in insieme di punti omogenei rispetto ad una data

    caratteristica pittorica; lo scopo finale di separare oggetti dallo sfondo e di distinguerli tra loro in base a tali

    caratteristiche visuali.

    La tecnica si basa su primitive visuali usate nella visione umana, descritte dalla teoria della Gestalt: le parti di un

    insieme percettivo vengono raccolte in unit conformi.

    Leggi della gestalt:

    Legge della vicinanza

    Legge della somiglianza

    Legge della chiusura

    Legge della curva buona

    Legge della buona forma

    Legge dellesperienza

    I principali approcci per segmentare unimmagine sono di attuarla per contorni o per regioni, e moltissime sono le

    tecniche per entrambi.

    Segmentazione immagini per regione Regione = oggetto o parte di un oggetto

    Data unimmagine I ed un predicato P (criterio di omogeneit), segmentare unimmagine significa trovare una

    partizione S di I in un insieme di regioni tale che:

    Per individuare le regioni, si pu lavorare solo nel dominio delle caratteristiche (livello di grigio, colore) o nel

    dominio spaziale (coordinate spaziali + livello di grigio, colore); a volte pu essere fondamentale anche tenere

    conto della forma della regione.

    In seguito alla definizione delle regioni viene eseguita unoperazione per individuarle ed etichettarle univocamente

    (labeling delle componenti connesse); il processo pu essere generalizzato nel caso in cui limmagine non sia binaria.

  • Es. conteggio dei globuli rossi

    Si vogliono contare i globuli rossi contenuti nellimmagine.

    Problemi:

    Molti globuli sono regioni separate, ma molte regioni si sovrappongono

    Vi del rumore sale e pepe dopo la sogliatura (limite sotto il quale

    limmagine bianca e sopra il quale nera)

    Componenti connesse Dato un pixel di coordinate (x, y), i quattro vicini hanno coordinate (x+1, y), (x-1, y), (x,y+1) e

    (x, y-1); essi costituiscono linsieme dei vicini di p.

    I quattro vicini in diagonale, che formeranno linsieme di p, sono invece i pixel con

    coordinate (x+1, y+1), (x-1, y-1), (x-1, y+1) e (x+1, y-).

    Dallunione dei due set si ha invece linsieme degli 8-vicini di p.

    Da qui si pu definire la connessione fra due pixel: due pixel sono connessi se, oltre ad essere in relazione di

    adiacenza spaziale fra loro, i loro livelli di grigio soddisfano uno specifico criterio di similarit (per esempio sono

    uguali o hanno un valore rientrante in un certo intervallo V, questultimo concetto pi generale rispetto alle

    immagini binarie).

    Quindi si parler di 4-connettivit rispetto a p e q se il pixel q rientra nel set e di 8-connettivit se rientra in

    , oltre a rientrare insieme a p nel range V dei valori di grigio.

    Questo introduce lanalisi del percorso fra due pixel , ovvero una sequenza di pixel connessi che uniscono i

    due specificati; in questo caso (se esiste un percorso che li collega), i due pixel sono connessi e valgono le seguenti

    propriet:

    Riflettivit, il pixel P connesso a P

    Commutativit, se P e connesso a Q allora Q connesso a P

    Transitivit, se P connesso a Q e Q connesso a R allora anche P connesso a R

    La regione sar linsieme dei pixel connessi fra loro, ovvero con un percorso che connette tutte le coppie dei pixel

    interni ad essa ; un pixel di contorno invece un pixel che ha almeno un vicino non appartenente alla regione.

  • Una buona soluzione per le immagini binarie quella di considerare l8-vicinanza per gli oggetti e la 4-vicinanza per

    lo sfondo (o viceversa).

    Labeling Il labeling il processo di etichettamento con la quale si identifica univocamente ogni componente connessa

    dellimmagine (tutti i pixel dellintera componente connessa avranno unetichetta univoca diversa da quella dei pixel

    di unaltra componente connessa), cos da poter eseguire successive operazioni in maniera selettiva.

    Funzionamento:

    Si scandisce limmagine

    Per ogni pixel da etichettare:

    o Se connesso con uno gi etichettato si condivide il label

    o Altrimenti si crea una nuova etichetta

    Si definiscono delle classi di equivalenza

    Si effettua una seconda scansione in cui, ogni etichetta, sostituita da quella della sua classe di equivalenza

    Durante la prima scansione sono assegnate label temporanee a tutti i pixel come oggetto in funzione delle label dei

    vicini gi visitati (secondo l'ordine prescelto di scansione); a questo punto, oggetti distinti sono stati etichettati con

    label differenti, cos come anche parti di uno stesso oggetto.

    Si esegue cos una seconda scansione per assegnare un label univoco definitivo alle parti di uno stesso oggetto aventi

    label temporanee differenti (secondo una certa classe di equivalenza).

    Supponendo unione delle regioni che non toccano il bordo presenti nellimmagine, questa chiamata

    foreground; il complementare detto background.

    Distanza Dati i pixel p, q e z, di coordinate (x, y), (s, t) e (v, w), D una distanza se e solo se:

    La distanza pu essere calcolata in vario modo, per esempio esistono la distanza euclidea, la distanza city-block e la

    distanza (o chess-boad).

  • Distanza Euclidea

    La distanza Euclidea intuitivamente semplice, ma molto onerosa computazionalmente per via della radice.

    Distanza city-block

    Il numero minimo di passi in una griglia per raggiungere un pixel a partire da un altro.

    Distanza o chess-boad

    Il numero di mosse del re a scacchi.

    Binarizzazione Limmagine ideale della scena costituita da due soli livelli di grigio: uno chiaro e uno scuro, ma spesso si ottiene in

    acquisizione unimmagine che occupa una porzione significativa dei livelli di grigi disponibile; ci dovuto

    principalmente a unilluminazione non perfettamente omogenea, a del rumore di acquisizione, alla non uniformit

    del sensore, alla risoluzione

    Per binarizzazione dellimmagine si intende la trasformazione dellimmagine a livelli di grigio in una a due soli livelli

    (immagine binaria), mantenendo il contenuto informativo fondamentale della scena.

    Segmentazione a soglia Assumendo che i pixel dellimmagine appartengono a due sole classi (sfondo e oggetti di interesse) e che i livelli di

    grigio dei pixel permettano di discriminarle (istogramma bimodale), possibile segmentare limmagine mediante

    una soglia T.

    Diversi valori di T determineranno un diverso assegnamento dei pixel dellimmagine alle due classi.

    Il successo della binarizzazione dipende dalla separazione dei modi (picchi) dellistogramma, la cui forma

    principalmente determinata dal rumore, dalluniformit della luce, dalla riflettanza dellimmagine e dalla dimensione

    degli oggetti della scena.

  • Sogliatura interattiva

    E una tecnica interattiva in cui lutilizzatore decide quale soglia T

    regala risultati pi soddisfacenti.

    Sogliatura automatica

    Analizzando listogramma possibile determinare automaticamente la soglia per la binarizzazione.

    , con T calcolato automaticamente.

    Alcuni vantaggi rispetto a quella manuale:

    La scelta manuale richiede tempo

    La scelta manuale soggettiva

    La determinazione automatica permette di automatizzare il processo, anche adattandosi a possibili

    variazioni dellilluminazione

    Svantaggi:

    Costo computazionale

    Manca una verifica del risultato

    Nella sua forma pi generale pu essere espresso come , dove p(x, y) rappresenta una

    propriet locale del pixel considerato.

    La soglia detta:

    Globale, se T dipende solo da f(x, y)

    Locale, se dipende sia da f(x, y) che da p(x, y)

    Dinamica, se dipende da (x, y)

    Esempio con T calcolata come media tra il massimo e il minimo dei valori di grigio dellimmagine (si basa sul

    presupposto che, a grosso modo, met dei pixel appartengano alloggetto e met allo sfondo).

  • Metodo del P-tile

    Si assume nota larea o la percentuale dellimmagine occupata dagli oggetti, scegliendo T in base a questi valori; di

    norma usato per segmentare pagine di testo (caratteri-sfondo).

    Raffinamento iterativo del valore di soglia

    Si seleziona una soglia T (es. valor medio)

    Si segmenta limmagine in base a T

    Si calcola il valore medio delle due classi (

    Si seleziona una nuova soglia

    Si ripetono i passi fino a quando i valori medi si stabilizzano

    Sogliatura a isteresi

    [isteresi = caratteristica di un sistema di reagire in ritardo alle sollecitazioni applicate e in dipendenza allo stato

    precedente]

    Si selezionano due soglie , con

    Si partiziona limmagine in tre classi , contenente i pixel con livello di grigio , , contenente i pixel

    con livello di grigio compreso tra , e , contenente i pixel con livello di grigio

    Si visita ogni pixel (x, y) di e, se ha un vicino (w, z) in , si assegna a

    Si ripete il passo precedente finch non si hanno pi pixel da assegnare

    I rimanenti pixel vengono assegnati a

    Sogliatura Otsu

    La scelta di un valore di soglia implica la suddivisione dei pixel in due gruppi; lassunzione alla base dellalgoritmo

    che la soglia ottima sia quella che suddivide limmagine nei due gruppi pi possibile omogenei a loro interno.

    Il criterio di omogeneit pu essere espresso mediante un parametro statistico: la varianza intra-gruppo .

    Lalgoritmo di binarizzazione si basa sulla ricerca del valore di soglia che minimizza .

    , valor medio globale dei livelli di grigio

    , varianza globale dei livelli di grigio

    Per ogni soglia t, si definiscono due gruppi minori e maggiori di t di cui si pu conoscere la varianza; lo scopo di

    rendere omogenei tali gruppi.

    Probabilit che un pixel appartenga a uno dei due gruppi:

    A partire da queste relazioni si pu definire la varianza intra-gruppo, in cui lo scarto quadratico di ciascun pixel

    valutato rispetto al valor medio del gruppo a cui appartiene.

    Pi la varianza intra-gruppo piccola, pi i due gruppi sono raggruppati vicino ai valori medi; la somma da

    minimizzare, in base al valore di t.

    La soglia migliore pu essere cercata per tentativi, ma computazionalmente piuttosto oneroso, dato che bisogna

    calcolare ; la ricerca pu essere ottimizzata.

    Il metodo di Otsu pu anche essere generalizzato a pi classi.

  • Sogliatura automatica-locale

    Ci sono casi in cui eseguire una sogliatura globale

    allimmagine non porta a risultati accettabili (es. condizioni

    di luce non omogenei).

    E per questo che si adotta un approccio locale, in cui

    limmagine divisa in blocchi, a cui si apporta una

    sogliatura differente per ognuno di essi.

    Purtroppo, anche cos, possono presentarsi discontinuit fra

    i blocchi; una soluzione possibile pu essere quella di

    ridurre i blocchi, cosa che farebbe perdere allapproccio il

    senso di automatizzazione.

    Una possibile soluzione al problema quella di assegnare il valore di soglia determinato per il blocco esclusivamente

    al suo valore centrale e ragionare per interpolazione sui valori intorno.

    In questo caso, la soglia diventa la funzione di un unico punto ; spesso, per ottenere una funzione

    maggiormente regolare, si adotta una suddivisione dellimmagine in blocchi parzialmente sovrapposti (la brusca

    variazione della soglia per blocchi completamente disgiunti pu portare a evidenti discontinuit).

    pu essere ricavata a partire dai valori assegnati ai punti centrali di ogni blocco mediante interpolazione

    bilineare:

  • Sogliatura automatica uso del gradiente

    La possibilit di una valida selezione della soglia pu essere incrementata se si riesce a ricondurre listogramma ad

    esibire picchi alti e stretti, separati da valli profonde.

    Diversi approcci prendono in considerazione luso delle informazioni che possono essere tratte da unimmagine

    gradiente, mettendole in relazione alle dimensioni (attese) degli oggetti e dello sfondo.

    Spesso gli istogrammi non sono spiccatamente bimodali; se gli oggetti di interesse occupano circa la stessa area dello

    sfondo allora si pu escludere il pixel con alto gradiente, se invece gli oggetti occupano una piccola area rispetto allo

    sfondo allora si pu costruire un istogramma dei soli pixel ad alto gradiente.

    Il processo genera problemi nel momento in cui larea degli oggetti molto piccola.

    Sogliatura automatica uso del laplaciano

    1) Immagine originale

    2) Istogramma dellimmagine originale

    3) Segmentazione con Otsu

    4) Sogliatura con laplaciano

    5) Istogramma del prodotto tra limmagine originale e quella

    trovata con il laplaciano

    6) Segmentazione con Otsu dellimmagine originale

    sullistogramma prodotto

    Sogliatura locale adattativa

    Si pu avere una soglia distinta per ogni pixel dellimmagine il cui valore dipende dalle caratteristiche dellimmagine

    in un blocco di dimensione opportuna centrato nel pixel (???).

    Sussiste, per, il problema delle dimensioni del blocco; di norma vengono scelti piccoli (5x5, 7x7, 9x9), cos da

    evitare un enorme carico computazionale.

    Luso di una soglia locale particolarmente adeguato per immagini in cui c unalta probabilit che in un blocco

    piccolo siano presenti sia pixel delloggetto sia quello dello sfondo.

  • Sogliatura automatica globale

    A causa dellilluminazione non uniforme, il risultato della

    binarizzazione mediante soglia globale non soddisfacente.

    Sogliatura automatica locale

    La soglia calcolata per ogni pixel soglia come il valore medio

    relativo a un intorno 7x7.

    Il testo viene abbastanza bene, lo sfondo malissimo; questo perch la

    binarizzazione rispetto a un intorno 7x7 dei pixel fallisce quando la

    finestra in esame comprende solamente pixel di sfondo (ovvero

    quando si ha una sola classe).

    Per unimmagine di testo, se lintorno sufficientemente grande, molto probabile che la distribuzione dei livelli di

    grigio sia unimodale solo nellintorno dei pixel di sfondo distanti dai caratteri; quindi, basta prendere una costante C

    abbastanza grande da compensare le variazioni di luminosit dello sfondo (ma non troppo).

    1) Originale

    2) Otsu globale

    3) Locale con media

    mobile

    Lalgoritmo lavora per linee; la soglia pu dipendere da media e varianza di un intorno fissato.

  • Sogliatura automatica metodi derivativi

    I simboli 0, + e rappresentano tre livelli di grigio

    distinti, T la soglia.

    I pixel non di bordo, che quindi soddisfano la prima

    condizione, sono etichettati con 0; i pixel di bordo sono

    marcati con + se si trovano dalla parte scura e con se si

    trovano dalla parte chiara.

    Scandendo per righe si potr individuare le transizioni:

    Si analizza s(x,y) linea per linea e si etichettano con 1 tutti i pixel compresi tra una coppia (- +) e una coppia (+ -),

    mentre con 0 tutti gli altri.

    Problema: Trovare automaticamente T.

    Binarizzazione mediante classificazione In alcune applicazioni, loggetto di interesse pu essere segmentato rispetto allo sfondo sulla base del colore;

    denotando quindi il colore di un pixel come I(p), la segmentazione di unimmagine pu essere ottenuta calcolando

    per ogni pixel la distanza rispetto al colore atteso ( delloggetto di interesse e marcando come sfondo i pixel per i

    quali la distanza inferiore a una soglia.

    , con

    Importante:

    Scelta dei centroidi (colori

    rappresentativi)

    Scelta dello spazio colore

    Metrica per valutare la similarit

    Condizioni di appartenenza

    Il valore atteso viene, tipicamente, stimato a partire da una (o pi) immagine di training; interpretando quindi il

    colore di un pixel delloggetto come una variabile aleatoria a tre dimensioni, il colore atteso ottenuto stimando il

    valor medio a partire dai training sample disponibili.

    Una caratterizzazione probabilistica pi completa della distribuzione dei colori nelloggetto di interesse pu essere

    ottenuta stimando dai campioni anche la matrice di covarianza:

    La distanza euclidea pu anche essere espressa come:

    La distanza di Mahalanobis definita come:

  • Per capire la differenza tra la distanza euclidea e quella di Mahalanobis, si considera il caso in cui le componenti di

    I(p) sono indipendenti (matrice di covarianza diagonale):

    La distanza di Mahalanobis pesa differentemente le differenze delle componenti del vettore aleatorio, in particolare

    in maniera inversamente proporzionale alla varianza di ciascuna componente; ci significa che una data differenza in

    una componente contribuir in maniera maggiore o minore alla distanza a seconda di quale la dispersione della

    componente rispetto al suo valore medio.

    1) Originale

    2) Tinta (H)

    3) Saturazione (S)

    4) Intensit (I)

    5) Binary saturation mask (nero = 0)

    6) Prodotto di H e maschera

    7) Istogramma del prodotto

    8) Segmentazione della componente

    rossa dellimmagine originale

  • Segmentazione immagini per regione La scelta delle propriet da utilizzare per la segmentazione legata non solo al problema in esame, ma anche alla

    natura dei dati a disposizione: colore, intensit, tessitura

    Potrebbe essere fondamentale tenere conto anche della forma delle regioni che si devono ottenere.

    Data unimmagine I e un predicato P (criterio di omogeneit), segmentare unimmagine significa trovare una

    partizione S di I in un insieme di regioni tale che:

    Accrescimento di regioni Laggregazione ha luogo a partire da punti di seme opportunamente selezionati.

    Nellalgoritmo bisogna operare alcune scelte:

    Scelta del seme (come si definiscono, quanti e come si distribuiscono nellimmagine)

    Regola di arresto dellaccrescimento della regione

    Risoluzione di conflitti (lo stesso pixel potrebbe essere inglobato da diverse regioni)

    Definizione di adiacenza adottata (quando due pixel sono adiacenti)

    Es. di un semplice algoritmo di accrescimento

    La differenza, in valore assoluto, tra il seme e il punto candidato non

    deve superare il 10% della gamma dinamica dellimmagine (255)

    Ogni pixel aggiunto alla regione deve essere 8-connesso con almeno

    un pixel gi incluso nella regione

    Per quanto riguarda la selezione dei semi, spesso la natura del problema in esame pu dare precise indicazioni.

    Per esempio, nellanalisi di immagini infrarossi spesso sono di interesse le zone pi luminose, che corrispondono ad

    oggetti a temperatura pi alta dello sfondo (mezzi in movimento, essere viventi); in questo caso bisogna

    selezionare come semi i pixel di valore pi elevato.

    In assenza di tale indizi si possono usare criteri statistici.

    Se la regione rappresentata dal valore medio dei suoi pixel, due possibili criteri per guidarne laccrescimento

    valutano

    La varianza dei valori dei pixel

    Lo scostamento massimo dei valori dei pixel rispetto al valore medio

  • Split and merge Lintera immagine suddivisa in parti disgiunte via via pi piccole; ad ogni livello della suddivisione, il predicato P

    viene verificato per tutte le parti divise (splittate) e, se risulta falso, la parte viene ulteriormente suddivisa.

    Si fondo le parti adiacenti con caratteristiche simili, per costruire regioni pi grandi che continuano a soddisfare i

    criteri previsti dalla segmentazione.

    Algoritmo:

    Si definisce un algoritmo (es. P( R) = 1 se varianza >T e P( R)=0 se varianza

  • 1) Originale

    2) Dimensione minima per la regione: 32x32

    3) Dimensione minima per la regione: 16x16

    4) Dimensione minima per la regione: 8x8

    Criterio di splitting: varianza maggiore di una certa soglia e

    m media compresa in un dato range.

    Spesso si deve considerare sia la distribuzione dei livelli di grigio delle regioni che la lunghezza del contorno comune.

    Esempio: eliminazione degli edge incerti (w= numero di pixel a basso gradiente)

    Diagramma di Voronoi

    Dato un insieme P di n punti sul piano, la cella di Voronoi V(P) di un punto

    P definita come linsieme dei punti del piano Q tali che P con

    si abbia ||Q-P||

  • Criterio di merging: Si tiene conto della media, della numerosit e della

    varianza (distanza di Fisher).

    Raffinamento dei bordi: i pixel di frontiera vengono riassegnati

    mediante region growing.

    Grafo delle adiacenze

    La segmentazione iniziale pu essere ottenuta con qualsiasi algoritmo.

    Si pu costruire un grafo in cui ogni nodo rappresenta una regione e, due di essi, sono collegati da un link se le

    rispettive regioni sono adiacenti.

    Ad ogni nodo si pu associare una descrizione della regione (varianza, intensit, varianza del gradiente, centroide,

    coordinate max e min, dimensioni, lunghezza, perimetro, bimodalit dellistogramma, uniformit contrasto) e, a

    ogni link, delle propriet comuni alle due regioni (perimetro condiviso, forza del gradiente, similarit).

    Per garantire che non si creino fusioni inconsistenti, assumendo che gli archi siano etichettati come similarit, si

    possono fondere iterativamente, per esempio, due regioni alla volta e aggiornare di conseguenza il grafo.

    La fusione si pu basare su una misura di similarit (es. differenza fra le medie delle regioni minore di T) o su regole

    (es. se RegionSize is Very Low && Adiacency with anothe regioni is high && difference in regionFeature-1 is not high

    && difference in regionFeature-2 is not high && difference in regionFeature-3 is not high, allora unisci le due

    regioni).

    I metodi basati solo sulle propriet locali dei pixel (es. colore) possono dare luogo a segmentazioni rumorose.

    Le tecniche di segmentazione per regioni raffinano iterativamente le regioni allo scopo di eliminare i falsi contorni/le

    regioni spurie e separare le regioni che contengono oggetti distinti, tenendo conto della similarit dei pixel e della

    loro vicinanza spaziale.

    Tale classe di algoritmi permette pi facilmente di considerare le propriet topologiche delle regioni, utilizzare

    informazioni sulla forma degli oggetti, utilizzare linformazione semantica sulla scena.

  • Segmentazione di immagini in base alle caratteristiche (colori) Si attua una segmentazione su ogni singola banda RGB, ognuna

    considerata unimmagine a livelli di grigio; si usano le tecniche viste

    precedentemente e infine si intersecano i tre risultati.

    Problemi:

    Si possono creare regioni spurie

    RGB non uno spazio ottimale

    Le rappresentazioni del tipo HSI si prestano bene a segmentazioni basate sul valore della tinta o di tinta e

    saturazione.

    La tinta una grandezza angolare e, per garantire la corretta localizzazione dei picchi nellistogramma, solitamente si

    analizzano congiuntamente due cicli.

    Per ridurre leffetto dellilluminazione, talvolta utile non usare lintensit.

  • Sogliatura automatica modi

    1) Si smussa listogramma

    2) Si determinano i picchi pi elevati dellistogramma H che sono distanti tra loro per almeno una certa

    quantit

    3) Si usa il punto pi basso fra i picchi come soglia

    La distanza fra picco e valle ignorata e lapproccio generabile al caso di n oggetti.

    Smoothing sequenziale dellistogramma Lo smoothing viene eseguito per mezzo di una convoluzione tra la sequenza originale h(i) e quella di smoothing S(k);

    listogramma smussato ottenuto con la seguente formula:

    Smoothing gaussiano dellistogramma

    Consente di levigare un istogramma applicando a esso una convoluzione con distribuzione gaussiana.

    Per ogni coppia di valli, sinistra e destra, si calcolano i valori dellistogramma originale per i punti tra esse compresi e

    si sceglie come locazione del picco il punto per cui laltezza dellistogramma massima.

  • Space scale dellistogramma Dato un segnale continuo x, lo scale-space ad esso associato definito come uno spazio bidimensionale

    rappresentato dalla seguente funzione al variare di :

    Una fetta dello scale-space per corrisponde al segnale smussato con una funzione gaussiana di deviazione

    standard .

    Di solito non si visualizza direttamente lo scale-space di un segnale, ma si rappresenta unimmagine binaria costituita

    dagli zero-crossing della derivata prima o della seconda nello scale-space; tale rappresentazione detta fingerprint.

    Gli zero-crossing sono i punti in cui la derivata prima o seconda del segnale continuo si annulla.

    Esiste unaltra specifica motivazione per cui si utilizza il kernel gaussiano: la stabilit degli zero-crossing della derivata

    del segnale convoluto, cio al decrescere di essa possono comparire nuovi zero-crossing nel fingerprint dello scale-

    space, senza che quelli gi esistenti scompaiano.

    Solo la convoluzione con una distribuzione gaussiana soddisfa questa condizione.

    Lo smoothing gaussiano produce una semplificazione qualitativa ed una distorsione della funzione operata.

    Questultimo un inconveniente che pu essere superato grazie ad una tecnica chiamata Coarse to Fine Tracking;

    questa prevede che lidentificazione di un certo evento (picco, valle o cambio di concavit) avvenga con lutilizzo di

    una scala grossolana, mentre la localizzazione, che fissa la corretta posizione degli zero-crossing, determinata

    dallinseguimento (tracking) del contorno di uno zero, a partire dai punti individuati alla scala grezza fino ai

    corrispondenti che giacciono sul piano fissato da .

    Segmentazione di immagini in base alle caratteristiche (non solo colore) Si assume che cluster omogenei, nello spazio delle caratteristiche, corrispondano a regioni omogenee nellimmagine.

    I principali metodi sono:

    Quantizzazione

    Clustering

    Analisi ricorsiva degli istogrammi

    Classificazione

  • Clustering

    Il clustering il partizionamento di un dato insieme di N oggetti in un certo numero M di gruppo (cluster), in modo

    che la somiglianza sia massima fra oggetti dello stesso gruppo e sia minima fra quelli di gruppi diversi.

    Non solo le classi del problema sono sconosciute, ma spesso nemmeno il loro numero noto.

    Il partizionamento ottimo di un insieme di N oggetti in M cluster risulta essere un problema di tipo NP-completo,

    cio un problema la cui complessit una funzione non polinomiale del numero di parametri (il questo caso del

    numero di oggetti da classificare).

    Es. La suddivisione di 20 oggetti in 4 cluster pu essere effettuata in modi diversi; anche considerando

    possibile lesame di una soluzione in 100 ms, lintera ricerca impiegherebbe pi di 52 giorni!

    La maggior parte delle soluzioni proposte possono essere ricondotte alle due famiglie:

    Clustering gerarchico: attraverso operazioni spesso di tipo bottom-up, organizza i dati in una sequenza

    innestata di gruppo che possono essere visualizzati come un albero

    Clustering partizionale: individua, solitamente attraverso algoritmi euristici iterativi, partizioni che

    minimizzano un dato criterio di clustering (es. la somma dei quadrati degli errori)

    Clustering gerarchico

    Gli algoritmi possono essere bottom-up (agglomerativi) o top-down (divisivi).

    Nel primo caso si parte cercando di aggregare singoli elementi e, ad ogni passo (livello), si aggregano in cluster gli

    elementi o i sottocluster che sono tra loro pi simili rispetto a una soglia (dipendente dal livello); nel secondo (meno

    utilizzato in quanto pi complesso) si parte con un singolo cluster e, ad ogni livello, si suddividono in sottocluster gli

    elementi pi diversi.

    Il risultato pu essere rappresentato in entrambi casi attraverso un dendogramma (albero).

    I metodi gerarchici permettono di applicare criteri di somiglianza ad-hoc per controllare laggregazione e la divisione;

    sono quindi da preferirsi quando non si dispone di uno spazio metrico delle feature.

    Clustering partizionale

    Gli algoritmi pi comunemente utilizzati sono k-means ( o la variante Fuzzi k_means) e Expectation-Maximization

    (EM).

  • Clustering k-means (k-centri)

    Si tratta di un metodo molto semplice che ottimizza il criterio somma dei quadrati degli errori:

    Richiede in input il numero di cluster e una soluzione iniziale (partizione); fornisce buoni risultati, a patto di fornire

    una ragionevole soluzione di partenza e un numero adeguato di classi.

    Il tipo di ottimizzazione iterativo e locale, pertanto il metodo pu convergere a massimi locali sella soluzione

    (solitamente in massimo 10 passi).

    La partizione iniziale pu essere formata scegliendo a priori un insieme di punti-seme; un insieme di k pattern che

    sono bene separati luno dallaltro pu essere ottenuto considerando, per esempio, il centroide di tutti i dati come

    primo punto-seme e selezionando successivamente i punti-seme che sono almeno ad una certa distanza da quelli

    scelti.

    Molto spesso si usa una generazione random (scartando i semi troppo vicini); alcuni algoritmi sfruttano lanalisi

    dellistogramma.

    Identifica cluster iper-sferici nel caso in cui venga utilizzata la distanza euclidea come misura di distanza tra i pattern.

    Isodata Clusterin

    Lalgoritmo isodata un algoritmo di clustering sequenziale in cui viene implementato il k-means pass.

    Data la partizione iniziale, per ogni punto P (rappresentato dal suo vettore delle feature) viene determinato il

    centroide pi vicino.

    Se la distanza minore di una certa soglia , P viene assegnato al cluster e la media di questultimo aggiornata;

    altrimenti P diventa il centroide di un nuovo cluster.

  • Se la distanza minima fra i centroidi di due cluster minore di una data soglia , i cluster vengono fusi (si

    ridetermina la posizione del nuovo centroide).

    Il problema del definire correttamente il numero di cluster si converte nel definire i valori per .

    Essendo sequenziale, il risultato dipende fortemente dallordine con cui si analizzano i dati.

    Nel clustering:

    Ogni pixel rappresentato da un vettore n-dimensionale (es. il colore)

    Il clustering partiziona quindi MxN pixel in k classi

    Data uninizializzazione random, non sempre converge alla stessa soluzione

    Spesso si clusterizza solo un sottoinsieme dei pixel dellimmagine; i pixel rimanenti vengono assegnati a

    posteriori ai centroidi (classificazione)

    Per usare lalgoritmo k-means si deve assumere noto il numero di cluster; potrebbe essere applicato N volte con

    numero di cluster variabile.

    Come si seleziona il migliore?

    Con numero di paterns in cluster k

    centro del cluster k, lungo la feature j

    d = numero di feature

    valore della j-esima feature dell i-esimo pattern considerando il cluster k

    Valori alti di corrispondono a cluster isolati, quindi , solitamente, a buone segmentazioni.

  • Scelta delle feature dei pixel Si possono usare diverse caratteristiche del pixel o del suo intorno (anche congiuntamente).

    Per esempio:

    Feature colore/intensit

    Istogramma dellintorno

    FFT dellintorno

    Caratteristiche di texture

    Coordinate spaziali

  • Analisi ricorsiva degli istogrammi

    Si calcola listogramma

    Si selezionano i picchi pi significativi

    Si creano delle immagini binarie corrispondenti ai picchi (se esistono pi picchi, pi immagini vengono

    inserite nello stack)

    Si filtrano le immagini binarie per ridurre il rumore

    Si mettono le immagini nello stack per lanalisi ricorsiva

    Lanalisi dellistogramma si arresta quando questultimo ha un solo picco

    Lalgoritmo si arresta quando lo stack vuoto

    A volte i cluster si nascondono quando proiettati su un determinato asse; per questo, spesso, si usano molte pi

    feature (es. per il colore ne hanno usate nove: R, G, B, Y, I, Q, H, S, I)

    Valutazione algoritmi di segmentazione

    Possibili errori nella segmentazione:

    Sotto-segmentazione

    Sovra-segmentazione

    Cattiva localizzazione dei contorni

    A volte si possono quantificare; Haralik e

    Shapiro hanno suggerito dei criteri per

    valutare una segmentazione in assenza di

    misure certe, le regioni infatti devono

    essere:

    Uniformi e omogenee

    Senza buchi interni

    Differenti dalle regioni adiacenti

    (criterio di uniformit)

    Con confini semplici e non

    seghettati

  • Con NxM dimensione dellimmagine I, R numero di regioni dellimmagine segmentata, errore medio sulla regione

    i-esima e area della regione i-esima.

    Non richiede soglie; pi basso il valore dellimmagine I, migliore dovrebbe essere la segmentazione.

    Non penalizza abbastanza segmentazioni molto rumorose.

    F(I) = 0 per immagini non segmentate.

    Possibile variazione in cui R(A) il numero di regioni aventi area uguale ad A.

    Penalizza (forse troppo) le segmentazioni in cui sono presenti molte regioni piccole.

    Nella sommatoria, il primo termine grande tipicamente per regioni in cui si ha un elevato errore di

    approssimazione e il secondo termine grande per segmentazioni molto rumorose, con molte regioni di pochi pixel.

    Tessitura di una regione La tessitura, con il colore e la forma, una delle caratteristiche di basso livello pi utilizzate (per la segmentazione,

    per la classificazione o per il retrieval visuale basato sul contenuto).

    Mentre il colore una feature puntuale, la tessitura pu essere considerata locale.

    Definizioni varie:

    Funzione dei livelli di grigio, consistente in una o pi configurazioni-prototipo basilari, spazialmente

    giustapposte e ripetentisi senza notevoli variazioni.

    Struttura composta da un vasto numero di configurazioni prototipo simili che si ripetono, mostrando un

    aspetto macroscopico armonico

    Struttura composta da un elevato numero di elementi pi o meno simili, nessuno dei quali si presenta

    singolarmente percepibile

    Fenomeno organizzato su base regionale

  • Una delle difficolt che si incontrano nellanalizzare la tessitura la dipendenza dalla dimensione della finestra di

    osservazione usata; per avere limpressione di una tessitura, bisogna che la finestra includa un certo numero di

    configurazioni elementari.

    Aumentando le dimensioni della finestra si ha quindi una maggiore stazionariet, ma si ha anche una minore

    risoluzione dei confini fra regioni adiacenti con texture diverse (oltre a un maggior tempo di calcolo).

    Tre sono le categorie inerenti allanalisi di texture:

    Riconoscimento, constatare se una texture corrisponde a un modello di riferimento

    Classificazione, determinare a quale delle N classi da attribuire la texture

    Segmentazione, determinare i confini fra regioni a tessitura differenti, nel caso in cui ne il numero ne le

    caratteristiche della texture siano note a priori

    Per risolvere tali problemi bisogna definire dei descrittori di texture a partire dalla funzione dei livelli di grigio

    (ovvero dallimmagine).

    Solitamente, la tessitura di una regione rappresentata utilizzando un vettore di numeri, che rappresentano i valori

    dei descrittori utilizzati, e da un punto in un opportuno spazio.

    La distanza tra due punti in questo spazio delle tessiture rende conto della dissimilarit tra le regioni corrispondenti

    e pu essere misurata utilizzando appropriate funzioni-distanza (es. euclidea o city-block).

    Quanto pi i descrittori sono significati da un punto di vista percettivo, tanto pi la distanza matematica tra due

    tessiture sar rappresentativa della distanza percepita.

    Tra gli approcci principali:

    Strutturale: di scarso interesse pratico, pi usato per la sintesi

    Statistico: prediligono gli aspetti tonali; le statistiche vengono calcolate, nella maggior parte dei casi, sui

    livelli di grigio e spesso ci si limita alle statistiche del secondo ordine

    Spettrale, si usano diverse trasformate (molto usata la wavelet)

    La texture dipende dalla scala.

    Esistono innumerevoli set di descrittori di texture, molti correlati fra loro.

    Molti applicativi sono basati ancora su vecchie metodologie e c poca analisi teorica.

    I colori sono spesso descritti con grandezze correlate alle variabili psicologiche tinta, saturazione e chiarezza.

    Esiste un corrispettivo per la texture:

    Granularit, dimensione delle aree caratterizzate da variazioni di intensit luminosa

    Direzionalit, presenza di una direzione preferenziale lungo cui si dispongono le variazioni di intensit

    luminosa

    Ripetitivit, presenza di configurazioni ricorrenti

    Contrasto, visibilit della texture rispetto allimmagine

    1) tessitura levigata a grana fine

    2) Tessitura a grana grossa

    3) Tessitura regolare

  • Approccio strutturale Una tessitura che corrisponde a un modello puramente strutturale consiste nella giustapposizioni di configurazioni

    elementari che rappresentano lentit della tessitura pi piccola che si ripete regolarmente (textel).

    Una descrizione si compone quindi della descrizione delle singole configurazioni elementari, delle configurazioni di

    livello intermedio (se esistono) e della distribuzione spaziale delle configurazioni

    Quando le primitive di texture sono sufficientemente grandi da poter essere separate attraverso segmentazione,

    possibile descrivere la tessitura attraverso unanalisi morfologica tesa a determinare la tipologia delle primitive

    (texel) e una descrizione della loro distribuzione spaziale.

    Approccio statistico Consente misure di tessitura basate sui momenti statistici dellistogramma dei livelli di grigio dellimmagine o della

    regione.

    Sia z una variabile random discreta che rappresenta il livello di grigio e sia il suo istogramma (con i=0L-1)

    Il momento di ordine 2 (varianza) indicativo del contrasto della regione

    La varianza pu essere utilizzata per costruire descrittori di levigatezza relativa, come ad esempio .

    Il descrittore tende a 0 nelle zone a basso contrasto (varianza piccola), mentre assume valori tendenti a 1 nelle zone

    ad alto contrasto (varianza elevata).

    Anche i momenti di ordine pi elevato (generalmente non oltre il 5/6), anchessi correlati alla forma

    dellistogramma, possono essere utilizzati per la costruzione di misure della tessitura e, quindi, per la discriminazione

    tra regioni a tessitura diversa.

    Per esempio, il momento di ordine 3 fornisce una misura della sghembatezza dellistogramma.

    Altre misure di tessitura basate su istogramma, ma non direttamente legate ai momenti statistici, sono per esempio

  • Una descrizione della tessitura pu essere espressa anche in relazione alla maggiore o minore presenza di edge nella

    regione considerata; in questo caso, un descrittore molto semplice la densit degli edge, definita come il rapporto

    tra il numero di pixel di edge di valore maggiore di una data soglia e il numero totale (N) dei pixel nella regione

    Questo descrittore pu essere specializzato in relazione alla direzionalit della tessitura se gli edge sono calcolati

    utilizzando operatori direzionali.

    La limitazione delle misure di tessitura basate sugli istogrammi che non danno informazioni sulla posizione dei pixel

    rispetto agli altri pixel; sono stati pertanto sviluppati approcci allanalisi di tessitura che consentono di tenere conto

    anche di questa informazione (matrice di co-occorrenza).

    Si parte considerando due fattori:

    P, operatore di posizione (ad ogni punto pu essere associato solo un ); pu essere descritto come

    offset (tipico 1, il pixel adiacente) e/o come angolo (spostamento verticale, orizzontale,

    diagonale)..

    A, matrice k x k (k=numero di livelli di grigio), il cui elemento rappresenta loccorrenza di tutte le coppie

    di punti aventi intensit e tali che sia ottenuto da mediante P.

    Esempio

    Si consideri la seguente immagine, che ha solo tre livelli di grigio ; i lindice orizzontale e j

    quello verticale.

    I= P=un pixel in basso a destra A=

    Ogni elemento il numero di coppie formate da , con intensit , e , con intensit , collegate secondo P

    (es. il numero di coppie formate dal punto con intensit e dal punto con intensit

    posto in basso a destra del primo).

    Se n il numero totale di coppie di pixel dellimmagine che soddisfano P (nellesempio n=16) si pu costruire una

    matrice C, i cui elementi sono ottenuti dividendo A per n e forniscono una valutazione della probabilit congiunta

    che una coppia di punti che soddisfano P abbia valore .

    C la matrice di co-occorrenza.

  • Poich C dipende da P, la presenza di determinati pattern di tessitura in unimmagine pu essere investigata

    definendo opportunamente P.

    Pi in generale, il problema pu essere posto in questi termini: analizzare la matrice C calcolata per una certa

    regione, al fine di categorizzare la tessitura della regione stessa.

    A tal fine, conveniente definire alcuni descrittori del contenuto di C.

    Alcuni descrittori sintetici del contenuto della matrice di co-occorrenza C che caratterizzano il tipo di texture:

  • Questi descrittori caratterizzano il contenuto di C, in quanto i loro valori sono indicativi del modo in cui si

    distribuiscono i valori degli elementi di C. Per esempio, il primo descrittore fornisce unindicazione della risposta a P

    pi forte, mentre il secondo ha valori relativamente bassi quando gli elementi di C hanno valori pi elevati vicino alla

    diagonale principale (dove le differenze i-j sono pi piccole), il quarto descrittore ha valori pi elevati quando i

    sono uguali, etc.

    I descrittori possono essere adoperati calcolando e memorizzando i loro valori per un set di differenti tessiture

    tipiche (database delle caratteristiche).

    Una tessitura incognita pu, a questo punto, essere classificata in base alla distanza tra i descrittori che la

    caratterizzano e quelli memorizzati nel database delle caratteristiche.

    Alcune caratteristiche di tessitura, quali lo stato grezzo, la finezza oppure lorientamento, possono essere stimate

    tramite tecniche di filtraggio lineare locale, o, in altri termini, tramite opportune maschere.

    Si definiscono un insieme di trasformazioni lineare dei valori di grigio locali (filtri) in modo tale che, la statistica del

    primo ordine del pixel trasformato, differisca in modo significativo, a seconda del tipo di tessitura.

    Maschere di Laws:

    Le configurazioni base possono avere diverse lunghezze.

    A partire dalle configurazioni di base si possono creare diverse maschere bidimensionali, che avranno risposte

    diverse alle strutture presenti nellimmagine.

  • Le immagini filtrate sono solitamente elaborate con maschere di smoothing pi ampie per omogeneizzare il risultato.

    Es.

    Per ogni pixel si sottrae la media del suo intorno (per ridurre leffetto dellilluminazione)

    Si calcolano le maschere 5x5

    Si calcolano le seguenti feature:

  • Texture momenti di inerzia (si veda la lezione sulla descrizione per le equazioni)

    Approccio spettrale

    Fourier

    E opportuno per la descrizione della direzionalit di pattern 2D di tessitura

    periodici o semi-periodici, in genere pi facilmente distinguibili come picchi ad alta

    energia nello spettro che con tecniche operanti nel dominio spaziale, a causa della

    localit di queste ultime.

  • Una descrizione pi globale si pu ottenere sommando (integrando) le funzioni introdotte:

    Dove R il raggio della circonferenza centrata nellimmagine. Queste due funzioni monodimensionali costituiscono

    una descrizione basata sul contenuto di energia spettrale della tessitura in una regione o in unintera immagine.

    Descrittori quantitativi di queste funzioni posso a loro volta essere determinati nel modo usuale (media e varianza,

    posizione del massimo).

    Wavelets

    Possibili descrittori di texture: media e varianza delle sotto-finestre.

    Texture a colori Due possibili approcci:

    Colore + texture immagine monocromatizzata

    Texture multispettrale

    Texture mapping

  • Morfologia matematica Teoria per lelaborazione di immagini derivata dallinsiemistica, permette di rimuovere particolari irrilevanti e di

    mantenere le informazioni importanti delle forme. Lelemento strutturante parametrizza le operazioni.

    Operazioni base: espansione, erosione, apertura, chiusura

    Possibili operatori pi complessi: hit-or-miss, labelling componenti connesse, scheletrizzazioni, minimo insieme

    convesso

    Morfologia binaria La morfologia binaria un campo dellalgebra applicata allanalisi di immagini sviluppata, inizialmente, da Matheron

    e Serra alla Scuola delle Mine di Parigi come uno strumento matematico per analizzare strutture geometriche in

    binario e in immagini a scala di grigio.

    La morfologia binaria un sistema di operatori algebrici che permette:

    Di eliminare distorsioni di forma negli oggetti presenti in unimmagine binaria, tipicamente dovute a rumore

    di acquisizione

    Di caratterizzare morfologicamente gli oggetti, permettendo di scomporre quelli complessi in un insieme di

    forme pi semplici

    Gli operatori di morfologia si applicano sui pixel di unimmagine, normalmente binaria, impiegando un elemento

    strutturante. Gli elementi strutturanti sono immagini, tipicamente di dimensioni ridotte, che parametrizzano le

    operazioni.

    Operazioni fondamentali: dilatazione ed erosione, dette anche somma e sottrazione di Minkowski.

    Operatori pi complessi possono essere lapertura e la chiusura, costruiti come combinazione dei precedenti.

    Lelemento strutturante, solitamente, un disco, ma pu essere di qualsiasi forma, anche composto da pi regioni; il

    suo punto di riferimento pu non coincidere con il baricentro.

  • Dilatazione

    La dilatazione linsieme dei punti di

    riferimento p, per cui e A hanno almeno un

    elemento in comune.

    Intuitivamente, immagini disegnate dal centro

    dellelemento strutturante B, mentre viene

    ruotato allesterno del bordo dellaltro oggetto A. A limmagine e B lelemento strutturante e la dilatazione

    espande A nel modo definito da B.

    Aumentando le dimensioni di B si ottiene un oggetto sempre pi grande, con contorni sempre pi smooth,

    assomigliante sempre pi alla forma di B che a quella di A.

    Generalmente, gli elementi strutturanti usati per la dilatazione contengono lorigine e sono simmetrici rispetto ad

    essa. Leffetto della trasformazione p allora quello di espandere, dilatare isotropicamente (indipendente dalla

    direzione) le regioni dellimmagine binaria che corrispondono agli oggetti.

    Limpiego pi comune il miglioramento della qualit delle immagini ottenute dalla binarizzazione, nei casi in cui le

    regioni degli oggetti presentano lacune e/o parti delloggetto che dovrebbero essere connesse risultano

    frammentate.

    Alcune propriet:

    Commutativit

    Associativit

    Trasformazione estensiva

    (linsieme originario contenuto in quello dilatato)

    Trasformazione crescente

    Lassociativit della dilatazione (chain rule) consente di decomporre lelemento strutturante in elementi di taglia

    inferiore ed eseguire loperazione pi velocemente, mediante una successione di dilatazioni per gli elementi risultati

    dalla decomposizione.

  • Lelemento strutturante pi usato il quadrato. Limplementazione della dilatazione per un quadrato 3x3 consiste

    semplicemente nellaggiungere alloggetto tutti i punti di sfondo che hanno almeno un vicino (nel senso della 8-

    connettivit) appartenenti alloggetto. In pratica, i contorni delloggetto vengono espansi in tutte le direzioni.

    Sfruttando la propriet associativa, si implementa tipicamente solo lelemento di base 3x3; gli operatori di taglia

    maggiore vengono implementati mediante successioni di dilatazioni per lelemento base: con n dilatazioni per

    lelemento base si ottiene un risultato equivalente alla dilatazione per un quadrato (2n+1)x(2n+1).

    Riempimento tramite dilatazione: riempimento dei contorni estratti mediante un edge detector, conoscendo

    almeno un pixel interno .

    Sia B lelemento strutturante , si itera la relazione .

    Quando il calcolo della relazione converge

    Erosione

    Lerosione linsieme dei punti di riferimento p, per cui

    interamente contenuto in A.

    Intuitivamente, limmagine disegnata dal centro

    dellelemento strutturante B mentre viene ruotato

    allinterno del bordo delloggetto A.

    Lerosione riduce limmagine in funzione di B; aumentando le dimensioni di B si ottiene un oggetto sempre pi

    piccolo (fino a scomparire), con contorni sempre pi smooth.

    Generalmente, gli elementi strutturanti usati per lerosione contengono lorigine e sono simmetrici rispetto ad essa.

    Leffetto della trasformazione allora quello di contrarre, rimpicciolire isotropicamente le regioni dellimmagine

    binaria che corrispondono agli oggetti.

    1. Immagine originale

    2. Erosione con un disco di raggio 10

    3. Erosione con un disco di raggio 5

    4. Erosione con un disco di raggio 20

  • Limpiego pi comune il miglioramento della qualit delle immagini ottenute dalla binarizzazione, nel caso in cui le

    regioni che dovrebbero essere distinte risultano erroneamente connesse.

    Lapplicazione di erosione e dilatazione in sequenza non ricostruisce sempre la forma originale, ma solo in alcuni

    casi; solo alcuni oggetti, quindi, possono essere dilatati o erosi in modo reversibile.

    Leffetto di setacciamento selettivo rispetto alla grandezza dipende solo dalla forma e dimensione dellelemento

    strutturante.

    Alcune propriet:

    Non commutativa

    Associativit presente solo quando lelemento

    strutturante decomponibile in termini di dilatazione

    Trasformazione anti-estensiva

    (linsieme eroso contenuto in quello originale)

    Trasformazione crescente

    Lassociativit dellerosione consente di decomporre lelemento strutturante in elementi di taglia inferiore ed

    eseguire loperazione pi velocemente, mediante una successione di erosioni per gli elementi risultanti dalla

    decomposizione.

    Lelemento strutturante pi usato il quadrato; limplementazione dellerosione di un quadrato 3x3 consiste

    semplicemente nelleliminare dalloggetto tutti i punti di sfondo che hanno almeno un vicino (nel senso della 8-

    connettivit) appartenente alloggetto. In pratica, i contorni delloggetto vengono contratti di un pixel in tutte le

    direzioni.

    Sfruttando la propriet associativa, si implementa tipicamente solo lelemento base 3x3; gli operatori di taglia

    maggiore vengono implementati mediante successioni di erosioni per lelemento base: con n erosioni per lelemento

    base, si ottiene un risultato equivalente allerosione per un quadrato (2n+1)x(2n+1).

    Apertura

    Lapertura di A con B la successione di unerosione e di una dilatazione con B.

    Serve per correggere limmagine, eliminare piccole regioni, separando tra loro oggetti vicini uniti da piccoli difetti

    morfologici.

    Una sequenza di apertura ha lo stesso effetto di una singola apertura

  • E possibile estrarre i soli oggetti di forma circolare eseguendo unoperazione

    di opening con un elemento strutturante circolare opportunamente

    dimensionato (nellesempio, diametro = 11pixel).

    E possibile estrarre gli oggetti

    verticali eseguendo unoperazione di apertura con un elemento

    strutturante 9x3 ed estrarre quelli orizzontali eseguendo unapertura

    con un elemento strutturante 3x9.

    Chiusura

    La chiusura di A con B la successione di una dilatazione e di unerosione con B.

    Serve per correggere limmagine, chiudendo piccoli buchi e unendo tra loro gli oggetti separati da piccoli difetti

    morfologici.

    Apertura e chiusura godono della propriet di idempotenza, applicate pi volte non cambiano il risultato

  • Se si volessero rimuovere i piccoli fori, si potrebbe eseguire

    unoperazione di chiusura con un elemento strutturante circolare di

    diametro maggiore di quello dei fori piccoli e minore di quello dei fori

    grandi. Da notare che la chiusura rimuove anche il contorno circolare

    interno.

    Propriet di apertura e chiusura:

    Non sono commutative

    Lapertura antiestensiva, la chiusura estensiva

    Sono trasformazioni crescenti

    Propriet degli operatori morfologici

    Si indichi con una sequenza di r dilatazioni e con una sequenza di r erosioni di cerchio unitario;

    regolando r, che corrisponde al variare le dimensioni dellelemento strutturante, si possono estrarre o

    eliminare diverse caratteristiche facendo dei filtraggi:

    o Passa basso

    o Passa alto

    o Passa banda

    Si osservi che, se si considerasse come elemento strutturante

    il cerchio unitario, lerosione sarebbe linsieme dei punti

    delloggetto in cui 8-vicini sono tutti elementi delloggetto; la

    dilatazione sarebbe, invece, linsieme dei punti del piano che

    sono elementi delloggetto o hanno fra i loro 8-vicini almeno

    un elemento delloggetto.

    Erosione e dilatazione hanno delle propriet che possono essere sfruttate per sviluppare algoritmi o realizzare gli

    operatori morfologici in hardware.

  • Da cui segue che lerosione e la dilatazione possono essere realizzate

    mediante traslazioni dellimmagine e susseguenti operazioni logiche fra le

    immagini traslate punto per punto.

    Trasformata hit-and-miss

    Operatore morfologico impiegato per individuare feature in immagini binarie; negli operatori morfologici

    precedentemente studiati (apertura, chiusura), i punti dellelemento strutturante che determinano lazione svolta

    dalloperatore sono in realt solo quelli a 1, mentre quelli a 0 possono essere visti come condizione di indifferenza.

    Lazione svolta da questa trasformata, invece, dipende da entrambi i punti: dato un elemento strutturante B,

    contenente sia i punti dello sfondo (0) sia a quelli delloggetto (1), il risultato della trasformata hit-and-miss 1 solo

    nei punti in cui vi un match perfetto fra B e limmagine elaborata.

    Pu essere espressa come:

    sono rispettivamente linsieme dei punti a 1 e quello dei punti a 0 di B. Ad esempio, considerando lelemento

    strutturante B in grado di individuare i punti isolati (4-connettivit):

    I quattro elementi strutturanti che possono essere utilizzati per individuare i corner in unimmagine binaria (loutput

    lor delle quattro operazioni):

  • Trasformata distanza

    La trasformata distanza una funzione da unimmagine binaria a una a

    livelli di grigio, in cui i pixel di sfondo rimangono a 0. I pixel della figura

    vengono etichettati con la loro distanza dallo sfondo, che dipende dal tipo

    di connessione che si assume per la figura (4 o 8 connessione).

    I massimi locali sono una rappresentazione compatta della figura; posso essere utilizzati per ricostruire la figura:

    lunione dei dischi aventi per dimensione il valore massimo. La forma dei dischi dipende dallelemento strutturante e

    si ottiene iterando unoperazione di dilatazione tramite lelemento strutturante.

    Il contorno di una figura secondo la 4

    connessione solo 8 connesso; il contorno

    di una figura secondo la 8 connessione 4

    connesso.

    Morfologia matematica per immagini a livello di grigio La morfologia su immagini a livelli di grigio difficile da trattare da un punto di vista formale; gli operatori che si

    estendono con pi facilit sono la dilatazione e lerosione degli 8-vicini, usando rispettivamente:

  • Nellerosione, limmagine pi scura dellinput; si pu

    controllare il grado di scurimento dei dettagli chiari a

    seconda del loro valore e della forma di b.

    Nella dilatazione, loutput pi chiaro; dettagli scuri sono

    ridotti o eliminati a seconda del loro valore e della forba di

    b.

    Apertura e chiusura

    Lapertura elimina il picco, la chiusura riempie la valle; in

    entrambi i casi, le altre parti del profilo rimangono inalterate.

    Continuano a valere le seguenti propriet:

    , con m

    , con m

    Smoothing morfologico

    E possibile ottenere un operatore di smoothing morfologico eseguendo in successione apertura e chiusura:

    lapertura regolarizza la fusione dallalto, riducendo i picchi, e la chiusura dal basso, riempiendo le valli.

  • Gradiente morfologico

    E possibile ottenere un operatore morfologico di tipo passa alto, detto gradiente morfologico, eseguendo la

    sottrazione di dilatazione ed erosione:

    Trasformata Hat

    La trasformata Top-Hat definita come il residuo dellapertura:

    Lapertura elimina i picchi della funzione pi piccoli dellelemento

    strutturante, la differenza permette quindi di riportare solo tali

    picchi. Questa trasformata consente quindi di evidenziare e/o

    individuare i picchi della funzione di dimensione inferiore

    allelemento strutturante.

    Nel caso delle immagini, loperatore viene impiegato per

    evidenziare e/o individuare piccoli (rispetto allelemento

    strutturante) dettagli chiari.

  • Rappresentazione e descrizione delle immagini

    Riconoscimento mediante template matching Il termine template matching molto generico nellambito del pattern recognition, ma normalmente fa riferimento

    alla ricerca di un template T allinterno di unimmagine I, con lobiettivo di determinare se I contiene loggetto

    (match) e in quale posizione appare T.

    Si parla di global template matching se riguarda tutto loggetto e di local template matching se si cerca una

    caratteristica visuale, come un corner, un marchio, un particolare

    Ricerca di una sotto-immagine nota in unimmagine

    (template)

    Dato il template (un pattern di pixel), si verifica

    la sua presenza e leventuale posizione

    confrontando i valori dei pixel

    Diverse le misure per valutare il matching

    Se il template sovrapposto correttamente

    allimmagine, si avr un valore alto

    Il template T costituito da un oggetto rigido (normalmente una piccola immagine in formato raster) con dimensioni

    inferiori a quelle dellimmagine. T viene sovrapposto a I in tutte le possibili posizioni (rispetto agli assi x e y), ma, a

    seconda dellapplicazione, pu essere anche necessario ruotarlo e scalarlo (trasformazione affine).

    Si considerano, da ora, come le istanze di T ottenute dalle trasformazioni precedenti (spostamento in x e y,

    rotazione, scala); per ogni , il grado di similarit viene solitamente calcolato massimizzando la correlazione con la

    porzione di immagine I coperta da (avente la stessa dimensione di ).

    Sono possibili diverse scelte per la funzione da utilizzare per la stima della similarit.

    Es. SSD (Sum of Squared Differences)

    Possibili problemi:

    Se loggetto nellimmagine appare scalato, ruotato o distorto (prospettiva), si avr un matching errato

    Se loggetto parzialmente occluso, si avr un matching errato

    Se ci sono cambiamenti di scena (es.illuminazione), il matching potrebbe essere compromesso

    Rigid template matching Correlation based: Data unimmagine I e unistanza , una misura intuitiva di diversit tra le due la SSD

  • Correlation based: quando i termini sono costanti, minimizzare il primo termine corrisponde a

    massimizzare la cross correlation (CC) tra :

    Si rappresentano le immagini come vettori.

    Misure di correlazione normalizzate sono necessarie quando non sono costanti, per esempio:

    Ricerca dello stesso template su immagini diverse

    Istanze dello stesso template diverse tra loro per numero di pixel e luminosit media

    Normalized Sum of Squared Difference (NSSD): la normalizzazione rende NSSD indipendente dal contrasto di

    imagine e template.

    Normalized cross-correlation (NCC): Simile a NSSD, ma computazionalmente meno costosa.

    Zero mean Normalized Sum of Squared Difference (ZNSDD) e Zero mean Normalized Cross-Correlation (ZNCC)

    rispetto a NSSD e NCC sono invariant anche per pattern che, a parit di contrasto (stesso range dinamico),

    presentano luminosit di medie diverse.

  • Immagine 512x256 Template: 10 digit e 26 caratteri

    Per ogni digit e per ogni carattere, si considerano 3 istanze dovute a variazioni di

    scala (diverse distanze dalla telecamera). La scala intermedia ha risoluzione 14x20

    pixel.

    Ogni istanza ((10+26)x3=108 istanze) deve essere sovrapposta allimmagine in tutte le possibili posizioni e genera,

    quindi, ulteriori 512x256 istanze (trascurando i bordi). Si stimano circa 108x512x256=14.155.776 correlazioni,

    ciascuna richiedente almeno 14x20 moltiplicazioni e altrettante somme (nel caso di semplice CC). In totale circa

    moltiplicazioni e altrettante somme.

    Ci vorranno quindi 40 secondi per processare unimmagine, su una macchina capace di eseguire 200x106 operazioni

    intere al secondo.

    Il numero di operazioni richieste cresce linearmente con il numero di istanze e con il numero di pixel di I e T (quindi

    quadraticamente rispetto al lato di I e T). In pratica, per applicazioni real-time, lapproccio di base raramente

    applicabile.

    Per ridurre il costo computazionale, gestire cambiamenti di scala, orientamento, prospettiva, piccole variazione negli

    oggetti, rumore,etc, si pu:

    Adottare un approccio multi-risoluzione, a discapito della difficolt della strategia

    Usare solo informazioni sui contorni (quando possibile)

    Aumentare il livello di astrazione

  • Multi-risoluzione Si esegue la ricerca su una gerarchia crescente di risoluzioni e viene creata una piramide di risoluzione, sia per I che

    per T (ad esempio dimezzando la risoluzione ad ogni livello).

    La ricerca viene eseguita inizialmente sulla risoluzione pi bassa e, ai livelli successivi, vengono analizzate solo le

    istanze promettenti (la cui correlazione al livello inferiore eccedeva una data soglia).

    Consente di eseguire una scrematura ai livelli iniziali, di perfezionare la localizzazione e di filtrare false somiglianze ai

    livelli successivi. Esempio:

    A met risoluzione, le operazioni si riducono di 16 volte

    A un quarto di risoluzione, di 256 volte

    A di risoluzione, di (ma tipicamente non si pu operare a pi di 3-4 livelli per mancanza di dettagli).

    Matching fra contorni Oss. Il concetto classico di distanza non tiene conto della forma degli oggetti.

    Hausdorff Distance

    La distanza di Hausdorff la distanza massima di un insieme di punti rispetto ad un altro insieme; orientata, ovvero

    .

    Quindi, siano h(A,B) la distanza da A e B (forward) e h(B,A) la distanza da B ad A (backward), la distanza di Hausdorff

    generalizzata definita come: .

    Quando si parla di distanze, solitamente si intende quelle minime.

    Esempio: Se un punto X alla distanza D da un poligono P, si intende dire che X a distanza D dal punto pi vicino di

    P; lo stesso dicasi per due poligoni.

    Quindi, se D la funzione distanza, per punto a della curva A, trova un punto della curva B a distanza minima.

  • Matching/Riconoscimento

    Algoritmo di riconoscimento:

    Rappresentazione/descrizione del modello

    Identificazione di possibili candidati (ROI) nellimmagine

    (es. mediante segmentazione)

    Rappresentazione/descrizione dei candidati

    Confronto delle rappresentazioni/descrizioni dei modelli e

    dei candidati

    Decisione

    Distanze fra vettori di feature Per confrontare le descrizioni/rappresentazioni degli oggetti bisogna definire una distanza.

    Le propriet delle distanze sono:

    Auto-similarit

    Minimalit

    Simmetria

    Disuguaglianza triangolare

    Valutazione dei risultati In un sistema di localizzazione di oggetti, necessario misurare:

    False localizzazioni: percentuale di casi in cui il sistema localizza un oggetto non corretto (errori chiamate

    false)

    Mancate localizzazioni: percentuale di casi in cui il sistema non localizza nessun oggetto, sebbene questi sia

    presente (errori chiamati drop o miss)

    Precisione di localizzazione: indica quanto precisamente, in media, gli oggetti localizzati (accuracy)

    False e mancate localizzazioni sono spesso legate tra loro ed entrambe dovute ad alcuni parametri di tolleranza del

    sistema: se si rende il sistema meno tollerante ai falsi, in modo da evitare che vengano localizzati oggetti non

    esistenti, aumenta la probabilit di perdere anche qualche oggetto genuino e viceversa.

    Al variare della soglia, si hanno diverse percentuali di oggetti che sono erroneamente riconosciuti come appartenenti

    alla classe cercata (FAR) o erroneamente non riconosciuti (FRR), ovvero non assegnati alla classe cercata; variando la

    soglia si cambiano queste percentuali.

    Si ottiene cos una curva chiamata ROC.

    Es. riconoscimento volti

    Criteri di valutazione:

    Frazione di clienti (che dichiarano lidentit corretta) che vengono

    respinti dal sistema (False Rejection Rate, FRR)

    Frazione di impostori che vengono accettati dal sistema (False

    Acceptance Rate, FAR).

    Variando la soglia si pu abbassare un indice, facendo crescere lalto.

  • Rappresentazione e descrizione Lanalisi dellimmagine o degli oggetti dellimmagine serve per classificare le immagini (globalmente) e per misurare,

    localizzare, riconoscere gli oggetti nella scena.

    Idealmente, la descrizione dovrebbe essere:

    Sufficiente (per il raggiungimento dello scopo) es. omino stilizzato per ogni tipo di persona

    Di ampia applicabilit (capace di descrivere molte classi di oggetti) es. animale: tartaruga, gatto, coniglio

    Non ambigua (due oggetti distinti non possono avere la medesima rappresentazione)

    Unica (legame univoco fra oggetto distinto e descrizione)

    Stabile rispetto al rumore

    Invariante per rotazione, traslazione e scala

    Generativa (si pu ricostruire loggetto dalla sua rappresentazione)

    Conveniente (per gli scopi dellapplicazione)

    La rappresentazione di una regione pu essere basata su caratteristiche esterne (cio del boundary), su

    caratteristiche interne (cio legate ai pixel che la compongono) o su caratteristiche topologiche (cio legate a

    caratteristiche che rimangono inalterate quando una figura viene deformata a piacere).

    In generale, una rappresentazione esterna conveniente quando sono importanti le caratteristiche di forma della

    regione, mentre una interna pi adeguata se si ritengono importanti caratteristiche della superficie, come il colore

    o la tessitura.

    Spesso, pi tipi di caratteristiche sono importanti (per esempio nel retrieval di immagini basato sul contorno).

    Una volta scelte le caratteristiche da rappresentare, ne va effettuata una descrizione appropriata allo scopo finale

    della elaborazione, mediante appositi descrittori.

    Tre possibili approcci:

    Contorni

    Regioni

    Propriet topologiche

    Estrazione del contorno Il contorno C di una figura F il sottoinsieme di F i cui punti hanno distanza unitaria da .

    Per lestrazione del contorno di un oggetto (ovvero della sequenza ordinata di pixel che lo compongono), viene

    normalmente impiegata una semplice tecnica di inseguimento, che percorre il bordo sempre nella stessa direzione

    fino ad incontrare un pixel gi visitato.

    Chain Code

    Il chain code (o codice di Freeman) descrive esattamente oggetti binari.

    Il contorno considerato come un percorso 4 o 8-connesso.

    Dato un punto di inizio (x,y), si codifica la sequenza ordinata (come in figura)

    dei singoli passi di cui consiste il contorno.

    Forte compressione dei dati. Generativo. Non invariante. Molto sensibile al

    rumore.

    Per ridurre la sensibilit al rumore, si effettua un ricampionamento. Ma

    come si fa ad eliminare la dipendenza dal punto iniziale? E per renderlo

    invariante per rotazione?

    1) Contorno

    2) Campionamento

    3) Chain code 4-connesso

    4) Chain code 8-connesso

  • A partire dal chain code si possono calcolare area, perimetro e

    altre feature.

    Es. la lunghezza del contorno pari al numero di codici in e

    .

  • Approssimazione poligonale Poligono di minimo perimetro.

    Dato il boundary, lo si pensi contenuto in un insieme di celle

    concatenate; il poligono di minimo perimetro quello che si

    adatta meglio alla geometria della striscia di celle,

    appoggiandosi alle pareti delle celle e, in genere, seguendo

    il percorso pi breve.

    Gli algoritmi per lapprossimazione poligonale possono essere classificati in algoritmi di accrescimento, di

    scomposizione e misti.

    Es. Algoritmo di accrescimento

    1. Identificazione di un punto di inizio e specificazione dellerrore massimo H

    2. Accrescimento del tratto considerato, fino che questi contenuto in una finestra di altezza H

    3. Approssimazione del tratto considerato con un segmento

    4. Iterazione dei due passi precedenti

  • Es1. Algoritmo di scomposizione

    1. Dividere la curva in tratti compresi fra i vertici pi pronunciati

    2. Identificare i tratti che non soddisfano il criterio scelto (es. massimo errore, errore medio)

    3. Dividere i tratti che non soddisfano il criterio usando il punto pi lontano dalla retta approssimata e il vertice

    pi pronunciato

    4. Per ogni tratto, iterare i precedenti 2 punti

    5. Approssimazione dei tratti risultanti con segmenti

    Es. Algoritmo misto (split and merge)

    1. Applicazione di un algoritmo di scomposizione

    2. Soppressione dei vertici spuri

    Signature Riduce la dimensione dei dati i

    Invariante per traslazione

    Per ottenere linvarianza per rotazione si sceglie il punto di origine nel punto pi lontano dal centroide

    Diverse strategie per ottenere linvarianza per scala: lidea di normalizzare i valori nel range [0,1]

    La signature pu essere generata anche misurando altre caratteristiche.

  • Es. tangent-angle signature

    La signature permette di semplificare la descrizione delle forme passando da due a una dimensione.

    Dalla signature si possono estrarre informazioni ancora pi compatte in forma di istogramma o momenti di inerzia.

    Minimo insieme convesso Un insieme R (in questo caso, una regione) si dice convesse se, e solo se, per qualunque coppia appartenenti a

    R, il segmento che li unisce risulta completamente incluso in R.

    In un poligono convesso:

    Gli angoli interni sono tutti minori di 180

    Un segmento che unisce due vertici del poligono giace

    completamente dentro al poligono

    Convex hull (H): minimo insieme convesso che contiene loggetto S

    (H-S) , a volte, ricorsivamente analizzato per generare una rappresentazione di S

    H pu essere usato per segmentare il contorno; se questi non abbastanza regolare, si pu smussare

    preventivamente

    Esistono molti algoritmi

    Albero delle concavit Le singole parti possono essere descritte sia per contorni che per regioni.

    Trasformata distanza La trasformazione distanza (DT) di F rispetto a una replica di F in cui i pixel sono etichettati con il valore della

    loro distanza da , calcolata secondo una data metrica.

    Un massimo locale un pixel di F che, nella trasformata distanza di F, caratterizzato da una distanza p da

    maggiore o uguale della distanza da dei suoi vicini .

    E una funzione che, da unimmagine binaria, ne fornisce una a livelli di grigio; qui, i pixel di sfondo rimangono a 0 e

    quelli della figura vengono etichettati con la loro distanza dallo sfondo.

    La distanza dipende dal tipo di connessione che si assume per la figura (4 o 8 connessione).

  • Per quanto la distanza sia intrinsecamente uninformazione globale, essa pu essere calcolata attraverso la

    propagazione di uninformazione locale di distanza.

    Esistono algoritmi sequenziali ed algoritmi paralleli per il calcolo della trasformata distanza. Nel caso dei primi,

    definito un ordine di scansione, la trasformata in p calcolata in funzione della trasformata nei vicini gi scanditi e

    del valore non trasformato di p. Nel caso degli algoritmi paralleli, tutti i punti possono essere aggiornati

    simultaneamente.

    La trasformata distanza inversa (RDT) consente di costruire, a partire da un pixel etichettato con il valore di distanza

    d, il cerchio di diametro 2d-1, contenente tutti i pixel aventi distanza p minore di d.

    Es. con distanza Es. con distanza

    Mat (medial Axis traformation) La mat definita come segue:

    Un punto delloggetto appartiene allasse mediano (scheletro) se, detta d la distanza minima tra p e il

    contorno della figura, esistono almeno due punti del contorno situati a distanza d da p.

    La mat definita nei punti appartenenti allasse mediano e il suo valore dato dalla distanza minima del

    punto dal contorno

    Gli algoritmi pi diffusi si basano sulla valutazione della distanza fra i punti interni e il contorno della figura e

    lo sfondo

    La definizione della mat dipende, ovviamente, dal tipo di distanza utilizzata

    Lasse mediano pu anche essere definito come il luogo dei centri dei

    cerchi (almeno) bi-tangenti al contorno, interamente contenuti nella

    figura. I valori dei raggi di tali cerchi sono i valori della mat.

    A partire dalla mat, possibile ricostruire esattamente la forma

    delloggetto: la figura originaria ottenibile come lunione dei cerchi bi-

    tangenti centrati nei punti dellasse mediano aventi raggio pari al valore

    della mat.

    Questultima quindi uno schema di rappresentazione generativo, ovvero che consente di compattare i dati senza

    alcuna perdita di informazione.

    A partire da essa possibile derivare dei descrittori di forma. Per esempio, forme qualitativamente diverse possono

    essere distinte sulla base del numero di giunzioni (branch points) dellasse mediano.

  • La mat una rappresentazione non ambigua (due oggetti distinti non possono avere la medesima rappresentazione)

    e unica (ogni oggetto distinto ha una univoca descrizione).

    Poich anche piccole imperfezione del contorno hanno conseguenze molto visibili,

    molto usata per il controllo di qualit.

    Scheletrizzazione In numerose applicazioni si ha a che fare con immagini che contengono linee,

    oggetti sottili, oggetti di forma allungata

    In questi casi, la forma delloggetto rappresentabile efficacemente mediante una

    linea sottile localizzata approssimativamente in corrispondenza dellasse mediano

    (es. applicazioni di OCR, sistemi di riconoscimento dei caratteri).

    Propriet:

    Lo scheletro deve consistere di linee di spessore unitario

    Le propriet topologiche delloggetto devono rimanere immutate

    Lo scheletro deve coincidere il pi possibile con la linea mediana

    Deve essere poco sensibile al rumore e deve essere stabile

    Gli algoritmi di thinning (scheletrizzazione) operano iterativamente, cancellando i punti di bordo della regione, a

    condizione che tale cancellazione non rimuova punti terminali dello scheletro, non interrompa la connessione della

    regione e non ne causi erosione eccessiva.

    Si settano a 1 i pixel delloggetto e a 0 quelli dello sfondo; i valori di contorno sono a 1, con almeno un pixel di

    intorno a 0.

    Algoritmo di thinning:

    1. Applicare step 1 (si vedr dopo) al contorno

    2. Cancellare i pixel che soddisfano la condizione

    3. Appliccare step 2 (si vedr dopo) al contorno

    4. Cancellare i pixel che soddisfano la condizione

    5. Iterare finch non si hanno pi cancellazioni

    La cancellazione effettiva (1 0) di tutto i punti di contorno marcati per la cancellazione viene effettuata alla fine

    degli step, cio solo dopo che tutti i punti di contorno sono stati esaminati, per non modificare la struttura dati

    durante lesecuzione dellalgoritmo.

    Dato il pixel , N() il numero di vicini non nulli e T() il numero di transizioni 0-1 nella sequenza ordinata dei vicini

    .

    Step 1 Step 2

    a) a)

    b) b)

    c) c)

    d) d)

  • Le condizioni a e b dei due step sono uguali, le condizioni c, d, c e d servono ad erodere i contorni della regione

    senza modificare lo scheletro.

    La condizione a violata se il punto di contorno , ha tra gli 8-vicini, uno o sette pixel di valore 1. Se ne ha uno solo,

    gi un punto terminale di un segmento dello scheletro e, quindi, non deve essere cancellato; se ne ha sette, la sua

    cancellazione potrebbe comportare unerosione eccessiva della regione (se ne avesse otto sarebbe un punto interno,

    ma qui si considera solo il contorno).

    La condizione b violata quando appartiene a un segmento spesso un pixel, per cui la cancellazione

    provocherebbe la sconnessione tra parti dello scheletro.

    Lalgoritmo termina quando nessun nuovo punto pu essere cancellato.

    Non un algoritmo perfetto: alcuni pattern vengono completamente erosi e si creano spesso strutture spurie.

    Descrizione di regioni Di ampia applicabilit (descrizione di molte classi)

    Non ambigua (due oggetti distinti non possono avere la

    medesima rappresentazione)

    Unica (unica descrizione per ogni oggetto distinto)

    Abbastanza stabile rispetto al rumore

    Non invariante per rotazione, traslazione e scala

    Generativa (possibile successiva ricostruzione)

    Oneroso il confronto

    Proiezioni Un utile descrittore di tipo globale fornito dalle proiezioni, che forniscono la

    distribuzione dei pixel della regione secondo alcune direzioni.

    La proiezione verticale definita come il numero di pixel appartenenti alla regione in

    ogni colonna, quella orizzontale come il numero di pixel appartenenti alla regioni in

    ogni riga. E possibile definire anche proiezioni diagonali, che contano il numero di pixel

    appartenenti alla regione sulle diagonali.

    Le proiezioni orizzontali e verticali sono poi trattate come istogrammi.

  • Oltre a essere impiegate come descrittori globali, le proiezioni possono essere usate per separare regioni differenti.

    La presenza di un intervallo a valore nullo identifica,

    infatti, un gap tra regioni distinte.

    In una tecnica nota come signature parsing, le

    proiezioni verticali vengono usate per separare regioni

    orizzontali distinte (es.righe di un testo);

    successivamente si considerano, su ogni regione, le

    proiezioni orizzontali per separare regioni verticali

    distinte (es. caratteri di una riga di testo). Alternando

    queste due fasi in maniera ricorsiva possibile identificare singoli oggetti distribuiti orizzontalmente e verticalmente

    in una regione ampia, come caratteri e disegni in una pagina di testo.

    Descrizione di regioni Larea A, nel caso pi semplice, il numero di pixel della regione (valore relativo). Il perimetro P definito come la

    lunghezza del contorno di una regione.

    Esistono due modi per calcolare il perimetro:

    Numero di pixel di contorno

    Somma delle distanze euclidee tra un pixel di contorno e il successivo (se N il numero dei pixel di contorno,

    la distanza assume valore 1 per i pixel 4-vicini per quelli posti sulle diagonali

    principali

    Il frastagliamento f (a volte chiamato compattezza C) stima il grado di irregolarit della forma considerata,

    assumendo 1 quando la regione circolare.

    Il perimetro definito come la lunghezza della curva che congiunge i punti

    appartenenti al contorno interno delloggetto, ovvero quelli che

    appartengono alloggetto e almeno uno dei suoi vicini appartiene allo

    sfondo.

    Esistono quindi due possibili definizioni del contorno interno basate sulle due possibili definizioni di connessione.

    Quindi, una stima migliore del perimetro effettivo pu essere ottenuta dal valor medio delle due .

    Il pixel rappresenta, in realt, unarea unitaria, il contorno delloggetto pu, quindi, attraversarlo in modo diverso:

    Nel calcolo del perimetro, per evitare linseguimento del contorno, possibile assegnare ai pixel un peso,

    dipendente dalla configurazione dei vicini:

  • La compattezza, detta anche form factor, definita in base ad area e perimetro delloggetto; invariante rispetto a

    variazioni di scala.

    Baricentro:

    Rettangolarit: , dove A(R) larea del minimo rettangolo che contiene loggetto. Dipende

    dallorientamento della regione.

    Il diametro B di un contorno pu essere definito come .

    Il minimo rettangolo pu essere definito a partire dal diametro.

    Il rapporto dei lati del rettangolo una misura di eccentricit della forma e dice quanto

    loggetto allungato.

    Orientamento: angolo tra la direzione del diametro delloggetto e il verso positivo dellasse

    orizzontale.

    Numero di Eulero

    E=C-H, dove C il numero di componenti dellimmagine e H quello dei buchi

    Pu assumere valori negativi ed invariante a trasformazioni rubber sheet (propriet dellimmagine, ma se

    limmagine contiene un solo oggetto pu essere usata come caratteristica visuale dello stesso).

    S = pixel degli oggetti

    T= altri pixel

    Background = componente connessa che tocca i bordi dellimmagine

    Buco = componente connessa che non appartiene al background

    Lalgoritmo standard per il calcolo del numero di Eulero si basa sul confronto dellimmagine con dei pattern 2x2 di

    pixel, detti Bit Quads

    E possibile dimostrare che :

  • Si definisce momento mn-esimo dellimmagine la grandezza , con .

    La quantit m+n detta ordine del momento.

    Momento di ordine (p+q) di unimmagine g(x,y) di dimensioni MxN:

    Si consideri limmagine binaria

    Momento di ordine (m+n) di F(i,j):

    Se limmagine contiene un solo oggetto, i momenti sono propriet legate alla forma delloggetto; evidentemente,

    una volta che limmagine binaria stata etichettata, possibile calcolare i momenti di ciascun oggetto.

    Alcuni momenti corrispondono a propriet gi introdotte:

    Area

    Coordinata i del baricentro

    Coordinata j del baricentro

    Si pu dimostrare che linsieme infinito dei momenti determina univocamente la forma delloggetto. E possibile,

    quindi, utilizzare i momenti come descrittori di forma e distinguere oggetti aventi forma diversa sulla base di un

    sotto-insieme, opportunamente determinato, dellinsieme dei momenti.

    I momenti precedentemente definiti non sono invarianti rispetto alla traslazione (pi loggetto si allontana

    dallorigine, pi sono alti i valori dei momenti); possibile ottenere dei momenti invarianti rispetto alla traslazione,

    detti momenti centrali, considerando un sistema di riferimento baricentrico:

    I momenti centrali non sono invarianti rispetto alla rotazione. Possono essere usati come descrittori di forma solo se

    lorientamento degli oggetti fisso.

    Hu a mostrato che, partendo dai momenti centrali, possibile definire dei descrittori che risultano essere invarianti

    rispetto a traslazione, rotazione e scaling.

    Ha provato linvarianza dei suoi descrittori rispetto a traslazione, rotazione e scaling nel caso continuo.

    Nellapplicazione pratica su immagini digitali queste grandezze si dimostrano generalmente costanti per versioni

    modificate di una stessa forma. Le variazioni sono dovute agli inevitabili errori di discretizzazione.

    Viene prima definita una normalizzazione dei momenti centrali: , con

    I momenti assoluti invarianti di Hu sono sette:

  • Esempio per verificare linvarianza rispetto allo scaling dei momenti normalizzati :

    Spread (S) :rappresenta il momento dinerzia della regione intorno al suo centroide ed invariante per rotazione e

    traslazione

    Ellisse con assi : I valori sono invarianti per traslazione e rotazione in quanto dipendono dalla distribuzione

    spaziale della forma, ma non dalla sua posizione relativa agli assi dellimmagine.

    Orientamento: angolo tra lasse principale delloggetto e lasse x

    Thickness: calcolata come rapporto degli assi principali delloggetto, indica in modo approssimativo la forma di una

    regione connessa, quindi invariante per scala, rotazione e traslazione

    Minimo rettangolo orientato:

    1. Si calcola lasse maggiore

    2. Si calcola lasse minore (il suo ortogonale passante per il baricentro)

    3. Si calcolano i 4 punti di massima distanza dagli assi C1, C2, C3 e C4

    4. Si calcolano gli assi paralleli agli assi maggiori e minori passanti per C1C4 (l1,l2,w1,w2)

    5. Si calcolano i vertici del minimo rettangolo orientato V1,V2,V3 e V4 come intersezioni di tali assi

    Rettangolarit: R(O)=A(O)/A(RO)

    A(O) area delloggetto/Area del minimo rettangolo orientato

  • Region based

    Pi adatta per oggetti complessi composti da regioni disgiunte

    Contour based

    Preserva maggiormente la semantica

    Elaborazione delle immagini Con il termine feature si denotano caratteristiche estratte dai pattern che siano costanti (il pi possibile) rispetto alle

    possibili variazioni intra-classe.

    Uno dei maggiori dilemmi in applicazioni di PR (pattern recognition?) se linvarianza dei pattern debba essere

    gestita a livello di feature (attraverso la scelta e lestrazione di feature invarianti) o a livello di classificazione

    (attraverso la scelta e il progetto d