Multimedia Creazione di Modelli 3D usando ARC3D - The 3D models are created by the ARC 3D webservice, developed by the VISICS research group of the KULeuven in Belgium - Presentazione a cura di Filippo L.M. Milotta Cos’è? ARC3D è un Web Service pubblico e di uso gratuito. Cosa fa? Genera dei modelli 3D di una scena usando come input delle fotografie fornite dall’utente. (o almeno ci prova…) Un punto di forza di ARC3D è il non richiedere un dispositivo di acquisizione delle immagini specifico, ma anche uno generico, come una comune fotocamera, può andar bene. Samsung S5 mini HTC Pro2 Iphone 4s Dopo l’upload delle fotografie non è necessaria (né possibile) nessun’altra azione da parte dell’utente. Il server deve garantire robustezza per evitare che l’utente ripeti l’upload: la pipeline automatica di ricostruzione dovrebbe avere quindi determinate caratteristiche. Una Pipeline Opportunistica tiene in considerazione l’ordine con cui vengono inviate le fotografie, rendendo più veloce la ricerca di elementi in comune fra le immagini. ARC3D sceglie di non adottare questa strategia nel WS. Una Pipeline Gerarchica effettua determinate operazioni su una versione sottocampionata delle immagini di partenza e applica i risultati sulle immagini originali. Questo velocizza la ricerca di elementi in comune ( features ) e la rende ‘più stabile’. In una Pipeline Parallela si possono svolgere più operazioni indipendenti in parallelo, ad esempio ricerca di elementi in comune oppure l’esecuzione di più job in parallelo, ricordiamo che abbiamo a che fare con un WS! Sottocampionamento di tutte le immagini e creazione di possibili ‘coppie di immagini consecutive’. Subsampling Subsampling Estrazione delle features dalle coppie; se positiva si tenta la creazione di ‘triplette per la proiezione 3D’. (una feature dev’essere riconosciuta in almeno 3 immagini) Per facilitare il matching si osservano i metadati Exif delle immagini (distanza focale). Si assegna un ordinamento spaziale alle fotografie e si applicano i risultati sulle immagini originali. Upscale Ad ogni immagine viene associata la relativa ‘mappa di densità di profondità’. Gli occhi umani sono posti a una certa distanza fra loro e la visione combinata di ciascun occhio permette al cervello di stimare la profondità relativa fra gli oggetti. Basati su 2+ immagini 1 sola immagine Visione Binoculare Ricerca di features, triangolazione Messa a fuoco Vari livelli di messa a fuoco Movimento Relazione col tempo Colore, ombre, occlusioni ARC3D utilizza un algoritmo di conversione basato su Visione Binoculare. La profondità è ricavata dal confronto di una coppia di immagini, creata in base alle features presenti. La qualità del risultato dipende dalle informazioni aggiuntive presenti: 1. Tutti i parametri spaziali sono conosciuti; 2. Solo i parametri della fotocamera sono conosciuti (-> scaling); 3. Nessun parametro è conosciuto. Noto anche come problema dello ‘Stereo Matching’, comprende vari calcoli, fra cui la ricerca di una matrice fondamentale che permetta la costruzione delle proiezioni. 𝑍=𝑓 𝑇 𝑇 =𝑓 𝑥𝑙 − 𝑥𝑟 𝑑 E’ importante che le fotografie vengano scattate seguendo delle linee guida, semplici ma vincolanti al tempo stesso. Se le fotografie non rispettano le linee guida la ricostruzione del modello potrebbe perdere qualità. Inoltre, tutto ciò che non compare nelle foto non comparirà nel modello 3D! Aumentano l’errore nel calcolo delle profondità. • Stanza – Mobile • Conservatorio – Ponte • Monumenti – Fontana • Monumenti – Liotru • Monumenti – Statua Bellini • Stanza – Presepe • Stanza – Pupazzo • Stanza – MiniDoc • Scrivania – AngeloRosso • Monumenti (facciate) – P.Teatro • Mon. (facciate) – P.Università • Mon. (facciate) – Duomo • Scrivania – AngeloBianco • Stanza – Frutta ... Foto scattate in modalità quasi Pan! Riflesso nelle finestre ed occlusione del lampione sospeso! Non ci sono abbastanza features per ricostruire la profondità della scena! Un maggior numero di fotografie avrebbe aumentato la qualità. Il lampione occlude parte della facciata, che non viene aggiunta al modello finale. I passanti hanno invalidato alcune fotografie. Le scritte nei teli sono delle ottime features (più che altro lo sono i teli bianchi). Lo sfondo bianco potrebbe aver creato problemi nella ricostruzione della parte superiore del modello? -> Diamo un’occhiata alle mappe di profondità. La ricostruzione 3D è riuscita in maniera discreta anche con poco colore. Il vetro della fruttiera è troppo trasparente, questo genera dei buchi nel modello 3D. Molte features da utilizzare per ricostruire il modello 3D. Molta eterogeneità nella scena, colori diversi e nessun pattern predominante. • Costo delle risorse, economico e computazionale, per l’utente minimo. • L’utente non deve ‘allineare’ le mesh parziali. • Non richiede eccessive conoscenze preliminari. • Precisione e qualità più bassa. • Risultato non garantito. • Tempi di elaborazione dati, sebbene più veloci del laser a triangolazione, legati ai server. • Se volessi allineare le singole mappe di profondità, perché non farlo con il laser scanner? Grazie per l’attenzione!