Sei sulla pagina 1di 20

SCUOLA POLITECNICA

Corso di Laurea in Ingegneria Ingegneria Informatica e delle Telecomunicazioni


Dipartimento dellinnovazione industriale e digitale

IMPLEMENTAZIONE DI UN ALGORITMO DI RILEVAZIONE


DI FORME ELLITTICHE IN IMMAGINI

TESI DI LAUREA DI RELATORE


ANDREA SCIBETTA DOTT.SSA LILIANA LO PRESTI

ANNO ACCADEMICO 2015


2016 - 2016
2017
1.Introduzione

La rilevazione della forma di oggetti da immagini pi o meno rumorose di grande


interesse in svariati ambiti, inclusi quello medico, chimico, meccanico ecc.
Lindividuazione di tali oggetti seguita dall'estrazione di caratteristiche utili allo studio di
fenomeni di interesse. Si consideri ad esempio lo studio delle soluzioni polimeriche,
un'applicazione di notevole importanza nel campo dell'Ingegneria Chimica il cui obiettivo
analizzare come la forma dei "nuclei" che si formano nelle soluzioni (come mostrato in
figura 1.a) evolvono nel tempo.
Lanalisi di posizione, dimensione ed evoluzione di tali nuclei, effettuata manualmente
(figura 1.b). Tuttavia tale procedura comporta degli errori dovuti ai limiti percettivi
dellocchio umano[1]. Inoltre, l'individuazione manuale dei nuclei richiede che un esperto
annoti ogni singola immagine e questo certamente dispendioso. In tale ambito, risulta di
interesse l'utilizzo di tecniche informatiche per l'individuazione automatica di tali forme.
Osservando le immagini in figura 1, si nota che i nuclei hanno una forma peculiare che li
caratterizza. Per tale motivo, in [1] la trasformata di Hough per i cerchi stata utilizzata
con successo per la rilevazione di queste forme. Tuttavia, osservandoli da vicino si nota
come questi siano molto pi simili ad ellissi che a circonferenze. E' ragionevole supporre
che un algoritmo di rilevazione delle ellissi potrebbe migliorare ulteriormente i risultati
ottenuti in [1]. Questa tesi discute l'implementazione di un algoritmo per la rilevazione
delle ellissi [2] ponendo l'accento su quelli che sono sia gli aspetti positivi della tecnica
adottata che i limiti, soprattutto dal punto di vista computazionale. Quello dello studio
delle soluzioni polimeriche solo uno dei possibili ambiti in cui la tecnica implementata
potrebbe essere utilizzata.

(a) Nuclei in soluzione polimerica (b) Annotazioni manuali dei nuclei


Figura 1: evoluzione nel tempo dei nuclei e annotazione manuale
(a) Rilevamento su monete

(b) Rilevamento su bicchieri

(c) Al variare dei parametri, l'algoritmo rileva dei falsi positivi in corrispondenza delle basi dei bicchieri.
Figura 2: Esempi pratici di rilevamento. In blu le ellissi rilevate.
In figura 2.a si mostrano i risultati dell'algoritmo implementato per la rilevazione di ellissi
su una immagine raffigurante delle monete. In figura 2.b si mostrano i risultati ottenuti su
immagini di bicchieri. In figura 2.c la stessa immagine precedente viene analizzata con
parametri diversi. Con tali parametri lalgoritmo non riesce a rilevare perfettamente le basi
dei bicchieri, in quanto le ellissi sono parzialmente occluse. Sia nel caso delle monete che
dei bicchieri, le forme in realt sono circolari ma, a causa di una deformazione prospettica,
appaiono come delle ellissi nelle immagini elaborate. Nell'algoritmo che si implementato,
il primo passo quello di elaborare le immagini in modo da mettere in evidenza i contorni
delle forme ellittiche. Successivamente si individuano ipotesi plausibili nello spazio dei
parametri delle ellissi. Quindi, attraverso una funzione che misura la bont dei parametri
delle ellissi trovate, si calcola un ranking delle ellissi individuate e si considerano solo le
migliori. Per poter testare la tecnica implementata, sono state messe a punto delle
simulazioni che consentissero di validare il metodo in varie configurazioni. Le prestazioni
dell'algoritmo sono state misurate considerando l'accuratezza con cui l'algoritmo in grado
di stimare i parametri delle ellissi.

