Dissertazione finale del Master Open Téchne 2013.
Nell'ambito dell' esperienza di stage condotta presso la Fondazione Bruno Kessler di Trento, presentiamo
un approccio riguardante il processo che dalla point cloud ci porta a fruire di un modello 3D senza l'utilizzo di software di visualizzazione specifici, come ad esempio il PDF3D o un comune web browser.
Il lavoro si è diviso in quattro fasi: (i) la modellazione in mesh poligonali, (ii) la segmentazione del modello,
(iii) la semplificazione ottenendo varie risoluzioni del modello e (iv) la pubblicazione su web.
Per tutto il workflow si è cercato di utilizzare sempre software Open Source, comparandoli a volte con soluzioni commerciali.
http://www.istitutoficlu.org/iniziative/master-open-techne-2012-2013-discussione-finale/
2. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Visualizzazione di Modelli 3D su piattaforme WEB
Bake Vertex ●
Color to Texture map
Poisson Surface Reconstruction
Vertex Color Transfer
Calcolo delleAbaco
Normali
●
● ●
●
Point Cloud
●
Echino 100%
selected
COLONNA
✗
✗
Echino
●
Collarino
Echino 1%
active
Si devono calcolare le normali
Genera una mesh chiusa anche
se ● Fusto presenta dei vuoti.
la nuvola
✗
Pulire la mesh eccedente
✗
Non eredita Vertex Color
Livelli di Octree sperimentati
●
Base
8 – 9 – 10 – 12 - 14
3. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Modelli 3D generati da PointCloud
Reality-based Modeling
IMAGE-BASED (Sensori passivi)
●
Fotogrammetria
●
Computer-Vision
➔
Dense or sparse 3D point (point cloud)
RANGE-BASED (Sensori attivi)
●
Laser Scanner (Tempo di volo o
differenza di fase)
●
Kinect (a triangolazione)
➔
Dense point cloud
4. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
PointCloud da Image-based Modeling
AUTOMATED IMAGE-BASED 3D RECONSTRUCTION
●
Acquisizione
●
Calibrazione (Orientamento interno)
Apero
●
Orientamento (Esterno)
●
Ricostruzione
MicMac
5. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Casi Studio - Progetto TAPEnADE
➔
●
Colonna del Chiostro di St Michel
de Cuxa
Cappella Imperiale di Ajaccio
➔
●
Fontana di Saint-Jean a Villeneuve
les Avignon
Vieille Charité a Marsiglia
7. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Normals – Surface Reconstruction
●
Calcolo delle Normali
●
Poisson Surface Reconstruction
✗
✗
Si devono calcolare le normali
Genera una mesh chiusa anche
se la nuvola presenta dei vuoti.
✗
Pulire la mesh eccedente
✗
Non eredita Vertex Color
Livelli di Octree sperimentati
8 – 9 – 10 – 12 - 14
10. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Segmentazione
●
Abaco
●
Echino
●
Collarino
●
Fusto
●
Base
Perché segmentare il modello?
●
Gestione
➔
●
Suddividere il modello in più parti,
gestibili individualmente facilita la
gestione delle risorse hardware
COLONNA
Segmentazione “SEMANTICA”
➔
Segmentare seguendo ad esempio
il “lessico” architettonico ci pone già
in un approccio di studio del
modello (bene culturale)
11. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Segmentazione
●
Automatica
●
Manuale
●
PLUGIN RANSAC
●
Segment
(RANdom SAmple Consensus)
✗
Solo per Point Cloud
Troppa frammentazione
✔
✗
Point Cloud e Mesh
Difficilmente settabile
✗
Soggetività dell'operatore
✗
Tempi uomo lunghi
✗
12. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Semplificazione
Perché semplificare?
●
Modelli leggeri per il WEB
➔
●
Visualizzare modelli 3D in
remoto in modo fluido impone
di utilizzare soluzioni che si
adattino alle capacità delle
odierne reti internet
Come semplificare?
➔
Due soluzioni utilizzate
➔
Quadric Edge Collapse Decimation
l'edge scelto viene collassato in un unico
vertice, le due facce tra le quali si trovava
vengono eliminate anch'esse.
Gestione
➔
Come
visto
per
la
segmentazione,
ridurre
la
grande mole di poligoni facilita
la gestione delle risorse
hardware
Decimazione
➔
Remesh
Modificatore di Blender
Basato sull'algoritmo Marching Cubes.
Ha come obiettivo l'uniformazione della
lunghezza degli edge.
13. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Quadric Edge Collapse Decimation
●
Una mesh poligonale é essenzialmente una
collezione di vertici, spigoli (edge) e facce
Edge-collapse
L'edge diventa
un vertice
●
Struttura di una mesh, in rosso i vertici e gli edge
interni, in blu le zone di boundary
14. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Remesh - Marching Cubes
✔
✗
✗
Crea una mesh con la lunghezza degli edge
uniformata.
Le zone di boundary non si riescono a
preservare.
La mesh ottenuta non eredita le informazioni
colore
17. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Semplificazioni a confronto
●
Distance Computation
Decimate 75%
Decimate 50%
Decimate 10%
Octree 9
Decimate 25%
Decimate 1%
Octree 8
Octree 7
18. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Texture
Perché associare Texture al modello?
Come creare la Texture?
●
●
●
➔
Le informazioni cromatiche sono
fondamentali nello studio dei beni
culturali
Se abbiamo le informazioni colore
associate alla nuvola di punti, più
semplifichiamo il modello più
perderemo le informazioni colore.
Generare una texture ci consente di
semplificare il modello geometrico
mantenendo
apprezzabile
la
risoluzione cromatica.
➔
➔
Dei nostri modelli abbiamo solo
informazioni colore legate ai vertici della
Point Cloud, trasferiti alla mesh.
Trasferire le informazioni colore dal
modello originale a quello decimato.
Bake dei Vertex Colour
su una Texture Map
Il Render Baking crea un'immagine bitmap
2D della superficie di un oggetto mesh
renderizzato. L'immagine viene rimappata
sull'oggetto (Il modello decimato nel nostro
caso) usando le sue coordinate UV, il cui
calcolo per modelli complessi richiede tempi
lunghi.
19. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Texture
●
Unwrap
➔
Scuce la mesh 3D su di un piano, associando la coordinata spaziale
XYZ a quella del piano UV
Unwrap Echino1%
Mesh Echino 1%
21. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
Visualizzazione di Modelli 3D su piattaforme WEB
Linguaggi, librerie, API
●
PDF3D
●
WEBGL/HTML5
●
REMOTE RENDERING
SERIUS GAMES
●
PSEUDO 3D
●
SOLUZIONI ALL IN ONE
Soluzioni, Piattaforme
22. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
PDF3D
●
OPEN SOURCE
●
SIMLAB COMPOSER
✔
✔
✔
✗
✗
Ottima compressione
Mantiene un buon dettaglio
Perde informazioni colore
Perde la segmentazione
Importa il modello Collada con le texture
✔
Si possono colegare azioni alle segmentazioni
✔
Si può personalizzare un template di sfondo
✗
Dimensioni elevate per il WEB
23. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
WEBGL
●
SKETCHCFAB
✔
Ottima navigabilità
✔
Mantiene vertex color
✔
Mantiene texture
✔
✗
✗
Upload direttamente dai vari
software di modellazione
Non mantiene la
segmentazione
Si può inserire un solo link
25. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
CONCLUSIONI
HIGH RESOLUTION
E' più importante
VS
l'oggetto rappresentato
WEB
o la rappresentazione
Semplificazione e
Segmentazione hanno ruoli
importanti nel processo
dell'oggetto?
La modellazione non deve
fermarsi all'apparenza
●
●
Unificare questi processi con:
✔
✔
tecniche di re-topology
Scomporre il modello in
geometrie elementari
✗
Coerenza metrica
✗
●
Approccio multidisciplinare.
Utilizzare il modello come
contenitore di tutte le
informazioni che riguardano il
bene in oggetto -database,
metadata, ecc..
●
Fine
27. PointCloud2Publish
Visualizzazione e condivisione online di modelli 3D
PDF3D
●
OPEN SOURCE
●
✔
✔
✔
✗
✗
Ottima compressione
Mantiene un buon dettaglio
Mesh
Kb (*.ply)
Perde informazioni colore
Decimata 75%
32552
Perde la segmentazione
SIMLAB COMPOSER
Importa il modello Collada con le texture
Si possono colegare azioni alle segmentazioni
Kb 3Dpdf
Kb 3Dpdf
Kb (Blender) personalizzare un template di sfondo
✔
Si può
(free)
(prorpietario)
✗
192313Dimensioni elevate per il WEB
3985
53813
✔