L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012...

47
L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei [email protected]

Transcript of L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012...

Page 1: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

L1 Formato immagini, video e sistemi di

acquisizioneCorso di Visione Artificiale

A.A. 2011/2012Ing. Luca Mazzei

[email protected]

Page 2: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 2AA 2009/2010

Argomenti

Formati di file per immagini– Formati raster: PNM, TIFF, BMP, GIF, PNG,

JPEG– Formati vettoriali: SVG– Formati misti: PostScript, PDF, AI

Formati di file per video

Page 3: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 3

Formati raster

AA 2009/2010

Page 4: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 4

Formati raster

Header– Formato– Dimensioni (WxHxD)– Colore (spazio e riferimenti colorimetrici)– Compressione o meno– Altre informazioni (Autore, TimeStamp, …)

Bitmap– Valori numerici delle intensità luminose dei punti.– Codifica fortemente dipendente dal formato– Può essere compressa in vari modi (JPEG, ZIP, LZW, …)

AA 2009/2010

Page 5: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 5

PNM (PBM/PGM/PPM) Portable Bit/Grey/Pix Map Format Formato NON compresso

Adatto per applicazioni di visione artificiale Facilmente editabile

Diffuso in ambiente UNIX (Linux) Si converte facilmente

Header in formato ASCIIPer incorporare nell’immagine informazioni aggiuntiveFacilmente modificabile con editor di testo

Esiste anche la versione video (PVM)

AA 2009/2010

Page 6: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 6

PNM Header e Bitmap

AA 2009/2010

P5320 240255@

P4 = PBMP5 = PGMP6 = PPM

Dimensioni Immagine

Informazioni aggiuntiveEs. TimeStamp,

velocita’

(0,0) (0,1) … (319,239)(1,0)…

Valore massimo del colore

PBM, PGM: 1 byte per pixelPPM: 3 byte per pixel

Page 7: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 7

PGM Portable Grey Map

Rappresentazione in memoria bitmap

AA 2009/2010

0 0 0 0 0 0 0 0

0 0 255

255

255

0 0 0

0 0 127

255

127

0 60 0

0 0 0 255

127

127

60 0

0 0 0 0 0 70 60 0

0 0 0 0 0 255

255

255

0 0 0 0 0 0 0 0

0 0 255

255

255

0 0 0

0 0 127

255

127

0 60 0

0 0 0 255

127

127

60 0

0 0 0 0 0 70 60 0

0 0 0 0 0 255

255

255

Page 8: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 8

Formati raster compressi

Tipologia di compressione Lossless

– Senza perdita di dati– TIFF, BMP, PNG, GIF, JPEG

Lossy– Con perdita di dati– JPEG

AA 2009/2010

Page 9: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 9

TIFF Tag(ged) Image File Format

Adobe Developers Association, TIFF (TM) Revision 6.0 - Final, June 3, 1992

Compresso, senza perdita Compressione:

Nessuna, ZIP, LZW … Profondità di colore variabile Pagine multiple (Fax)

AA 2009/2010

Page 10: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 10

Windows BMP Format Device Independent Bitmap (DIB) Struttura del file

– BITMAPFILEHEADER bmfh;tipo, dimensione e layout (pixel lunghezza)

– BITMAPINFOHEADER bmih;dimensione, tipo di compressione e formato del colore

– RGBQUAD aColors[]; Contiene tanti elementi quanti sono i colori nella

bitmap Non presente per bitmap a 24 bit di colore

(24-bit red-green-blue (RGB) per rappresentare ciascun pixel)

I colori nella tabella sono in ordine di importanza (dithering)

– BYTE aBitmapBits[];indici/intensita’ di colore codificate run-length encoded (RLE)

AA 2009/2010

Page 11: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 11

GIF – Graphic Interchange Format

Molto usato su web 8-bit (256 colori), trasparenza,

animazioni Usa una color map (256 colori su 16M) Algoritmo di compressione brevettato Viene abbandonato in favore di PNG

Portable Network Graphic– Colore a 24 bit + canale Alpha– Algoritmo di compressione non brevettato

AA 2009/2010

Page 12: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 12

PNG Header con una firma di 8-byte

– 89 50 4E 47 0D 0A 1A 0A Dopo l’header è presente una serie

di chunk ognuno dei quali contiene le informazioni sull’immagine

Gestione della trasparenza

AA 2009/2010

Length Chunk type Chunk data CRC

4 bytes 4 bytes Length bytes 4 bytes

Page 13: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 13

JPEG File Interchange Format (JFIF)

JPEG: Joint Photographic Experts Group

Nato alla fine degli anni 80 Diverso dall’algoritmo di

compressione JPEG Platform independent (PC, Mac …) Spazi di Colore: RGB, CMYK, YUV

AA 2009/2010

Page 14: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 14

Compressione JPEG La compressione basata su

luminanza/crominanza I valori RGB o CMYK dei pixel vengono convertiti

