approfondimento 16

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!