1 Rendering spaziale sonoro mediante ricostruzione stereo Università degli studi di Verona Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Candidato: Sartor Luca Relatore: Vittorio Murino Correlatori: Andrea Fusiello Davide Rocchesso
2 Sommario Motivazioni Motivazioni Architettura del sistema Architettura del sistema Analisi visuale della scena Analisi visuale della scena Spazializzazione sonora Spazializzazione sonora Risultati e conclusioni Risultati e conclusioni
3 Motivazioni Creare uno strumento che produca in tempo reale uno spazio sonoro tridimensionale virtuale che rispecchi la scena reale, analizzata tramite una telecamera stereo. Creare uno strumento che produca in tempo reale uno spazio sonoro tridimensionale virtuale che rispecchi la scena reale, analizzata tramite una telecamera stereo. Applicazione: ausilio ai non vedenti Applicazione: ausilio ai non vedenti
4 Motivazioni La maggior parte delle informazioni che una persona riceve dallambiente circostante derivano dalla vista. La maggior parte delle informazioni che una persona riceve dallambiente circostante derivano dalla vista. La mancanza della vista è la menomazione più limitante. La mancanza della vista è la menomazione più limitante. Il suono non richiede unattenzione focalizzata per essere percepito. Il suono non richiede unattenzione focalizzata per essere percepito. E difficile generare suoni in maniera tale che riescano a fornire informazioni utili. E difficile generare suoni in maniera tale che riescano a fornire informazioni utili.
5 Architettura del sistema Il sistema si basa su una telecamera stereo. Dopo avere acquisito la scena, vengono individuati i principali ostacoli in essa presenti. Tali ostacoli vengono spazializzati tridimensionalmente, quindi sonificati in cuffia.
6 Stereopsi Per ricostruire la scena, si esaminano le disparità, ovvero le differenze tra le immagini destra e sinistra acquisite dalle due telecamere. Per ricostruire la scena, si esaminano le disparità, ovvero le differenze tra le immagini destra e sinistra acquisite dalle due telecamere. Tale disparità ci permette di calcolare la profondità reale del punto esaminato. Tale disparità ci permette di calcolare la profondità reale del punto esaminato. Il principale problema è quello delle corrispondenze, ovvero stabilire quale punto dellimmagine di destra corrisponde ad un particolare punto dellimmagine di sinistra. Il principale problema è quello delle corrispondenze, ovvero stabilire quale punto dellimmagine di destra corrisponde ad un particolare punto dellimmagine di sinistra.
7 Stereopsi Eseguendo lo stesso processo per tutti i punti, è possibile ricostruire integralmente la scena esaminata. Eseguendo lo stesso processo per tutti i punti, è possibile ricostruire integralmente la scena esaminata. Per semplificare la ricerca di un punto nellaltra immagine si sfrutta il vincolo epipolare, ovvero ogni punto deve giacere su una retta, detta retta epipolare, nellaltra immagine. Per semplificare la ricerca di un punto nellaltra immagine si sfrutta il vincolo epipolare, ovvero ogni punto deve giacere su una retta, detta retta epipolare, nellaltra immagine.
8 Ricostruzione della scena Per semplificare la successiva fase di sonificazione, è possibile utilizzare tre differenti modalità : Per semplificare la successiva fase di sonificazione, è possibile utilizzare tre differenti modalità : - Tutta la scena - Tutta la scena - Solo gli ostacoli vicini - Solo gli ostacoli vicini - Solo gli ostacoli distanti - Solo gli ostacoli distanti
9 Sonificazione Tramite la sonificazione, un suono viene posizionato in uno spazio virtuale, e percepito come proveniente da una posizione nello spazio reale. Tramite la sonificazione, un suono viene posizionato in uno spazio virtuale, e percepito come proveniente da una posizione nello spazio reale. Gli indizi principali per determinare la posizione di un oggetto sono: Gli indizi principali per determinare la posizione di un oggetto sono: - il volume ed il riverbero per la distanza - il volume ed il riverbero per la distanza - il tempo di ritardo (ITD) e la differenza di volume tra le due orecchie per la posizione orizzontale - il tempo di ritardo (ITD) e la differenza di volume tra le due orecchie per la posizione orizzontale
10 Modello strutturale Si è scelto di utilizzare il modello ideato da C. P. Brown e R. Duda, diviso in tre blocchi funzionali: Si è scelto di utilizzare il modello ideato da C. P. Brown e R. Duda, diviso in tre blocchi funzionali: Testa, che contribuisce con lhead shadow Testa, che contribuisce con lhead shadow Spalle e torso che causano la formazione di uneco Spalle e torso che causano la formazione di uneco Pinne che forniscono ulteriori echi supplementari Pinne che forniscono ulteriori echi supplementari Head Shadow ITD Spalle Eco pinna + +Output
11 Scelte implementative Per rendere il suono più naturale, si è deciso di aggiungere unulteriore eco riverberante, che simula una parete posta circa 3 metri dietro lascoltatore. Per rendere il suono più naturale, si è deciso di aggiungere unulteriore eco riverberante, che simula una parete posta circa 3 metri dietro lascoltatore. Per rappresentare meglio lelevazione, è stato aggiunto un ulteriore ritardo derivante dalle spalle. Per rappresentare meglio lelevazione, è stato aggiunto un ulteriore ritardo derivante dalle spalle. I suoni utilizzati non sono generati tramite funzioni matematiche, ma sono stati precampionati. I suoni utilizzati non sono generati tramite funzioni matematiche, ma sono stati precampionati.
12 Suoni utilizzati I suoni precampionati vengono generati tramite il pacchetto impact modal, che fa parte del progetto SoundingObject, sviluppato in linguaggio pure data (PD). I suoni precampionati vengono generati tramite il pacchetto impact modal, che fa parte del progetto SoundingObject, sviluppato in linguaggio pure data (PD). Simulazione di impatto Gomma Legno Vetro Metallo Dimensione oggetto Suono da spazializzare
13 Implementazione Linterfaccia grafica del progetto è stata realizzata tramite il pacchetto FLTK in linguaggio C++. Linterfaccia grafica del progetto è stata realizzata tramite il pacchetto FLTK in linguaggio C++. Lanalisi della scena, la ricostruzione tridimensionale e i successivi filtri sono stati realizzati in linguaggio C. Lanalisi della scena, la ricostruzione tridimensionale e i successivi filtri sono stati realizzati in linguaggio C. Per produrre gli adeguati output sonori, si utilizza C-sound, che rimane in attesa di leggere nuove linee da un file di pipeline, che viene scritto dalla parte precedente. Per produrre gli adeguati output sonori, si utilizza C-sound, che rimane in attesa di leggere nuove linee da un file di pipeline, che viene scritto dalla parte precedente. Interfaccia grafica C++CoreC Output sonoro C-Sound
14 Risultati
15 Vantaggi del sistema Tra i vantaggi va ricordata la semplicità della struttura risultante ed il basso costo finale. Tra i vantaggi va ricordata la semplicità della struttura risultante ed il basso costo finale. Il sistema complessivamente risulta facile da utilizzare e piuttosto intuitivo. Il sistema complessivamente risulta facile da utilizzare e piuttosto intuitivo. Non è invasivo, e può essere usato immediatamente senza particolari problemi o procedure. Non è invasivo, e può essere usato immediatamente senza particolari problemi o procedure. Non esistono vincoli sulle scene da sonificare, tranne quelli dovuti alla scarsa illuminazione o alla bassa risoluzione delle telecamere. Non esistono vincoli sulle scene da sonificare, tranne quelli dovuti alla scarsa illuminazione o alla bassa risoluzione delle telecamere.
16 Sviluppi futuri Migrazione del codice su calcolatore palmare (iPAQ 3760). Migrazione del codice su calcolatore palmare (iPAQ 3760). Telecamera digitale a colori. Telecamera digitale a colori. Studio di usabilità con soggetti non-vedenti. Studio di usabilità con soggetti non-vedenti. Sponsorizzato da HP Philantropic, progetto Sounding Landscape
17 FINE
18 Problemi delle corrispondenze Occlusioni: esistono parti della tesi che sono inquadrate da una sola delle due telecamere. Tali punti non hanno corrispondenti nellaltra immagine. Occlusioni: esistono parti della tesi che sono inquadrate da una sola delle due telecamere. Tali punti non hanno corrispondenti nellaltra immagine. Distorsione proiettiva: un oggetto si proietta in modo diverso nelle due telecamere quanto più le due telecamere sono distanti. Distorsione proiettiva: un oggetto si proietta in modo diverso nelle due telecamere quanto più le due telecamere sono distanti.
19 Vincoli Di somiglianza: un particolare appare simile nelle due immagini (spesso è implicito). Epipolare: il punto coniugato giace sulla retta epipolare. Di continuità: lontano dai bordi, la profondità dei punti di una superficie varia lentamente. Unicità: un punto nellimmagine di sinistra può essere messo in corrispondenza con un solo punto nellimmagine di destra, e viceversa.
20 Triangolazione La disparit La disparit à è inversamente proporzionale alla profondità, secondo la formula: D= b f r disparit dove d è la disparit à, b la baseline della telecamera stereo, f la lunghezza focale della telecamera e r la distanza delloggetto dal piano immagine.
21 Telecamera stereo