310 likes | 426 Vues
This work presents an innovative approach utilizing an Incremental Weighted Least Squares (WLS) technique for real-time rendering of surface light fields. By combining adaptive and hierarchical constructions, the method enables fast incremental updates of light field representations, incorporating new images effectively. The framework processes each image in approximately 1-2 seconds and supports a GPU implementation, achieving rendering speeds of 60 fps or more. This method enhances existing 3D models' visual fidelity while optimizing computational resources.
E N D
An Incremental Weighted Least Squares Approach To Surface Light Fields Greg Coombe Anselmo Lastra
Image-Based Rendering • Generate new views of a scene from existing views • Sample appearance from physical world Lightfields [Levoy96], Lumigraphs [Gortler96] …
Surface Lightfields • A surface light field [Wood00] represents the appearance of a model with known geometry and static lighting (θ,Φ) surface position (u,v) viewing direction
Surface Lightfields f1(Θ, Φ) f2(Θ, Φ) f3(Θ, Φ) f4(Θ, Φ)
SLF - Batch Process Surface Lightfield Construction Renderer disk … [Chen02, Hillesland03]
SLF - Online Process Incremental Surface Lightfield Construction Renderer 1024x768 @ 15fps [Coombe05]
Scattered Data Approximation • [Coombe05] required resampling to grid • Samples are at arbitrary locations in domain due to geometry and camera ? ?
Scattered Data Approximation • Scattered Data Approximation in lightfields • Unstructured Lightfields [Buehler01] • Tesselation of pure lightfield • Polynomial Texture Maps [Malzbender01] • Fit polynomials to set of images • Radial Basis Functions [Zickler05] • Interpolate sparse reflectance data
Outline • A 2D scattered data approximation • Fast incremental construction • Realtime evaluation
Our Approach • Represent the surface lightfield using Weighted Least Squares approximation • Modify WLS for the incremental framework • Adaptive and Hierarchical • CPU/GPU implementation • Process each image in about 1-2 seconds • Real-time rendering
Bust model, 75 training images
Least Squares Fitting • Find the “best” polynomial approximation to the input samples • “best” means minimizes sum of squared differences • the coefficients are determined by solving a linear system input samples reconstruction
Least Squares reconstructed function input samples domain
Weighted Least Squares • Problem: LS is a global approximation • Solution: Divide domain into multiple LS approximations, and combine to get global approximation • Use a set of low-degree polynomials • Non-linear blending (Partition of Unity) • Good discussion in Scattered Data Approximation, Holgar Wendland
Weighted Least Squares reconstructed function polynomial approximations input samples domains centers
Weighted Least Squares Θ x x x x Φ
Outline • A 2D scattered data approximation • Fast incremental construction • Realtime evaluation
Incremental WLS • Feedback is important in SLF construction • As each image is captured, it must be incorporated into the representation • How do we determine the size of each domain?
Adaptive Construction • Start out with large domains • Adaptive shrink as more points arrive x x x x x x x x
Hierarchical Construction • Start out with a single domain • Subdivide as more points arrive (quadtree) x x x x x x x x x x x
Hierarchical Construction, First 10 images
Hierarchical and Adaptive • Hierarchical • 1x1 Polynomial Texture Mapping • Fast at first, slows down as refines • # of domains is a power of 2 • Adaptive • Slow at first, speeds up as domains shrink • Can handle arbitrary # of domains
Outline • A 2D scattered data approximation • Fast incremental construction • Realtime evaluation
Implementation Pose Estimation Visibility / Reprojection Incremental Weighted Least Squares 1024x768 @ 15fps GPU Renderer
Θ Θ Φ Φ Θ Φ Θ Φ GPU Implementation
Results 4K patches 29K patches side by side, 14K patches
Pitcher model, 65 images
Performance • ~ 0.5 - 2 seconds per image for hierarchical construction • 0.5s for 4K bust model • 2s for 30K pitcher model • 95% is Least Squares Fitting • Adaptive is 2-3x more expensive • Rendering is 60fps or more
Conclusion • Represent the surface lightfield using Weighted Least Squares approximation • Modify WLS for the incremental framework • Adaptive and Hierarchical • CPU/GPU implementation • Process each image in about 1-2 seconds • Real-time rendering
Future Work • Since construction is dominated by LS fitting, implement on GPU • Extend to surface reflectance (4D) • Change basis functions • Order-of-magnitude more data
Thanks • NVIDIA Graduate Student Fellowship • UNC Graphics Group • National Science Foundation • Questions?