2.Statodellarte

Quello della rilevazione di strutture circolari un argomento molto importante nel campo
dellelaborazione delle immagini, soprattutto nei campi medico e chimico vengono sempre
pi spesso richiesti metodi per rilevare tali strutture in maniera automatica ed efficiente e
di conseguenza molti autori si sono occupati del problema.
Nel lavoro di Maa [3], viene proposto un metodo in grado di identificare e misurare
automaticamente ed in tempo reale delle particelle in vari sistemi multifase: i risultati
estratti tramite il metodo proposto sono stati confrontati con una stima manuale degli
stessi. Altri autori (Iivarinen, 1997; Chauris, 2011; Lam & Yuen, 1996; Ballard, 1981;
Duda, 1972; Fornaciari & Prati, 2012; Cooke, 2010; Teutsch, 2006; Ito, 2011; Lee, 2008;
Zhang & Liu, 2005; Maa, 2012) si sono interessati alla tematica:
Iivarinen [4] cerca di mettere in corrispondenza delle caratteristiche geometriche con dei
dati memorizzati allinterno di un database per il riconoscimento di oggetti irregolari.
Chauris [5] invece, propone un metodo di rilevazione di strutture circolari basato sulla
trasformata Circlet.
Lam & Yuen, Duda & Ballard [6-8] si sono occupati di rilevare rispettivamente cerchi,
curve ed oggetti di forma arbitraria, utilizzando la trasformata di Hough [9-12].
Fornaciari & Prati [13] hanno elaborato una strategia di riduzione dei punti di bordo
necessari per identificare delle ellissi mentre Teutsch e i suoi collaboratori [14] si sono
occupati del tracking in tempo reale di forme ellittiche.
Infine, Lee [16] si occupato della rilevazione di ellissi sfruttando la trasformata
randomizzata di Hough (RHT) e la capacit di elaborazione parallela della GPU.
Il lavoro svolto si basa sullalgoritmo proposto da Ito, Ogawa e Nakano delluniversit di
Hiroshima [2].

3.Modellazionematematicadiunellisse

Unellisse si pu definire come:


Luogo dei punti in cui costante la somma delle distanze da due punti detti fuochi;
Sezione di cono;
Oggetto geometrico definito da cinque parametri: centro, angolo e assi.
In questa tesi, ci si riferir allultima definizione per spiegare la tecnica implementata. In
particolare:
Il centro dellellisse un punto di coordinate (x,y).
I due assi, tra di loro perpendicolari, si intersecano nel centro, e sono identificati
come valori numerici.
Langolo invece il coefficiente angolare della retta costruita come proiezione
dellasse maggiore, identificato anche questo da un valore numerico.
La figura 3 mostra graficamente il significato geometrico di ciascuno dei parametri
necessari alla definizione di una ellissi: C(cx, cy) individua il centro, a e b individuano gli
assi, individua langolo.

Figura 3: Rappresentazione grafica di una ellisse e dei corrispondenti parametri


Tramite questi cinque parametri si pu costruire unellisse utilizzando la formula:
(( x c x )cos ()+( yc y )sin())2 (( xc x )sin ()+( yc y )cos())2
+ =1
a2 b2
x2 y2
che una versione generalizzata della ben nota formula: + =1 con a>b sempre.
a2 b2
Questultima formula indica unellisse centrata nellorigine con assi orientati come gli assi
cartesiani di riferimento.

4.Algoritmoperlindividuazionediellissi

