Lecture 10 Extrinsic Deformations Fall 2015 Review Nonrigid deformation Intrinsic methods deforming the boundary points An optimization problem Minimize shape distortion Maximize fit Example ID: 259014
Download Presentation The PPT/PDF document "CSE 554" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
CSE 554Lecture 10: Extrinsic Deformations
Fall
2016Slide2
Review
Non-rigid deformation
Intrinsic
methods: deforming the boundary points
An optimization problem
Minimize shape distortionMaximize fitExample: Laplacian-based deformation
Source
Target
Before
AfterSlide3
Extrinsic DeformationGiven source and target point pairs (handles)
Compute deformation of any point in the plane or volume
Not just points on the boundary curve or surfaceSlide4
Extrinsic DeformationApplicationsRegistering contents between images and volumes
Interactive animationSlide5
TechniquesThin-plate spline deformationFree form deformation
Cage-based deformationSlide6
Thin-Plate SplineA minimization problemMinimizing distances between source and target points
Minimizing distortion of the space
There is a closed-form solution
Solving a linear system of equationsSlide7
Thin-Plate SplineInputSource points: p
1
,…,
pnCorresponding target points: q1
,…,qn
OutputA deformation function f[p] (p is any point)
p
i
q
i
p
f[p]Slide8
Thin-Plate SplineMinimization formulation
E
f
: fitting termMeasures how close is the deformed source to the targetEd: distortion term
Measures how much the space is warped
: weightControls how much distortion is allowedSlide9
Thin-Plate SplineFitting termMinimizing sum of squared distances between deformed source points and target pointsSlide10
Thin-Plate SplineDistortion termPenalizes non-linear deformation:
The energy is zero when the deformation is a linear transformation
Translation, rotation, scaling, shearingSlide11
Thin-Plate SplineFinding the minimizer forUniquely exists, and has a closed form:
M
: a global transformation
v
i: translation vectors (one per source point)
Both M and vi are determined by pi,qi,By solving a linear equation system
whereSlide12
Thin-Plate SplineResultAt higher
, the deformation is closer to an affine transformation
Credits: Sprengel et al, EMBS (1996)Slide13
Thin-Plate SplineApplication: landmark-based image registrationManual or automatic detection of landmarks and correspondences
Source
Target
Deformed source
Credits: Rohr et al, TMI (2001)Slide14
Thin-Plate Spline
Application: landmark-based image registration
Manual or automatic detection of landmarks and correspondences
Source
Target
Source
Credits: Rohr et al, TMI (2001)Slide15
Thin-Plate SplineProsOnly requires scattered point correspondencesClosed-form solution makes it efficient to compute the deformationOnce the global transformation (M) and local vectors (v
i
) are solved
ConsSolving M, vi could be time-consuming for large number of handlesNot for interactive deformation (e.g., user moving the handles in real-time)Slide16
Free Form DeformationUses a control lattice that embeds the shapeDeforming the lattice points (
control points
) warps the embedded shape
Credits: Sederberg and Parry, SIGGRAPH (1986)Slide17
Free Form DeformationBlending the deformation at the control points (handles)
Each deformed point is a weighted sum of deformed lattice points Slide18
Free Form Deformation
Input
Source control points: p
1
,…,p
nTarget control points: q1,…,qnOutputA deformation function f[p] for any point p within the space of the grid.
wi[p]: “influence” of pi on p (regardless
of qi, so it can be pre-computed)
pi
q
i
p
f[p]Slide19
Free Form DeformationDesirable properties of the weights w
i
[p]
Decreases with distance from p to pi So that the influence of each control point is local Smoothly varies with location of p
So that the deformation is smooth
So that f[p] = wi[p] qi is an affine combination of qi
So that f[p]=p if the lattice stays unchanged
p
i
q
i
p
f[p]Slide20
Free Form DeformationFinding weights (2D)Let the lattice points be p
i,j
for i=0,…,k and j=0,…,l
Compute p’s relative location in the grid (s,t)Let (xmin,xmax), (y
min,y
max) be the range of grid
p
0,0
p
0,1
p
0,2
p
1,0
p
1,1
p
1,2
p
2,0
p
2,1
p
2,2
p
3,0
p
3,1
p
3,2
p
s
tSlide21
Free Form DeformationFinding weights (2D)Let the lattice points be p
i,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:
i,j: importance of pi,jB: Bernstein basis function:
p
0,0
p
0,1
p
0,2
p
1,0
p
1,1
p
1,2
p
2,0
p
2,1
p
2,2
p
3,0
p
3,1
p
3,2
p
s
tSlide22
Free Form Deformation
Finding weights (2D)
Weight distribution for one control point (max at that control point):
p
0,0
p
0,1
p
0,2
p
1,0
p
1,1
p
2,0
p
3,0
p
3,1
p
3,2Slide23
Free Form DeformationA deformation exampleSlide24
Free Form DeformationImage registrationEmbed the source in a lattice
Compute new lattice positions over the target
Manually or automatically
Deform each source pixel using FFD
www.slicer.orgSlide25
Free Form DeformationProsFast updates when control points are movedConsToo many control points (a lot of them are interior to the shape)Cartesian grid is too inflexible for complex shapesSlide26
Cage-based DeformationUse a control mesh (“cage
”) to embed the shape
Deforming the cage vertices warps the embedded shape
Credits: Ju, Schaefer, and Warren, SIGGRAPH (2005)Slide27
Cage-based Deformation“Blending” the deformation at the cage vertices
w
i
[p]: pre-computed “influence” of pi on p
More challenging to compute than FFD: not regular lattice structure
p
f[p]
p
i
q
iSlide28
Cage-based DeformationFinding weights (2D)Problem: given a closed polygon (cage) with vertices p
i
and an interior point p, find smooth weights
wi[p] such that:1)
2)
p
i
pSlide29
Cage-based DeformationFinding weights (2D)A simple case: the cage is a triangle
The weights are unique (3
eqs
, 3 vars)
wi
are known as the barycentric coordinates of p
p
1
p
2
p
3
pSlide30
Finding weights (2D)
The harder case: the cage is an arbitrary (possibly concave) polygon
The weights are not unique (“generalized
barycentric coordinates”)A good choice: Mean Value Coordinates (MVC)
[Floater, 2003]
Cage-based Deformation
p
i
p
α
i
α
i+1
p
i-1
p
i+1Slide31
Cage-based DeformationFinding weights (2D)Weight distribution of one cage vertex in MVC:
p
iSlide32
Cage-based DeformationMVC be extended to 3D [Ju, 2005; Floater, 2005
]
Other types of coordinates: Harmonic coordinates; Green coordinates; etc.
Application: character animationSlide33
Cage-based DeformationRegistrationEmbed source in a cage
Compute new locations of cage vertices over the target
Deform source pixels using MVC or other generalized
barycentric coordinatesSlide34
Cage-based DeformationProsFast update when control points are movingFewer control points and better fitting to shape than FFDConsConstructing the cage is mostly a manual process
Although there is some recent progress in automation
Sacht
et al., Siggraph Asia 2015Slide35
Further ReadingsThin-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)