CSE 554 Lecture 9: Laplacian Deformation

Slides:



Advertisements
Similar presentations
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Advertisements

CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 9: Extrinsic Deformations Fall 2012.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 10: Extrinsic Deformations Fall 2014.
PCA + SVD.
Computer vision: models, learning and inference
Medical Imaging Mohammad Dawood Department of Computer Science University of Münster Germany.
Iterative closest point algorithms
Structure from motion. Multiple-view geometry questions Scene geometry (structure): Given 2D point matches in two or more images, where are the corresponding.
Uncalibrated Geometry & Stratification Sastry and Yang
CS485/685 Computer Vision Prof. George Bebis
3D Geometry for Computer Graphics
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
2D Transformations Unit - 3. Why Transformations? In graphics, once we have an object described, transformations are used to move that object, scale it.
CS 450: Computer Graphics 2D TRANSFORMATIONS
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Lecture 7: Matrix-Vector Product; Matrix of a Linear Transformation; Matrix-Matrix Product Sections 2.1, 2.2.1,
Laplacian Surface Editing
Manifold learning: Locally Linear Embedding Jieping Ye Department of Computer Science and Engineering Arizona State University
Mathematical Fundamentals
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
Alignment Introduction Notes courtesy of Funk et al., SIGGRAPH 2004.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Chapter 9 Superposition and Dynamic Programming 1 Chapter 9 Superposition and dynamic programming Most methods for comparing structures use some sorts.
Mathematics for Computer Graphics. Lecture Summary Matrices  Some fundamental operations Vectors  Some fundamental operations Geometric Primitives:
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Geometric Models & Camera Calibration
Dx = 2 dy = 3 Y X D Translation A translation is applied to an object by repositioning it along a straight-line path.
Image Preprocessing: Geometric Correction Image Preprocessing: Geometric Correction Jensen, 2003 John R. Jensen Department of Geography University of South.
Algebra 3: Section 5.5 Objectives of this Section Find the Sum and Difference of Two Matrices Find Scalar Multiples of a Matrix Find the Product of Two.
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Geometric Camera Models
Computer Graphics 2D Transformations. 2 of 74 Contents In today’s lecture we’ll cover the following: –Why transformations –Transformations Translation.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
AS-RIGID-AS-POSSIBLE SHAPE MANIPULATION
Medical Image Analysis Dr. Mohammad Dawood Department of Computer Science University of Münster Germany.
1 Graphics CSCI 343, Fall 2015 Lecture 10 Coordinate Transformations.
College Algebra Sixth Edition James Stewart Lothar Redlin Saleem Watson.
Graphics Lecture 2: Slide 1 Lecture 2 Transformations for animation.
CENG 789 – Digital Geometry Processing 07- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Instructor: Mircea Nicolescu Lecture 9
Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
Computer Graphics Lecture 11 2D Transformations I Taqdees A. Siddiqi
CSE 554 Lecture 8: Alignment
MTH108 Business Math I Lecture 20.
Computer vision: models, learning and inference
CPT450 – Computer Graphics
CSE 167 [Win 17], Lecture 2: Review of Basic Math Ravi Ramamoorthi
CENG 789 – Digital Geometry Processing 08- Rigid-Body Alignment
2D Transformations By: KanwarjeetSingh
University of Ioannina
Morphing and Shape Processing
Spectral Methods Tutorial 6 1 © Maks Ovsjanikov
Image Stitching Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi.
Fitting Curve Models to Edges
Structure from motion Input: Output: (Tomasi and Kanade)
COMP 175: Computer Graphics February 9, 2016
Singular Value Decomposition
CSC4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University Transformations.
Lecture 3: Camera Rotations and Homographies
Geometric Camera Models
2D Geometric Transformations
CSE 554 Lecture 10: Extrinsic Deformations
TWO DIMENSIONAL TRANSFORMATION
Structure from motion Input: Output: (Tomasi and Kanade)
Image Stitching Linda Shapiro ECE/CSE 576.
Image Stitching Linda Shapiro ECE P 596.
Presentation transcript:

CSE 554 Lecture 9: Laplacian Deformation Fall 2013