Come mostrato in figura 4.a, l'algoritmo in [2] esegue una successione di elaborazioni
dell'immagine in input al fine di determinare i parametri delle ellissi. Si pu vedere in
figura 4.b che lalgoritmo prima rileva P candidati per il centro, per ognuno di questi rileva
P candidati per langolo dellellisse, infine per ogni coppia centro-angolo rileva P candidati
per gli assi.
Infine, una fase di validazione consente di analizzare i P 3 candidati e stabilire quali siano
quelli che pi si avvicinano alle ellissi reali raffigurate nellimmagine iniziale.

a)Diagrammadiflussodellalgoritmo

b)Stimadeiparametridiunellisse.Figuraprovenienteda[2]
Figura4:Passidellalgoritmo
4.1Estrazionedeibordi

La figura 5 mostra unimmagine utilizzata per testare l'algoritmo. I bordi delle ellissi sono
tratteggiati per simulare il caso in cui tali bordi siano parzialmente occlusi. Le immagini
vengono elaborate per rilevare i contorni delle varie ellissi con il metodo di Canny
(figura 6).

Figura 5: immagine di partenza simulata Figura 6: bordi rilevati con Canny

Dai bordi ottenuti con Canny costruiamo un vettore di punti che indicheremo con x.
Il vettore x viene analizzato pi volte per rilevare le varie caratteristiche delle ellissi
allinterno delle immagini.

4.2Rilevazionedeicentri

Ogni coppia di punti in x "vota" il proprio punto medio come possibile centro di una
ellisse.
I voti di tutte le possibili coppie di punti in x vengono accumulati in una apposita matrice
(figura 7.a). Tale matrice avr valori pi alti (quindi pi vicini al bianco) in corrispondenza
dei punti pi votati, cio dei pi probabili centri.

(a) Matrice di accumulazione dei centri (b) Massimi estratti dalla precedente
Figura 7: Rilevamento dei centri. Queste immagini hanno valori tra 0 (nero) e 255 (bianco)
Per questo passaggio si utilizza un accorgimento: i due punti analizzati non devono essere
troppo vicini n troppo lontani. Nel primo caso il punto medio non potrebbe essere
sicuramente il centro di unellisse. Nel secondo i due punti potrebbero appartenere a ellissi
diverse.
Dopo di che da questa matrice vengono estratti P picchi massimi, dove P un parametro
fissato empiricamente. Questi P valori rappresentano i possibili centri delle ellissi
allinterno dellimmagine (figura 7.b).
Per lestrazione dei P picchi massimi stata utilizzata una tecnica simile in spirito a
nonmaxima suppression e che consiste nel ricavare il punto di massimo dall'immagine e
nel porne il relativo intorno a 0 . Per ottenere P picchi il procedimento ripetuto P volte.

4.3Rilevazionedegliangoli

Successivamente viene analizzato ulteriormente il vettore x e per coppie di punti si cerca


