Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | jacob-miranda |
View: | 36 times |
Download: | 2 times |
Rapid Visualization of Large Point-Based Surfaces
Tamy Boubekeur
Florent Duguet
Christophe Schlick
Presented by Xavier Granier
Large Data Acquisition
• Sub-millimeter acquisition and saving of statues and archaeological artifact
• Billions of sample for accurate representation• Need of specific methods for visualizing such
objects
David laser scansDigital Michelangelo Project
Complex archeological artifactDuguet et al. VAST 2004
Large Objects - Prior Art
• Visualization of gigantic meshes– Out-of-core rendering [Lindstrom 2003], [Tetra-Puzzles -
Cignoni 2004]
– Multiscale approach [Far Voxels - Gobetti 2005]
• Using points– As rendering primitives [QSplat - Rusinkewicz 2000]
[Dachsbacher 2003]
– As surface representation [VAST - Duguet 2004]
Acquisition & Visualization
2.5D Scans
RegistrationSurface reconstruction
Merging
Appearance preservingSimplification
Real-time rendering
Large meshLarge PBS
RealWorld
3D Image
Intermediate large mesh generation and storing
In-core rendering
PBS : Point-based surface
Problem
• Surface reconstruction
• Simplification of resulting large meshes
• Preprocessing for out-of-core rendering
…are time-consuming tasks Hours to week of computation on single workstations for scanned statues.
Bottleneck for visualization
2.5D Scans
RegistrationSurface reconstruction
Merging
Appearance preservingSimplification
Real-time rendering
Large meshLarge PBS
RealWorld
3D Image
Intermediate large mesh generation and storing
Time consuming tasks
Appearance Preserving Simplification
• Reducing the complexity of 3D objects• Maintaining as much as possible their appearance• Usual solution
– Large mesh >>> coarse mesh + high resolution textures (normal, color)
– Requires mesh generation and simplification
Normal mappingCoarse mesh
Time consuming tasks
Solution: removing the bottleneck
2.5D Scans
RegistrationSurface reconstruction
Merging
Appearance preservingSimplification
Real-time rendering
Large meshLarge PBS
RealWorld
3D Image
Intermediate large mesh generation and storing
Removing the intermediate mesh
2.5D Scans
Registration
Appearance preservingGeneration
Real-time rendering
Large PBS
RealWorld
3D Image
Using only the registered point-cloud
Direct processing for visualization
Our fast conversion pipeline
• No surface reconstruction at full resolution
• No global surface parameterization
• Direct PBS to appearance preserving representation conversion
Our approach
Surfel : Surface Element, sampled point with associated sampled normal, color, etc…
1 - Out-Of-Core Resampling
• The first reading pass– Filtering the registered PBS
through a regular grid– Keeping at most one
represent per cell
• Similar to out-of-core simplification for meshes [Lindstrom 2000]
• Typical output : few tens thousands points In-core point cloud
2 - Local coarse mesh generation
• Building an octree over the simplified point cloud
• Local generation of pieces of surfaces : Surfel Strips [Boubekeur 2005] - Lower dimensional triangulation
• Overlapping between neighboring pieces of mesh– Provide hole free visualization– Each piece processed
independantly
Collection of surfel strips
2 - Surfel Stripping [Boubekeur 2005]
– Partitioning criterion
Height-field predicate
– Local 2D Delaunay triangulation
– Fast cache-coherent stripping [Reuter 2005]
Local partition Projection 2D triangulation Fast stripping Surfel Strip
2 - Local coarse mesh generation
• Overlapping decimation– Reducing redundant/non useful
triangles
• Output : mesh clustered in an octree– Mesh = collection of Surfel
Strips– Each surfel strip independently
generated– Bounding quad in the average
plane
Direct visualization of surfel strips
3 - Out-Of-Core normal mapping
• Second reading pass• Filtering all the point through the octree• Projecting point’s normals on textures of intersected
leaves• Output : textured surfel strips
– Coarse mesh + sparse normal map
Holes in normal map = no normal projected
4 - Normal map diffusion
• Filling hole in normal maps : diffusion with push-pull• Per surfel strip diffusion
1. Quad-tree construction
2. Hierarchical hole filling
3. Smoothing
Coarse surfel strip’s topology Normal mapping
4 - Normal map diffusion
1 .Quad-Tree construction (PUSH) 2. Hierarchical hole filling (PULL)
3. Iterative smoothing (gradient constrained)
Output :
Coarse mesh + high resolution normal map
Surfel Strips Diffused per-surfel strip normal map
View-coherent packing of texures
Results
Real-time rendering of archaeological artifacts on a single workstation Dancer (30 M samples)
Drums (20 M samples)Omphalos (10 M samples)
Results
Real-time rendering of archaeological artifacts on a single workstation
St Matthew (186 M samples)
Performance
Timing, frame-rate and memory space for a single workstation Intel PIV 3.4 GHz, 1.5 Go ram
Details preserving
• Small details represented only in normal map, stored on GPU texture memory
Surfel strips only Normal surfel strips
Comparison to QSplat
• Better hardware support (coarse mesh + normal maps)
• Realtime rendering in high resolution at high framerate (2 to 3 orders of magnitude faster)
• Mipmapping = Automatic Hardware Filtering
Our approach QSplat
Avantages
• No surface reconstruction of full PBS
• No complex processing on full PBS
• No global parameterization for normal mapping, only local planar projection
• Very fast processing
• Final in-core model mostly stored as texture on GPU memory
• Automatic hardware filtering
Limitations
• Still a simplification approach
• Out-of-core resampling can miss small topological details– Using adaptive out-of-core resampling
methods [Schaeffer 2003]– After tests : no significant difference with our
data sets – Very large object can be resampled in a simple grid [Lindstrom 2000]
Conclusion
• An easy-to-implement pipeline for visualizing large scanned objects
• Suitable for very large and dense point clouds• Can preserve any sampled surface property :
– Normal – Color– Etc…
Scanned objects such as statues and other archaeological artifact can be stored as simple unorganized point clouds
On-going work
• Mutli-scale GPU-friendly structures– See Surfel Stripping [Boubekeur Graphite 2005]
• Larger scenes processing and visualization on single workstations – 10 Billions ?– 100 Billions ? (on-the-fly surface synthesis)
• Advanced comparison– Sequential Point Tree + Splatting on Today’s GPU
[Dachsbacher 2003] [Botsch 2003]… still less efficient than ours (no true hardware support for point-based rendering)
Thank you for your attention !
http://www.labri.fr/~boubek