...

Introduzione alla Visione Artificiale - Imagelab

by user

on
Category: Documents
29

views

Report

Comments

Transcript

Introduzione alla Visione Artificiale - Imagelab
Università degli Studi di Modena e Reggio Emilia
Facoltà di Ingegneria – Sede di Reggio Emilia
Corso di Laurea Specialistica in Ingegneria Meccatronica
Corso di Laurea Specialistica in Ingegneria Gestionale
C
Corso
di
VISIONE ARTIFICIALE ED
ELABORAZIONE DEI DATI MULTIMEDIALI
Capitolo 1: Introduzione alla Visione Artificiale
Andrea Prati
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Informazioni sul corso
Docente: Andrea Prati
• Come contattarmi:
 Telefono: 0522/522232 (Reggio Emilia)
059/2056274 (Modena)
 Ufficio: Stanza RE-09-01-008, primo piano – pad. Morselli
 Email: [email protected]
p @
• Durata del corso: circa 30 ore
• Orari di lezione:
lunedì 9
9-13
13 (lab. Informatica B - Tamburini)
• Ricevimento:
su appuntamento via email
• Modalità d’esame:
d esame: tesina-approfondimento o progetto in Matlab + orale
CAPITOLO 1 – Introduzione alla Visione Artificiale
2
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Informazioni sul corso
• Materiale didattico:
 Dispense a cura del docente
 TESTO DI RIFERIMENTO:
 R.C. Gonzalez, R.E. Woods: "Digital Image Processing", 2nd Ed., Prentice Hall
International Editions, 2001.
 ALTRI TESTI CONSIGLIATI:
 R.C.
Gonzalez, R.E. Woods, S.L. Eddins: "Digital Image Processing Using MATLAB",
Prentice Hall, 2004
 C.M. Bishop: “Pattern Recognition and Machine Learning”, Springer-Verlag, 2006
 E.R. Davies: "Machine Vision: Theory, Algorithms, Practicalities“, Morgan Kaufmann Publishers, 2005
 R. Hartley, A. Zisserman: “Multiple View Geometry in Computer Vision”, Cambridge University Press, 2003
 MATLAB Image Processing Toolbox – manuale
 M.
M S
Sonka,
k V
V. Hl
Hlavac, R.
R Boyle
B l "Image
"I
Processing
P
i analysis
l i and
d machine
hi vision“,
i i “ PWS pubs,
b 2
2nd
d ed.,
d 1999
 R. M. Haralick, L.G. Shapiro: "Computer and Robot Vision", Vol I e II, Addison-Wesley Pub. Co., Mass.,
USA, 1992 NEW EDITION
 D.A. Forsyth, J. Ponce: “Computer Vision: A Modern Approach”, Prentice Hall, 2003
 Yao Wang, Jörn Ostermann, Ya-Qin Zhang, "Video Processing and Communications", Prentice Hall, 2005