linclinazione delle ellissi nellimmagine.
Dato che linclinazione di unellisse uguale a quella di uno dei suoi assi, ogni coppia di
punti nel vettore x vota per il coefficiente angolare del segmento che li congiunge. Tali voti
sono accumulati in una matrice di dimensioni (,), dove varia tra 0 e 180 e varia tra 0
e la diagonale dellimmagine di partenza. Il valore massimo di stato scelto uguale alla
diagonale in quanto in coordinate polari rappresenta la distanza del punto dall'origine
(fissata nell'angolo in alto a sinistra). La distanza massima che un punto pu avere
dallorigine nella nostra immagine (cio dal pixel di coordinate [0,0]) esattamente la
diagonale.
Utilizzando la formula di una retta in coordinate polari:

=x cos + y sin

dove indica la distanza tra la retta e lorigine e langolo della normale a tale retta, viene
ricavata la seguente formula per ottenere i valori di :

y 2 y 1
=arctan ( ) .
x 2x 1
A questo punto calcoliamo con la seguente formula, ricavata da quella di una curva con
centro (xm,ym), cio il punto medio della coppia di punti analizzati:

=x mcos ()+ y msin() .

Da queste formule si calcolano gli indici dell'elemento della matrice di accumulazione


(mostrata in figura 8) da incrementare per considerare il voto della coppia di punti
analizzati.

Figura 8: matrice di accumulazione dei possibili angoli

Per ogni centro rilevato si costruisce un vettore di dimensione 180, in cui si memorizzano i
valori presi dalla matrice di accumulazione corrispondenti al rappresentato dalla riga e al
calcolato con la formula per il centro considerato:

=c xcos ()+c ysin () .

Il vettore cos ottenuto rappresenta i voti ricevuti da angoli compresi tra 0 e 180. Tale
vettore sar quindi analizzato per evidenziare P possibili candidati. Dovendo cercare
l'angolo che rappresenti l'inclinazione di uno degli assi dell'ellisse e sapendo che l'angolo
90 rappresenter l'angolo del secondo asse (ortogonale al primo per definizione),
l'algoritmo selezioner dal vettore gli elementi (angoli) con il numero maggiore di voti e
tali che anche l'angolo con posizione +90 (modulo 180) abbia ricevuto un numero di voti
superiori ad una soglia prefissata.

4.4Rilevazionedegliassi

Si scorre ancora il vettore x per ricavare i possibili assi delle ellissi. In questo passaggio il
vettore viene analizzato un punto alla volta anzich per coppie, inoltre viene letto anche il
vettore dei possibili centri e il vettore dei possibili angoli trovati precedentemente.
Per ogni elemento del vettore dei centri e per ogni elemento di quello degli angoli
corrispondente si costruisce una matrice di accumulazione per i possibili valori di a e b. In
particolare, per ogni punto del vettore x e per ogni possibile a (dal valore di soglia minimo
imposto durante il rilevamento dei centri a quello massimo) si applica la seguente formula
per ricavare b:


2 2
a ( (c x x) sin()+(c y y)cos( ))
b= 2 2
.
a ((c x x) cos ()+(c y y )sin( ))

Tale formula si pu facilmente ricavare da quella di unellisse generalizzata mostrata nel


paragrafo 3.
Dopo aver ricavato a e b si vota su una matrice di accumulazione quadrata che ha per
dimensione la diagonale dellimmagine di partenza (figura 9).

Figura 9: una delle matrici di accumulazione dei possibili assi

Da questa matrice di accumulazione si ricavano i P picchi massimi che rappresentano i


possibili assi delle ellissi per il centro e langolo considerati.
4.5Validazionedelleellissiindividuate

Dallimmagine di partenza bisogna costruire la mappa di distanze euclidee dellimmagine,


cio una matrice che contiene in ogni punto il valore della distanza euclidea dal pi vicino
punto di bordo rilevato (figura 10). Questa mappa, prodotta attraverso una nota tecnica
chiamata distance transform, servir a stabilire quali sono le migliori ellissi tra le ipotesi
individuate nello spazio dei parametri.
Bisogna poi scorrere i tre vettori che si sono ricavati, quello dei centri, quello degli angoli e
quello degli assi, e tracciare tutte le P3 possibili ellissi.
Ad ogni ellisse si associa uno score S pari alla somma delle distanze di ciascun punto
dell'ellisse dal punto di contorno pi vicino rilevato sull'immagine. Tale score viene
calcolato attraverso la matrice delle distanze Euclidee.
Se il valore di S si mantiene al di sotto di un valore limite stabilito empiricamente, cio
lellisse in analisi fa riferimento a unellisse reale i cui bordi sono stati ricavati
dallimmagine originale in maniera abbastanza netta, allora i parametri dellellisse rilevata
vengono memorizzati e questo rilevamento andato a buon fine.

Figura 10: mappa di distanza euclidea (immagine negata) Figura 11: ellissi rilevate

L'algoritmo [2] che si considerato in questa tesi non prevedeva il rilevamento di pi


ellissi nella stessa immagine. Per far s che lalgoritmo potesse rilevare pi forme, si
utilizzato un accorgimento: nel caso del rilevamento dei centri, quando si estrae un picco,
oltre al massimo viene azzerato un quadrato di valori che ha centro nel massimo. Questo
per far s che non vengano rilevati tanti picchi in un unico intorno, cosicch i centri trovati
non siano situati troppo vicini.
5.Risultati

Il metodo proposto stato testato in condizioni sperimentali diverse, per poterne analizzare
lefficacia.
La prima condizione sperimentale in cui lalgoritmo stato testato prevedeva luso di
unimmagine simulata e con una sola ellisse generata randomicamente.
Successivamente si passati a testare lalgoritmo aumentando il numero delle ellissi. Per
misurare lefficacia in questa fase si sono dovute effettuare una serie di modifiche: stato
necessario fare in modo che lalgoritmo scegliesse lellisse migliore, in termine di valore
dello score S, per ogni centro per cui vi era almeno unellisse al di sotto della soglia
stabilita. Dopo di che si cercata la migliore corrispondenza tra le ellissi rilevate per ogni
ellisse annotata.
Nellultima condizione sperimentale si aggiunto un rumore allimmagine di partenza e si
ripetuto il test fatto nella prima fase. Inoltre si fatto variare il rumore per misurare
lefficienza e lefficacia al crescere della difficolt.

5.1Primafase:unellisse

In questa prima fase si testato lalgoritmo su un campione di cinquanta immagini


simulate, tutte a sfondo nero e con una sola ellisse tracciata. Tale ellisse viene generata
randomicamente, ma i parametri necessari, cio centro, angolo e assi, vengono
memorizzati. Successivamente viene eseguito lalgoritmo e viene selezionata la migliore
ellisse rilevata, sulla base del valore dello score S, e viene confrontata con lellisse di
partenza.
La differenza tra le due ellissi viene evidenziata in due modi: vengono calcolate le distanze
tra i due centri, la differenza tra le dimensioni degli assi e la differenza tra gli angoli e
indicate; inoltre si calcola lindice di Jaccard, un valore che misura la similarit tra insiemi,
nel nostro caso tra due immagini. Per calcolare tale indice vengono tracciate ellisse
simulata ed ellisse stimata su due immagini a sfondo nero, dopo di che viene calcolato il
rapporto tra il numero di pixel appartenenti allintersezione e il numero di pixel
appartenenti allunione delle due immagini [16] [17]. In questa fase lalgoritmo ha rilevato
tutte le ellissi e si osservato che incrementando il valore di P i risultati migliorano (figura
12). Per i valori di P=6 si utilizzato un campione di 20 immagini per motivi
computazionali. I risultati sono mostrati nella tabella 1 a seguire.
a) Rilevamento con P=2. Indice di J.=0.976012 b) Rilevamento con P=4. Indice di J.=0.984123
Figura 12: Confronto tra il rilevamento della stessa ellisse durante la prima fase con diversi valori di P

