Annotazione automatica di immagini con sistemi desktop grid

Transcript

Annotazione automatica di immagini con sistemi desktop grid
Annotazione automatica di immagini con sistemi desktop grid
DISI Technical Report DISI-TR-09-04, presentato alla Conferenza GARR 2009, Napoli.
Marco Ferrante ([email protected]), Laura Lo Gerfo ([email protected])
DISI Dipartimento di Informatica e Scienze dell'Informazione, Università di Genova
L'annotazione di immagini è il processo con cui si assegna ad un'immagine un’etichetta (tag) o una
descrizione testuale, allo scopo di poterla in seguito recuperare tramite strumenti di information retrieval.
Vi è un crescente interesse nei sistemi di recupero delle immagini basate su contenuto visivo (noti come
sistemi di Content-Based Image Retrieval-CBIR) dovuto sia alle limitazioni dei sistemi basati sui metadati
aggiunti manualmente, sia al gran numero di possibili impieghi, come l’organizzazione e l’indicizzazione di
enormi archivi web come Flickr o Picasa.
La necessità di studiare e sviluppare sistemi in grado di annotare automaticamente le immagini sulla base del
contenuto visivo si riassume nelle seguenti motivazioni:



la crescente quantità delle immagini digitali,
il fatto che il World Wide Web sia una risorsa aperta,
le limitazioni dei database e dei motori di ricerca attuali basati sul contenuto lessicale 1, sia in termini di
costo in tempo e denaro sia d’incoerenza dovuta alla soggettività dell’intervento umano.
Per grandi collezioni di immagini, l’annotazione automatica, ed il conseguente recupero semantico, è un
problema difficile ed ambizioso. Molte implementazioni di CBIR permettono di consultare il database
attraverso immagini di esempio (query-by-example) sfruttando caratteristiche visuali low-level come
tessitura, colore e forma.
L’impiego di elementi unicamente grafici porta ad una mancanza d’allineamento tra percezione dell’utente e
quella del sistema: questa differenza è nota come gap semantico [1]. Inoltre, molti sistemi di retrieval spesso
non sono stati sviluppati per generici dataset, ma sono progettati per un dominio specifico.
Apprendimento da esempi per il tagging automatico
Allo scopo di colmare il gap semantico, è possibile integrare descrizioni visuali e tecniche di apprendimento
non supervisionato e supervisionato. In particolare, l’annotazione e il retrieval possono essere formulati
come problemi di classificazione, dove le classi identificano la semantica dell’immagine [2]. Nell’ambito
della tesi di dottorato di uno degli autori2, è stata studiata una strategia per annotare automaticamente le
immagini su una generica collezione eterogenea di dati.
I moduli principali dell’architettura proposta possono essere così sintetizzati:



1
2
Decomposizione in regioni (detti blob): è la fase di pre-processing in cui tutte le immagini sono
partizionate in regioni; al termine di questo processo i blob estratti sono uniformi rispetto al colore e alla
tessitura.
Categorizzazione non supervisionata dei blob: per ogni regione si estraggono i vettori di caratteristiche
(feature) che descrivono tessitura, forma, colore e posizione di ogni regione. I blob descritti in termini di
feature sono raggruppati in cluster statistici, ognuno dei quali rappresenta un “concetto”. Ad esempio,
nel caso di Flickr i concetti sono le tag che dovrebbero rappresentare il contenuto dell’immagine
(“mare”, “rocce”, “nuvole”, …), mentre nel caso di immagini biomediche come radiografie o MRI, i
concetti possono essere le descrizioni sulla modalità di acquisizione, le parti anatomiche o i commenti
morfologici/diagnostici.
Apprendimento supervisionato dei concetti: si costruisce un classificatore binario per ogni concetto per
discriminare i cluster statistici rilevanti trovati al passo precedente. Il classificatore è poi utilizzato in
fase di test come:
- sistema che assegna un’etichetta semantica ad alcuni blob di una nuova immagine da annotare,
- motore di ricerca per query testuali,
- motore di ricerca per query-by-example basate su un recupero semantico.
Come Google Image Search o Yahoo! Image Search
Laura Lo Gerfo, Automatic Image Annotation based on Learning Visual Cues
Ferrante, Lo Gerfo, DISI-TR-09-04, pag. 1
Requisiti computazionali
Uno dei vantaggi del sistema di annotazione automatica proposto è la scalabilità: infatti, è sufficiente ripetere
il processo sostituendo le feature o il dataset per trovare nuovi concetti. Il sistema è stato sperimentato con
un dataset d’immagini naturali di esterni comunemente usato per testare i sistemi di CBIR, composto da oltre
30.000 immagini3. Nelle prime fasi del lavoro, l'elaborazione del dataset avveniva su una singola workstation
di medio livello e il processo impiegava circa 5 giorni di elaborazione.
Sebbene le fasi di pre-processing ed estrazione dei vettori di feature siano computazionalmente onerose, esse
sono composte di task largamente indipendenti e si prestano bene alla parellelizzazione.
Una successiva analisi ha evidenziato che la quantità di dati necessaria ad ogni task e i risultati generati
potevano essere trasferiti via rete in un tempo relativamente ridotto rispetto alla durata dell’elaborazione. In
totale, ogni elaborazione richiede circa 600 Mbyte di immagini in input e produce circa 8 Gbyte di risultati
non compressi. Questa considerazione ha aperto lo scenario all’uso di un sistema distribuito da individuare.
Sebbene il Dipartimento disponga di un computer cluster dedicato all’attività di ricerca sui sistemi distribuiti,
esso non si presta ad impieghi generali da parte di utenti, come il gruppo di ricerca in Computer Vision4, non
interessati agli aspetti sistemistici o di programmazione concorrente. In base a precedenti esperienze, si è
scartata anche l’ipotesi di partecipare a qualche grande infrastruttura di grid computing, eccessivamente
onerosa come apparecchiature, competenze necessarie e, non ultimo, complessità burocratica.
Desktop grid con macchine virtuali
Nel periodo dell'esperimento, il Dipartimento stava procedendo al rinnovo del parco macchine dei laboratori
studenti. Tipicamente queste macchine rimangono inoperose la maggior parte della giornata e si è pertanto
valutato di sfruttarle come nodi per attivare un servizio di grid di tipo desktop.
Il sistema doveva conciliare parecchie esigenze; in particolare, i responsabili dei laboratori hanno posto limiti
piuttosto stringenti per concederne l'uso. I requisiti principali sono:

