Chi analizza le immagini?

Sempre più spesso, gli impianti destinati alla visione diretta vengono equipaggiati con piattaforme software in grado di individuare situazioni anomale, alle quali viene immediatamente fornita evidenza anche per mezzo di segnali acustici o visivi.

 

Massimiliano Cassinell
Ingegnere
Progettista reti TLC

Sin dalla loro comparsa sul mercato, i sistemi di videosorveglianza hanno rappresentato un eccezionale strumento di contrasto al crimine e agli atti di vandalismo, così come contribuiscono a monitorare da remoto determinate aree, per intervenire tempestivamente a fronte di situazioni di pericolo, come in caso di incendio o di malore.
Ma il loro limite - soprattutto quando devono essere utilizzati per intervenire in tempo reale - è rappresentato dal livello di attenzione degli addetti al controllo delle immagini riprese dalle telecamere.
È, infatti, naturale che, dovendo trascorre più ore davanti a monitor sui quali scorrono immagini sempre uguali, l'attenzione degli addetti sia soggetta a un calo.
Una condizione che si verifica, immancabilmente, sia in presenza di poche come di numerose telecamere da controllare. Il risultato è tale che, in alcuni casi, l’intervento viene ritardato o è addirittura assente. E non per una carenza della tecnologia, ma per una caratteristica propria del meccanismo di attenzione della mente umana, che ha continuamente bisogno di essere stimolato.
In alcuni casi, per evitare che il personale cercasse di trascorre il tempo leggendo libri o giornali, è stato addirittura installato uno schermo televisivo in mezzo a quelli di monitoraggio. Anche se l'effetto, spesso, è quello di avere l'attenzione catalizzata su un unico schermo, a scapito di quanto accade sui monitor di sorveglianza.
Anche in questo caso, però, è la tecnologia a venire in soccorso ai limiti umani.
Sempre più spesso, infatti, gli impianti destinati alla visione diretta vengono equipaggiati con piattaforme software in grado di individuare situazioni anomale, alle quali viene immediatamente fornita evidenza, anche con segnali acustici o visivi che attraggono l'attenzione del personale addetto alla vigilanza, che può così intervenire in funzione dell'effettiva situazione.

La telecamera non è l’occhio umano
Prima di approfondire questi aspetti, è però necessario comprendere le differenze sostanziali fra l'occhio umano e quello elettronico.
Una telecamera, per quanto di ottima qualità, non possiede le capacità di adattamento di un occhio umano e nemmeno la percezione di cui è capace il cervello.
Un sistema di visione artificiale, infatti, suddivide la scena in un fitto reticolo di quadratini - i pixel - ai quali deve poi essere dato un valore, per renderli utilizzabili in termini di analisi dell'immagine stessa.
Senza dimenticare che un sistema di videosorveglianza non possiede nessuna capacità di astrazione, ma deve essere addestrato a compiere qualunque operazione.
Per tale ragione, un software per la videosorveglianza deve essere in grado di individuare situazioni statisticamente differenti rispetto a quelle considerate “normali”.
Emblematico, in questo contesto, il distinguere tra le mani alzate di un commesso minacciato e il suo “analogo” alzare le mani per prendere un oggetto posizionato in alto. Una differenza immediatamente percepibile a un osservatore umano, capace di comprendere la reale situazione al contorno, mentre il software deve operare in funzione di parametri specifici, spesso correlati, come la velocità con cui si svolge l'azione o per quanto tempo le braccia vengono mantenute in questa posizione anomala, piuttosto che il punto del locale in cui si trova il commesso.
Ciò significa, all'atto pratico, che il committente deve conoscere molto bene quali situazioni intende individuare, per poi permettere all'installatore di scegliere e di “addestrare” il sistema incaricato di riconoscerle.
Ben diverso, infatti, è individuare la presenza di persone che corrono o barcollano in una stazione della metropolitana, rispetto a qualcuno intento a scavalcare una recinzione nella notte, a un oggetto abbandonato in un aeroporto o a un principio di incendio.

