Elaborazine delle immagini -...

55
Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Elaborazine delle immagini

Transcript of Elaborazine delle immagini -...

Page 1: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Corso di Robotica

Prof. Davide Brugali

Università degli Studi di Bergamo

Elaborazine delle immagini

Page 2: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali 2

Visione umana

Visione retinica

Pre-elaborazione del segnale

Compressione

Selezione della regione di interesse

Focalizzazione dell’attenzione

Visione corticale

Estrazione delle primitive visuali

(colori, forme, tessiture)

Visione intelligente

Associazione a modelli di conoscenza

Riconoscimento

Ragionamento visuale

Apprendimento

Page 3: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali 3

Visione artificiale Basso livello :Elaborazione immagini

Operazioni ripetitive sugli elementi base delle immagini.

Utilizzo di algoritmi ben formalizzati.

Filtraggio del rumore

Segmentazione

Medio livello: Analisi di immagini

Estrazione di primitive dalle immagini

Alto livello: Comprensione delle immagini

Riconoscimento forme

Riconoscimento movimenti

Processi cognitivi legati alla semantica delle immagini

Impiego di euristiche, soluzioni approssimate

Image Processing

Pattern Recognition

Artificial Intelligence

Immagini

Immagini

Oggetti

Conoscenza

Processi decisionali

Page 4: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali 4

Basso livello Obiettivi

Esaltare alcune caratteristiche visuali (image enhancement)

Recuperare le degradazioni dell’immagine dovute, ad esempio, al rumore (image restoration)

Generare una nuova immagine combinando un gruppo di altre immagini (image recostruction)

Effettuare una compressione eliminando le ridondanze (image coding)

Modifica del contenuto informativo (image processing): segmentazione, binarizzazione, filtraggio del movimento.

Page 5: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali 5

Medio livello

È l’insieme dei processi di estrazione delle informazioni simboliche dalle immagini preelaborate e le tecniche di analisi delle caratteristiche visuali degli oggetti presenti nelle stesse.

Etichettatura di oggetti

Estrazione di primitive visuali

Page 6: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali 6

Alto livello

Lo scopo di questo livello è quello di arrivare ad una forma di “comprensione” della scena osservata, come può essere il riconoscimento di oggetti e di relazioni spaziali tra gli oggetti.

Classificazione automatica (clustering)

Riconoscimento

Localizzazione

Problemi di interpretazione

Page 7: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Elaborazioni puntuali

UNIBG - Corso di Robotica - Prof. Brugali

Page 8: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Contrasto

Imax e Imin: intensità massima e minima

Più il contrasto è alto, più l’osservatore può notare i dettagli dell’immagine. È solo percezione dell’occhio umano in quanto la quantità di

informazione non cambia.

UNIBG - Corso di Robotica - Prof. Brugali

Contrasto I

max I

min

Imax

Imin

8

Page 9: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Contrasto

UNIBG - Corso di Robotica - Prof. Brugali 9

Page 10: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Operazioni di soglia

L’operazione di soglia serve per binarizzare un’immagine

È molto importante e spesso anche estremamente critica

10

Page 11: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Istogramma

L’ istogramma di un’immagine a livelli di grigio è un

vettore con un numero di elementi pari al numero dei livelli di grigio

Il valore di ciascun elemento è dato dal numero di pixel dell’immagine che assumono quello specifico livello di grigio

11

Page 12: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Esempi di istogrammi

12

Page 13: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Esempi di istogrammi

13

Page 14: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Utilità dell’istogramma L’istogramma fornisce informazioni utili per varie

operazioni, tra cui il miglioramento del contrasto e la binarizzazione tramite soglia

Poiché in generale diversi oggetti hanno livelli di grigio diversi, l’istogramma fornisce un primo semplicissimo metodo di classificazione

14

Page 15: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Contrast Stretching

Espansione dei livelli di grigio

serve per modificare in modo dinamico l’istogramma

15

Page 16: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Contrast Stretching

Esempio di aumento di contrasto

16

Page 17: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Equalizzazione

L’equalizzazione dell’istogramma è l’elaborazione che idealmente produce un’immagine con istogramma uniformemente distribuito su tutti i livelli di grigio.

Aumenta i contrasti vicino ai massimi e li diminuisce vicino ai minimi

17

Page 18: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Equalizzazione

Considera l’istogramma come la distribuzione di probabilità dei livelli di grigio. Procedimento:

1. Si calcola l’istogramma cumulativo

2. Si dividono i valori ottenuti al passo 1 per il numero di pixel

3. Si moltiplicano i valori ottenuti al passo 2 per il massimo livello di grigio e si arrotonda

4. Si mappano i livelli di grigio originali sui valori ottenuti al passo 3 con una corrispondenza 1 a 1

18

Page 19: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Equalizzazione

Esempio di equalizzazione

19

Page 20: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Esempi

Originale Con contrast stretching

Equalizzata

20

Page 21: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Elaborazioni locali

