Direttore:
Vicedirettori:
Redazione:
L'unica rivista italiana interamente dedicata alle Misure, alle Prove e ai Controlli Qualità
Anno:

SEGNALATO PER VOI

Visione Artificiale: Smart Cameras distribuite

di Giovanna Sansoni giovanna.sansoni@ing.unibs.it


ABSTRACT
The section on Artificial Vision is intended to be a “forum” for Tutto_Misure readers who wish to explore the world of components, systems, solutions for industrial vision and their applications (automation, robotics, food&beverage, quality control, biomedical). Write to Giovanna Sansoni and stimulate discussion on your favorite topics.

RIASSUNTO
La rubrica sulla visione artificiale vuole essere un “forum” per tutti i lettori della rivista Tutto_Misure interessata a componenti, sistemi, soluzioni per la visione artificiale in tutti i settori applicativi (automazione, robotica, agroalimentare, controllo di qualità, biomedicale). Scrivete alla Prof. Sansoni e sottoponetele argomenti e stimoli.

L’aeroporto internazionale Hartsfield-Jackson di Atlanta ha 179 gate distribuiti su una superficie di circa cinquantatré ettari. Anche con una sola telecamera per gate si arriva a un totale di 180 telecamere, le cui immagini devono essere trasmesse ed elaborate dal sistema di controllo della sorveglianza. Volendo avere informazioni utili su quanto accade a ciascun gate servono almeno alcune telecamere per ciascuno di essi. Il sistema di sorveglianza deve poi essere esteso a molte altre aree della stazione aeroportuale, quali ad esempio le piste di decollo e di atterraggio, il deposito bagagli, le aree di check-in e quelle di parcheggio.

Le telecamere sono distribuite su un’area molto vasta, il che rende sensato prevedere che almeno parte dell’elaborazione delle immagini sia fatta localmente, a bordo di ciascuna telecamera. L’elaborazione, a sua volta, richiederà parecchio lavoro, considerando che, per quanto di dimensioni ridotte, le immagini sono formate (al minimo) da alcune migliaia di byte, che il campo inquadrato è per sua natura dinamico e soggetto a occlusioni e che l’informazione alla quale si è interessati è di tipo complesso. Infatti, nella maggioranza dei casi, non si tratta semplicemente di determinare la presenza o l’assenza di un oggetto, ma di riconoscere una situazione, identificare e tracciare (tracking) un individuo, stimare la probabilità di un evento o valutare grandezze macroscopiche (quali il traffico passeggeri), che richiedono operazioni di segmentazione e conteggio non banali.

La trasmissione delle informazioni costituisce un aspetto di estrema complessità. La prima domanda che sorge è “a chi o a che cosa trasmettere?”. A un supervisore centrale basato su una logica client-server? A un sistema con una struttura gerarchica? A un sistema con una struttura ad albero?

La seconda domanda è “quanto costa?”. Le voci di spesa sono molte: vi sono i singoli nodi, che acquisiscono le immagini e hanno costi diversi a seconda che siano oppure no in grado di eseguire operazioni di “alleggerimento” quali la compressione dei video; vi è il costo del sistema d’interconnessione (la rete), che deve garantire una larghezza di banda adeguata; vi è il costo delle memorie, sia per l’elaborazione sia per lo stoccaggio delle informazioni, e il costo dei processori. Vi è anche il costo derivante dal consumo di energia che la trasmissione sul sistema rete comporta. Non è inusuale che esso sia fra 100 e 1.000 volte più grande di quello dei sistemi di elaborazione. Strettamente legato a questo vi sono dunque il costo della rete di distribuzione di energia e il problema della dissipazione del calore.

La terza domanda è “come veicolare le informazioni prodotte da ciascun nodo?”. Si profila, infatti, una struttura a sistema distribuito, nel quale ciascun nodo non ha conoscenza diretta dello stato degli altri nodi, se non attraverso messaggi. Poiché questi hanno costi non trascurabili, non è realistico prevedere che tutte le telecamere possano comunicare fra loro a coppie; pertanto la logica di transito delle informazioni dovrà poter utilizzare algoritmi che minimizzino il numero di messaggi e propaghino le informazioni lungo percorsi intelligenti (ad esempio. caratterizzati da un numero minimo di nodi), in modo da utilizzare la banda disponibile in modo efficiente.

La quarta domanda è “come garantire che le informazioni arrivino in tempo?”. Quest’aspetto è di estrema importanza quando si vuole che il sistema operi in modo efficace, e apre la porta a problematiche legate ai tempi di latenza nel recapito delle informazioni. La trasmissione real-time diventa quindi necessaria.

