Gruppo TIM
Gruppo TIM

La nostra visione ESG

ESG vision

Crediamo che la trasformazione digitale sia la chiave per lo sviluppo sociale ed economico del nostro Paese e per la tutela del nostro territorio. Approfondisci

La tecnologia che va sotto il nome di “video analisi” o “computer vision” si occupa di capire come un computer possa riprodurre le funzioni dell’apparato visivo umano: non si tratta solamente di acquisire le immagini statiche o in movimento ma anche di identificare e riconoscere le immagini per estrarne il maggior numero possibile di informazioni utili allo scopo di prendere decisioni. Nel corso degli ultimi anni sono stati fatti ampi passi avanti nel campo dell’elaborazione delle immagini digitali per il riconoscimento degli oggetti e, oggi, il machine learning si basa su algoritmi artificiali, supervisionati o non, che permettono di indicare al sistema cosa cercare e come farlo. Molti di questi algoritmi si basano su reti neurali, dove una rete neurale è un sistema di calcolo matematico che funziona per connessione, in analogia con una rete naturale in cui ogni neurone è collegato a decine di altre migliaia. La rete è dinamica, cioè cambia i pesi delle sue connessioni in relazione alle informazioni aggiunte durante le fasi di apprendimento.

Scarica il PDF

Down

Piattaforma di Video Analisi

3921 KB

Ambiti di applicazione

Oggi non basta più semplicemente “trasportare” le immagini e renderle disponibili in un punto centralizzato, distante da dove sono state riprese, per essere visionate ed analizzate da persone. Queste analisi, indagini ed approfondimenti possono essere realizzati in modo più efficiente automatizzandoli con l’aiuto della computer vision. Gli ambiti di utilizzo di questa tecnologia sono molteplici, nella Fig.1 seguente ne sono indicati alcuni e spaziano dai casi d’uso delle città intelligenti e sicure, agli ambiti medici, al settore dell’industria, dei servizi e del commercio.

Figura 1: Ambiti di applicazione della videoanalisi

Clicca qui per ingrandire l'immagine

Nel seguito dell’articolo vedremo alcuni esempi di algoritmi di intelligenza artificiali applicati a questi scenari.

Video analisi in TIM

Data l’importanza e i possibili campi d’uso di questa tecnologia, TIM ha valutato soluzioni diverse di tecnologie di video analisi allo scopo di individuare una piattaforma da utilizzare nelle proprie applicazioni. Anziché scegliere una o più proposte verticali, cioè adatte a un insieme specifico e molto ben determinato ma limitato di casi d’uso, si è perseguita la scelta di un approccio orizzontale, modulare e espandibile. L’obiettivo è sempre stato, fin dall’inizio dell’esplorazione di questa tecnologia, di disporre di un insieme di strumenti, algoritmi, capabilities ed elementi da comporre in modo da fornire funzionalità di video analisi anche complesse per gli scenari più disparati possibili. Pensare di dover soddisfare esigenze e contesti diversi, significa sia scegliere i blocchi elementari di algoritmi più appropriati ma anche ragionare sulla tipologia di sorgente video su cui effettuare l’analisi: in alcuni casi il processo di analisi può essere applicato a singoli fotogrammi o frame, in altri casi le informazioni utili possono essere ottenute solo se l’analisi è relativa ad un video, arrivando ad analizzare in near real-time anche 30 frame al secondo. Solo una piattaforma così disegnata, strutturata e implementata può permettere di realizzare velocemente ed eff icacemente diversi use cases in scenari disparati come la video sorveglianza, il controllo degli accessi, la realtà aumentata, la ricerca di persone, ecc.

Figura 2: People counting

Clicca qui per ingrandire l'immagine

Se, ad esempio, l’obiettivo è il controllo degli assembramenti, la piattaforma TIM di riconoscimento di immagini e video può effettuare le seguenti operazioni:

  • per ogni frame del video rileva le persone presenti nell’inquadratura determinandone la posizione;
  • per ogni persona viene effettuato un tracking, cioè frame per frame l’oggetto classificato come “persona” viene “seguito”. Non è presente alcun riconoscimento di dato biometrico, ma soltanto un’individuazione della categoria (“persona”) alla quale appartiene l’oggetto inquadrato;
  • viene effettuato il calcolo delle distanze tra tutte le coppie di persone rilevate in modo da poter generare potenzialmente un alert qualora il valore stimato sia al di sotto di una determinata soglia.