UNIBG - Corso di Robotica - Prof. Brugali

Page 22: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Rumore

Il rumore nelle immagini puo’ essere generato in qualsiasi punto della catena del segnale:

Rumore gaussiano (termico):

Speckle noise (elettrico): il rumore e’ proporzionale (correlato) all’immagine “sottostante”

Rumore “salt&pepper”: pixel “difettosi” nella camera, transienti anomali

immagine originale Gaussiano Speckle Salt & pepper

UNIBG - Corso di Robotica - Prof. Brugali 22

Page 23: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Convoluzione/filtraggio

• E’ possibile applicare i concetti della teoria dei sistemi

(deterministici e stocastici) con i dovuti accorgimenti matematici

• Come per i segnali 1D e’ possibile definire un prodotto di

convoluzione

1

0

1

0

,,,:N

r

M

s

srhsmrnfmnuhf

filtro h = FIR 7x7 immagine f

n

m

r

s

UNIBG - Corso di Robotica - Prof. Brugali 23

Page 24: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Image Convolution

0.5

0.5 0 0

1 0

0 0 0

kernel

8

Modified image data Local image data

6 1 4

1 8 1

5 3 10

* =

UNIBG - Corso di Robotica - Prof. Brugali 24

Page 25: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Linear filters: examples

0 0 0

0 1 0

0 0 0

Original Identical image

Source: D. Lowe

* =

UNIBG - Corso di Robotica - Prof. Brugali 25

Page 26: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Linear filters: examples

0 0 0

0 0 1

0 0 0

Original Shifted left

By 1 pixel

* =

Source: D. Lowe

UNIBG - Corso di Robotica - Prof. Brugali 26

Page 27: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Smoothing)

Avendo i pesi somma 1, la luminosità globale dell’immagine non cambia

Il filtro uniforma i valori nell’intorno riducendo le variazioni: è un filtro passa-basso

27

Page 28: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Smoothing)

Avendo i pesi somma 0, si ottiene la soppressione della componente continua dell’immagine.

E’ un filtro passa-alto perché non azzera i punti dove si hanno variazioni (alte frequenze)

28

Page 29: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Filtraggio del rumore)

Filtro Mediano: un pixel è sostituito dal valore mediano dei pixel nell’intorno

Mediano : il mediano M di un insieme di valori è tale che metà dei valori sono minori di M e metà dei valori sono maggiori di M

29

35

38

40

52

57

107

110

115

29

Page 30: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Filtraggio del rumore)

L’effetto del filtro mediano è di forzare i pixel ad assumere un valore uguale a quello di uno dei pixel circostanti, eliminando eventuali spike isolati, cioè la forma con cui di solito si manifesta il rumore

30

Page 31: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Sharpening)

I filtri di sharpening, complementari ai filtri di smoothing, sono utilizzati per aumentare il contrasto locale dell’immagine, in modo da arricchire i dettagli fini o per evidenziare i contorni degli oggetti.

Possono provocare l’aumento del rumore nell’immagine.

31

Page 32: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Sharpening)

I filtri di sharpening, complementari ai filtri di smoothing, sono utilizzati per aumentare il contrasto locale dell’immagine, in modo da arricchire i dettagli fini o per evidenziare i contorni degli oggetti.

Possono provocare l’aumento del rumore nell’immagine.

Per accrescere le differenze tra pixel vicini, una maschera deve avere il peso centrale di segno opposto a quelli periferici

La somma dei pesi delle maschere è 1, per evitare l’introduzione di bias di intensità

32

Page 33: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Sharpening)

33

Page 34: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (Sharpening)

Se la somma dei pesi è 0, anziché 1, viene rimossa la

componente continua.

34

Page 35: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (High-boost)

E’ un filtro che enfatizza le alte frequenze

Ne risulta un’immagine con un grado di edge crispening che dipende

dal fattore di moltiplicazione A.

w = 9A – 1

A >= 1

35

Page 36: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Convoluzione (High-boost)

36

Page 37: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

UNIBG - Corso di Robotica - Prof. Brugali

Complessità computazionale

Applicare una maschera 3 x 3 ad una immagine 512 x 512 richiede

9 moltiplicazioni e

8 addizioni in ogni posizione

per un totale di

2.359.296 moltiplicazioni e

2.097.152 addizioni

La richiesta di potenza computazionale ha portato allo sviluppo di hardware dedicato capace di operare a velocità di video

37

Page 38: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Edge Detection

38 UNIBG - Corso di Robotica - Prof. Brugali

Page 39: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Edge detection

Edges are places in the image with strong intensity contrast.

Since edges often occur at image locations representing object boundaries,

edge detection is extensively used in image segmentation when we want to

divide the image into areas corresponding to different objects.

Since edges consist of mainly high frequencies, we can, in theory, detect edges

by applying a highpass frequency filter in the Fourier domain or by

convolving the image with an appropriate kernel in the spatial domain.

In practice, edge detection is performed in the spatial domain, because it is

computationally less expensive and often yields better results.