Review Alignment Methods Source Alignment Registering source to target by rotation and translation Rigid-body transformations Methods Aligning principle directions (PCA) Aligning corresponding points (SVD) Iterative improvement (ICP) Combines PCA and SVD Input Target After PCA After ICP

Non-rigid Registration Rigid alignment cannot account for shape variance Non-rigid deformation can give a better fit Source Target Rigid alignment After non-rigid deformation

Non-rigid Registration A minimization problem Minimizing the distance between the deformed source and the target “Fitting term” Minimizing the distortion to the source shape “Distortion term”

Intrinsic vs. Extrinsic Intrinsic methods Deforms points on the source curve/surface App: boundary curve or surface matching Extrinsic methods Deforms all points on and interior to the source curve/surface App: image or volume matching

Laplacian-based Deformation An intrinsic method Simple, efficient, producing reasonable results Preserving local shape features Widely used in graphics applications for interactive deformation Reference: “Laplacian surface editing”, by Sorkine et al., 2004 (citation ~ 500)

Setup Input Output Source with n points: p1,…,pn Let the first m points be “handles” Target location of handles: q1,…,qm Output Deformed locations of source points: p1’,…,pn’ When deforming the source to fit a target shape: m=n and qi is the point on the target closest to pi. Deformed Source q2 p3=q3 p1=q1 p2 An example with 3 target points, two of which are stationary (red)

Overview Finding deformed locations pi’ that minimize: Ef: fitting term Measures how close are the deformed handles to the target Ed: distortion term Measures how much the source shape is changed

Fitting Term Sum of squared distances to target handle locations q2 p2

Distortion Term Q: How to measure shape? A: By “bumpiness” at each vertex Laplacian: vector from the centroid of neighbors to the vertex Recall that in fairing, we reduced this vector to “smooth out” bumps A linear operator over point locations where Ni are indices of neighboring vertices of pi

Distortion Term Minimizing changes in Laplacians during deformation Over all source points i: Laplacian at pi before deformation

Putting Together Finding deformed locations pi’ that minimize: A quadratic equation in terms of variables (pix’, piy’, piz’) qi, i are constants L[] is a linear operator

Quadratic Minimization A general form of quadratic minimization: There are s variables: x=(x1,…,xs)T Each a1,…, ak is a length-s column vector (linear coefficients) Each b1,…, bk is a scalar (constant coefficients) k should be greater than s (so that the problem is over-constrained)

Quadratic Minimization To solve: Re-write in matrix form: where is a k by s matrix is a length-k vector

Quadratic Minimization The minimizer is where the partial derivatives are all zero To solve for x in this equation: Taking matrix inverse (good for small s, but numerically unstable for large s) Using specialized linear system solver (LinearSolve in Mathematica, TNT/LAPACK in C)

Quadratic Minimization Re-writing our minimization in the general form In 2D, there are s=2n variables: x = (p1x’,…, pnx’, p1y’,…, pny’ )T In 3D, there are s=3n variables We will next re-write each quadratic term in 2D as (aix-bi)2 Can be extended easily to 3D

Quadratic Minimization The ai and bi in the fitting term There are 2m quadratic terms In the first set of m terms: For i=1,…,m, bi=qix, ai contains all zero, except its (i)th entry is 1. In the second set of m terms: For i=1,…,m, bi+m=qiy, ai+m contains all zero, except its (i+n)th entry is 1

Quadratic Minimization The ai and bi in the fitting term There are 2m quadratic terms Example with 3 vertices and 2 fitting constraints (n=3; m=2):

Quadratic Minimization The ai and bi in the distortion term: There are 2n quadratic terms The first set of n terms: For i=1,…,n, ai is all zero except the (i)th entry is 1, the (j)th entries are -1/|Ni| for all jNi, and bi=ix The second set of n terms: For i=1,…,n, ai+n is all zero except the (i+n)th entry is 1, the (j+n)th entries are -1/|Ni| for all jNi, and bi+n=iy

Quadratic Minimization The ai and bi in the distortion term: There are 2n quadratic terms Example with 3 vertices (n=3):

