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 qN4(p), (p) è 8-adiacente 8 adiacente se qN8(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