6Esempi di recenti applicazioni basate sul riconoscimento di attività umane
riguardano principalmente sistemi distribuiti di sorveglianza ([1] e [2]) e di
controllo di ambienti come stazioni e metropolitane ([3] e [4]), e sistemi di
interazione uomo-macchina [5].
Per il problema di riconoscimento di nostro interesse è necessario rilevare
la presenza e la posizione di persone nella scena e riconoscere l'attività che
stanno svolgendo. Le principali difficoltà sono la segmentazione di scenari
reali che cambiano rapidamente nel tempo e coinvolgono movimenti complessi
e occlusioni visive, e la possibilità di sfruttare appieno le attuali capacità di
ripresa video, di trasferimento dei dati acquisiti da sensori distribuiti e di
elaborazione dei dati.
L'integrazione di questi ambiti è in effetti la sfida principale, ed è la
direzione in cui si muovono gli sforzi di ricerca all'interno del laboratorio
I.S.P.G. - Image and Sound Processing Group - del Politecnico di Milano, in
cui è stato realizzato questo lavoro.
Per realizzare un sistema in grado di riprodurre il processo umano di
riconoscimento basandosi soltanto su informazioni visive, la scelta oggi più
promettente è quella di utilizzare un sistema di ripresa multi-vista.
Un dispositivo di questo tipo è intrinsecamente in grado di risolvere pro-
blemi legati alla dipendenza dal punto di vista, alle ambiguità di movimento
e alle inevitabili auto-occlusioni che si verificano in un sistema mono-camera.
Lo sviluppo del sistema richiede di disporre di dati tridimensionali, dal
momento che il corpo umano è, dal punto di vista del movimento, un soli-
do articolato che varia la propria configurazione durante l'esecuzione di una
certa azione. L'approccio seguito è quello di adottare un sistema di ricostru-
zione volumetrica, per recuperare la descrizione 3D del corpo a partire dalle
silhouette 2D estratte dalle varie telecamere.
7Si vuole cioè identificare la porzione di spazio occupata in ogni istante
da una persona che esegue un'azione, sfruttando il vincolo spaziale imposto
da ciascuna silhouette. Questo approccio, pur non richiedendo informazioni
a priori sulla forma del corpo, riesce a fornire una buona interpretazione del
significato della scena.
La realizzazione del sistema di riconoscimento ha richiesto poi l'applica-
zione di tecniche di Pattern Recognition, la disciplina che si occupa della
classificazione di oggetti (pattern) in classi in accordo con una regola di
assegnamento e che fornisce le basi teoriche per la definizione di algoritmi di
riconoscimento di segnali.
Gli aspetti principali da considerare in un problema di Pattern Recogni-
tion sono lo stadio di selezione di quantità dette feature in grado di caratte-
rizzare in modo significativo i pattern da classificare, lo stadio di realizzazione
del sistema di riconoscimento vero e proprio e infine lo stadio di valutazione
delle prestazioni del sistema.
Nello sviluppo del lavoro di Tesi è stato seguito questo approccio, inizial-
mente realizzando una riduzione delle feature proposte nel precedente lavoro
di Pierobon [6], poi sviluppando un algoritmo di riconoscimento basato su
Modelli di Markov Nascosti (in accordo con gli aspetti teorici definiti nel
lavoro di Rabiner [7]) e infine raccogliendo un catalogo di azioni mediante
un sistema di ripresa multi-camera per verificare con dati reali, e con diversi
metodi di test, il funzionamento dell'algoritmo.
Le varie fasi di progetto di un sistema di questo tipo sono in relazione fra
loro, e la verifica del funzionamento può portare alla revisione di uno o più
stadi precedenti.
8Il primo stadio ha l'obiettivo di scegliere e calcolare feature significative in
grado di rappresentare una certa azione, che possiedano inoltre una elevata
capacità discriminatoria tra azioni distinte. Ogni nuova azione in ingresso al
sistema di riconoscimento deve essere assegnata ad una certa classe, ovvero
ad un certo insieme contenente azioni dello stesso tipo.
Scegliendo feature ricche di informazione si può semplificare notevolmente
il progetto del classificatore: si vuole che esse assumano valori molto diversi
fra loro quando descrivono azioni appartenenti a classi diverse e valori molto
simili per azioni appartenenti alla stessa classe, ovvero che portino ad una
grande distanza tra classi e ad una piccola distanza inter-classe.
La PCA - Principal Component Analysis - adottata in questo lavoro per-
mette di generare feature mutuamente non correlate ed è applicabile diretta-
mente ai dati senza richiedere alcuna informazione a priori : applicando un'a-
nalisi agli autovettori essa proietta le feature in un sottospazio di dimensioni
ridotte, conservandone però gran parte dell'energia originale.
Per la valutazione del sistema si sono utilizzati i dati ottenuti mediante
l'ambiente di acquisizione Smart-Space, un sistema immersivo di telecamere
allestito all'interno del laboratorio dell'I.S.P.G. Per l'acquisizione di sequen-
ze video è stata necessaria una opportuna calibrazione delle telecamere e
un'integrazione dell'algoritmo di ricostruzione volumetrica con il successivo
algoritmo di estrazione delle feature.
Sono state registrate sequenze video in cui un attore, a partire da una
postura prefissata (in posizione eretta con le braccia distese) esegue una certa
azione per poi fare ritorno alla postura iniziale. Il futuro sviluppo del sistema
va nella direzione di consentire l'esecuzione dell'azione a partire da qualsiasi
postura iniziale. Le acquisizioni riguardano azioni eseguite da un singolo atto-
re: l'estensione del riconoscimento a più attori contemporaneamente presenti
nella scena è una delle future linee di ricerca.
9Tale sviluppo è reso particolarmente complesso dalla necessità di gestire,
oltre alle auto-occlusioni, anche le mutue occlusioni prodotte dall'interazione
di più attori.
Per ciascuna delle viste della scena e per ogni fotogramma (frame) di
una sequenza video è necessaria un'operazione di background subtraction,
per separare la silhouette dell'attore dallo sfondo.
Il metodo di ricostruzione volumetrica, applicato a ciascun frame di una
sequenza, fornisce poi i dati tridimensionali necessari per l'inseguimento
(tracking) automatico delle successive posture assunte dall'attore.
Tali dati si ricavano retroproiettando dal centro ottico di ciascuna te-
lecamera i coni visivi che attraversano le singole silhouette, definendo per
intersezione (AND logico) il visual hull, ovvero il guscio visivo occupato dal-
la persona. Il volume del corpo, così come risulta da questa operazione di
intersezione, è formato dall'insieme di elementi di volume (voxel) accesi
(ON-voxel), mentre il resto dello spazio tridimensionale è costituito da voxel
spenti (OFF-voxel). Le coordinate tridimensionali dei voxel accesi in un
certo istante descrivono la configurazione del voxel-set in quel frame.
A questo punto si adatta una forma di riferimento (reference shape) al
guscio visivo e la si campiona in un insieme di punti di controllo. Si definisce
poi un descrittore di forma (Shape Descriptor) che codifica le relazioni esi-
stenti tra punti del volume e punti di controllo (la definizione del descrittore
è stata oggetto del precedente lavoro di Pierobon [6]).
Poichè viene calcolato uno Shape Descriptor per ciascun frame, la descri-
zione completa di una sequenza è rappresentata da tanti Shape Descriptor
quanti sono i frame che costituiscono la sequenza.
10
Ciascun punto di controllo fornisce in sostanza un particolare punto di
osservazione della scena, in base al quale si ricava un istogramma tridimen-
sionale dell'occupazione di volume del voxel-set.
Lo Shape Descriptor viene calcolato sommando i valori corrispondenti
appartenenti a tutti gli istogrammi dei punti di controllo e normalizzandoli
rispetto ai valori massimi di occupazione ottenuti nei vari istrogrammi.
La scelta della forma di riferimento consente di ottenere particolari pro-
prietà del descrittore: adottando un cilindro orientato verticalmente, con
l'asse passante per il centroide e adattato all'altezza dell'attore, sono garan-
tite l'invarianza rispetto a traslazioni e a rotazioni del corpo attorno all'asse
del cilindro e la capacità di discriminare diverse orientazioni del corpo rispetto
al piano orizzontale. Le prove sperimentali effettuate hanno però rivelato una
certa dipendenza dalle dimensioni dell'attore, a causa della notevole diversità
di occupazione volumetrica prodotta da ciascun attore: la normalizzazione
applicata al descrittore di forma non elimina del tutto tale limite.
Lo scopo del descrittore di forma è quello di caratterizzare in modo univo-
co una certa postura: un'insieme di questi descrittori costituisce una firma
significativa di un'intera azione. Si vuole però conservare una certa genera-
lità, in modo da individuare poi similitudini locali e globali tra descrittori
diversi e confrontarli fra loro.
L'evoluzione dell'azione realizzata dall'attore richiede un inseguimento
(tracking) nel tempo delle successive posture e degli Shape Descriptor corri-
spondenti: il cilindro di riferimento calcolato al primo frame viene traslato
rigidamente attorno alle posizioni assunte dal centroide nei frame successivi.
Si sceglie poi come insieme di feature rappresentativo di una certa postura
l'insieme dei valori contenuti nello Shape Descriptor tridimensionale.
La descrizione completa di un'azione richiede di accostare i vettori di
feature corrispondenti alle successive posture in Matrici di Feature.
11
Il descrittore utilizzato consente un robusto inseguimento temporale delle
posture rispetto alle configurazioni assunte dal voxel-set in istanti successivi
e inoltre le Matrici di Feature si sono rivelate adatte al nostro problema di
riconoscimento.
Per la soluzione del problema è stato poi necessario il progetto di un siste-
ma di riconoscimento che permettesse di assegnare una certa azione (quindi
un pattern non noto) alla classe più probabile tra quelle disponibili.
Per realizzare questo obiettivo si è scelto di utilizzare una tecnica di
Context-Dependent Classification: si assume che un'azione sia composta da
un insieme di posture, ciascuna rappresentata da un vettore di feature, e che
le diverse posture non siano tra loro indipendenti.
Il progetto si è basato sull'utilizzo di Hidden Markov Models, un metodo
consolidato per la descrizione di processi statistici complessi non osservabili
direttamente, le cui caratteristiche sono desumibili soltanto a partire da una
sequenza di osservazioni. Tali modelli sono particolarmente adatti in ambiti
come il riconoscimento del parlato e il riconoscimento di azioni, in cui è
inevitabile che si crei una certa correlazione tra feature successive, siano esse
rappresentative di fonemi oppure di posture del corpo come nel nostro caso.
Un Modello di Markov è un sistema a tempo discreto che evolve assumendo
in ogni istante un certo stato, appartenente ad un insieme finito di possibili
stati distinti: un processo di questo tipo è osservabile nel senso che gli stati
successivamente assunti dal sistema (l'uscita del processo) corrispondono ad
eventi direttamente osservabili.
Si parla di Modelli di Markov Nascosti quando il processo di Markov non
è più direttamente osservabile: le osservazioni disponibili in un certo istante
non coincidono con gli stati del modello, ma sono una funzione probabilistica
di tali stati, non più accessibili.
12
Per realizzare la classificazione, i due problemi principali da affrontare
sono la determinazione di un modello dato un insieme di osservazioni pro-
venienti da un insieme di training (fase di addestramento) e la valutazione
della verosimiglianza di una certa osservazione di test assumendo che sia
stata generata da un certo modello (fase di riconoscimento vera e propria).
La valutazione delle prestazioni del sistema si è basata sull'utilizzo di
un grande catalogo di azioni, sufficientemente esteso per ottenere risultati
statisticamente validi. Si voleva che la fase di addestramento coinvolgesse
più attori, per tenere conto della variabilità con cui un'azione può essere
realizzata da ciascun esecutore, e inoltre che ciascun attore eseguisse più
istanze di ciascuna azione.
Il Data-Set comprende 5 attori e 10 diverse azioni, ciascuna eseguita 10
volte, per un totale di 500 azioni.
Le azioni sono realizzate in modo indipendente l'una dall'altra e diffe-
riscono per durata dell'esecuzione e per ampiezza dei movimenti eseguiti.
Si è pensato poi di verificare l'indipendenza del sistema rispetto alla posi-
zione dell'attore, variando nelle diverse realizzazioni la direzione di ingresso
nella scena e l'orientazione con cui viene eseguita l'azione. Un numero suffi-
cientemente grande di realizzazioni permette di applicare una procedura di
addestramento significativa.
Un certo insieme di Matrici di Feature, rappresentative di una particolare
azione, contribuisce alla definizione di un modello per quell'azione: in totale
vengono quindi ricavati 10 modelli.
Nella fase di riconoscimento finale, una sequenza di osservazioni corri-
spondente ad un'azione, ovvero una sequenza di vettori di feature raccolti in
una Matrice di Feature, viene valutata rispetto a tutti i modelli disponibili
per identificare il modello corrispondente più probabile.
13
Essa viene assegnata ad un modello (cioè ad una classe descrittiva di un
tipo di azione) in base ad un criterio a massima verosimiglianza: il modello
selezionato è quello per cui è massima la probabilità di aver generato la
sequenza osservata.
Per l'analisi del sistema si sono considerate le log-verosimiglianze delle
sequenze di training e di test rispetto ai 10 modelli disponibili (che mostrano
con chiarezza l'efficacia del riconoscimento) così come il modo in cui evol-
vono nel tempo gli stati del modello nascosto che descrive una certa azione,
per cercare di capire se la successione degli stati è ragionevole rispetto alla
sequenza di posture effettivamente assunte da un attore durante l'esecuzione
dell'azione.
La scelta dell'insieme di addestramento incide in modo molto significativo
sulle prestazioni del sistema di riconoscimento, come si è verificato conside-
rando alternativamente diverse combinazioni dei dati in sottoinsiemi distinti
di training e di test.
Ad esempio, con 5 attori di training, al variare del numero di sequenze
utilizzate per ogni attore e per ogni azione (da 1 a 10), si ottengono presta-
zioni di riconoscimento tra il 92 e il 96%. Riducendo a 4 il numero di attori
utilizzati per istruire i Modelli di Markov Nascosti, si nota una riduzione delle
prestazioni, che rimangono comunque buone: di fatto si voleva capire come i
modelli riuscissero ad adattarsi a istanze prodotte da un attore sconosciuto,
come è ragionevole per un sistema che si trovi ad operare in un contesto reale.
Il sistema ha inoltre mostrato che il modo in cui vengono scelti gli attori per
l'addestramento non è affatto indifferente: mediando sulle probabilità di cor-
retta decisione ottenute utilizzando per l'addestramento 4 attori combinati
in tutti e cinque i modi possibili, si ottengono valori di corretta decisione non
inferiori all'84%.
14
Il metodo complessivo di stima dell'errore di classificazione qui conside-
rato è la Cross-Validation, che consiste nel rimuovere alternativamente un
certo sottoinsieme dei dati disponibili e nel calcolare il classificatore sulla
base del sottoinsieme di dati restante: le prestazioni vengono poi valutate
solo sui dati inizialmente esclusi. La valutazione delle prestazioni viene fatta
mediante Cross-Validation nella sua forma detta K-Fold : per K volte, un
sottoinsieme di campioni del Data-Set complessivo viene escluso, e il modello
viene calcolato solo sul restante sottoinsieme di campioni di addestramento.
L'altra tecnica di valutazione considerata (detta Resubstitution) opera su
tutti i dati disponibili, noti o meno in fase di addestramento: essa è risultata
però poco significativa, dal momento che sovrastima la probabilità di corretta
decisione senza descrivere in profondità il comportamento del sistema.
La tecnica di Cross-Validation ha permesso in particolare di valutare
correttamente, al variare del sottoinsieme di addestramento considerato, la
capacità del sistema di generalizzare, ovvero di riconoscere azioni non note.
Viene ora descritta brevemente la struttura della Tesi, con gli aspetti
salienti di ciascun capitolo.
Nel secondo Capitolo viene presentata una panoramica delle principali
tecniche di Visione Artificiale di interesse per la realizzazione di un sistema di
riconoscimento, assieme ad una presentazione dello stato dell'arte nei campi
dell'analisi del movimento umano e del riconoscimento di azioni, con parti-
colare attenzione ai metodi che fanno uso di un sistema di ripresa multi-vista
(con più telecamere) e alle tecniche di estrazione di modelli rappresentativi
del corpo umano, in due e tre dimensioni.
15
Il terzo Capitolo descrive nel dettaglio il sistema di acquisizione utiliz-
zato per riprendere sequenze video in cui un attore esegue una certa azione
all'interno della scena: sono descritte le architetture hardware e software che
lo costituiscono e viene brevemente riepilogata la procedura di calibrazione
necessaria per ricondurre le telecamere ad un sistema di riferimento comune.
Nel quarto Capitolo sono presentate le operazioni necessarie per ottenere
quantità rappresentative delle posture assunte da una persona durante l'e-
secuzione di un'azione. Sono descritte la fase di segmentazione, ovvero di
estrazione della silhouette dell'attore da ciascun frame di una sequenza, la
ricostruzione volumetrica del corpo e la definizione di un descrittore di forma
(adattato alla persona) che consente di inseguirne il movimento nel tempo.
Il quinto Capitolo descrive l'utilizzo di Modelli di Markov Nascosti per
la realizzazione del sistema di riconoscimento, inquadrandoli nel contesto del
riconoscimento di azioni mediante Pattern Recognition e in particolare dei
metodi di classificazione di tipo Context-Dependent.
Il sesto Capitolo descrive l'algoritmo di classificazione sviluppato, preci-
sando le scelte effettuate per l'inizializzazione dei parametri dei modelli e per
il loro aggiornamento, e spiega il modo in cui tali modelli sono stati applicati
al problema del riconoscimento di azioni.
Il settimo Capitolo illustra i risultati sperimentali ottenuti sfruttando un
ampio catalogo di azioni, e presenta le tecniche adottate per suddividere tale
Data-Set in insiemi di training di test, in modo da ottenere una valutazione
statisticamente significativa delle prestazioni.
Nel Capitolo finale, l'ottavo, sono presentate le conclusioni del lavoro svol-
to, alla luce delle premesse teoriche che hanno ispirato il lavoro e dei risultati
effettivamente ottenuti, e sono discussi i possibili sviluppi del sistema.