Distanza Differenza Differenza Differenza


media media media media Indice
centri angoli assea asseb diJaccard
(pixel) (gradi) (pixel) (pixel)
Fase1 0 1.36 1.32 0.86 0.980403
(P=2)
Fase1 0 1.28 1.32 0.8 0.980747
(P=4)
Fase1 0 1.1 0.9 0.9 0.982107
(P=6)
Tabella 1: risultati della prima fase di testing.

5.2SecondaFase:piellissi
Nella seconda fase si testato lalgoritmo su un campione di quaranta immagini simulate,
stavolta per allinterno di ogni immagine stato generato un numero casuale di ellissi
(compreso tra due e cinque) e si utilizzato come parametro P=5. Si potuto osservare
che, in presenza di molteplici ellissi ravvicinate, la precisione del metodo nella stima delle
ellissi diminuisce e che aumenta il numero delle ellissi non rilevate (missing). In figura 13
vengono mostrate immagini delle ellissi simulate e, sovrapposte, delle ellissi stimate.
Come possibile osservare in figura 13.c e 13.d, la precisione dell'algoritmo diminuisce in
special modo in presenza di ellissi concentriche o con centri molto ravvicinati.
Distanza Differenza Differenza Differenza
media media media media Indice Numero
centri angoli assea asseb diJaccard mediodi
(pixel) (gradi) (pixel) (pixel) missing
Fase2 0.01875 4.11458 1.63958 0.966667 0.978929 0.275
Tabella 2: risultati della seconda fase di testing.
a) Indice di J. Medio=0.986158.