L’intelligenza
All'atto pratico, un sistema di videosorveglianza intelligente si basa su un software in grado di riconoscere la azioni compiute da specifici soggetti all'interno dell'area ripresa della telecamera.
Il principio di funzionamento è quello di associare quanto ripreso con una serie di scene note e, di conseguenza, di stabilire se si tratta di situazioni di allarme o meno.
La prima fase consiste nell'acquisizione delle immagini da analizzare. In questo frangente riveste un ruolo fondamentale il “framerate”, ovvero il numero di immagini registrate in un secondo.
Tipicamente, quando si tratta di analizzare i movimenti delle persone, viene considerato adeguato un valore di 20 frame al secondo, che consentono di monitorare adeguatamente anche i movimenti degli arti di una persona.
Meno importante, invece, è l'impiego di apparecchiature ad alta risoluzione.
Queste ultime, infatti, sono perfette per individuare i dettagli di un volto o di una scena ma, di contro, risultano caratterizzate da un eccessivo numero di pixel, con l'effetto di appesantire e rallentare le operazioni di analisi.
Infatti, prima di effettuare questa attività, è necessario “ripulire” la scena.
Un lavoro che comporta l'eliminazione di potenziali fonti di disturbo, tra cui tutti i dettagli che potrebbero rendere difficoltoso l'effettivo riconoscimento.
Basti pensare, ad esempio, alle ombre causate dalla particolare disposizione delle luci.
Da qui la necessità prioritaria di distinguere lo sfondo immobile dai corpi che si muovono.
Un'operazione semplice per un osservatore umano, ma particolarmente delicata per un sistema automatico, che basa il proprio principio di funzionamento sulla permanenza dei singoli pixel in una determinata posizione, ma che può essere ingannato dall'improvvisa accensione di una luce, da un riflesso o da oggetti che si muovono lentamente.
Per raggiungere un simile obiettivo, si sono tipicamente applicate due diverse modalità operative: tenere in considerazione le differenze riscontrate negli ultimi due fotogrammi oppure creare un modello statistico dello sfondo.
Nel primo caso, il risultato tiene conto solo dell'evoluzione più recente, mentre nel secondo si crea un modello statistico che richiede più tempo per essere percepito, ma che garantisce una maggiore stabilità nell'analisi.
L'evoluzione tecnologica ha indotto a unire i vantaggi di entrambi, per creare una serie di modelli dello sfondo.
Questo significa, in pratica, che un pixel viene considerato come sfondo solo quando rimane stabile per un numero sufficiente di frame.
Inoltre, per aumentare l’efficienza della stima, si possono memorizzare più “versioni” di sfondo, rispondendo così efficacemente a brusche variazioni della scena, come l'accensione o lo spegnimento di una luce.
L'intelligenza dei software, inoltre, è in grado di datare le immagini, considerando così come riferimento solo i modelli più recenti.

Identificare la tipologia del movimento
A questo punto, se l'obiettivo fosse solamente quello di identificare un generico movimento sulla scena, l'attività di analisi potrebbe considerarsi conclusa.
In realtà, il mercato chiede soluzioni in grado di seguire e identificare la tipologia del movimento, per poterne riconoscere l'effettiva dinamica.
Per questo occorrerebbe lavorare ancora sui singoli pixel, ma questo creerebbe un eccessivo carico per i sistemi di elaborazione, fornendo dettagli eccessivamente elevati rispetto all'obiettivo.
Infatti, in un’immagine di 160x120 = 19.200 pixel è necessario effettuare 8*n confronti con i pixel adiacenti (con n numero di pixel), quindi 153.600 confronti a ogni frame.
Da qui la necessità di lavorare su gruppi di pixel che compongono uno stesso oggetto, effettuando una segmentazione dell’immagine per riconoscere arti e corpi.
Si passa così dal concetto di pixel a quello di box, ovvero una regione quadrangolare di pixel contigui, ad esempio 10x10 pixel.
Ai singoli box vengono quindi associati direttamente il numero dei rispettivi pixel cambiati rispetto all’immagine di riferimento.
A questo punto vengono raggruppati i box contigui, caratterizzati da un numero di pixel cambiati superiore a una certa soglia.
L'effetto immediato è quello di diminuire drasticamente il numero di confronti necessari per stabilire se due box adiacenti vanno considerati parte dello stesso oggetto.
Ragionando in termini di box, si riduce il rischio di incorrere nella suddivisione di uno stesso oggetto in movimento in più frammenti.
Infine, se non venisse sfruttata una simile modalità di aggregazione, verrebbero effettuati confronti fra pixel non immediatamente contigui, gravando ulteriormente sulla complessità dell'analisi.
L'unico limite di questo approccio consiste nel fatto che due oggetti vengono considerati distinti dal software solo se si trovano almeno a un box di distanza.
Terminata la fase di riconoscimento dei singoli oggetti, il software è ora chiamato a svolgere la parte più delicata: seguirli per determinarne il comportamento.
Per tale ragione i dati relativi ai corpi devono essere trasformati in una forma “sintetica” e adatta a successive elaborazioni.
Le tecniche utilizzate solo le più svariate.
Ma, in termini generali, l'obiettivo è quello di definire alcune caratteristiche (feature), estratte dalle immagini, sfruttando soprattutto l'area occupata e il baricentro dell'oggetto.
Un ulteriore strumento, anche se più sofisticato, mira a raccogliere indicazioni relative alla distribuzione spaziale dei colori.
L'insieme di queste informazioni consente di individuare e seguire un oggetto, per apprenderne e riconoscerne i comportamenti nel contesto della scena in esame.
Per un'analisi efficace è però necessario analizzare un'ulteriore serie di dati. In questa fase, infatti, vengono estratte informazioni poco sensibili a variazioni di posizione o di area, focalizzando invece l'attenzione sulla “postura” del soggetto e non sulla sua posizione.
Il tutto evitando che il sistema di lettura possa essere ingannato dalla varianza dei colori e sfruttando una serie di misure geometriche degli elementi analizzati.
Banalizzando è abbastanza immediato comprendere che la sagoma identificata come “persona”, non può essere più alta di 2 metri.

