Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA
Motivation Texture maps describe surface properties Important for Visualization and Modelling Surface parameterization (Mapping a 2D domain to a 3D surface) Difficult to compute / Introduces distortion Solution: use an atlas structure (set of charts individually parameterized)
Problem Description Our work: Build texture atlas for 3D photography Strategy: Projective atlas Variational optimization Applications: 3D photography Attribute editing
3D photography (Scopigno et al. 2002) Surface representation (Sander et al. 2003) Variational approximation (Desbrun et al. 2004) Related Work
Contributions Projective texture atlas: 3D Photography Application Optimal Patch Construction Texture Compression and Smoothing
Texture for 3D Photography The problem: Construct a good texture map from photographs Requirements: Minimize texture distortion Space-optimized texture Reduce color discontinuity Variational projective texture atlas: Surface partitioning (distortion and frequency-based) Parametrization, discretization and packing PDE-based color diffusion Texture smoothing
Techniques: Partitioning: Variational minimization of texture distortion and space Parameterization: Projective mapping Packing: Simple algorithm Overview Partitioning Parameterization Packing
Variational Surface Partitioning Given a surface S, a desired number of regions n, and an error metric E An optimal atlas A with a partition R over S, is a set of regions R i, associated with charts C i, that minimizes the total error : E(R, A) = ∑ E(R i, C i ) Error Metrics Texture Distortion Frequency Dissimilarity
Lloyd’s Algorithm Clustering by Fixed Point Iteration Repeat until done: Assign points to regions according to centers Update centers Scheduling Chart adding Chart growing Chart merging
Minimizing Texture Distortion Texture Distortion Visibility C i – Chart c i – Camera associate to chart C i n i – camera direction n(x) – surface normal
Texture has different levels of detail Algorithm: Compute frequency content using wavelet analysis Make charts based on frequency similarity Scale images according to frequency Maximizing Frequency Coherency
Color Compatibilization Problem: Color discontinuity between images (different exposure) Solution: Frontier faces share an edge (color from two images)
PDE-based Diffusion Algorithm: For each frontier edge compute the color difference between corresponding texels Multigrid diffusion of differences over charts
Parameterization and Discretization Parameterization of each chart is the projective mapping of its associated camera The discretization is obtained by projecting the chart boundary onto its associated image
Output Texture Map Simple Algorithm: For each chart clip the bounding box Sort these clipped regions by height Place sequentially into rows OBS: Could use better packing, but frequency analysis makes the size of the texture atlas small enough Packing
(5 charts, distortion= ) 220 x 396 (39 charts, distortion= ) 750 x 755 Results I
39 charts 750 x charts 320 x 433 Results II
Real photograph Scopigno et al Our results 6 charts, 256 x charts, 220 x 396 Comparison I
Real photograph Scopigno et al Our results 73 charts, 512 x charts, 750 x 755 Comparison II
Conclusions and Future Work Projective texture atlas: Powerful structure for 3D photography Foundation for attribute editing Improvements: Better packing algorithm Other surface attributes (normal and displacement)