in uno spazio basato su luminanza/crominanza Compressione separate dei due fattori Per il sistema visivo umano

la luminanza è più importante della crominanza L’informazione sulla luminanza viene

preservata più rispetto a quella di crominanza

AA 2009/2010

Page 15: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 15

JPEG PRO e CONTRO Compressione Elevata:

– 20 1internet– 5 1 stampa

Bene immagini a tono continuo Male immagini con pochi colori Poco adatto per visione (perdita,

artefatti)

AA 2009/2010

Page 16: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 16

Scalable Vector Graphics

Grafica vettoriale linguaggio derivato dall'XML W3 permette di avere 3 tipi di oggetti

grafici:– forme geometriche, cioè linee costituite da segmenti di retta e

curve e aree delimitate da linee chiuse;– immagini della grafica raster e immagini digitali;– testi esplicativi, eventualmente cliccabili.

AA 2009/2010

Page 17: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 17

SVG - Esempio

AA 2009/2010

<?xml version="1.0" encoding="UTF-8" standalone="no"?><!-- Created with Inkscape (http://www.inkscape.org/) --><svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="1052.3622" height="744.09448" id="svg2" version="1.1" inkscape:version="0.48.1 r9760" sodipodi:docname="Nuovo documento 1"> <defs id="defs4" /> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0"…inkscape:randomized="0" d="m 251.42858,175.52305 -61.11845,4.77394 -30.71632,53.05434 -23.42693,-56.65186 -59.949534,-12.81827 46.639804,-39.78672 -6.33453,-60.976461 52.25191,32.062318 56.03459,-24.867261 -14.34635,59.602324 z" transform="translate(0,308.2677)" inkscape:transform-center-x="1.8913327" inkscape:transform-center-y="6.9973399" /> </g></svg>

Page 18: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 18

PostScript Linguaggio di descrizione della pagina Permette di incorporare grafica vettoriale e

raster Es: EPS che disegna un quadrato spesso 10

unit %!PS-Adobe-3.0 EPSF-3.0%%BoundingBox: 5 5 105 10510 setlinewidth10 10 moveto0 90 rlineto 90 0 rlineto 0 -90 rlineto closepathstroke

Usato soprattutto per la stampa dei documenti

AA 2009/2010

Page 19: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 19

Formati video Unico file una sequenza di immagini Header: informazioni sulla sequenza

– Dimensione del frame e profondità di colore– Frame rate– Tipo di compressione

Visione: meglio frame separati e non compressi. – Piu’ facile operare su un singoli frame con

diverse app.– Sequenze lunghe: File di dimensioni minori,

molti file

AA 2009/2010

Page 20: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 20

Formati video

AA 2009/2010

Formati non compressi (PVM)

Formati compressi (MPEG)

HEADER Frame 1 Frame 2 Frame n…

HEADER KeyFrame1Delta1 …Delta2 DeltanKeyFrame2 …

Page 21: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 21

Acquisizione delle immagini Sistemi di acquisizione immagini

Telecamere analogiche Telecamere digitali Smart cameras Schede di acquisizione video Interfacce di programmazione

AA 2009/2010

Page 22: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 22

Panoramica

AA 2009/2010

Immagini generate dalla telecamera (Tx)

Collegamento Trasferite al sistema di elaborazione

(Rx)

TC Elaboratore

Page 23: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 23

Videocamera (camera)

AA 2009/2010

Ingressi– Alimentazione– Trigger– Scena inquadrata

Uscite– Segnale video

(Analogico o Digitale)– Sincronizzazione

Parametri (fisici, segnali, software)– AGC (On/Off e riferimento),

shutter, temp di colore…

Page 24: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 24

Conversione A/D Sistema di elaborazione (analogico)

– Rumore (termico e interferenze)– Problemi di ricampionamento– Basse frequenze (circa 30 fps)– Formato standard (televisivo: 768x576)– Basso costo (dipende dal sensore)

Telecamera (digitale)– CMOS: conversione alla sorgente– Esistono alcuni standard (Es: DV, DCAM, Camera Link, USB

…)– Prestazioni elevate: (fino a 1000 fps: crash test)– Software complesso– Costo variabile (Firewire basso, Camera Link elevato)

Collegamento (ibrido)– Necessità di usare telecamere con sensori particolari

(di solito analogiche) e frame grabber digitali a basso costo

AA 2009/2010

Page 25: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 25

Ritardi

L’immagine acquisita rappresenta un evento avvenuto nel passato.

TC, buffer di tx, rx, driver, API. Per applicazioni realtime occorre

avere bassi ritardi. (Elab + output)

AA 2009/2010

TC Elaboratore

tt + t1 + t2

t1

t2

Page 26: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 26

Sensori

AA 2009/2010

Page 27: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 27

Tipica Pipeline Sensore

AA 2009/2010

http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm

Page 28: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 28

CCD vs CMOS

AA 2009/2010

Charge-Coupled Device:– Charge is actually transported across the chip and

read at one corner of the array– Usage of a special manufacturing process to create

the ability to transport charge across the chip without distortion.

– Higher Fill Factorhttp://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm

Page 29: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 29

CCD vs CMOS

Complimentary Metal-Oxide Semiconductor:– Several transistors at each pixel amplify and move the

charge using more traditional wires– It is more flexible because each pixel can be read individually– Usage of the same traditional manufacturing processes to

make most microprocessors.– Easy integration– Lower Fill Factor

AA 2009/2010

Page 30: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 30

CMOS microlenses

AA 2009/2010

http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm

Page 31: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 31

Colore: Separazione Spettrale

AA 2009/2010

Page 32: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 32

Color Field Array image sensor

AA 2009/2010

Microlenti che focalizzano la luce dentro al filtro CFA

Il CFA permette il passaggio di un solo colore per volta

I fotorecettori accumulano gli elettroni ricevuti e il voltaggio viene trasformato in un valore numerico.

http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm

Page 33: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 33

CFA image sensor

AA 2009/2010

http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm

Page 34: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 34

Demosaicing linear interpolation

AA 2009/2010

http

://w

ww

.dm

i.uni

ct.it

/~ba

ttiat

o/C

Vis

ion1

011/

CV

isio

n101

1.ht

m

Page 35: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 35

Riepilogo

AA 2009/2010

(a) Grayscale mosaic image(b) Color vision mosaic image(c) Demosaicked full-color image(d) Post processed final image

http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm

Page 36: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 36

Defects

AA 2009/2010

http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm

Page 37: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 37

Telecamere Analogiche

Sensori– Visibile (mono e colore), NIR, FIR– Tecnologia CCD, CMOS

Formato 768x576@30fpsStandard PAL, NTSC

AA 2009/2010

Page 38: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 38

Telecamere digitali Sensori: visibile o NIR Formato variabile

– risoluzione continua impostabile via SW (anche nel tempo) elevata: sensori oltre 4096x4096 supporto formati compressi (JPEG,…)

Interfacce di comunicazione – Low End: DV, DCAM, Ethernet– High End: CameraLink

AA 2009/2010

Page 39: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 39

Smart camera

General Purpose System

Applicazioni industriali Atom Z530 Z510 Ram DDR2 533Mhz SSD 4Gb

AA 2009/2010

Page 40: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 40

Schema camera pc

AA 2009/2010

40

TC 1

Elaboratore

FrameGrabber

Page 41: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 41

Frame grabber analogici Schede con uno o più ingressi video

agganciati al bus del calcolatore Caratterizzate da un chip di conversione

– BT8x8, Philips SAA 7146, …– Necessari driver di dispositivo appositi

Sincronizzazione HW a basso costo Con interfacce opportune si possono

acquisire 2 segnali sincronizzati con 1 canale interallacciato

Necessaria un’API di alto livello per mascherare le differenze tra I chip. Video For Linux (2)

AA 2009/2010

Page 42: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 42

Frame grabber digitali a basso costo

Firewire, USB, EthController integrati sulle MoBo

Elevato numero di dispositivi Sincronizzazione SW o HW API di alto livello

– libdc1394. USB

AA 2009/2010

Page 43: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 43

Sistemi multicanale

AA 2009/2010

Per applicazioni avanzate occorrono più camere– Flusso dati molto grande– Sincronizzazione– Regolazione camere

TC 1

ElaboratoreTC 2

TC n

Page 44: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 44

Sincronizzazione N camere si dicono sincronizzate quando

(a parità di tempo di acquisizione) il ritardo tra i tempi di inizio acquisizione è basso

La sincronizzazione dipende dall’applicazione– Per fenomeni lenti (terreno) anche qualche

secondo– Per fenomeni veloci (crash-test) si scende ai s

Hardware – Telecamere master/slave– Generatore di sincronismo

Software– Telecamere digitali con comandi di sincronismo

AA 2009/2010

Page 45: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 45

API: Video for Linux 2 API di acquisizione video integrata kernel

2.6 Acquisizione frames Proprietà del framegrabber (luminosità,

contrasto) Molto diffusa e stabile. Supporta i principali framegrabber

analogici(Driver integrati nel kernel o forniti dal produttore)

AA 2009/2010

Page 46: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 46

DCAM Protocollo per scambio dati con tc

FireWire:– flusso di dati consegnati dalla telecamera– parametrizzazione della telecamera

(luminosità, otturatore, bilanciamento bianco…)

Canale isocrono: video Canale asincrono: comandi e parametri API di alto livello:

– libdc1394 http://www.sourceforge.com/projects/libdc1394

AA 2009/2010

Page 47: L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it.

Visione Artificiale 47

DCAM connessioni

AA 2009/2010

Linux Windows Apple Embedded …

DCAMCompatible

Camera(Vendor 1)

IEEE 1394 BUS

DCAMCompatible

Camera(Vendor n)

FireWireHub

DC

AM

DC

AM

DC

AM

DC

AM

DCAMCompatible

Camera(Vendor 2)