s. minto, pointcloud2publish – visualizzazione e condivisione di modelli 3d

24
3DOM Fondazione Bruno Kessler, Trento PointCloud2Publish Visualizzazione e condivisione online di modelli 3D Simone Minto [email protected] Open Téchne – Master UNESCO in Tecnologie Open Source per i Beni Culturali

Upload: progetto-open-techne

Post on 01-Jul-2015

210 views

Category:

Technology


2 download

DESCRIPTION

Salone del Restauro di Ferrara, 26 marzo 2014 “Tecnologie Open Source per i Beni Culturali: rilievo e modellazione 3D, restauro virtuale, stampa 3D"

TRANSCRIPT

Page 1: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

3DOM – Fondazione Bruno Kessler, Trento

PointCloud2PublishVisualizzazione e condivisione online

di modelli 3D

Simone [email protected]

Open Téchne – Master UNESCO in Tecnologie Open Source per i Beni Culturali

Page 2: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Modelli 3D generati da PointCloud

IMAGE-BASED (Sensori passivi)● Fotogrammetria ● Computer-Vision➔ Dense or sparse 3D point (point cloud)

RANGE-BASED (Sensori attivi)● Laser Scanner (Tempo di volo o diferenza di fase)● Kinect (a triangolazione)➔ Dense point cloud

Real

ity-

base

d M

odel

ing

Page 3: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

PointCloud da Image-based Modeling

AUTOMATED IMAGE-BASED 3D RECONSTRUCTION

● Acquisizione

MicMac● Ricostruzione

Apero

● Calibrazione (Orientamento interno)

● Orientamento (Esterno)

Page 4: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Casi Studio - Progetto TAPEnADE

➔ Colonna del Chiostro di St Michel de Cuxa ➔ Fontana di Saint-Jean a Villeneuve les Avignon

● Cappella Imperiale di Ajaccio ● Vieille Charité a Marsiglia

Page 5: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

WORKFLOW

Poisson Surface Reconstruction

Vertex Color to Mesh

Texture

Publish

Calcolo Normali

PointCloud

Page 6: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Normals – Surface Reconstruction

● Poisson Surface Reconstruction

Livelli di Octree sperimentati

8 – 9 – 10 – 12 - 14

✗ Si devono calcolare le normali✗ Genera una mesh chiusa anche se la

nuvola presenta dei vuoti.✗ Pulire la mesh eccedente✗ Non eredita Vertex Color

● Calcolo delle Normali

Page 7: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Confronto Mesh

Octree 8

Tempo: 6s

Vertex:47189

Faces:94376

Kb(*ply):2305

Octree 9

Tempo: 15s

Vertex:186185

Faces:372366

Kb(*ply):9092

Octree 10

Tempo: 115s

Vertex:742748

Faces:1485492

Kb(*ply):36268

Octree 12

Tempo: 240s

Vertex:837211

Faces:1674414

Kb(*ply):40880

Octree 14

Tempo: 1470s

Vertex:842425

Faces:1692842

Kb(*ply):41330

Page 8: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Color Vertex – Pulizia – Fill Hole

● Vertex Color Transfer ● Pulizia

● Fill Hole

Page 9: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Segmentazione

Perché segmentare il modello?● Abaco

● Echino

● Collarino

● Fusto

● Base

COLONNA

● Segmentazione “SEMANTICA”➔ Segmentare seguendo ad esempio il “lessico”

architettonico ci pone già in un approccio di studio del modello (bene culturale)

● Gestione ➔ Suddividere il modello in più parti, gestibili

individualmente facilita la gestione delle risorse hardware

Page 10: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Segmentazione● Automatica● PLUGIN RANSAC

(RANdom SAmple Consensus)

✗ Solo per Point Cloud✗ Troppa frammentazione✗ Difcilmente settabile

● Manuale● Segment

✔ Point Cloud e Mesh✗ Soggetività dell'operatore✗ Tempi uomo lunghi

Page 11: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Semplifcazione

● Gestione ➔ Come visto per la segmentazione, ridurre la

