CSE 554 Lecture 10: Extrinsic Deformations Fall 2013 CSE554 Extrinsic Deformations Slide 1 Review • Non-rigid deformation Source – Intrinsic methods: deforming the boundary points – An optimization problem Target Before • Minimize shape distortion • Maximize fit – Example: Laplacian-based deformation CSE554 After Extrinsic Deformations Slide 2 Extrinsic Deformation • Computing deformation of each point in the plane or volume – Not just points on the boundary curve or surface Credits: Adams and Nistri, BMC Evolutionary Biology (2010) CSE554 Extrinsic Deformations Slide 3 Extrinsic Deformation • Applications – Registering contents between images and volumes – Interactive spatial deformation CSE554 Extrinsic Deformations Slide 4 Techniques • Thin-plate spline deformation • Free form deformation • Cage-based deformation CSE554 Extrinsic Deformations Slide 5 Thin-Plate Spline • Given corresponding source and target points • Computes a spatial deformation function for every point in the 2D plane or 3D volume Credits: Sprengel et al, EMBS (1996) CSE554 Extrinsic Deformations Slide 6 Thin-Plate Spline • A minimization problem – Minimizing distances between source and target points – Minimizing distortion of the space (as if bending a thin sheet of metal) • There is a closed-form solution – Solving a linear system of equations CSE554 Extrinsic Deformations Slide 7 Thin-Plate Spline • Input pi qi – Source points: p1,…,pn – Target points: q1,…,qn • Output p – A deformation function f[p] for any point p f[p] CSE554 Extrinsic Deformations Slide 8 Thin-Plate Spline • Minimization formulation E Ef Ed – Ef: fitting term • Measures how close is the deformed source to the target – Ed: distortion term • Measures how much the space is warped – : weight • Controls how much non-rigid warping is allowed CSE554 Extrinsic Deformations Slide 9 Thin-Plate Spline • Fitting term – Minimizing sum of squared distances between deformed source points and target points n Ef f pi qi 2 i 1 CSE554 Extrinsic Deformations Slide 10 Thin-Plate Spline • Distortion term – Minimizing a physical bending energy on a metal sheet (2D): Ed 2f x 2 2 2 2f 2 xy 2f y 2 2 2 x y – The energy is zero when the deformation is affine • Translation, rotation, scaling, shearing CSE554 Extrinsic Deformations Slide 11 Thin-Plate Spline • Finding the minimizer for E Ef Ed – Uniquely exists, and has a closed form: n f p M p p pi vi i 1 where r r2 Log r • M: an affine transformation matrix 2.5 • vi: translation vectors (one per source point) 1.5 • Both M and vi are determined by pi,qi, 1.0 0.5 2 CSE554 Extrinsic Deformations r 2.0 1 1 2 Slide 12 Thin-Plate Spline • Result – At higher , the deformation is closer to an affine transformation 0 Credits: Sprengel et al, EMBS (1996) CSE554 0.001 Extrinsic Deformations 0.1 Slide 13 Thin-Plate Spline • Application: landmark-based image registration – Manual or automatic detection of landmarks and correspondences Source Target Deformed source Credits: Rohr et al, TMI (2001) CSE554 Extrinsic Deformations Slide 14 Free Form Deformation • Uses a control lattice that embeds the shape • Deforming the lattice points warps the embedded shape Credits: Sederberg and Parry, SIGGRAPH (1986) CSE554 Extrinsic Deformations Slide 15 Free Form Deformation • Warping the space by “blending” the deformation at the control points – Each deformed point is a weighted sum of deformed lattice points CSE554 Extrinsic Deformations Slide 16 Free Form Deformation • Input – Source lattice points: p1,…,pn – Target lattice points: q1,…,qn • Output – A deformation function f[p] for any p f[p] point p in the lattice grid. n f p wi p qi pi i 1 qi • wi[p]: pre-computed “influence” of pi on p CSE554 Extrinsic Deformations Slide 17 Free Form Deformation • Desirable properties of the weights wi[p] – Greater when p is closer to pi • So that the influence of each control point is local – Smoothly varies with location of p • So that the deformation is smooth – 1 n i 1 p n i 1 f[p] wi p • So that f[p] = wi[p] qi is an affine combination of qi – p pi qi wi p pi • So that f[p]=p if the lattice stays unchanged CSE554 Extrinsic Deformations Slide 18 Free Form Deformation • Finding weights (2D) – Let the lattice points be pi,j for i=0,…,k and j=0,…,l – Compute p’s relative location in the grid (s,t) • Let (xmin,xmax), (ymin,ymax) be the range of grid s t CSE554 px xmax py ymax xmin xmin p0,2 p1,2 p2,2 p3,2 p t p0,1 p1,1 p2,1 p3,1 p0,0 p1,0 p2,0 p3,0 s ymin ymin Extrinsic Deformations Slide 19 Free Form Deformation • Finding weights (2D) – Let the lattice points be pi,j for i=0,…,k and j=0,…,l – Compute p’s relative location in the grid (s,t) – The weight wi,j for lattice point pi,j is: ui,j p wi,j p i,j ui,j p k i 0 l j 0 ui,j p1,2 p3,2 p0,1 p1,1 p2,1 p3,1 p0,0 p1,0 p2,0 p3,0 s p • B: Bernstein basis function: Bk i s p2,2 p t Bki s Blj t • i,j: importance of pi,j CSE554 p0,2 k i Extrinsic Deformations si 1 s k i Slide 20 Free Form Deformation • Finding weights (2D) – Weight distribution for one control point (max at that control point): w1,1 p p3,2 p3,1 p1,1 p0,2 p3,0 p0,1 p2,0 p1,0 p0,0 CSE554 Extrinsic Deformations Slide 21 Free Form Deformation • A deformation example CSE554 Extrinsic Deformations Slide 22 Free Form Deformation • Image registration – Embed the source in a lattice – Compute new lattice positions over the target • Manually, or solve it as an optimization problem (maximally matching images contents while minimizing distortion) – Deform each source pixel using FFD www.slicer.org CSE554 Extrinsic Deformations Slide 23 Cage-based Deformation • Use a control mesh (“cage”) to embed the shape • Deforming the cage vertices warps the embedded shape Credits: Ju, Schaefer, and Warren, SIGGRAPH (2005) CSE554 Extrinsic Deformations Slide 24 Cage-based Deformation • Warping the space by “blending” the deformation at the cage vertices pi p n f p wi p qi i 1 – wi[p]: pre-computed “influence” of pi on p f[p] CSE554 Extrinsic Deformations qi Slide 25 Cage-based Deformation • Finding weights (2D) – Problem: given a closed polygon (cage) with vertices pi and an interior point p, find smooth weights wi[p] such that: • 1) 1 n i 1 wi p pi • 2) p CSE554 n i 1 wi p pi Extrinsic Deformations p Slide 26 Cage-based Deformation • Finding weights (2D) – A simple case: the cage is a triangle – The weights are unique (3 eqs, 3 vars) 1 w1 w2 w3 px w1 p1,x w2 p2,x py w1 p1,y w2 p2,y p1 w3 p3,x w3 p3,y p – Known as the barycentric coordinates of p w1 CSE554 Area p,p2 ,p3 p3 Area p1 ,p2 ,p3 p2 Extrinsic Deformations Slide 27 Cage-based Deformation • Finding weights (2D) – The harder case: the cage is an arbitrary (possibly concave) polygon – The weights are not unique • A good choice: Mean Value Coordinates (MVC) • Can be extended to 3D ui p wi p Tan i 2 Tan pi pi-1 i 1 2 pi p αi ui p n i 1 ui p p αi+1 pi+1 CSE554 Extrinsic Deformations Slide 28 Cage-based Deformation • Finding weights (2D) – Weight distribution of one cage vertex in MVC: wi p pi CSE554 Extrinsic Deformations Slide 29 Cage-based Deformation • Application: character animation CSE554 Extrinsic Deformations Slide 30 Cage-based Deformation • Registration – Embed source in a cage – Compute new locations of cage vertices over the target • Minimizing some fitting and energy objectives – Deform source pixels using MVC • Not seen in literature yet… future work! CSE554 Extrinsic Deformations Slide 31 Further Readings • Thin-plate spline deformation – “Principal warps: thin-plate splines and the decomposition of deformations”, by Bookstein (1989) – “Landmark-Based Elastic Registration Using Approximating Thin-Plate Splines”, by Rohr et al. (2001) • Free form deformation – “Free-Form Deformation of Solid Geometric Models”, by Sederberg and Parry (1986) – “Extended Free-Form Deformation: A sculpturing Tool for 3D Geometric Modeling”, by Coquillart (1990) • Cage-based deformation – “Mean value coordinates for closed triangular meshes”, by Ju et al. (2005) – “Harmonic coordinates for character animation”, by Joshi et al. (2007) – “Green coordinates”, by Lipman et al. (2008) CSE554 Extrinsic Deformations Slide 32