Upload
zion-maslin
View
220
Download
1
Tags:
Embed Size (px)
Citation preview
Surface Compression
with Geometric Bandelets
Gabriel PeyréGabriel Peyré
Stéphane MallatStéphane Mallat
OutlineOutline
• Why Discrete Multiscale Geometry?
• Image-based Surface Processing
• Geometry in the Wavelet Domain
• Moving from 2D to 1D
• The Algorithm in Details
• Results
Geometry of Surfaces: CreationGeometry of Surfaces: Creation
Clay modelingClay modeling Low-poly modelingLow-poly modeling
Geometry of Surfaces: RenderingGeometry of Surfaces: Rendering
Stoke rendering Stoke rendering taken from taken from [Rössl-Kobbelt 01][Rössl-Kobbelt 01]
Line-Art Rendering of 3D Models.Line-Art Rendering of 3D Models.
Lines of curvaturesLines of curvaturesand highlightsand highlights
Geometry of Surfaces:Mesh processingGeometry of Surfaces:Mesh processing
Anisotropic RemeshingAnisotropic Remeshing[Alliez et Al. 03][Alliez et Al. 03]
Robust Moving Least-squares Fitting with Sharp Features [Fleishman et Al. 05][Fleishman et Al. 05]
Geometry is DiscreteGeometry is Discrete
continous
discrete
multiscale
geometry
acquisition
[Digital Michelangelo Project][Digital Michelangelo Project]
Geometry is Multiscale?Geometry is Multiscale?
continous
discrete
multiscale
geometry
Surface simplificationSurface simplification[Garland & Heckbert 97][Garland & Heckbert 97]
Normal meshesNormal meshes[Guskov et Al. 00][Guskov et Al. 00]
Sharp
Geometry is Multiscale!Geometry is Multiscale!
Smoothed
Fine Scale
•Edge extraction is an ill-posed problem.•Localization is not needed for compression!
Geometry is not Defined by Sharp FeaturesGeometry is not Defined by Sharp Features
Edge localization[Ohtake et Al. 04][Ohtake et Al. 04] Ridge-valley lines on
meshes via implicit surface fitting.
Semi-sharp features [DeRose et Al. 98][DeRose et Al. 98] Subdivision
Surfaces in Character Animation
OutlineOutline
• Why Discrete Multiscale Geometry?
• Image-based Surface Processing
• Geometry in the Wavelet Domain
• Moving from 2D to 1D
• The Algorithm in Details
• Results
Geometry images [Gu et Al.][Gu et Al.]Geometry images [Gu et Al.][Gu et Al.]
irregular mesh irregular mesh 2D array of points 2D array of pointsirregular mesh irregular mesh 2D array of points 2D array of points
[[rr,,gg,,bb] = [] = [xx,,yy,,zz]]cutcut parameterizeparameterize
•No connectivity information.•Simplify and accelerate hardware rendering.•Allows application of image-based compression schemes.
Our Functional ModelOur Functional Model
3D model 2D GIM (lit)
Uniformly regular areas+ Sharp features+ Smoothed features
OutlineOutline
• Why Discrete Multiscale Geometry?
• Image-based Surface Processing
• Geometry in the Wavelet Domain
• Moving from 2D to 1D
• The Algorithm in Details
• Results
Hierarchical CascadHierarchical Cascad
Geometry
2R : f x 2LContinuous
, V nP f f Discrete:
,, j nf Multiscale:
Acquisition (scanner, etc)
Wavelet transform
• Orthogonal dilated filters cascad
• Proposition: to continue the cascad.
Geometric transform?
What is a wavelet transform?What is a wavelet transform?
Original surface
Geometry image Wavelet transform
•Decompose an image at dyadic scales.•3 orientations by scales H/V/D.•Compact representation: few high coefficients.•But… still high coefficients near singularities.
H V
D
OutlineOutline
• Why Discrete Multiscale Geometry?
• Image-based Surface Processing
• Geometry in the Wavelet Domain
• Moving from 2D to 1D
• The Algorithm in Details
• Results
Some insights about bandeletsSome insights about bandelets
• Moto: wavelets transform is cool, re-use it!
• Goal: remove the remaining high wavelet coefficients.
• Hope: exploit the anisotropic regularity of the geometry.
• Tool: 2D anisotropy become isotropic in 1D.
Construction of this ReorderingConstruction of this Reordering
Geometry image 2D Wavelet TransformH V
D • Choose a direction
• Project pointsorthogonally on
• Report values on 1D axis
• Resulting 1D signal
Choosing the square and the directionChoosing the square and the direction
T
-T
T
+ threshold T
• Too big: direction deviates from geometry
• How to choose: 1D wavelettransform
• Too much high coefficients!
Choosing the Squareand the DirectionChoosing the Squareand the Direction
T
-T
T
• Bad direction: direction deviates from geometry
• Still too much high coefficients!
Choosing the Squareand the DirectionChoosing the Squareand the Direction
T
-T
T
• Correct direction: direction matches the geometry
• Nearly no high coefficients!
OutlineOutline
• Why Discrete Multiscale Geometry?
• Image-based Surface Processing
• Geometry in the Wavelet Domain
• Moving from 2D to 1D
• The Algorithm in Details
• Results
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
Original surfaceGeometry image
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Tran(2) 2D Wavelet Tran
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
Geometry image 2D Wavelet Transform
H V
D
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivis(3) Dyadic Subdivis
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
2D Wavelet Transform
H V
D
Zoom on D
D
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivis
(4) Extract Sub-sq(4) Extract Sub-sq
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
Zoom on D
D
Sub-square2D Wavelet Transform
H V
D
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometr(5) Sample Geometr
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
Sub-squareZoom on D
D
Sub-square
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
1D Signal
1D Wavelet Transform
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Tran(7) 1D Wavelet Tran
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
1D Signal
vs
T
1D Wavelet Transform
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree
1D Signal
T
vs
T
vs
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficie(9) Output Coefficie
(10) Build Quadtree
1D Signal 1D Wavelet Transform
T
T
vs
T
Bandelets coefficientsUntransformed coefs(For comparison)
The Algorithm in 10 StepsThe Algorithm in 10 Steps
(1) Geometry Image
(2) 2D Wavelet Transf.
(3) Dyadic Subdivision
(4) Extract Sub-square
(5) Sample Geometry
(6) Project Points
(7) 1D Wavelet Transf.
(8) Select Geometry
(9) Output Coefficients
(10) Build Quadtree(10) Build Quadtree
• Don’t use every dyadic square …
• Compute an optimal segmentation into squares.
• Fast pruning algorithm (see paper).
2D Wavelet Transform
H V
DD
Zoom on D
What does bandelets look like?What does bandelets look like?
• Transform = decomposition on an orthogonal basis.
• Basis functions are elongated “bandelets”.
• The transform adapts itself to the geometry.
Transform Coding in a Bandelet BasisTransform Coding in a Bandelet Basis
• Bandelet coefficients are quantized and entropy coded.
• Quadtree segmentation and geometry is coded.
• Possibility to use more advanced image coders (e.g. JPEG2000).
OutlineOutline
• Why Discrete Multiscale Geometry?
• Image-based Surface Processing
• Geometry in the Wavelet Domain
• Moving from 2D to 1D
• The Algorithm in Details
• Results
Results:More complex featuresResults:More complex features
Original [email protected] bpv
Hausd. PNSR: +1.6dB
Blurred FeaturesBlurred Features
Hausd. PNSR: +1.3dB
Original
Spherical Geometry ImagesSpherical Geometry Images
Original
Hausd. PNSR: +1.0dB
Spherical Geometry ImagesSpherical Geometry Images
Original
Hausd. PNSR: +1.25dB