Problematiche come quella fin qui descritta sono state affrontate dai primi anni ’80 e a tutt’oggi rientrano in ambiti di ricerca e di sviluppo di estremo interesse, che hanno portato alla realizzazione dei cosiddetti sistemi distribuiti basati su Smart Cameras (Distributed Smart Cameras: DSC) [1].

I sistemi DSC sono il risultato di una convergenza nell’avanzamento della conoscenza in aree diverse, che sono la computer vision, le tecnologie a larga scala d’integrazione (VLSI) e le tecnologie di embedded computing. Le applicazioni basate su computer vision, che prima dello sviluppo di sistemi VLSI richiedevano l’utilizzo di workstation dedicate, dati i requisiti in termini di capacità di elaborazione e di memoria, sono potute migrare su sistemi embedded, progettati per incorporare funzionalità di calcolo, memorizzazione e trasmissione, con vantaggi consistenti in termini di costo, affidabilità, scalabilità e consumo di potenza. Nei sistemi DSC le Smart Cameras costituiscono i nodi in un sistema distribuito.

Come schematizzato in Fig. 1, l’architettura di base di una Smart camera è composta di tre unità, che effettuano operazioni di sensing, di elaborazione e di comunicazione. L’unità di sensing utilizza sensori in tecnologia CMOS (complementary metal-oxide-semiconductor) o CCD (charge-coupled device) che costituiscono la sorgente dei dati (espressi nella forma di carica elettrica o di tensione). I dati grezzi sono organizzati in forma matriciale e convertiti in forma digitale; l’unità controlla importanti parametri quali la frequenza di acquisizione e il tempo di esposizione; inoltre al suo interno sono effettuate operazioni di pre-processing, come ad esempio quelle finalizzate al miglioramento del contrasto delle immagini e del rapporto segnale-disturbo.

L’unità di elaborazione gestisce le operazioni di processamento delle immagini. In questo stadio vengono, ad esempio, eseguiti algoritmi di riconoscimento del movimento, segmentazione, tracking, riconoscimento di oggetti, in modo da fornire in uscita informazioni aggregate in tempo-reale. L’unità di trasmissione infine è dotata delle interfacce che consentono il trasferimento dei dati astratti attraverso il sistema distribuito. Tipici protocolli di trasferimento sono quelli basati su USB, Ethernet, Gigabit Ethernet e Firewire.
Le funzionalità di ogni unità sono realizzate su architetture diverse, quali ad esempio piattaforme System-on-Chip (SoC), che utilizzano un singolo processore, o piattaforme che sfruttano logiche di parallelismo o pipeline fra processori eterogenei. Architetture basate su Field-programmable array (FPGA), e processori dedicati alle operazioni di calcolo (digital signal processors: DSP) sono tipicamente utilizzate per le funzionalità di calcolo.

Il livello di astrazione dei dati dipende dall’applicazione per la quale la Smart Camera è stata progettata. Oltre alle operazioni già citate, è possibile realizzare in modo efficiente elaborazioni ad alto livello, quali quelle tipiche di un sistema decisionale (oggetto sospetto, soggetto in zona non adeguata ecc.). Particolare importanza rivestono poi gli algoritmi di compressione video: essi si rendono necessari anche a fronte della trasmissione di informazioni già aggregate, poiché la massa dei dati da trasmettere è molto grande e si rende necessario ottenere un ragionevole compromesso fra il requisito di bassa latenza nel recapito dei dati e la banda disponibile. Gli algoritmi di compressione video sono stati oggetto di intenso studio a partire dall’avvento della rete Ethernet. Il lavoro svolto rende oggi una pratica comune lo scaricare filmati e podcast dalla rete; allo stesso modo, in un sistema distribuito, i nodi intelligenti sono in grado di fornire le informazioni in modo compresso, con livelli differenti e noti a priori di qualità dei dati.

Le interfacce di comunicazione maggiormente adatte alla trasmissione real-time sono del tipo “wired”: lo stato dell’arte in materia di protocolli Gigabit Ethernet, Camera Link e Firewire consente larghezze di banda compatibili con la trasmissione in tempo reale. Questa caratteristica non era tipica delle reti wireless (almeno fino a qualche anno fa), mentre al presente sono disponibili protocolli di trasferimento wireless che ben si adattano anche all’applicazione in sistemi DSC [2].

Un aspetto non secondario è rappresentato dal consumo di energia: nel corso degli anni sono state sviluppate Smart Cameras con un consumo di energia da poche centinaia di mW fino ad alcune decine di watt. Come già detto precedentemente il consumo di energia dipende anche dalla piattaforma scelta per il sistema distribuito: tipicamente, infatti, sistemi wireless a banda bassa o media consumano livelli di energia significativamente ridotti rispetto a sistemi “wired” ad alta larghezza di banda.

