Spectral processing of point-sampled geometry Mark Pauly and Markus Gross Presented by Benjamin Haas Seminar on graphical data processing June 13, 2001
Spectral processing of point-sampled geometry Introduction Motivation Algorithm overview Algorithm details Results Conclusion
Spectral processing of point-sampled geometry Introduction Research area General description Motivation Algorithm overview Algorithm details Results Conclusion
Point-sampled geometry Introduction Point-sampled geometry Typically from laser range scanner Model sizes ~ 106 points No connectivity information Contains noise Fast rendering possible
Introduction Surface patches
Surface (distance map) as a 2-d signal Introduction Surface (distance map) as a 2-d signal
Spectral processing of point-sampled geometry Introduction Motivation Point-sampled geometry Fourier methods for geometry Algorithm overview Algorithm details Results Conclusion
Why using point samples? Motivation Point-sampled geometry Why using point samples? Increasing model size Decreasing triangle/quadrilateral size Smaller memory requirements Less computation time Hardware rendering to be expected soon
Why using Fourier methods? Motivation Fourier methods for geometry Why using Fourier methods? Frequency for curvature / LOD Filters expressed in frequency domain Convolution theorem Parseval's theorem (error estimation) O(n2) O(n)
Spectral processing of point-sampled geometry Introduction Motivation Algorithm overview The spectral processing pipeline Algorithm details Results Conclusion
The spectral processing pipeline Algorithm overview The spectral processing pipeline
Spectral processing of point-sampled geometry Introduction Motivation Algorithm overview Patch layout creation Scattered data approximation (Spectral analysis) Resampling Patch blending Algorithm details Results Conclusion
Two-step patch layout creation Algorithm details Patch layout creation Two-step patch layout creation Point samples Clusters Patches
Neighborhood detection using BSP tree Algorithm details Patch layout creation Clustering Neighborhood detection using BSP tree
Score function for optimization Algorithm details Patch layout creation Patch merging Score function for optimization
Algorithm details Patch layout creation Normal cone condition
Example: Patch layout for human face Algorithm details Patch layout creation Example: Patch layout for human face
Scattered data approximation Algorithm details Scattered data approximation Scattered data approximation
Scattered data approximation Algorithm details Scattered data approximation Scattered data approximation
The spectral processing pipeline Algorithm overview The spectral processing pipeline
Low-pass filtered signal Band limitation Sampling theorem (Nyquist) Algorithm details Resampling Resampling Low-pass filtered signal Band limitation Sampling theorem (Nyquist) Optimal sampling rate Parseval’s theorem Error control
Patch blending (reconstruction) Algorithm details Patch blending Patch blending (reconstruction) overlapping patch boundaries Blending of sampling rates Blending of points Blending of normals
Spectral processing of point-sampled geometry Introduction Motivation Algorithm overview Algorithm details Noise removal Enhancement Restoration Subsampling Results Conclusion
Smoothing and enhancement Results Smoothing and enhancement
Flexible spectral filtering Results Flexible spectral filtering
Noise removal Gaussian filter Wiener filter Original Results filtered with Gaussian filter filtered with Wiener filter Original (with noise)
Results Subsampling Original resolution Adapted resolution
Spectral processing of point-sampled geometry Introduction Motivation Algorithm overview Algorithm details Results Pros and cons Discussion Conclusion
+ Sound concept of frequency + Flexible, elegant and fast filtering Conclusion Pros and cons + Sound concept of frequency + Flexible, elegant and fast filtering - Patch merging, SDA and reconstruction are costly - Inconsistencies at patch boundaries (no mathematical foundation at present) Well suitable for interactive surface processing