UNIBG - Corso di Robotica - Prof. Brugali 39

Page 40: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Three steps to perform edge detection:

1. Noise reduction, where we try to suppress as much noise as possible,

without smoothing away the meaningful edges.

2. Edge enhancement, where we apply some kind of filter that

responds strongly at edges and weakly elsewhere, so that the edges may

be identified as local maxima in the filter’s output .

3. Edge localization, where we decide which of the local maxima

output by the filter are meaningful edges and which are caused by noise

UNIBG - Corso di Robotica - Prof. Brugali 40

Page 41: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Characterizing edges

• An edge is a place of rapid change in the image intensity function

image intensity function

(along horizontal scanline) first derivative

edges correspond to

extrema of derivative

UNIBG - Corso di Robotica - Prof. Brugali 41

Page 42: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Derivative filters

One image can be represented as a surface, with height corresponding to gray

level value. Brightness function depends on two variables co-ordinates in the

image plane

(gray level value z = f ( x,y))

Edges are pixels where brightness function changes abruptly. We can describe

changes of continuous functions using derivatives.

Brightness function depends on two variables co-ordinates in the image plane

and so operators describing edges are expressed using partial derivatives.

UNIBG - Corso di Robotica - Prof. Brugali 42

Page 43: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

The gradient points in the direction of most rapid increase

in intensity

Image gradient

The gradient of an image:

The gradient direction is given by • how does this relate to the direction of the edge?

The edge strength is given by the gradient magnitude

Source: Steve Seitz

UNIBG - Corso di Robotica - Prof. Brugali 43

Page 44: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Image gradient

UNIBG - Corso di Robotica - Prof. Brugali 44

Page 45: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Edge Tracking Procedure

for each edge pixel P

classify its pixel type using masks

case

1. isolated point : ignore it

2. start point : make a new segment

3. interior point : add to current segment

4. end point : add to current segment and finish it

5. junction or corner : add to incoming segment

finish incoming segment

make new outgoing segment(s)

junction

corner

UNIBG - Corso di Robotica - Prof. Brugali 45

Page 46: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Hough Transformation

UNIBG - Corso di Robotica - Prof. Brugali

Slides based on “Detecting Shapes in Images using the Hough Transform”,

2007 Texas Instruments Inc.

OpenCV

http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.html

Page 47: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

The Straight Line

bxmy

bxmy

bxmy

22

11

• For each point (x,y) in the line the following equation applies:

• Therefore:

(x1,y1)

(x2,y2)

bxmy

Page 48: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Multiple Lines over a single point

• Each pair (m,b) defines a distinct straight line containing

the point (x,y)

(x,y)

y=m1x+b1

y=m2x+b2

y=m3x+b3

y=m4x+b4

Page 49: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

The Parameter Plane

Each point in the (x,y) space(image plane) is mapped to a straight line in the (m.b) space

(parameter plane).

A straight line in the (x,y) space (image plane) is mapped to the intersection point of the

lines corresponding to its points, in the (m.b) space (parameter plane).

b =-mx1+y1

b =-mx2+y2

(x1,y1)

(x2,y2)

(x3,y3)

b =-mx3+y3

Page 50: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Dealing with digital pictures

A line formed by M (N) pixels in the image space will be mapped to the intersection point of M (N) lines in the parameters space, where each line corresponds to a pixel in the image space.

The number of lines intersecting in a single point in the parameter space represents the length of the original line in the image space.

Page 51: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

The Accumulator Concept

The (m.b) space (parameter plane) is subdivided in cells.

Each pixel (x,y) in the original image vote in the (m,b) space for each line passing through it.

The votes are summed in an Accumulator

UNIBG - Corso di Robotica - Prof. Brugali 51

Page 52: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Using Polar Coordinates

52 UNIBG - Corso di Robotica - Prof. Brugali

Page 53: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

The Motivation for Polar Coordinates

rx

rrx

00 sincos

x = r

r

Vertical lines cannot be mapped to the

(m,b) space, since:

Vertical lines can be described using

polar coordinates :

?

b

m

UNIBG - Corso di Robotica - Prof. Brugali 53

Page 54: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Hough Transform - The (r,θ) Space

(x1,y1)

(x2,y2)

(x3,y3)

r=x2cosθ+y2sinθ

r=x1cosθ+y1sinθ

r=x3cosθ+y3sinθ

(x4,y4)

r=x4cosθ+y4sinθ

• Hough Transform - Each point in the (x,y) space is mapped to a

sinusoid in the (r,θ) space.

• Sinusoids corresponding to collinear points in the (x,y) space

intersect at a common point in the (r,θ) space.

UNIBG - Corso di Robotica - Prof. Brugali 54

Page 55: Elaborazine delle immagini - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/16_ElaborazioneImmangini.pdf · Processi cognitivi legati alla semantica delle immagini ... (Sharpening)

Accumulators in the (r,θ) Plane

55 UNIBG - Corso di Robotica - Prof. Brugali