reciproca trasparenza, affinché da una parte gli studenti non subiscano disagi, come cali di prestazioni
nel normale uso didattico, dall’altra essi non possano interferire sull’elaborazione svolta sul nodo,
 gestione separata del software di calcolo rispetto a quello didattico, in modo che il personale del
laboratorio sia aggravato il minimo indispensabile dell’installazione di software non necessario alla
didattica, che in ogni caso dovrebbe essere automatizzato,
 compatibilità Linux/Windows, per funzionare su macchine dual boot,
 uso della rete privata già esistente, non connessa con l’esterno, con il minor intervento possibile sulla
configurazione degli apparati,
 relativa protezione dall'installazione/esecuzione di codice malevolo.
D'altra parte, il sistema di annotazione di immagini era solo uno dei possibili usi del servizio: un'indagine
con i potenziali utenti dell'infrastruttura di calcolo ha evidenziato esigenze differenti e, in qualche caso,
decisamente antitetiche, come la richiesta dell'uso di una piattaforma basata Linux decisamente nutrita in
termini di software per calcolo numerico, image processing e altre applicazioni scientifiche.
La sintesi è stata raggiunta con una rete virtuale di macchine virtuali. L'architettura prevede che ogni PC del
laboratorio ospiti una macchina virtuale, eseguita in background a bassa priorità sfruttando uno dei due core
della CPU, connessa mediante VPN ad un gateway situato in DMZ, il quale può ospitare gli altri componenti
di gestione del grid. Sono stati scelti i prodotti VMware Server e OpenVPN perché gratuiti e già familiari ai
tecnici dei laboratori didattici. Il resto della gestione dei nodi di calcolo è così totalmente separata, perché
ogni operazione di configurazione consiste nella predisposizione di un nuovo disco virtuale da parte degli
utenti scientifici e si limita alla distribuzione del file del disco stesso da parte del personale didattico. Le
macchine virtuali offrono anche la possibilità di essere “congelate”, ripartendo dalla configurazione iniziale
ad ogni riavvio del PC, diminuendo così i rischi di usi malevoli.
3
COREL30K, un dataset di immagini annotato manualmente contenente 31.695 immagini e 5.587 etichette. Il 90%
delle immagini è usato come training set mentre il 10% come test set per valutare le performance di annotazione del
sistema. COREL30K è molto ricco in termini di numero di esempi per concetto e dimensione del database, per questo
motivo rappresenta un’eccelente sfida per sistemi che non sono scalabili.
4
Slip GURU, http://slipguru.disi.unige.it/
Ferrante, Lo Gerfo, DISI-TR-09-04, pag. 2
Un grid interuniversitario su base volontaria
Il vincolo più stringente per l’individuazione del middleware su cui basare il grid è stato la mancanza di
connettività esterna dei nodi. Tra i prodotti presi in considerazione (Condor, UNICORE, ecc…), non sono
molti quelli che prevedono questo tipo di configurazione. Inoltre, ci sono poche esperienze di nodi grid in
ambienti virtualizzati, in genere mirate ad aspetti abbastanza differenti, come limitare l’overhead dovuto alla
virtualizzazione [3].
Tra i vari prodotti analizzati, OurGrid [4] ha dimostrato di possedere i requisiti necessari. Oltre alle sue
caratteristiche specifiche, è risultato interessante il fatto che sia alla base di ShareGrid [5], un’infrastruttura
di calcolo distribuito Peer-to-Peer a base volontaria a cui partecipano Università di Torino, Università del
Piemonte Orientale e TOP-IX5. Aderendo a ShareGrid, è stato possibile aumentare la disponibilità dei nodi di
calcolo da un massimo di circa 50 offerti dai nostri laboratori ad una media di oltre 1506, sebbene su base
best effort. La fortuita combinazione della contiguità geografica con il nostro Dipartimento permette inoltre
di sfruttare la connessione GARR con un solo passaggio intermedio tra l’Università di Genova e quella di
Torino e, in futuro, il collegamento diretto di GARR-X. Questa caratteristica è rilevante per il tipo di
elaborazioni di cui si occupa il gruppo di ricerca, che di norma tratta quantità di dati significative.
Risultati e conclusioni
Dal punto di vista della ricerca svolta, ShareGrid ha portato a grandi benefici, riducendo il tempo di
elaborazione del dataset da 5 giorni a meno di tre ore, e rendendo così possibile l’esplorazione quasi
interattiva di differenti insiemi di feature. Inoltre, al fine di ottenere un sistema di annotazione automatica
scalabile (cioè capace di riconoscere nuovi concetti da nuove collezioni di dati), ShareGrid ha giocato un
ruolo fondamentale.
L’esperienza ha anche mostrato che l'architettura proposta è poco intrusiva, con limitati oneri d’attivazione e
si presta facilmente all'installazione nei laboratori studenti, senza richiedere ai gestori dei laboratori né
competenze tecniche specifiche né un significativo aggravio di lavoro. Per gli utenti del grid, il giudizio
appare più articolato, perché da una parte il beneficio è subito evidente, dall’altra l’uso del sistema richiede
competenze al di fuori del dominio del ricercatore. In particolare, si è dimostrata complessa la diagnosi delle
cause di errore nell’elaborazione su nodi remoti. Di conseguenza, allo scopo di trarre vantaggio dall’impiego
di un simile sistema, si ritiene opportuna la collaborazione di persone con esperienza specifica; ad esempio, i
dipartimenti di area umanistica potrebbero chiedere un supporto a quelli di orientamento più tecnologico.
Questo lavoro non sarebbe stato possibile senza l’attiva collaborazione dei tecnici del DISI Daniele Rossetto,
Angelo Marando e Stefano Bencetti. Gli autori ringraziano per il supporto gentilmente fornito dal progetto
ShareGrid e dalle persone che lo gestiscono donando una significativa quantità di risorse computazionali
senza le quali questa ricerca sarebbe stata impossibile.
Riferimenti
[1] A. W. M. Smeulders, M. Worring, S. Santini, A. Gupta e R. Jain. “Content based image retrieval at the end of the
early years”. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22 , Issue 12, dicembre 2000.
[2] G.. Carneiro, A. B. Chan, P. J. Moreno, and N. Vasconcelos. “Supervised Learning of Semantic Classes for Image
Annotation and Retrieval”. IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol. 29, Issue 3, marzo
2007.
[3] A. C. Marosi, P. Kacsuk, G. Fedak e O. Lodygensky. Using VirtualMachines in Desktop Grid Clients for Application
Sandboxing. CoreGRID Technical Report TR-140, agosto 2008.
[4] W. Cirne, F. Brasileiro, N. Andrade, L. Costa, A. Andrade, R. Novaes e M. Mowbray. “Labs of the World, Unite!!!”.
Journal of Grid Computing, Vol. 4, No. 3, 2006.
[5] C. Anglano, M. Canonico, M. Guazzone, M. Botta, S. Rabellino, S. Arena, G. Girardi. “Peer-to-Peer Desktop Grids
in the Real World: the ShareGrid Project”. Proc. of the 8th IEEE International Symposium on Cluster Computing and
the Grid (CCGRID'08), Lyon (France), maggio 2008, IEEE Press.
5
6
Ulteriori informazioni sul progetto ShareGrid sono disponibili all’indirizzo http://dcs.di.unipmn.it/sharegrid
Statistiche sulla disponibilità all’indirizzo http://streaming.top-ix.org/~gugli/sharegrid/_statistics/history.html
Ferrante, Lo Gerfo, DISI-TR-09-04, pag. 3