• Sito web su www.ingre.unimore.it per:
- news, appelli d’esame, informazioni varie, …
- dispense in PDF protette da password, testi tesine
CAPITOLO 1 – Introduzione alla Visione Artificiale
3
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Cenni storici
1920: primo sistema di codifica immagini a 5 livelli di grigio per
trasmissioni transatlantiche (Bartlane)
1960: primo computer sufficientemente potente per fare image
processing
1964: elaborazione immagini lunari (JPL
(JPL, Pasadena
Pasadena, USA)
Anni ’70: diffusione visione in ambito medico e astronomico (SAR)
CAPITOLO 1 – Introduzione alla Visione Artificiale
4
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Tassonomia degli approcci alla visione
Esistono due tipi di classificazione:
• image processing (IP)/computer vision (CV)/image analysis (IA):
•
IP: disciplina in cui sia input che output sono immagini
•
CV: disciplina
p
in cui si riproduce
p
la visione umana
•
IA: via di mezzo tra IP e CV, input=immagine, output: classe o
caratteristica
• visione di basso/medio/alto livello:
•
basso (miglioramento immagine, aumento contrasto, …):
input=immagini, output=immagini
•
medio (segmentazione, riconoscimento di forme, …):
i
input=immagini,
t i
i i output=attributi
t t tt ib ti
•
alto (analisi di immagini, comprensione di scene, …):
input=immagini
input
immagini, output
output=concetti
concetti
CAPITOLO 1 – Introduzione alla Visione Artificiale
5
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Applicazioni della visione artificiale
• Medical imaging
• Elaborazioni immagini SAR
• Ispezione industriale
• Video sorveglianza
• Guida
G id automatica
t
ti di robot
b t
• OCR (Optical Character Recognition)
• Applicazioni multimediali
• Analisi e restauro di immagini artistiche
Classificabili anche sulla base del tipo di immagini
CAPITOLO 1 – Introduzione alla Visione Artificiale
6
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Applicazioni della visione artificiale
CAPITOLO 1 – Introduzione alla Visione Artificiale
7
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Applicazioni della visione artificiale
• Medical imaging
• Elaborazioni immagini SAR
• Ispezione industriale
• Video sorveglianza
CAPITOLO 1 – Introduzione alla Visione Artificiale
8
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Principali passi della visione artificiale
1. Acquisizione immagini/video (cap. 1)
2 Miglioramento
2.
Mi li
t immagine
i
i (cap.
(
2)
3. Analisi del colore (cap. 3)
4. Compressione immagini e video (cap. 9)
5 Morfologia (cap
5.
(cap. 4)
6. Segmentazione di immagini (cap. 5)
7. Rappresentazione e descrizione di regioni (cap. 6)
8 Riconoscimento di forme ed oggetti (cap.
8.
(cap 7)
9. Visualizzazione (computer graphics e display) (non
trattato)
CAPITOLO 1 – Introduzione alla Visione Artificiale
9
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Componenti di un sistema di visione artificiale
•
Computer/elaboratore
•
Di l /di
Display/dispositivo
iti di visualizzazione
i
li
i
•
Dispositivo di memorizzazione di massa
•
Hardware specializzato (DSP, FPGA, multimedia
processors)
•
Software di image processing
•
S
Sensori
i di acquisizione
i i i
(telecamere)
(t l
)
•
Stampanti
•
…
CAPITOLO 1 – Introduzione alla Visione Artificiale
10
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Visione Umana
L’occhio è racchiuso da tre membrane:
• cornea/sclera: membrane spesse più esterne,
esterne trasparente (cornea) o
opaca (sclera)
• coroide: subito sotto la sclera è p
piena di capillari
p
che nutrono il bulbo
oculare
• retina: contiene i ricettori della luce
Iride e pupilla regolano la quantità di luce che colpisce la retina
CAPITOLO 1 – Introduzione alla Visione Artificiale
11
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Visione binoculare
Campo visivo monoculare: 160 gradi
(orizz.) X 175 gradi (vert.)
Campo visivo binoculare: 200 gradi
(orizz.) X 135 grazi (vert.)
La visione binoculare permette la
stima della distanza
(terza dimensione)
CAPITOLO 1 – Introduzione alla Visione Artificiale
12
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Coni e bastoncelli
La superficie della retina è costituita da ricettori di luce:
• coni (cones): 6-7 milioni, nella fovea (centro della retina); molto sensibili al
colore; utilizzati per percepire i dettagli (1 cone=1 nervo); visione fotopica
• bastoncelli (rods): 75-150 milioni, distributi sulla retina; un nervo per gruppi
di bastoncelli; danno visione generale, senza dettagli; non usate per
percezione colore, usati per visione con scarsa illuminazione; visione
scototipica
NB: Oggetti ben colorati di giorni diventano desaturati di notte perché
percepiti solo dai bastoncelli.
CAPITOLO 1 – Introduzione alla Visione Artificiale
13
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Densità coni e bastoncelli
La distribuzione dei ricettori sulla retina è radialmente simmetrica rispetto
alla fovea. Esiste un blind spot in corrispondenza del nervo ottico.
CAPITOLO 1 – Introduzione alla Visione Artificiale
14
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Sensitività dei ricettori
Ci sono tre tipi di coni: uno sensibile alla luce “rossa” (S), uno alla luce
“verde” (M) e uno alla luce “blu” (L), con proporzioni 65%, 33%, 2%.
Ogni
g tipo
p di cono ha un risposta
p
diversa alle varie lunghezze
g
d’onda ed è
eccitabile solo se presente un valore minimo di luminosità.
CAPITOLO 1 – Introduzione alla Visione Artificiale
15
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Formazione immagine
COR
ROIDE
conii e b
bastoncelli
t
lli
LUCE
La superficie della retina è costituita da ricettori di luce:
Il cervello “raddrizza”
l’immagine
distanza focale (14÷17
(14 17 mm)
CAPITOLO 1 – Introduzione alla Visione Artificiale
16
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Visione umana: percezione
La percezione avviene quando i ricettori vengono eccitati e trasformano
l’energia radiante in impulsi elettrici decodificati dal cervello.
Il processo completo
l t è per gran parte
t ancora iincompreso.
CAPITOLO 1 – Introduzione alla Visione Artificiale
17
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Fenomeno del contrasto simultaneo
La luminosità percepita non dipende solo dall’intensità luminosa emessa
CAPITOLO 1 – Introduzione alla Visione Artificiale
18
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Fenomeno del contrasto simultaneo
Altro esempio: quale parte della barra è più scura
CAPITOLO 1 – Introduzione alla Visione Artificiale
19
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Effetti ottici
CAPITOLO 1 – Introduzione alla Visione Artificiale
20
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Effetti ottici
CAPITOLO 1 – Introduzione alla Visione Artificiale
21
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Effetti ottici
CAPITOLO 1 – Introduzione alla Visione Artificiale
22
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Entità coinvolte nel processo di formazione dell’immagine
illuminante a
2900 K (bulbo)
CAPITOLO 1 – Introduzione alla Visione Artificiale
illuminante a
6500 K (sole)
23
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Formazione dell’immagine
“Un’immagine generata da un processo fisico ha valori proporzionali
all’energia irradiata dalla sorgente fisica di illuminazione”
La funzione f(x,y) è costituita da due componenti:
• la luminosità i(x,y): quantità della sorgente luminosa incidente la scena
• la reflettanza r(x,y): quantitià della sorgente luminosa riflessa dagli
oggetti
f( ) = i(x,y)
f(x,y)
i( ) r(x,y)
( )
La luminosità dipende dalla sorgente luminosa stessa, mentre la
reflettanza dagli oggetti presenti nella scena
scena.
Tipici valori:
• luminosità:
l i
ità 90000 llumen/m
/ 2 (sole),
( l ) 10000 llm/m
/ 2 (nuvoloso),
(
l
) 0
0.1
1 llm/m
/ 2
(luna piena a notte senza nubi), 1000 lm/m2 (ufficio)
• reflettanza: 0
0.01
01 (velluto nero)
nero), 0
0.9
9 (metallo argentato)
argentato), 0
0.93
93 (neve)
CAPITOLO 1 – Introduzione alla Visione Artificiale
24
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Dispositivi di acquisizione
L’energia irradiata è trasformata in un segnale elettrico da un materiale
foto-sensibile. Esistono principalmente tre tipologie di sensori di
acquisizione:
• singolo sensore: es. fotodiodo, combinato con moto meccanico per
ottenere immagine
g
2D
• sensore lineare: es. scanner (riga di più sensori singoli), moto per
ottenere immagine 2D, montati in anello per TAC, MRI e PET
• sensore a matrice: es. fotocamere e telecamere digitali (matrice di
sensori CCD – charge-coupled device), risposta proporzionale
all’integrale
all
integrale dell’energia
dell energia ricevuta
ricevuta, importanza del tempo di esposizione
CAPITOLO 1 – Introduzione alla Visione Artificiale
25
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Campionatura e quantizzazione
Qualunque sia il sensore, il suo output è un segnale continuo in tensione.
Per creare un’immagine digitale, il segnale deve essere campionato sia
in senso spaziale che come valore
valore. Sono quindi necessari due processi:
• campionatura: discretizza lo spazio in coordinate x e y
• quantizzazione: discretizza il valore in un certo numero di livelli di
grigio/vaori
campionatura
CAPITOLO 1 – Introduzione alla Visione Artificiale
quantizzazione
26
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Cos’è un’immagine digitale
Un’immagine digitale può essere vista come una funzione bidimensionale f(x,y), dove f rappresenta l’intensità o livello di grigio
dell’immagine
dell
immagine in quel punto: 0 rappresenta il nero,
nero 255 il bianco
f=95
f=204
f 12
f=12
Un’immagine
U
’i
i è quindi
i di una matrice
i di elementi
l
i chiamati
hi
i pixels
i l (picture
( i
elements).
CAPITOLO 1 – Introduzione alla Visione Artificiale
27
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Funzioni di base di MATLAB IPT
Durante questo corso useremo il toolbox Image Processing (IPT) di
Matlab per poter provare le varie tecniche di visione artificiale. MATLAB
IPT verrà anche usato nel laboratorio e per i progetti
progetti.
Supporremo che i fondamenti di MATLAB siano noti.
IPT permette di caricare immagini da file con la funzione
imread(‘filename’)che permette di leggere .jpg, .tif, .gif, .bmp, .png
Es.: f
f=imread(‘peppers.bmp’);
imread( peppers.bmp );
Carica in f l’immagine come matrice di valori interi tra 0 e 255.
Altri comandi:
• imshow(f) imshow(f,G)
• pixval
imshow(f,[20 120])
visualizza l’immagine
attiva un cursore muovibile con il mouse per ottenere il valore di un pixel
• imwrite(f,’filename’)
imwrite(f,’filename.jpg’,’quality’,q)
• K=imfinfo(‘filename’) mette in K un struttura con le informazioni sull’immagine.
Ad es. K.width,
, K.height,
g , K.bitdepth,
p , K.filesize,
, …
CAPITOLO 1 – Introduzione alla Visione Artificiale
28
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Risoluzione spaziale e risoluzione radiometrica
Il numero di campioni MxN dell’immagine definiscono la risoluzione
spaziale che dipende dall’applicazione e dal dispositivo di acquisizione.
16x16
32x32
64x64
128x128
Il numero di livelli di grigio k con cui si
quantizza il segnale definiscono la
risoluzione radiometrica. (256-64-16-2)
256x256
CAPITOLO 1 – Introduzione alla Visione Artificiale
29
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Metodi di interpolazione
Nel caso di immagini digitali, l’operazione di zoom (campionamento)
consiste in due passi: creazione di una nuova locazione di pixel e
ll’assegnamento
assegnamento di un livello di grigio alla locazione
locazione.
Es: immagine 500x500 trasformata in 750x750. Siccome ad una
locazione nell’imm. destinazione corrisponde
p
“meno di un p
pixel” si deve
scegliere che livello di grigio assegnargli:
• interpolazione “nearest neighbour”: valore del più vicino
• interpolazione bilineare: 4 px vicini con interpolazione bilineare
• interpolazione bicubica
CAPITOLO 1 – Introduzione alla Visione Artificiale
30
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
imresize
Cambia la risoluzione utilizzando uno specifico metodo di interpolazione
Y=imresize(X,n)
se n>1 ingrandisce, se 0<n<1 riduce
Y=imresize(X,[100 150])
trasforma l’immagine a 100x150 (se rapporto diverso, distorce).
Y=imresize(X,n,method)
dove method può essere ‘nearest’ (default), ‘bilinear’ o ‘bicubic’
Quando si esegue una riduzione e si sceglie un metodo bilineare o bicubico,
bicubico imresize
applica anche un filtro passa basso prima dell’interpolazione per ridurre l’aliasing.
CAPITOLO 1 – Introduzione alla Visione Artificiale
64x64 nearest
64x64 bicubic
31
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Relazioni tra pixel
Esistono delle relazioni di base tra pixel in un’immagine:
• intorno di un pixel: 4-intorno di p N4(p) con coordinate (x,y) sono i pixel
di coordinate (x+1,y), (x,y+1), (x,y-1), (x-1,y); 8-intorno N8(p) con anche i
4 diagonali
• adiacenza: un pixel q è 4-adiacente
4 adiacente a p se qN4(p),
(p) è 8-adiacente
8 adiacente se
qN8(p)
• connettività: due pixel si dicono connessi, se sono adiacenti e se
soddisfano un criterio di similarità del livello di grigio
• regioni: si definisce regione R un sottoinsieme di pixel dell’immagine
tra loro connessi
• contorni: il contorno di una regione è l’insieme di pixel della regione R
che
h h
hanno uno o più
iù pixel
i l adiacenti
di
ti che
h non appartengono
t
aR
CAPITOLO 1 – Introduzione alla Visione Artificiale
32
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Distanza tra pixel
Nelle immagini digitali si usano principalmente 3 distanze tra pixel:
• distanza city-block (o Manhattan o L1): D4(p,q)=|x-s|+|y-t|
• distanza chessboard:
D8(p,q)
(p,q)=max(|x-s|,|y-t|)
max(|x s|,|y t|)
• distanza
di t
Euclidea:
E lid
De(p,q)=[(x-s)
( ) [( )2+(y-t)
+( t)2]1/2
CAPITOLO 1 – Introduzione alla Visione Artificiale
33
VISIONE ARTIFICIALE ED ELABORAZIONE DEI DATI MULTIMEDIALI – Andrea Prati
Cos’è un video digitale
Un video digitale è una sequenza temporale di immagini (frame). Nella
sua versione non compressa, viene chiamato raw video e lo si può
vedere come una funzione f(x,y,t).
f(x y t)
Oltre alla risoluzione spaziale e radiometrica, nei video entra in gioco
anche la risoluzione temporale,
p
, cioè il numero di frame inseriti nel video
nell’unità di tempo. Questo viene chiamato frame rate. Gli standard
analogici più diffusi con il PAL/SECAM (in Europa) a 25 fps (frame per
second) e l’NTSC
l NTSC (USA e Giappone) a 30 fps.
Di solito i video, per la gran quantità di dati, sono compressi. Vedremo
più avanti nel corso i metodi di compressione utilizzati e le loro
caratteristiche.
MATLAB non permette una gestione agevole dei video!!
CAPITOLO 1 – Introduzione alla Visione Artificiale
34
Fly UP