Per ottenere questi risultati, risultano efficaci gli algoritmi di object recognition e object tracking. Se un’area davanti ad un’attività commerciale o industriale è riservata alle auto della compagnia, è possibile utilizzare la funzionalità di riconoscimento delle targhe in modo da segnalare tempestivamente veicoli non autorizzati.

Figura 3: Object tracking and counting

Clicca qui per ingrandire l'immagine

Conoscere come si muovono le persone all’interno di un centro commerciale in settimana e nei weekend e raccogliere statistiche e dettagli automatici, consente di pianificare percorsi e di essere più efficaci nella gestione dei flussi. Analogamente, su scala più ampia, una grande città può utilizzare le capabilities della piattaforma che consentono di identificare le diverse tipologie di veicoli, valutare la loro numerosità, studiare i flussi e gli andamenti orari e giornalieri.
In questo caso non si utilizza solamente la più semplice funzionalità di object detection in cui si localizzano e classifcano oggetti, ma si potrà far riferimento anche alla più complessa capability di object tracking che si pone l’obiettivo di seguire uno specifico oggetto di interesse o più oggetti in una determinata scena. Se le forze dell’ordine hanno la necessità di tenere fuori dallo stadio chi è stato raggiunto da un divieto di accesso alle manifestazioni sportive, la piattaforma TIM può fornire gli strumenti per effettuare il riconoscimento del volto in tempo reale, anche a partire dalle riprese di un classico smartphone, senza la necessità di telecamere o apparecchiature avanzate. La stessa capability di riconoscimento delle persone può essere utilizzata in ambito medico e sanitario, per aiutare ad esempio i soccorsi nel riconoscimento di soggetti non coscienti o malati di Alzheimer. Se serve monitorare e sorvegliare un’area, alcune fasi della sorveglianza possono essere automatizzate: l’intrusion detection può essere raffinata di modo che non scatti un allarme se chi sta transitando in un’area riservata è autorizzato o se sta compiendo operazioni autorizzate.
Se la Pubblica Amministrazione deve mettere in atto delle soluzioni smart per gestire il problema dei rifiuti, gli algoritmi di object recognition e quelli di confronto tra immagini possono fornire informazioni automatiche e utili nel rilevare situazioni come isole ecologiche con cassonetti traboccanti oppure condizioni di abbandono di rifiuti in aree non dedicate allo scopo.

Architettura della piattaforma TIM RECOGNITION PLATFORM

La piattaforma di video analisi disponibile in TIM è chiamata TIM Recognition Platform (o brevemente TRP). Si basa sullo stato dell’arte delle tecnologie nel campo della computer vision (OpenCV), con il supporto dei protocolli di streaming video più comuni (RTMP, RTSP, HLS, …) e con l’integrazione di diversi engine per il riconoscimento degli oggetti (YOLO, Caffe, TensorFlow). Nella Fig.4 è indicata l’architettura logica del sistema con le sue principali componenti. L’architettura indicata mostra come la soluzione adottata sia modulare.

Figura 4: Architettura logica TIM Recognition Platform

Clicca qui per ingrandire l'immagine