b) Indice di J. Medio=0.977312.
c) Indice di J. Medio=0.985164. Unellisse mancata.

d) Indice di J. Medio=0.979447. Due ellissi mancate.


Figura 13: Rilevamento di ellissi durante la fase 2. In nero le originali, in bianco quelle rilevate.
5.2TerzaFase:disturbocrescente

Si quindi proceduto ad analizzare le prestazioni dell'algoritmo in presenza di disturbo


gaussiano sovrapposto alle immagini simulate (figura 14.a). Il rumore gaussiano ha come
densit di probabilit una gaussiana, appunto. Ci si traduce nel fatto che i valori che pu
assumere tale disturbo si distribuiscono secondo una forma gaussiana.
Anche in questa fase si preso in analisi un campione di cinquanta immagini generate
randomicamente. Il valore del parametro P stato fissato a 2. I risultati, come prevedibile,
sono andati peggiorando allaumentare del disturbo, anche se si sono mantenuti pi che
accettabili anche con valori alti di deviazione della gaussiana.
Ci che invece risente particolarmente del disturbo sono i tempi di esecuzione
dellalgoritmo, che al crescere della deviazione rileva sempre pi punti di contorno da
mettere nel vettore x, come si pu osservare dalla figura 14.b. Questo significa analisi pi
lunghe ogni volta che bisogna scorrere tale vettore. Per ridurre il problema al minimo
stato introdotto un sistema che fa in modo che i tratti di contorno, cio sequenze di pixel
adiacenti, al di sotto di una certa lunghezza vengano scartati. Questo ha permesso di
applicare il metodo con valori anche piuttosto alti di deviazione, come mostra la figura
14.c. I risultati di questa fase di testing, al variare del rumore gaussiano, sono riportati in
tabella 3.

Distanza Differenza Differenza Differenza


media media media media Indice
centri angoli assea asseb diJaccard
(pixel) (gradi) (pixel) (pixel)
Fase3 0.02 1.2 1.36 0.98 0.978641
=3
Fase3 0.02 1.16 1.58 1.06 0.976798
=5
Fase3 0.02 1.16 1.64 1.14 0.976856
=7
Fase3 0.02 1.9 1.86 1.02 0.976745
=9
Tabella 3: risultati della terza fase di testing.
a) Immagine con disturbo aggiunto con =9

b) Bordi rilevati nellimmagine precedente

c) Ellisse migliore rilevata (in bianco)


Figura 14: Rilevamento di ellissi nella fase 3
6.Conclusioni