Le logiche di distribuzione dei dati nei sistemi DSC hanno una rilevanza notevole per molti aspetti. Uno di questi risiede nel fatto che più Smart Cameras possono condividere dati appartenenti alla stessa scena (la ridondanza è necessaria, ad esempio, per ragioni di affidabilità o per compensare gli effetti di occlusione già menzionati). Conseguentemente, è necessario che i dati aggregati prodotti da ciascuna siano condivisi, in modo da fornire informazioni a livelli di astrazione e di completezza maggiori. Lo sviluppo di protocolli di distribuzione delle informazioni in reti “collaborative” è materia molto complessa e tocca non solo aspetti di efficienza e di affidabilità, ma anche di protezione e riservatezza dei dati.

L’approccio iniziale è stato quello di seguire i paradigmi basati su strutture a multi-livello realizzate in servizi così detti “middleware”, quali quelli progettati per i protocolli ISO-OSI. Tuttavia, nei sistemi DSC, questi strumenti devono essere realizzati su piattaforme embedded, che utilizzano dispositivi con risorse limitate [3]. L’attività di ricerca e sviluppo si è indirizzata negli ultimi anni nella direzione di fare propri alcuni concetti e soluzioni sviluppate per le reti di sensori wireless (Wireless Sensor Networks: WSN), specialmente per quanto riguarda gli aspetti di affidabilità e di basso consumo. Le soluzioni realizzate sono il risultato di un compromesso che tiene conto delle differenze esistenti fra i sistemi DSC e le reti WSN: ad esempio, il carico di dati da trasmettere e la capacità computazionale sono molto maggiori nei sistemi DSC rispetto ai sistemi WSN. A tutt’oggi dunque non esiste una proposta unificata in materia di protocolli middleware, ma piuttosto soluzioni ad hoc, anche molto performanti, che privilegiano aspetti differenti secondo le applicazioni di riferimento [4].

Come s’intuisce da questa breve descrizione, la materia è estremamente complessa e pone molti problemi, le cui soluzioni sono ancora lontane dall’essere definite. Tuttavia le applicazioni possibili sono tali e così rilevanti economicamente che i sistemi DSC sono considerati strategici sia a livello di ricerca sia a livello di marketing. Fra i campi applicativi più significativi vanno citati i sistemi intelligenti di sorveglianza video, nei quali l’obiettivo è l’identificazione veloce di comportamenti anomali nelle scene inquadrate; vi sono poi le applicazioni di trasporto intelligente, nei quali le reti di smart cameras sono utilizzate sia per il controllo di vaste aree di stoccaggio, sia in veicoli basati su visione. Le reti DSC trovano anche impiego in medicina, ad esempio per il controllo in vivo e in tempo reale del campo operatorio, o in applicazioni di sorveglianza (monitoring) in pazienti a rischio. Tipici ambiti applicativi sono quelli dell’utilizzo di sistemi di visione integrati in impianti industriali, per ispezione, robotica e controllo dei processi produttivi, cioè in aree nelle quali le tecnologie di computer vision e sistemi embedded trovano la propria naturale collocazione.

Per ultima, ma non certo perché meno importante, vi è tutta l’area applicativa che viene globalmente definita embedded vision, che sta avendo un enorme impulso grazie alle tecnologie mobile con cui abbiamo tutti a che fare giornalmente. Mi riferisco cioè alla disponibilità di smartphone, cellulari e tablets, per i quali il trend è di sviluppare soluzioni di controllo (anche remoto), connettività e comunicazione utilizzando i sensori di visione embedded in questi prodotti: quale opportunità migliore per mettere a frutto in dispositivi che sono alla portata di tutti le caratteristiche di trasduzione, processing, trasmissione, connettività e istradamento già sviluppate per i sistemi DSC?

 

RIFERIMENTI BIBLIOGRAFICI

Aggiungi un commento
- I commenti saranno resi visibili a seguito dell'esame da parte della Redazione -


Il tuo nome La tua e-mail    

INDICE ALTRI NUMERI






Visita il sito di Atena Informatica

Via Principi d'Acaja 38
10138 - Torino
info@affidabilita.eu
www.affidabilita.eu
Tel. +39 011 02.66.700
Fax +39 011 02.66.711
La manifestazione
italiana dedicata
all'Innovazione
e alle Tecnologie
L'unica rivista
italiana interamente
dedicata alle
Misure, Prove,
e Controlli Qualità