Computer graphics & visualization Point-Based Computer Graphics.

52
computer graphics & visualization Image Synthesis Point-Based Computer Graphics

Transcript of Computer graphics & visualization Point-Based Computer Graphics.

Page 1: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis

Point-Based Computer Graphics

Page 2: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Why Points?• huge geometry complexity of current CG

models• overhead introduced by connectivity of

polygonal meshes• acquisition devices generate point samples

“digital 3D photography”• points complement triangles

Page 3: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Polynomials• Rigorous mathematical concept• Robust evaluation of geometric entities• Shape control for smooth shapes

• Require proper parameterization• Discontinuity modeling• Topological flexibility

Page 4: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Polynomilas Triangles• Piecewise linear approximations• Irregular sampling of the surface• No parameterization needed (geometry only)

Page 5: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Triangles• Simple and efficient representation• Hardware pipelines support triangles• Advanced geometric processing• The widely accepted queen of graphics primitives

• Sophisticated modeling is difficult• (Local) parameterizations still needed• Complex LOD management• Compression and streaming is highly non-trivial

Page 6: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Triangles Points• Piecewise linear functions to Delta distributions• Discrete samples of geometry• No connectivity or topology – most simple• Store all attributes per surface sample

Page 7: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Points• geometry complexity of current CG models• connectivity overhead of polygonal meshes• acquisition devices generate point samples• points complement triangles

• holes• compression

Page 8: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Acquisition

Rendering

Representation

Processing & Editing

Point Based Graphics

Taxonomy

Page 9: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

How can we capture reality?

Page 10: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Acquisition• Contact digitizers

– intensive manual labor• Passive methods

– require texture, Lambertian BRDF• Active light imaging systems

– restrict types of materials• in general fuzzy, transparent,

and refractive objects are difficult

Page 11: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

First Method, Laser Range Scanner

Page 12: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Basic Idea

Laser

Detector

Laser

Detector

Page 13: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Computing the Distance

Laser

DetectorH

LO

d

d’a’

a

'

'

'

'

a

dad

d

a

d

a

Page 14: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Scattering Issues

How optically cooperative is marble?

Page 15: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Image based Acquisition

Page 16: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Image based AcquisitionAcquisition Stage 2

Page 17: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Image based AcquisitionAcquisition Stage 3

Page 18: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

IBA - Process

Page 19: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Visual Hull

Page 20: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Visual Hull

• the quality of the visual hull geometry is a function of the number of viewpoints / silhouettes

• the method is unable to capture all concavities image based lighting

Page 21: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Point Based RenderingSurfels (surface element)

Page 22: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Extended Surfels

Page 23: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Rendering Pipeline

Page 24: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Uniform Reconstruction• For uniform samples, use signal processing theory• Reconstruction by convolution with low-pass

(reconstruction) filter• Exact reconstruction of band-limited signals

using ideal low-pass filters

Page 25: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Non-Uniform Reconstruction• Signal processing theory not applicable for

nonuniform samples• Local weighted average filtering

– Normalized sum of local reconstruction kernels

Page 26: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Reconstruction 1D in 2D

Page 27: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Reconstruction 2D in 3D

Page 28: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Algorithm

for each sample point {shade surface sample;splat = projected reconstruction kernel;rasterize and accumulate splat;

}for each output pixel {normalize;

}

Page 29: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Resultswithout Normalization with Normalization

Page 30: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Visibilityε-z-buffering

Page 31: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

ImplementationUse a three pass algorithm:1. Draw depth image with a small depth offset ε

away from the viewpointPerform regular z-buffering (depth tests and updates), no color updates

Page 32: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Second Pass• Draw colored splats with additive blending

enabled• Perform depth tests, but no updates• Accumulate– Weighted colors of visible splats in the color

channels– Weights of visible footprint functions in the alpha

channel

Page 33: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Third Pass• Normalization of the color channels by dividing

through the alpha channel• Implemented by– render to texture– drawing a screen filling quad with this texture– performing the normalization in the pixel shader

Page 34: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Efficient Data Structures

DuoDecimA Structure for Point ScanCompression and Rendering

Page 35: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

a.d. 1500• created beautiful statues

… but missed to make them portable

• David: 434 cm• Atlas: 208 cm• Barbuto: 248 cm• …

Florence, Galleria dell'Accademia

Page 36: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

a.d. 1999• Marc Levoy et al. (Stanford University) did a

great job scanning the statues… but still “missed” to make them “portable”

• David:1.1 GB• Atlas: 10 GB• …

All in all 32 gigabytes raw data !!!Jens Krüger - Computer Graphics and Visualization Group, TU-München

Image courtesy of Marc Levoy

Page 37: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Today…… we present novel algorithms to make the statues of Michelangelo „portable“ and „viewable“ on PCs.

Page 38: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

The NumbersThe Atlas Statue Scan

Size of raw scans: approx 600 mio. pointsReconstruction: at 1/4 mmSize of reconstruction: approx 250 mio. vertices,

approx 500 mio. trianglesFilesize (without normals): 9.94 GB

„Your Home PC“Size of Main Memory: 1 – 2 GBSize of Graphics Card Memory: 0.125 – 0.5 GB

Page 39: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

230 MB vs. 10 GB

Rendering and decoding time in full resolution 4 sec.

Page 40: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

The Key IdeaCPU• Sample the point scan into a regular grid• Divide the grid up into 2D slices• Look for connected runs within the slices• Store the starting position/normal per run• Store position/normal delta for the rest

GPU• Store the compressed runs into textures• Upload the compressed runs onto the GPU• Decode the points with normals on the fly

Page 41: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

1. Sample the point scan into a regular gridHexagonal close sphere packing (HCP) grid

Page 42: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Cell Search (HCP)2D Simplification

Page 43: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

2. Divide the grid up into 2D slices

1

sqrt(3)

2

sqrt(3)

Page 44: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

3. Look for connected runs within the slices

lk

f gi

j

h

mn

oq

p

dbe

ca

abcdklmn

opoq

defghgij

defghgijigfedklmnopoqopoq

ghgij

Page 45: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

3. Connected runs (cont.)

Page 46: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

4. Store the starting position/normal per run

• Start Position two (16bit) indices per point– one (16bit) index per slice

• Start Normal one (16bit) index– one (16bit) Codebook per dataset

Page 47: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

5. Store position/normal delta for the rest• Delta Position 6 cases 2.25 bit

• Delta Normal 5bit index– one (5bit) Codebook per dataset

• contains sin/cos of delta angles

Page 48: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

Rendering

GPU Decoding and Rendering

• Store the compressed runs into textures• Upload the compressed runs onto the GPU• Decode the points with normals on the fly

Page 49: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

1. Store the compressed runs into texturesStart Position/Normal Delta Position/Normal 16bit (RG)(B) 8bit (3+5)

Per Slice:•16bit height•8 Floats to the GPU

Page 50: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

n

m

3. Decode the points with normals on the flyStart Position/Normal

n

m

Position

Normal

Render as Points via:PBO/VBO CopyCast to Vertex ArrayVertex Texture Fetch

Page 51: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

n

m

3. Decode the points with normals on the flyStart Position/Normal

n

m

Position

Normal

Delta Position/Normal 1

n

m

n

m

Position

NormalPixelshader

Render as Points

Page 52: Computer graphics & visualization Point-Based Computer Graphics.

computer graphics & visualization

Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group

One Image about quality…