I servizi trasversali come l’autenticazione e l’implementazione dei requisiti di sicurezza, la gestione delle immagini e dei video, la gestione dei dati sono comuni all’infrastruttura. Le diverse tipologie di algoritmi, indicati nella figura in orizzontale, utilizzano i servizi comuni ed implementano la componente di analisi vera e propria, generalmente avvalendosi di GPU (graphics processing unit). L’elemento indicato in figura come “Neural Network management” merita un approfondimento. Come detto sopra, la piattaforma integra diverse tecnologie di video analisi (face detection, face recognition, plate recognition, object tracking, object counting), tra questi l’object recognition è particolarmente potente. La ragione sta nel fatto che l’object recognition permette di riconoscere ciò per cui è stato addestrato a riconoscere. Allo scopo di ottenere risultati con il minor numero possibili di falsi negativi o di falsi positivi, in diversi casi d’uso è preferibile non utilizzare una rete generica e ampia o general purpose, ma creare una rete neurale il più possibile specializzata. Se ad esempio ci troviamo all’interno di uno stabilimento dove un robot deve riconoscere alcune apparecchiature, sarà preferibile creare da zero una rete addestrata solamente con quelle tipologie di apparecchiature. L’elemento “Neural Network management” è proprio dedicato a questa operazione preliminare di creazione di una rete neurale: la prima fase consiste nel reperimento di un dataset significativo di immagini, nella loro annotazione manuale e in una fase di training. Il risultato sarà la rete neurale da utilizzare nell’algoritmo di object recognition di questo specifico caso d’uso. Poiché la fase di annotazione può essere lunga e noiosa, la piattaforma fornisce anche uno strumento automatico per specializzare e raffinare ulteriormente una rete neurale iniziale, permettendo il re-training con immagini che la piattaforma stessa ha riconosciuto con un grado di confidenza elevato. Dal punto di vista architetturale, la piattaforma TIM Recognition Platform è implementata secondo le più moderne architetture a microservizi, è pertanto cloud-native e si presta ad essere deployata su qualunque ambiente supporti kubernetes, come Google Cloud Platform.
Come indicato in Fig.5, l’utilizzo di namespace differenti permette di segregare le informazioni e i dati di clienti o tenant differenti e il numero di pod è funzione del carico computazione richiesto ovvero del numero di analisi su immagini o su video live che vengono implementate in contemporanea.

Figura 5: Architettura fisica TIM Recognition Platform

Clicca qui per ingrandire l'immagine

Tra gli elementi principali dell’architettura, ossia i microservizi base che vengono combinati per realizzare le funzionalità, si e videnziano:

  • i microservizi di video analisi, sono le componenti che implementano l’algoritmo di intelligenza artificiale vera e propria, generalmente il loro requisito è la disponibilità di una scheda GPU (modello NVIDIA TESLA T4 nella corrente implementazione);
  • proxy di tipo nginx che permette di esporre il flusso aumentato HLS, ossia il flusso video in cui gli oggetti riconosciuti sono caratterizzati da bounding box ed e ventuali identificativi;
  • API server: microservizio che espone le API che consentono alle applicazioni che intendono avvalersi di una o più funzionalità di video analisi di invocare i relativi servizi;
  • media streaming server: microservizio dedicato alla gestione dei f lussi video, sia nella fase di acquisizione (il flusso video in input che sarà oggetto dell’analisi), sia nel rendere disponibile il flusso video aumentato in output.

La video analisi all’EDGE

L’architettura della piattaforma TIM Recognition Platform, insieme alle caratteristiche del servizio che realizza, si presta ad un’implementazione e dispiegamento in uno scenario di “Hybrid e Edge cloud” di integrazione con una suddivisione tra:

  • una componente all’EDGE o layer di front-end, deputato alla gestione degli stream video e all’applicazione di algoritmi di intelligenza artif iciale (ad esempio object counting);
  • una componente CLOUD o layer di back-end, responsabile delle componenti edge, di raccolta dei KPIs e di esposizione delle API.

Una architettura di questo tipo permette la gestione del flusso video in prossimità del cliente, senza necessità di trasportare i flussi H24 di diversi Mbps in cloud. In aggiunta il carico computazione distribuito, nello specifico la necessità di GPU per le analisi video, permette risparmi ed efficientamenti mentre la minor latenza va a beneficio della disponibilità dei dati di analisi video e del video aumentato. Nell’ambito dell’Edge, la piattaforma TRP è oggetto di un dispiegamento precommerciale che, nel 2H2022, consentirà di sperimentare questo scenario in un’installazione reale presso il sito edge di Bologna.

Figura 6: TIM Recognition Platform all’EDGE

Clicca qui per ingrandire l'immagine

Conclusioni

Le applicazioni della videoanalisi sono numerose e in constante sviluppo e le loro potenzialità superano quelle della videosorveglianza tradizionale. Stiamo parlando, infatti, di una tecnologia in costante evoluzione. L’apprendimento delle reti neurali, il miglioramento degli algoritmi e l’esperienza sul campo contribuiscono a una precisione maggiore e ad una quantità di falsi allarmi inferiore rispetto ai primi periodi. Il futuro vedrà un maggiore impiego degli algoritmi che dovranno trattare i dati degli oggetti, intesi come individui. In questo contesto, la vera e propria sfida consiste nello sviluppo di soluzioni che siano in grado di rispettare la riservatezza degli individui senza alcun impatto sulle funzionalità da garantire.