data visualization 2 - 東京大学•point based rendering with lod –bounding sphere hierarchy...

56
Data Visualization 2 Yasuhide Okamoto

Upload: others

Post on 13-Aug-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Data Visualization 2

Yasuhide Okamoto

Page 2: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Digest

• Huge 3D data– Easy to obtain, Hard to visualize

Very Very huge!!

Good Sensors Huge 3D Data Too complex to process

Page 3: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Solutions

Simplification using Quadric Error Metric

Progressive Meshes

Adaptive TetraPuzzles

Page 4: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

3D representation

Page 5: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Why we use triangles?

• Planar• Convex• Simplest polygon

• Possible to represent accurate surfaces

Page 6: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Rendering a triangle

1. Transformation of vertices

2. Rasterization

3. Texturing, Pixel shading

Page 7: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Triangle is the only solution?

Triangles cannot be seen because they are too small…

Page 8: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Another solution

• Everything is built up of atoms…

Page 9: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Another solution

• Triangle -> Point

Page 10: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Another solution

• Point based rendering

St. Matthew(127 millions triangles)

8 frame/sec 8 sec/frame

Points Triangles

Page 11: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Merits of points

• Data simplicity– Triangles

• 3 vertices• 1 set of indices

– Points• 1 vertex• point size • (no connectivity)

(x0, y0, z0)

(x1, y1, z1) (x2, y2, z2)

(0, 1, 2)

(x0, y0, z0)

r

Page 12: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Merits of points

• Processing cost– Triangles

• Projection of 3 vertices• Precise rasterization

– Points• Projection of 1 vertex• Simple rasterization

Page 13: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Applications of point rendering

• Particle system

Page 14: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Demerit of point rendering

• Rendering qualityPoints Triangles

Page 15: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

QSplat

• Point based rendering with LOD– Bounding sphere hierarchy

Szymon Rusinkiewicz, Marc LevoySIGGRAPH2000

Page 16: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Data construction

• Input a triangle mesh• Place a sphere at each triangle, large enough

to touch neighbor spheres

Page 17: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Creating a hierarchy

• Recursive splitting and merging

Page 18: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Point tree

Leaf Node:Points in Original Resolution

Increase in data size…

Page 19: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Hierarchical data compression

• Using relative values to the parent node• Quantization

Parent Node: Center (xp, yp, zp), Radius: rp

Child Node: Center (xp+kx*r, yp+ky*r, zp+kz*r), Radius: r*kr

Page 20: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Node structure

Positionand

Radius

TreeStructure Normal

Width ofCone ofNormals

Color(Optional)

13 bits 3 bits 14 bits 2 bits 16 bits

6 bytes

Page 21: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Position and radius

• Position and radius encoded relative to parent node

Positionand

Radius

TreeStructure Normal

Width ofCone ofNormals

Color(Optional)

13 bits 3 bits 14 bits 2 bits 16 bits

Center Offset

Radius Ratio

413notvalid,arenscombinatio7621only1313to