Summary Compute Laplacians (i) Construct coefficients (ai, bi) Put them into matrices (A,B) Solve (x)

Results Deformed A small deformation

Results Deformed A larger deformation

Results Deformed Stretching

Results Deformed Shrinking

Results Deformed Rotation

Discussion Limitations Local features are “skewed”, and they don’t scale with the model Reason: Laplacian changes with rotation or scale Two bumps that differ by rotation or scale have different Laplacians Which will be penalized by our distortion term

A Better Distortion Term Not penalizing rotation and scaling of local features Transforming the original Laplacian vectors before comparing to the deformed Laplacians Ti is a matrix that describes how the local shape around pi is deformed

Key Questions How to represent transformations as matrices? How to compute Ti? We will focus in the derivations of the 2D case 3D results will be briefly presented at the end

Transformation Matrices (2D) Homogeneous coordinates A 2D point: (x,y,1) A 2D vector: (x,y,0) A 3D point: (x,y,z,1) A 3D vector: (x,y,z,0)

Transformation Matrices (2D) Translation Cartesian coordinates: vector addition Homogeneous coordinates: matrix product

Transformation Matrices (2D) Isotropic scaling Cartesian coordinates: vector scaling Homogeneous coordinates: matrix product

Transformation Matrices (2D) Rotation Cartesian coordinates: matrix product Homogeneous coordinates: matrix product

Transformation Matrices (2D) Summary of elementary similarity transformations To combine transformations: take the product of these matrices Translation by vector v Scaling by scalar s Rotation by angle 

Similarity Transforms (2D) General similarity transformations The product of any set of elementary matrices can be written this way Any choice of (a, w, tx, ty) can be written as a sequence of rotation, isotropic scaling and translation Note that a and w can’t be both zero

Computing Ti (2D) Suppose we know the deformed locations pi’ Compute Ti as the similarity transform that best fits the neighborhood of pi to that of pi’

Computing Ti (2D) Suppose we know the deformed locations pi’ Compute Ti as the similarity transform that best fits the neighborhood of pi to that of pi’ This is a quadratic minimization problem for entries of Ti E.g., a, w, tx, ty

Computing Ti (2D) The matrix form of the minimization is: where is a 2|Ni|+2 by 4 matrix, and Ni={i1, i2,…} are indices of neighboring vertices of pi

Computing Ti (2D) By quadratic minimization: Linear expressions of variables (pix’ , piy’)

Distortion Term (2D) Two parts of each distortion term: Transformed Laplacian: Laplacian of the deformed locations: where where is a 2 by 2|Ni|+2 matrix

Distortion Term (2D) Putting together: They form 2n quadratic terms (aix-bi)2 for x = (p1x’,…, pnx’, p1y’,…, pny’ )T All bi are zero Each ai can be extracted from H where and are its rows

Results (2D) Old distortion term New distortion term

Results (2D) Old distortion term New distortion term

Results (2D) Old distortion term New distortion term

Results (2D) Old distortion term New distortion term

Registration Use nearest neighbors as corresponding target locations Assuming the source is already close to the target Iterative closest point (ICP) 1. For each point on the source pi, treat it as a handle, and assign its closest point on the target as its target location qi. Compute Laplacian- based deformation. A threshold on the closest distance can be used to throw away unlikely correspondences 2. Repeat step (1) until a termination criteria is met. Maximum iteration or minimum RMSD improvement

Result After rigid alignment 1 iteration of Laplacian 7 iterations of Laplacian Overlaying all curves

Result Weighting the distortion term large w medium w small w

Similarity Transforms (3D) Elementary transformation matrices To perform a sequence of transformations: take the product of these matrices Translation by vector v Scaling by scalar s Rotation by angle  around X axis

Similarity Transforms (3D) General similarity transformations in 3D Approximates the product of a set of elementary matrices Up to a small rotation angle May introduce skewing for large rotations

Computing Ti (3D) Assuming known deformation, by quadratic minimization: Linear expressions of the deformed points pi’ C is a 3|Ni|+3 by 7 matrix where

Distortion Term (3D) Constructing transformed Laplacian: where where