Single View Modeling • Guillaume Dugas-Phocion • Li Zhang • Jean-Sebastien Samson • Steve M. Seitz Problem Extract a 3D model from a single image Approach Free-form surface modeling without strong assumptions No assumptions about – Shading – Geometry Creation of a surface model – User-added constraints – Fast and simple user interface – Real-time adjustement of the model Related work Single View Modeling – A. Criminisi, I. Reid, and A. Zisserman “Single View Metrology”, 1999. – J. J. Koenderink, A. J. van Doorn, A. M. L. Kappers and J. T. Todd “Pictorial Relief”, 1998. – S.B. Kang, “Depth Painting for Image-Based Rendering Applications”, 1998. – V. Blanz and T. Vetter, “A Morphable Model For The Synthesis Of 3D Faces”, 1999. Related work (2) Surface Modeling – R. Szeliski, “Fast Surface Interpolation Using Hierarchical Basis Functions”, 1990. – S. Gortler and M. Cohen, “Variational Modeling with Wavelets”, 1994. Organisation Organisation I. II. Constraints & Discontinuities Hierarchical structure a. Quad-Tree b. The new wavelet-based transformation III. Results and examples IV. Future work I Constraints & Discontinuities Framework Build a surface model by : Setting some constraints – Fixed points – Surface normals Adding a smoothness to the surface Modifying this smoothness locally – Position and normal discontinuities – Fairing curves Demo I Constraints & Discontinuities Surface representation Height field • • • Logical solution for a single view Advantages : easy math, fast convergence Drawbacks : holes, no layer structure I Constraints & Discontinuities Position constraints Fix the height of a surface point Linear constraint 2 possibilities : – The point is a grid point : Expression : f(xi) = h – The point is NOT a grid point Interpolation to get f(x) I Constraints & Discontinuities Normal constraints Fix the local orientation of the surface a • Dy f(P) = • Dx f(P) = P : point where we set the normal constraint f() – f() a f() – f() a I Constraints & Discontinuities Smoothness function Give a smooth-like behavior to the surface Solution : minimize a smoothness function σ= D surface xx ² f(x,y) + Dyy² f(x,y) + 2 · Dxy² f(x,y) dx dy Discrete version : σd = w · (D i xx ² + Dyy² + grid points wi = 2 · Dxy² ) · f(pi) Φ (x,y) i dx dy I Constraints & Discontinuities Solving the problem How to obtain a sparse linear system ? min σd = vT H v Smoothness function : 2nd order polynomial in height values : Hv=0 Constraints : 1st order polynomial in height values : Av=b Final sparse system : H AT v 0 = A 0 b I Constraints & Discontinuities Discontinuities ATT H v 0 = A 0 b Adding discontinuities = modifying the smoothness of the surface = deleting some terms in the smoothness function σd = w · (D i xx ² + Dyy² + 2 · Dxy² ) · f(xi) I Constraints & Discontinuities Position discontinuities Adding a position discontinuity = In the H matrix, deleting the terms involved in corresponding edges I Constraints & Discontinuities Normal discontinuities Adding a normal discontinuity = In the H matrix, deleting the terms involved in the corresponding points II Hierarchical structure Hierarchical structure Quad-tree structure Increase the level of details Without slowing the system Recursive structure (wavelets) Demo II Hierarchical structure Hierarchical structure Ways of changing the resolution. User specified Along a curve High curvature II Hierarchical structure Speed up the solver no convergence wavelets. ? How1D to hypothesis, accelerate the f= f(x ) · Φ Demo i i II Hierarchical structure Speed up the solver 1D hypothesis, basic wavelets. v : height field c : wavelet coefficients W : wavelet transformation v=Wc WT H W WT AT c 0 = AW 0 ’ b II Hierarchical structure Speed up the solver Wavelet transformation (from coefficient to height) 1D Convolution hI = (hA + hB) / 2 + cI 2D Convolution II Hierarchical structure Speed up the solver What happens with discontinuities ? 1D Convolution Instead of : hI = (hA + hB) / 2 + cI We get : hI = hB + cI Demo II Hierarchical structure Speed up the solver 2D Convolution Instead of : hO = (hI + hJ + hK + hL) / 4 + cO We get : hO = (hI + hL) / 2 + cO III Results Results Demo IV Future work Future work Handle large images Handle perspective Fill the holes Relight the scene Constraint detector ? Questions ? Further details Position constraints Easiest constraint : fixing the height of the ith grid point – Expression : f(xi) = h – Corresponding row of the A matrix : [0…0 1 0…0] i-1 i i+1 – Corresponding value in the b vector : the user-set height h Position constraints (2) If the point we want to fix is not a grid point : we compute its height with the direct neighbors (interpolation) – f(P) = i · f(I) + j · f(J) + k · f(K) + l · f(L) = h L K P I J – Corresponding row in the A matrix : [ 0 … cI … cJ … cK … cL … 0 ] (index) iI … iJ … iK … iL – Corresponding value in the b vector : the same h Linear problem Each term as a 2nd order polynom in height values : f(xi,i) + f(xi,i) - 2·f(xi,i) ________________________ Dxx² f(xi,i) = [ ]² valid for a regular grid δx² = ∑∑x k,l , m, n f(xk,l)·f(xm,n) k,l m,n = vT·Hxx i,i ·v v: vector of the height map. Hxx i,i : specific operator for Dxx² f(xi,i) dim = n² 4 dim = n 1D wavelet basis functions Speed up the solver 2D regular basis functions
© Copyright 2024 Paperzz