710 likes | 850 Views
Eigen Texture Method : Appearance compression based method Surface Light Fields for 3D photography Presented by Youngihn Kho. Eigen-Texture Method Appearance Compression based on 3D modeling. Authors Ko Nishino, Yochihi Sato, Katsushi Ikuechi (CVPR 99)
E N D
Eigen Texture Method : Appearance compression based methodSurface Light Fields for 3D photographyPresented by Youngihn Kho
Eigen-Texture MethodAppearance Compression based on 3D modeling • Authors Ko Nishino, Yochihi Sato, Katsushi Ikuechi (CVPR 99) • http://www.cvl.iis.u-tokyo.ac.jp/~kon/eigen-texture/index.html
Appearance based method Inputs : 3D Geometry and a set of color images Outputs : Synthesized images from arbitrary viewing points. Objective : Compressed representation of appearance of model
Eigen-Texture methodOverview sampling encoding decoding
Sampling • 3D geometry is captured by range camera. • Photos are taken by rotating the object and registered into the geometry. • Each color image is divided into small areas according to their corresponding triangles in the object. • Cell : Normalized triangle patches. • Cell image : Warped color image • Compression is done with sequences of cell images of each cell.
357° θ θ appearance change of one patch 0° Sampling Image coherence makes high compression ratio and interpolation of appearances.
Compression key idea • Instead of storing whole sequence of images, we find a small set of new cell images (eigen cells), then represent each cell image as a linear combination of those eigen cells. • Then we store only those eigen cells and the coefficients of each cells.
At a glance… Original data Using principal vector Size = 2*N Size = N + 2
n n Matrix construction • Single cell image • Sequence of cell images M : # of images N : # of pixels in each cell
Eigen method Keigen vectors
Eigen ratio • Sort the eigen values and pick k largest eigen values. • We need all eigen values if we want to preserve original, but we need compression.
k eigen-cells scores synthesized view = a0× + a1× + a3× linear combination of base images Decoding with eigen vectors
Compression ratio • Size of a sequence of cell images : M x 3N • Size of k-eigen cells : k x 3N • “coefficients” of image cells : k x M • Therefore,
Cell-adaptive dimensions • Several factors influence the required dimension - Specularity, mesh precision, shadowing… • Since we compress for each sequence of cell images, we can use different dimension for each cells. • This can be done by using fixed threshold eigen ratio.
Interpolation • Synthesize from novel view point is done in the eigen-space by interpolating “coefficients” (or scores)
Integrating into the real scene • Can render scene under arbitrary illumination condition • Sample color images under several single light conditions • Synthesize the scene under approximate arbitrary illumination condition by linear combination of those base images
Discussion • Contribution - high compression ratio - interpolation in eigen space - global illumination effects • Drawbacks - expensive pre-computation time - limited positions. - dense mesh?
Surface Light Fieldsfor 3D photography • Authors Daniel N. Wood, et al. (SIGGRAPH 2000) • http://www.cs.washington.edu/research/graphics/projects/slf/
Surface Light Field • Surface Light Field is a function that assigns a color to each ray originating from every point on the surface. • Conceptually, every points in the surface has it’s corresponding lumisphere..
Overview Overview Estimation And Compression Data Acquisition Rendering Editing
Overview Overview Estimation And Compression Data Acquisition Rendering Editing
Data Acquisition • Range scanning • Reconstructing the geometry • Acquiring the photographs • Registering the photographs to the geometry
Scan and reconstruct Use closest points algorithm & volumetric method by Curless and Levoy
Acquiring photographs Used Stanford spherical gantry with a calibrated camera
Register photographs to the geometry Manually selected correspondences
How to represent? • MAPS (Multiresolution Adaptive Parameterization of Surfaces) - Base mesh + wavelets - (Aaron Lee ,et al. SIGGRAPH ‘98) map Base mesh Original mesh
Data lumishpere in each points Scanned mesh Base mesh Lumisphere
Overview Estimation And Compression Data Acquisition Rendering Editing
Estimation and Compression • Estimation problem : How do we find piece-wise linear lumisphere from given data lumisphere? • Three methods - Pointwise- fairing - Function quantization - Principal function analysis
Point-wise fairing • Estimate the least-squares best approximating lumisphere for individual surface points. • Error function = distance term + thin plate energy term • Results high quality but suffers large file size. – needs compression technique.
Compression • Don’t want each grid point to have its own lumisphere. • Rather, want a small set of lumispheres that can be used to nicely approximate all the data lumisphere. • Standard techniques : - Vector quantization - Principal function analysis
Compression in point-wise fairing • Compression in the point-wise fairing method. - vector quantization or principal component analysis directly on their results. • Not a good idea because, - we’ve already had re-sampling step and many parts of they are fiction! • So directly manipulate data lumispheres.
Two pre-processing • Two transformation are applied to make them more compressible. - Median removal - Reflected re-parameterization
Effect of reflection Before After
Function quantization Input data lumisphere Codebook of lumispheres
Function quantization • Lloyd iteration : Start with initial single codeword and a random set of training lumispheres, then repeatedly - Split and perturb codebook and repeatedly apply - Projection : find closest codeword index. - Optimization : for each cluster, find best piece-wise lumisphrer until error difference is less than some threshold. Until desirable size.
Lloyd iteration Codeword
Lloyd iteration Clone and perturb code words
Lloyd iteration Divided by several clusters
Lloyd iteration Optimize code words in the cluster
Lloyd iteration New clusters
Principal function analysis • Generalization of principal component analysis • Again we find a set of code words (prototypes), but instead of assign to each grid point, we approximate with linear combination of prototypes.
Principal function analysis Input data lumisphere Prototype lumisphere Subspace of lumispheres