1 / 47

L1 Formato immagini , video e sistemi di acquisizione

L1 Formato immagini , video e sistemi di acquisizione. Corso di Visione Artificiale A.A. 2011/2012 Ing . Luca Mazzei m azzei@ce.unipr.it. Argomenti. Formati di file per immagini Formati raster : PNM, TIFF, BMP, GIF, PNG, JPEG Formati vettoriali: SVG

cora-vinson
Download Presentation

L1 Formato immagini , video e sistemi di acquisizione

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. L1 Formatoimmagini, video e sistemi di acquisizione Corso di VisioneArtificiale A.A. 2011/2012 Ing. Luca Mazzei mazzei@ce.unipr.it

  2. 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 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, …) Visione Artificiale

  5. PNM (PBM/PGM/PPM) • Portable Bit/Grey/PixMap 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) Visione Artificiale

  6. PNM Header e Bitmap • P5 • 320 240 • 255 • @ Dimensioni Immagine P4 = PBMP5 = PGMP6 = PPM Valore massimo del colore Informazioni aggiuntiveEs. TimeStamp, velocita’ (0,0) (0,1) … (1,0) … (319,239) PBM, PGM: 1 byte per pixelPPM: 3 byte per pixel Visione Artificiale

  7. PGM Portable Grey Map • Rappresentazione in memoria bitmap 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 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 colorevariabile • Pagine multiple (Fax) 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 colorecodificate run-length encoded (RLE) Visione Artificiale

  11. GIF – GraphicInterchange 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 PNGPortable Network Graphic • Colore a 24 bit + canale Alpha • Algoritmo di compressione non brevettato Visione Artificiale

  12. PNG • Header con una firma di 8-byte • 89 50 4E 47 0D 0A 1A 0A • Dopol’header è presenteunaserie di chunk ognunodeiqualicontiene le informazionisull’immagine • Gestionedellatrasparenza Visione Artificiale

  13. JPEG File Interchange Format (JFIF) • JPEG: Joint PhotographicExperts Group • Nato alla fine degli anni 80 • Diverso dall’algoritmo di compressione JPEG • Platform independent (PC, Mac …) • Spazi di Colore: RGB, CMYK, YUV Visione Artificiale

  14. Compressione JPEG • La compressione basata su luminanza/crominanza • I valori RGB o CMYK dei pixel vengono convertitiin 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 Visione Artificiale

  15. JPEG PRO e CONTRO • Compressione Elevata: • 20  1 internet • 5  1 stampa • Bene immagini a tono continuo • Male immagini con pochi colori • Poco adatto per visione (perdita, artefatti) Visione Artificiale

  16. Scalable Vector Graphics • Grafica vettoriale • linguaggio derivato dall'XML W3 • permette di avere 3tipi 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. Visione Artificiale

  17. SVG - Esempio <?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 105 10 setlinewidth 10 10 moveto 0 90 rlineto 90 0 rlineto 0 -90 rlinetoclosepath stroke • Usato soprattutto per la stampa dei documenti 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 Visione Artificiale

  20. Formati video • Formati non compressi (PVM) • Formati compressi (MPEG) HEADER Frame 1 Frame 2 Frame n … HEADER KeyFrame1 Delta1 Delta2 Deltan KeyFrame2 … … Visione Artificiale

  21. Acquisizione delle immagini • Sistemi di acquisizione immagini • Telecamere analogiche • Telecamere digitali • Smart cameras • Schede di acquisizione video • Interfacce di programmazione Visione Artificiale

  22. TC Panoramica Elaboratore • Immagini generate dalla telecamera (Tx) • Collegamento • Trasferite al sistema di elaborazione (Rx) Visione Artificiale

  23. Videocamera (camera) • 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 • Costovariabile (Firewire basso, Camera Link elevato) • Collegamento (ibrido) • Necessità di usare telecamere con sensori particolari (di solito analogiche) e frame grabber digitali a basso costo Visione Artificiale

  25. TC Ritardi • L’immagineacquisitarappresenta un eventoavvenutonelpassato. • TC, buffer di tx, rx, driver, API. • Per applicazionirealtimeoccorreaverebassiritardi. (Elab + output) Elaboratore t t1 t + t1 + t2 t2 Visione Artificiale

  26. Sensori Visione Artificiale

  27. Tipica Pipeline Sensore http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm Visione Artificiale

  28. CCD vs CMOS • 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 Factor http://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 Visione Artificiale

  30. CMOS microlenses http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm Visione Artificiale

  31. Colore: Separazione Spettrale Visione Artificiale

  32. Color Field Array image sensor 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 http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm Visione Artificiale

  34. Demosaicing linear interpolation http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm Visione Artificiale

  35. Riepilogo Grayscalemosaic image Color visionmosaic image Demosaicked full-color image Post processedfinal image http://www.dmi.unict.it/~battiato/CVision1011/CVision1011.htm Visione Artificiale

  36. Defects 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@30fps • Standard PAL, NTSC Visione Artificiale

  38. Telecamere digitali • Sensori: visibile o NIR • Formatovariabile • risoluzione • continua impostabile via SW (anchenel tempo) • elevata: sensorioltre 4096x4096 • supportoformaticompressi (JPEG,…) • Interfacce di comunicazione • Low End: DV, DCAM, Ethernet • High End: CameraLink Visione Artificiale

  39. Smart camera • General PurposeSystem • Applicazioni industriali • Atom Z530 Z510 • Ram DDR2 533Mhz • SSD 4Gb Visione Artificiale

  40. TC 1 Elaboratore Schema camera pc Frame Grabber 40 Visione Artificiale

  41. Frame grabber analogici • Schede con uno o piùingressi videoagganciati al bus del calcolatore • Caratterizzate da un chip di conversione • BT8x8, Philips SAA 7146, … • Necessari driver di dispositivoappositi • Sincronizzazione HW a basso costo • Con interfacce opportune sipossonoacquisire2 segnalisincronizzati con 1 canaleinterallacciato • Necessariaun’API di alto livello per mascherare le differenzetra I chip. Video For Linux (2) Visione Artificiale

  42. Frame grabber digitali a basso costo • Firewire, USB, EthController integratisulleMoBo • Elevatonumero di dispositivi • Sincronizzazione SW o HW • API di alto livello • libdc1394. USB Visione Artificiale

  43. TC 1 TC 2 TC n Elaboratore … Sistemimulticanale • Per applicazioni avanzate occorrono più camere • Flusso dati molto grande • Sincronizzazione • Regolazione camere 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 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 principaliframegrabberanalogici(Driver integratinel kernel o forniti dal produttore) 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 Visione Artificiale

  47. FireWire Hub DCAM Compatible Camera (Vendor 2) … DCAM DCAM DCAM DCAM DCAM connessioni Linux Windows Apple Embedded … IEEE 1394 BUS DCAM Compatible Camera (Vendor 1) DCAM Compatible Camera (Vendor n) Visione Artificiale

More Related