martedì, 23 aprile 2024

Articoli

Analisi video intelligente: server side o edge side?

02/12/2015

Nei numeri precedenti di questa rubrica sull’analisi video intelligente (anche detta Video Content Analysis, VCA) abbiamo parlato delle tecniche che sono alla base della VCA e dei relativi contesti applicativi. In questo numero ci soffermiamo su un aspetto che sta diventando sempre più rilevante nel progetto tecnico ed economico di un impianto con funzioni di VCA. Fino ad alcuni anni fa, quando si parlava di analisi video intelligente, il pensiero andava subito all’impiego di server dedicati a elaborare le immagini acquisite dalle telecamere di sorveglianza. Nello scenario attuale, il progettista di un impianto di sorveglianza ha l’opportunità di scegliere se dimensionare l’impianto in modo che l’esecuzione del software di analisi sia realizzata attraverso una architettura centralizzata, in cui i flussi video sono trasmessi in rete ad un server centrale di analisi, oppure sia adottata una architettura distribuita ove l’analisi venga effettuata su telecamere in grado di supportare l’esecuzione embedded di applicazioni di VCA.

Vantaggi e limiti

Nella modalità server side la VCA è implementata usando uno o più server dedicati che acquisiscono i flussi direttamente dalle telecamere IP oppure da un VMS ed in caso di rilevazioni di eventi di interesse si trasmettono i relativi metadati ad un sistema di gestione (VMS, PSIM, ecc). Il principale vantaggio di tale approccio risiede nella possibilità di aggiungere “intelligenza” ad un qualsiasi sistema di videosorveglianza preesistente indipendentemente dal tipo di telecamere installate. Inoltre, le maggiori risorse di calcolo disponibili su un server garantiscono una maggiore flessibilità in termini di numero di funzioni di analisi attivabili contemporaneamente sullo stesso flusso video, nonché la possibilità di trovare il miglior compromesso tra il numero di flussi video elaborati in parallelo, e la risoluzione ed il frame rate a cui sono elaborate le immagini. D’altro canto, tali vantaggi si pagano in termini di risorse di rete impiegate: la progettazione della rete deve tenere in considerazione l’elevata banda richiesta per il trasferimento dei flussi video. Inoltre, nel TCO dell’impianto è necessario considerare anche la manutenzione dei server destinati alla VCA.

Nella modalità edge side i software di VCA sono progettati ed ottimizzati per l’elaborazione dei flussi in tempo reale sull’hardware integrato nella telecamera IP. I metadati degli eventi rilevati dalla VCA vengono trasmessi a sistemi esterni (dashboard per business intelligence, VMS, PSIM). Non essendo necessario l’invio dell’intero flusso video, ma solo l’invio degli eventi rilevati, si realizza una significativa riduzione del traffico sulla rete prodotto dalla singola telecamera. La VCA a bordo camera porta il vantaggio di un'architettura distribuita che consente l’eliminazione del single point of failure rappresentato dal server nell’architettura centralizzata. Inoltre, la possibilità di trasmettere i metadati anche senza le immagini, in alcune applicazioni verticali della VCA, quale ad esempio il monitoraggio dei flussi, della tipologia e del comportamento dei clienti nel settore retail, consente di affrontare più facilmente le problematiche legate alla privacy delle persone.

Evidentemente, lo svantaggio principale della soluzione di analisi a bordo camera è legato alla limitatezza delle risorse di calcolo disponibili che pone dei vincoli stringenti nella definizione del miglior trade-off tra numero frame elaborati al secondo e risoluzione dell’immagine processata. Tuttavia, questo è un limite tecnologico che è lecito attendersi che si andrà attenuando nel tempo con l’impiego di telecamere con hardware sempre più performanti e con un miglior supporto alla VCA.

La sfida tecnologica

Se da una parte il trend corrente di spostare l’elaborazione verso la periferia rendendo la telecamera intelligente è destinato, almeno a nostro avviso, a rafforzarsi nei prossimi anni anche perché affiancato e guidato dagli sviluppi dell’Internet of Things, è evidente altresì che nell’immediato lo sviluppo di applicazioni sempre più sofisticate di analisi video intelligente su piattaforme con ridotte prestazioni pone delle problematiche tecnologiche complesse. Infatti, alle aziende di analisi video è richiesta la capacità di fare ricerca scientifica nel settore della visione artificiale coniugata con competenze particolarmente spinte di ingegnerizzazione su dispositivi embedded.

Un software di analisi video che su una piattaforma server è in grado di elaborare alcuni flussi video in parallelo per singolo core, se portato senza alcuna ottimizzazione su una piattaforma embedded di una telecamera IP non è in grado di processare in tempo reale il flusso video. Le telecamere IP dispongono al loro interno di calcolatori embedded progettati specificamente per effettuare operazioni di elaborazione delle immagini per migliorarne la qualità anche in condizioni di illuminazione complesse, compressione H264 e streaming multiflusso, crittografia. Tuttavia, i vincoli sui costi di realizzazione e sui consumi energetici, fanno sì che la potenza di calcolo delle CPU presenti nelle telecamere IP sia di alcuni ordini di grandezza inferiore rispetto ad architetture PC tradizionali.

Superare i limiti

Per superare questi limiti e rendere possibile l’esecuzione a bordo camera senza avere un impatto sulla normale operatività della telecamera è necessaria l'Ingegnerizzazione del software in modo da ottimizzare ogni singola istruzione, sfruttando le peculiarità delle architetture embedded moderne, quale ad esempio la possibilità di effettuare operazioni parallele. A rendere le cose ancora più complesse è il fatto che le architetture dei processori dei diversi brand di telecamere che supportano l’esecuzione embedded spesso hanno caratteristiche diverse (ed a volte ciò accade anche per diverse famiglie di telecamere dello stesso brand). Questo rende ulteriormente arduo il compito dei produttori di software VCA che intendano conseguire il risultato di sviluppare e mantenere un proprio software di analisi video in grado di girare con prestazioni simili su piattaforme differenti; infatti in linea di principio ciò richiede uno sviluppo dedicato di ogni prodotto per ogni hardware host. Tutto ciò rende molto limitato l’insieme delle aziende che nel panorama nazionale italiano, ma anche internazionale è in grado di proporre soluzioni in grado di raccogliere tali sfide.

La soluzione di A.I. Tech risponde a queste esigenze andando anche oltre, rendendo disponibile l’analisi video su piattaforme eterogenee, dai server di fascia alta, passando per appliance a basse prestazioni quali Raspberry Pi fino alle telecamere Axis, Hikvision e Samsung, con la possibilità di avere di fatto un unico software in grado di girare indifferentemente su tutte le piattaforme host virtualizzate.

 

 

 

 

 

 

 



Tutti gli articoli