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