grande mole di poligoni facilita la gestione delle risorse hardware

➔ Remesh

Modifcatore di Blender

Basato sull'algoritmo Marching Cubes.

Ha come obiettivo l'uniformazione della lunghezza degli edge.

Perché semplifcare?

● Modelli leggeri per il WEB➔ Visualizzare modelli 3D in remoto in modo

fuido impone di utilizzare soluzioni che si adattino alle capacità delle odierne reti internet

Come semplifcare?

➔ Due soluzioni utilizzate

➔ Decimazione

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.

Page 12: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Quadric Edge Collapse Decimation

● Struttura di una mesh, in rosso i vertici e gli edge interni, in blu le zone di boundary

● Una mesh poligonale é essenzialmente una collezione di vertici, spigoli (edge) e facce

Edge-collapse

L'edge diventa un vertice

Page 13: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione 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

Page 14: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Semplifcazioni a confronto

Page 15: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Semplifcazioni a confronto

Page 16: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Semplifcazioni a confronto● Distance Computation

Decimate 75% Decimate 50% Decimate 25%

Decimate 10% Decimate 1%

Octree 9 Octree 8 Octree 7

Page 17: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Texture

● Dei nostri modelli abbiamo solo informazioni colore legate ai vertici della Point Cloud, trasferiti alla mesh.

➔ Bake dei Vertex Colour su una Texture Map

I l Render Baking crea un'immagine bitmap 2D della superfcie 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.

Perché associare Texture al modello?

● Se abbiamo le informazioni colore associate alla nuvola di punti, più semplifchiamo il modello più perderemo le informazioni colore.

● Le informazioni cromatiche sono fondamentali nello studio dei beni culturali

➔ Generare una texture ci consente di semplifcare il modello geometrico mantenendo apprezzabile la risoluzione cromatica.

Come creare la Texture?

➔ Trasferire le informazioni colore dal modello originale a quello decimato.

Page 18: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Texture

Unwrap Echino1%

● Unwrap

Mesh Echino 1%

➔ Scuce la mesh 3D su di un piano, associando la coordinata spaziale XYZ a quella del piano UV

Page 19: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Texture

Texture Echino1%

● Bake Vertex Color to Texture map

Echino 100% selected

Echino 1% active

Page 20: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

Visualizzazione di Modelli 3D su piattaforme WEB

● PDF3D

● WEBGL/HTML5

● REMOTE RENDERING SERIUS GAMES

● PSEUDO 3D

Linguaggi, librerie, API Soluzioni, Piattaforme

● SOLUZIONI ALL IN ONE

Page 21: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

PDF3D● OPEN SOURCE

✔ Ottima compressione✔ Mantiene un buon dettaglio

✗ Perde informazioni colore✗ Perde la segmentazione

● SIMLAB COMPOSER

✔ 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

Page 22: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

WEBGL

✗ Non mantiene la segmentazione✗ Si può inserire un solo link

● SKETCHCFAB

✔ Ottima navigabilità✔ Mantiene vertex color✔ Mantiene texture✔ Upload direttamente dai vari software

di modellazione

Page 23: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

ALTRE SOLUZIONI● SMITHSONIAN X 3D - AutoDESK

● NUBES

Page 24: S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D

PointCloud2PublishPointCloud2PublishVisualizzazione e condivisione online di modelli 3DVisualizzazione e condivisione online di modelli 3D

CONCLUSIONI

HIGH RESOLUTION

VS

WEB

E' più importante l'oggetto rappresentato

o la rappresentazione dell'oggetto?

✗ La modellazione non deve fermarsi all'apparenza

● Approccio multidisciplinare.● Utilizzare il modello come contenitore di

tutte le informazioni che riguardano il bene in oggetto -database, metadata,

ecc..

● Semplifcazione e Segmentazione hanno ruoli importanti nel processo

● Unifcare questi processi con:✔ tecniche di re-topology

✔ Scomporre il modello in geometrie elementari

✗ Coerenza metrica

Fine