Questa tesi discute un metodo per la rilevazione di ellissi [2] in immagini rumorose.
L'algoritmo che si implementato stato testato in una variet di condizioni sperimentali
al fine di studiare l'influenza dei parametri che caratterizzano l'implementazione
dell'algoritmo. L'algoritmo stato testato su immagini simulate ma si mostrato che esso
pu rilevare ellissi anche in immagini reali, anche se in tale caso i risultati migliori sono
stati ottenuti dopo l'applicazione di un filtro bilaterale.
Lalgoritmo stato elaborato su immagini generate manualmente, ma si dimostrato
buono anche su immagini generata in modo randomico, mostrando di avere un missing rate
pressoch nullo in presenza di una sola ellisse e uno comunque molto basso in presenza di
pi ellissi.
Inoltre si osservato sperimentalmente che il metodo rileva piuttosto bene anche ellissi
parzialmente visibili, come mostrato nel paragrafo 4.
I limiti principali del metodo sono relativi alla complessit computazionale e
conseguentemente ai tempi di esecuzione. Bisogna calcolare P3 possibili ellissi, quindi
allaumentare di P inevitabilmente si ha un costo computazionale sempre pi elevato, e
laumento di P necessario se nellimmagine vogliamo rilevare molte ellissi.
Inoltre lalgoritmo ricorre spesso a cicli annidati per poter scorrere i diversi vettori, il che
lo rende computazionalmente molto costoso.
A causa di ci lalgoritmo non adatto a situazioni di rilevamento in immagini molto
rumorose o con un elevatissimo numero di ellissi, mentre si presta bene al rilevamento di
singole ellissi o oggetti di forma ellittica o circolare.
Riferimentibibliografici

[1] F. Rosselli Metodi di rilevazione di oggetti circolari in immagini con sfondo


rumoroso

[2] Y. Ito, K. Ogawa, and K. Nakano, "Fast Ellipse Detection


Algorithm Using Hough Transform on the GPU" in: 2011 Second International
Conference on Networking and Computing

[3] Sebastian Maa et al. Automated drop detection using image analysis for online
particle size monitoring in multiphase systems. In: Computers and Chemical
Engineering 45 (2012), pp. 2747

[4] J. livarinen et al. Comparison of Combined Shape Descriptors for Irregular


Objects. In: Proceedings of the 8th British Machine Vision Conference. Essex,
U.K., 1997, pp. 430-439

[5] H. Chauris et al. The circlet transform: A robust tool for detecting features with
circular shapes. In: Elsevier 37.3 (2011=, pp. 331-342.

[6] W. Lam, S. Yuen Efficient technique for circle detection using hypothesis filtering
and Hough transform. In: Vision, Image and Signal Processing, IEE Proceedings
143.5 (1996), pp. 292-300.

[7] R. Duda, P. Hart Use of the Hough Transformation to detect lines and curves in
pictures. In: Comm. Of the ACM 15.1 (1972), pp. 11-15

[8] D.H. Ballard. Generalizing the Hough transform to detect arbitrary shapes. In:
Elsevier 13.2 (1981), pp. 111-122.

[9] Rafael C. Gonzalez, Richard E. Woods. Global Processing via the Hough
transform. In: Digital Image Process. Prentice-Hall, Inc. Upper Saddle River, New
Jersey, 2002, pp. 587-591.
[10] F. V. Leavers. Wich Hough transform? In: Computer Vision, Graphics and
ImageProcess 58.2 (1993), pp. 250-264.

[11] H. Maitre. A review on Hough transform. In: Traitement Signal 2. GRETSI, Saint
Martin dHeres, France, 1985, pp. 305-317.

[12] J. Illingworth, J. Kittler. A survey of Hough Transform. In: Computer Vision,


Graphics and ImageProcess 44.1 (1988), pp. 87-116.

[13] M. Fornaciari, A. Prati. Very fast ellipse detection for embedded vision
applications. In: Distributed Smart Cameras (ICDSC), 2012 Sixth International
Conference on. Hong Kong, 2012, pp. 1-6.

[14] C. Teutsch et al. Real-time detection of elliptic shapes for automated object
recognition and object tracking. In: Conference on Machine Vision Applications in
industrial Inspection. San Jose California, 2006.

[15] K. Lee et al. Very fast ellipse detection using gpu-based rht. In: ICPR. IEEE,
2008, pp. 1-4.

[16] Paul Jaccard tude comparative de la distribution florale dans une portion des
Alpes et des Jura. In: Bulletin de la Socit Vaudoise des Sciences Naturelles 37,
(1901) 547579.

[17] Levandowsky, Michael, and David Winter. "Distance between sets." Nature
234.5323 (1971): 34-35.