L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012...
-
Upload
teobaldo-bini -
Category
Documents
-
view
240 -
download
0
Transcript of L1 Formato immagini, video e sistemi di acquisizione Corso di Visione Artificiale A.A. 2011/2012...
L1 Formato immagini, video e sistemi di
acquisizioneCorso di Visione Artificiale
A.A. 2011/2012Ing. Luca Mazzei
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
Visione Artificiale 3
Formati raster
AA 2009/2010
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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
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 …
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
Visione Artificiale 22
Panoramica
AA 2009/2010
Immagini generate dalla telecamera (Tx)
Collegamento Trasferite al sistema di elaborazione
(Rx)
TC Elaboratore
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…
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
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
Visione Artificiale 26
Sensori
AA 2009/2010
Visione Artificiale 27
Tipica Pipeline Sensore
AA 2009/2010
http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm
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
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
Visione Artificiale 30
CMOS microlenses
AA 2009/2010
http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm
Visione Artificiale 31
Colore: Separazione Spettrale
AA 2009/2010
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
Visione Artificiale 33
CFA image sensor
AA 2009/2010
http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm
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
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
Visione Artificiale 36
Defects
AA 2009/2010
http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm
Visione Artificiale 37
Telecamere Analogiche
Sensori– Visibile (mono e colore), NIR, FIR– Tecnologia CCD, CMOS
Formato 768x576@30fpsStandard PAL, NTSC
AA 2009/2010
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
Visione Artificiale 39
Smart camera
General Purpose System
Applicazioni industriali Atom Z530 Z510 Ram DDR2 533Mhz SSD 4Gb
AA 2009/2010
Visione Artificiale 40
Schema camera pc
AA 2009/2010
40
TC 1
Elaboratore
FrameGrabber
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
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
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
…
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
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
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
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)
…