Trasformata di Hough - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Trasformata di Hough

Description:

Title: Image classification from examples Author: francesca Last modified by: francesca Created Date: 11/10/2004 8:50:32 AM Document presentation format – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 26
Provided by: francesca
Category:

less

Transcript and Presenter's Notes

Title: Trasformata di Hough


1
Trasformata di Hough
2
Caratteristiche di immagini
  • In Visione Computazionale il termine feature di
    immagini si può riferire a due entità possibili
  • Una proprietà globale di unimmagine o una
    regione (es. il livello di grigio medio, la
    distribuzione di colore, ...)
  • Una parte dellimmagine con alcune proprietà
    speciali (es. una linea, unellisse,...).

3
Feature locali
  • Un passo importante dellelaborazione visiva
    consiste nellidentificare feature locali che
    siano utili ad interpretare limmagine
  • Le feature locali sono parti dellimmagine
    facilmente rilevabili, che possono
    corrispondere o meno a parti della scena
  • Abbiamo già visto
  • Edge
  • Corner e SIFT
  • Oggi parliamo della ricerca di feature per le
    quali esiste una descrizione analitica, tramite
    un semplice esempio
  • le linee

4
Rilevamento di linee
  • Le linee sono feature importanti perché
    permettono di definire analiticamente o
    approssimare molte forme
  • (in particolare di oggetti costruiti dalluomo)
  • Le linee possono essere rilevate in (almeno) due
    modi diversi
  • Tramite template matching, utilizzanto un insieme
    di maschere che modellino landamento locale di
    una retta
  • Tramite trasformata di Hough, ossia tramite un
    sistema di voting che segue una fase di edge
    detection

5
Template matching (velocemente)
  • IDEA cercare i picchi nella convoluzione tra
    limmagine e un insieme di maschere che modellano
    la struttura locale di rette.
  • Se una maschera M in un punto p ritorna una
    risposta superiore ad una soglia, diciamo che in
    quel punto passa un segmento di retta la cui
    orientazione e spessore è modellato da M

-1 -1 -1
2 2 2
-1 -1 -1
Esempio di maschera che definisce un segmento di
rettacon orientazione 0
6
Trasformata di Hough (HT)
  • IDEA CHIAVE
  • Mappare un problema difficile di riconoscimento
    di forme nel seguente problema (più facile)
  • rilevare i picchi nello spazio dei parametri
    della curva cercata (linee nel nostro caso)

7
HT per il rilevamento di rette
  • Una retta ymxnè identificata dalla coppia di
    parametri (m,n)
  • Nel caso delle rette lo spazio dei parametri è un
    piano (ho 2 soli parametri m e n)
  • Nello spazio dei parametri la retta è
    rappresentata da un punto

8
HT per il rilevamento di rette
n
y
.
m
x
9
HT per il rilevamento di rette
  • Al contrario, un punto nello spazio di partenza
    (x,y)rappresenta una linea nx(-m)y
    nello spazio dei parametri
  • Ogni punto di questa linea corrisponde ad una
    linea nello spazio di partenza che passa per il
    punto (x,y).

10
HT per il rilevamento di rette
n
.
y
(m1,n1)
.
(m2,n2)
.
(x,y)
.
(m3,n3)
m
x
11
HT per il rilevamento di rette
n
y
.
.
P2
Q
.
P1
m
x
Due punti appatenenti alla stessa retta r,
corrispondono nello spazio dei parametri a due
rette, la cui intersezione ci fornisce i
parametri (m,n) della retta r
12
HT per il rilevamento di rette
  • Quindi una retta nello spazio di partenza
    definita da N punti P1, ..., PN viene
    identificata come intersezione nello spazio dei
    parametri di N rette, ognuna corrispondente ad un
    Pi

n
.
y
P4
.
P3
Caso ideale...
.
.
Q
P2
.
P1
m
x
13
HT per il rilevamento di rette
  • In presenza di rumore non è detto che i Pi siano
    esattamente collineari
  • Quindi lintersezione può non essere unica

.
n
y
P4
.
P3
.
.
?
.
.
.
P2
.
P1
m
x
14
HT per il rilevamento di rette
  • Se si hanno abbastanza punti nello spazio di
    partenza, il problema può essere tradotto in un
    problema di detezione di picchi nello spazio dei
    parametri

n
.
y
P4
.
P3
.
!
.
P2
.
P1
m
x
15
Nel caso di immagini...
  • I punti dello spazio di partenza possono essere
    punti di edge

16
Un algoritmo semplice
  • Assumiamo che unimmagine contenga solo 1 retta,
    di parametri (m,n) costituita dai punti di edge
    P1, ..., PN
  • Dividiamo lo spazio dei parametri (m,n) in una
    griglia finita di celle e associamo ad ognuna di
    esse un contatore C(m,n)
  • Per ogni punto Pi(xi,yi)
  • calcoliamo la retta si nello spazio dei parametri
    che abbia (xi,yi) come coefficienti
  • Incrementiamo tutti i contatori relativi alla
    retta si nello spazio dei parametri
  • In assenza di rumore tutte le si passano per la
    cella (m,n) quindi C(m.n)N e tutte le altre
    celle hanno valori più piccoli (quali?)
  • La retta viene identificata trovando questo picco

17
Un algoritmo semplice
  • Due problemi
  • In caso di rumore non è detto che tutte le rette
    si incontrino nella stessa cella
  • Se ci sono più rette nellimmagine
  • Per questi motivi si individuano i massimi locali
    nello spazio dei parametri (fissando una
    soglia...)

18
Una piccola modifica
  • Lo spazio dei parametri è infinito
  • Nellimplementare lalgoritmo occorre fissare un
    valore minimo e massimo per n ed m Come?
  • Una semplificazione si può ottenere scegliendo
    una rappresentazione alternativa delle
    rette x cos? y sin? r

19
Una piccola modifica
  • Una semplificazione si può ottenere scegliendo
    una rappresentazione alternativa delle
    rette x cos? y sin? r

?
y
??0,p
.
r
?
r
x
20
Una piccola modifica
  • Considerando anche il fatto che i punti nello
    spazio di partenza appartengono ad unimmagine
    anche r appartiene ad un intervallo finito

?
y
??0,p
M
.
r
?
r
N
x
21
Schema algoritmo costruzione dello spazio dei
parametri
  • max_rsqrt((M2)(N2))
  • delta_rmax_r/(R-1)
  • dromdro/2
  • delta_tetapi/(T-1)
  • r0delta_rmax_r
  • teta0delta_tetapi
  • Azeros(R,T)
  • i,jfind(image1)
  • for h1T
  • r_h(icos(teta(h)))(jsin(teta(h)))
  • for y1size(i,1)
  • c,kmin(abs(r-r_h(y)))
  • if (cltdelta_r)
  • A(k,h)A(k,h)1
  • end
  • end
  • end

22
1. Edge detection
Materiale tratto da CVonline
23
2. Lo spazio dei parametri
24
3. Stima dei picchi e riproiezione sullo spazio
di partenza
Al variare della sogliatura.....
25
Generalizzazioni..
  • Possiamo utilizzare la stessa procedura per
    rilevare altre forme
  • Ad esempio nel caso delle circonferenze
  • In questo caso lo spazio dei parametri è 3D
    (a,b,r)
  • Per curve più complesse questo approccio diventa
    sempre meno pratico
Write a Comment
User Comments (0)
About PowerShow.com