131asdrepresenteare),,,( rzyx

Page 22: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Tree structure

• Number of children (0, 2, 3, or 4) – 2 bits• Presence of grandchildren – 1 bit

Positionand

Radius

TreeStructure Normal

Width ofCone ofNormals

Color(Optional)

13 bits 3 bits 14 bits 2 bits 16 bits

Page 23: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Normal

• Normal quantized to gridon faces of a cube

Positionand

Radius

TreeStructure Normal

Width ofCone ofNormals

Color(Optional)

13 bits 3 bits 14 bits 2 bits 16 bits

52526

Page 24: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Normal cone

• Normal cone: range of visible directions

Positionand

Radius

TreeStructure Normal

Width ofCone ofNormals

Color(Optional)

13 bits 3 bits 14 bits 2 bits 16 bits

1616,

169,

164,

161

• Quantizing cone’s width to

Visible Invisible

Visible

Invisible

Original Point (leaf node) Inner node’s point

Page 25: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Color

• Per-vertex color is quantized 5-6-5 (R-G-B)

Positionand

Radius

TreeStructure Normal

Width ofCone ofNormals

Color(Optional)

13 bits 3 bits 14 bits 2 bits 16 bits

Page 26: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Rendering algorithm

• Traverse hierarchy recursively

if (node not visible)Skip this subtree

else if (leaf node)Draw points

else if (size on screen < threshold)Draw points

elseTraverse children

Page 27: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Data alignmentPosition

andRadius

TreeStructure Normal

Width ofCone ofNormals

Color(Optional)

13 bits 3 bits 14 bits 2 bits 16 bits

• Breadth-First Order=> Good for memory coherency

Page 28: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Results of data construction

Model Input points Interior Nodes

Data construction

(min)

Output size(MB)

David’s head 2,000,651 974,114 0.7 18

David (2mm) 4,251,890 2,068,752 1.4 27

St. Matthew 127,072,827 50,285,122 59 761

Page 29: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Comparing splat shapes

Same recursion level

Same rendering time

aliasing

Highest quality

Page 30: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Comparing splat shapes

Page 31: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Demonstration video

Page 32: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Summary of QSplat

• Hierarchical representation using points

• High speed and high quality rendering for complex models

• Fast preprocessing• High compression rate

Page 33: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Similar works

• Layered Point Clouds

QSplat --- Point based TreeTree Depth: log(n)

Layered Point Clouds --- Point Cloud based TreeTree Depth: log(n/k)

Page 34: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Similar works

• Layered Point Clouds

Page 35: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Similar works

• POP– Hybrid method using Points and Polygons

Page 36: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Similar works

• Combining Edges and Points

Edge & Point image Final image

Page 37: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Far Voxels Enrico Gobbetti, Fabio MartonSIGGRAPH2005

Page 38: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Tree structure

• Recursive Split• Make inner nodes in bottom up order

Leaf Node:Points or Triangles

in Original Resolution

Inner Node:•QSplat: A simplified point•LPC: A group of simplified points•TetraPuzzles: A group of

Page 39: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Tree structure of Far Voxels

• View Dependent Voxels for inner nodes

View dependent voxel

Leaf Node:A group of Triangles

in Original Resolution

Page 40: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Construction of tree structure

• Recursive split of bounding boxes along the longest axis

Page 41: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Define inner nodes

• Bottom-up order construction• Assign a voxel grid from the bounding box

to each inner node

Page 42: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Sampling

• Define “View-Dependent Voxel” for each grid

Sampling Fitting

Voxel Context Sampled Voxel VView Dependent Voxel

C(v) = (r, g, b)

Page 43: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Sampling by ray casting

d

Page 44: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Recursive sampling

Page 45: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Simpler representation

• The representation of View-Dependent Voxelis still complex…

• Classify VDVs to simple Parametric Shaders– K1: Flat Shader– K2: Smooth Shader

V

C(v) = (r, g, b)

Page 46: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Parametric shaders

• K1: Flat Shader– 1 Normal & 2 Colors

• K2: Smooth Shader– 1 Primary Normal & 6 Colors

K1 K1 K1

K1 K1

K1 K1 K1

K1

K2

K2

Page 47: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Parametric shaders

Yellow :K1 (Flat Shader)Red :K2 (Smooth Shader)White :Leaf (Original Triangles)

Page 48: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Rendering process

if (node not visible)Skip this subtree

else if (leaf node)Draw triangles

else if (size on screen < threshold)Draw VDVs or triangles

elseTraverse children

Page 49: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Asynchronous I/O & renderingif (node not visible)

Skip this subtreeelse if (leaf node)

Draw triangleselse if (size on screen < threshold)

Draw VDVs or triangleselse if (children are not loaded on memory)

Draw VDVs or trianglesRegister children to Fetch Queue

elseTraverse children

Rendering Process

while (Nodes exist in Fetch Queue)Load Nodes on memory

I/O ProcessFetch Queue

Page 50: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Demonstration movie

Page 51: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Results

ModelInput Data Output Data Frames/sec

Triangle DataSize

Construction time

Data Size Min Avg

St. Mathew 372M 14.5GB 14592 sec 10.6GB 9 45

Boeing 777 350M 13.7GB 16461 sec 14.9GB 8 44

Isosurface 472M 18.4GB 23751 sec 16.1GB 7 34

Page 52: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Summary of Far Voxels

• Using Triangles and View-Dependent Voxels

• Simple sampling and classifications for VDV– Recursive sampling by ray casting– Classification to Flat & Smooth shaders

• Real-time rendering – Simple voxel shading – Asynchronous I/O processing

Page 53: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Summary

• Data visualization methods for huge 3D data– Triangle(Polygon) based methods

• Mesh Simplification• Progressive Meshes• Adaptive TetraPuzzles

– Point & Another Primitive based Rendering• QSplat• Far Voxels

Page 54: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Papers• “Surface Simplification Using Quadric Error Metrics”, Michael

Garland, Paul S. Heckbert, SIGGRAPH’97• “Progressive Meshes”, Hugues Hoppe, SIGGRAPH’96• “Adaptive TetraPuzzles – Efficient Out-of-Core Construction

and Visualization of Gigantic Polygonal Models”, Paolo Cignoniet al., SIGGRAPH2004

• “QSplat: A Multiresolution Point Rendering System for Large Meshes”, Szymon Rusinkiewicz, Marc Levoy, SIGGRAPH2000

• “Far Voxels – A Multiresolution Framework for Interactive Rendering of Huge Complex 3D Models on Commodity Graphics Platforms”, Enrico Gobbetti, Fabio Marton, SIGGRAPH2005

Page 55: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

Additional Papers

• “Layered Point Clouds”, Enrico Gobbetti, Fabio Marton, Eurographics Symposium on Point-Based Graphics 2004

• “POP: A Hybrid Point and Polygon Rendering System for Large Data”, Baoquan Chen, Minh Xuan Nguyen, Conference on Visualization 2001

• “Combining Edges and Points for Interactive High-Quality Rendering”, Kavita Bala et al., SIGGRAPH2003

Page 56: Data Visualization 2 - 東京大学•Point based rendering with LOD –Bounding sphere hierarchy SzymonRusinkiewicz,Marc Levoy SIGGRAPH2000 Data construction •Input a triangle mesh

AnnouncementBefore12/17 Data Processing(1) (Prof. Oishi)1/7 Data Processing(2) (Prof. Oishi)1/14 Patch-based Object Recognition(1) (Prof. Kagesawa)1/21 Patch-based Object Recognition(2) (Prof. Kagesawa)

After12/17 Patch-based Object Recognition(1) (Prof. Kagesawa)1/7 Data Processing(1) (Prof. Oishi)1/14 Data Processing(2) (Prof. Oishi)1/21 Patch-based Object Recognition(2) (Prof. Kagesawa)