nel 2007. • Oggi l'azienda è principalmente un fornitore di tecnologie IT per altre organizzazioni, pubbliche e private. • L'azienda mantiene inoltre stretti legami con il mondo accademico, e in particolare con i dipartimenti UNIFI/MICC e DSI. Principali aree di attività: • Applicazioni web in tecnologia Java Enterprise. • Applicazioni per la gestione, l'elaborazione e l'analisi di immagini e video. • Applicazioni per dispositivi mobili su piattaforma Android. www.magentalab.it
1965-69: Inizia la diffusione della CCTV nei luogi pubblici (USA) 1970: Vengono lanciati Betamax e VHS 1975: Prima fotocomera digitale (con CCD) 1982: Standardizzazione protocolli TCP/IP 1982+: Prime telecamere digitali (Sony) 1990: Vengono lanciati i primi DVR (Digital Video Recorder) 1996: Prima telecamera IP centralizzata (Axis) 1999: Prima telecamera IP decentralizzata (Mobotix) 2005: Prima telecamera con Video Content Analysis (Intellio) 1960: Digital Image Processing 1968: Journal Pattern Recognition 1970: International Conference on Pattern Recognition (ICPR) 1977: International Conference on Pattern Recognition (ICPR) 1979: IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI) 1986: International Conference on Computer Vision (ICCV) www.magentalab.it
Pro: sensori video più semplici e meno costosi; maggiore capacità di calcolo disponibile; possibilità di elaborazione off-line • Contro: maggiore banda trasmissiva richiesta; problemi di privacy legati alla necessità di trasmettere/memorizzare il video Pedestrians: 34 Vehicles: 3 Abandoned objects: - ... ... www.magentalab.it
dati analitici • Pro: minima occupazione della banda trasmissiva disponibile; ridotti problemi di privacy per la possibile assenza di trasmissione e/o memorizzazione di immagini • Contro: sensore video più costoso; generalmente ridotta potenza di calcolo disponibile; necessità di elaborare il video in tempo reale Pedestrians Vehicles ... ... Abandoned objects ... ... Vehicles ... ... Pedestrians ... ... Pedestrians: 34 Vehicles: 3 Abandoned objects: - ... ... www.magentalab.it
Artpec3 400Mhz running Linux 2.6 • 128MB ram, 128MB memoria flash interna Piattaforma di sviluppo "open": • libreria open source (GNU LGPL) per l'image processing di basso livello (RAPP: http://savannah.nongnu.org/projects/rapp) • libreria open source (GNU LGPL) per i calcoli in virgola fissa (FixMath: http://savannah.nongnu.org/projects/fixmath/) • librerie binarie per l'interfaccia con gli altri device della telecamera (web server, event server, digital I/O, ...) • cross-compilatore CRISV32 (C/C++) www.magentalab.it
librerie di alto livello per l'image processing: a. re-implementazione di algoritmi noti b. gestione a basso livello dei pixel buffer 2. Feedback visuale praticamente assente, debug non immediato (debug remoto, concorrenza…) 3. Limitata potenza di calcolo: il carico computazionale impatta anche sugli fps ottenibili - troppo carico, meno fps e questo è un problema per i metodi che hanno "memoria" www.magentalab.it
RAPP (RAster Processing Primitives) fornisce un discreto numero di funzionalità di image processing di basso livello: o operazioni pixelwise o statistiche elementari o filtri di convoluzione e morfologici o thresholding o copy e set condizionali o ... • La gestione della memoria è affidata completamente all'utente: la libreria non alloca memoria, MAI. www.magentalab.it
buffer devono essere allineati: o il buffer inizia a una locazione di memoria multipla di ALIGNMENT (4, 8 o 16 byte, dipende dall'architettura) o la dimensione del buffer è multipla di ALIGNMENT o ogni riga dell'immagine è memorizzata all'interno del buffer in locazioni di memoria contigue a partire da un indirizzo allineato o se la larghezza dell'immagine non è multipla di ALIGNMENT, si aggiungono byte di allineamento www.magentalab.it
buffer è completamente specificato quando sono noti: o indirizzo di base o stride o larghezza dell'immagine ( <= stride ) o altezza dell'immagine • Una sottoimmagine può essere facilmente selezionata ricalcolando indirizzo di base, larghezza e altezza, e lasciando inalterato lo stride. www.magentalab.it
• Eclipse (Galileo, ..., Indigo, Juno) + CDT • Script ANT, Makefile e bash per l'invocazione del compilatore GCC o CRISV32 e per l'installazione dei binari a bordo camera • Librerie personalizzate in doppia versione: x86 e Artpec3 www.magentalab.it
statistiche sul numero e sulla velocità dei veicoli in transito sulle corsie inquadrate • Sviluppata nell'ambito del progetto europeo ORUSSI: Optimal Road sUrveillance based on Scalable vIdeo (Bando ERA-SME 2009 6th call) www.magentalab.it
LIST ALARMS GET CONFIGURATION SET CONFIGURATION LIST DATA HTTP REQUEST VEHICLES STATS SPEED STATS ALARMS PROBES CONFIGURATION ALARM EVENTS STOP EVENT www.magentalab.it