Il tracking
Solo dopo aver effettuato tutte queste analisi, si può passare all'effettivo tracking, ovvero l'individuazione del moto di ogni corpo.
Per farlo, vengono analizzati i fotogrammi differenti, rilevando e seguendo lo spostamento di un oggetto in movimento all'interno della scena.
Un compito particolarmente delicato, sia per i fattori di disturbo presenti, sia per il rischio che un oggetto venga suddiviso in più parti o, al contrario, più oggetti vengano riuniti in uno.
Il primo rischio viene limitato trasformando l'informazione relativa a un singolo oggetto già individuato in una lista di vettori (chiamata track).
Le track di tutti i soggetti vengono quindi memorizzate in una lista di tracks, la tracklist.
A questo punto, se gli oggetti presenti in un nuovo fotogramma sono già stati osservati e riconosciuti, vengono inseriti nella tracklist.
A contrario, se il sistema non è in grado di stabilire una corrispondenza, è necessario aggiungere una nuova track alla tracklist.
In termini generali, uno dei tracking più diffusi è basato sulle “votazioni”.
L'idea di base è quella di confrontare le caratteristiche di ogni oggetto nell'immagine attuale con quelle degli oggetti tracciati in precedenza, assegnandogli un punteggio in funzione della somiglianza riscontrata e associandolo a quello con una votazione maggiore.
Una simile soluzione comporta un lungo lavoro di settaggio - pressoché manuale - perché le analisi sono influenzate dal contesto specifico e da eventuali fattori di disturbo.
Un'affascinante alternativa prende in considerazione le reti neurali, in grado di apprendere in modo non supervisionato.
Si basano, in pratica, sulla possibilità di aggiornare diversamente i pesi dei neuroni.
L'algoritmo è particolarmente efficace in presenza di numerosi oggetti.
Ma, di contro, mostra una serie di limiti quando sulla scena ci sono movimenti lenti o ridotti.
Allo stesso modo, inoltre, non è in grado di tracciare correttamente la scena a fronte di movimenti repentini, come persone che iniziano improvvisamente a correre.
Un terzo metodo è basato sulla distanza tra i vettori.
L'algoritmo, per certi versi, può essere considerato un caso particolare del sistema basato su votazione.
Sfrutta, infatti, la distanza tra due forme per stabilire, in termini probabilistici, quale sia la corretta associazione tra l'oggetto osservato e quello a campione.
Anche in questo caso, l'intervento umano di addestramento è relativamente limitato.
Di contro, in presenza di numerosi vettori, risulta difficile correlare tra loro le distanze e una particolare variazione.
Un problema, quest'ultimo, che può essere limitato fissando un ristretto sottoinsieme di caratteristiche con cui descrivere l’oggetto.
Il risultato è una buona capacità nel tracciare la brusca variazione di forma di un oggetto.
Ma se la segmentazione non ha un buon livello di qualità, può presentare problemi soprattutto in presenza di un'illuminazione non adeguata.

L'analisi finale
Esaurite queste fasi, si passa alla classificazione dei singoli oggetti riconosciuti, ai quali viene assegnato un simbolo o, meglio, un numero.
A questo punto, è inoltre possibile associarli a singoli vettori e, in particolare, a un unico vettore leader, conosciuto come centroide.
La classificazione può così analizzare la sequenza delle immagini, delle “forme” e, soprattutto, delle posture assunte dall'oggetto ricostruito e in movimento sulla scena. Infatti, partendo da una libreria di modelli, il sistema viene addestrato ad associare, dal punto di vista statistico, quanto avviene.
Se tutte le operazioni precedenti sono state compiute correttamente, la ricostruzione finale consiste solamente nell'associare una specifica azione in funzione di quanto rilevato e dello specifico contesto operativo.
Da queste brevi note è immediato comprendere come, per il corretto funzionamento di un algoritmo di riconoscimento automatico, sia essenziale una puntuale attività di addestramento dell'intero sistema e come difficilmente possa essere efficace una soluzione pre-configurata o installata da personale non professionale.
Inoltre, ogni soluzione deve essere valutata in funzione del contesto in cui verrà inserita e della tipologia di movimento da analizzare.
In una banca, ad esempio, l'allarme potrebbe essere scatenato dall'alzarsi delle mani o da persone che si muovono ad alta velocità.
Di contro, in un ambiente produttivo, l'attenzione dovrebbe essere focalizzata sull'accasciarsi a terra di un soggetto o sul fatto che quest'ultimo entri in aree non autorizzare o potenzialmente pericolose.
Situazioni diverse, che devono essere accuratamente valutate e analizzate sin dalla fase di prevendita, individuando da subito la soluzione più adeguata.

Pubblica i tuoi commenti