CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 9: Extrinsic Deformations Fall 2012.
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
-
Upload
lydia-andrews -
Category
Documents
-
view
215 -
download
0
Transcript of CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
![Page 1: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/1.jpg)
CSE554 Alignment Slide 1
CSE 554
Lecture 5: Alignment
CSE 554
Lecture 5: Alignment
Fall 2011
![Page 2: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/2.jpg)
CSE554 Alignment Slide 2
ReviewReview
• Fairing (smoothing)
– Relocating vertices to achieve a smoother appearance
– Method: centroid averaging
• Simplification
– Reducing vertex count
– Method: edge collapsing
![Page 3: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/3.jpg)
CSE554 Alignment Slide 3
Simplification (2D)Simplification (2D)
• The algorithm
– Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location.
• Store that location (called minimizer) and its QEM with the edge.
![Page 4: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/4.jpg)
CSE554 Alignment Slide 4
Simplification (2D)Simplification (2D)
• The algorithm
– Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location.
• Store that location (called minimizer) and its QEM with the edge.
– Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer.
• Update the minimizers and QEMs of the re-connected edges.
![Page 5: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/5.jpg)
CSE554 Alignment Slide 5
Simplification (2D)Simplification (2D)
• The algorithm
– Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location.
• Store that location (called minimizer) and its QEM with the edge.
– Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer.
• Update the minimizers and QEMs of the re-connected edges.
![Page 6: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/6.jpg)
CSE554 Alignment Slide 6
Simplification (2D)Simplification (2D)
• The algorithm
– Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location.
• Store that location (called minimizer) and its QEM with the edge.
– Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer.
• Update the minimizers and QEMs of the re-connected edges.
– Step 3: Repeat step 2, until a desired number of vertices is left.
![Page 7: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/7.jpg)
CSE554 Alignment Slide 7
Simplification (2D)Simplification (2D)
• The algorithm
– Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location.
• Store that location (called minimizer) and its QEM with the edge.
– Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer.
• Update the minimizers and QEMs of the re-connected edges.
– Step 3: Repeat step 2, until a desired number of vertices is left.
![Page 8: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/8.jpg)
CSE554 Alignment Slide 8
Simplification (2D)Simplification (2D)
• Step 1: Computing minimizer and QEM on an edge
– Consider supporting lines of this edge and adjacent edges
– Compute and store at the edge:
• The minimizing location p
• QEM of p
• QEM coefficients (a, b, c)
Stored at the edge:
p
a, b, c, p, QEMp
![Page 9: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/9.jpg)
CSE554 Alignment Slide 9
Simplification (2D)Simplification (2D)
• Step 2: Collapsing an edge
– Remove the edge and its vertices
– Re-connect two neighbor edges to the minimizer of the removed edge
– For each re-connected edge:
• Increment its coefficients by that of the removed edge
– The coefficients are additive!
• Re-compute its minimizer and QEM
a, b, c,
p, QEMp a1, b1, c1,
p1, QEMp1 a2, b2, c2,
p2, QEMp2
p
a a1,b b1,c c1,p1, QEMp1
a a2,b b2,c c2,p2, QEMp2
Collapse
: new minimizer locations computed from the updated coefficients
p1, p2
![Page 10: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/10.jpg)
CSE554 Alignment Slide 10
ReviewReview
• Fairing (smoothing)
– Relocating vertices to achieve a smoother appearance
– Method: centroid averaging
• Simplification
– Reducing vertex count
– Method: edge collapsing
![Page 11: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/11.jpg)
CSE554 Alignment Slide 11
RegistrationRegistration
• Fitting one model to match the shape of another
– Automated annotation
– Tracking and motion analysis
– Shape and data comparison
Courtesy: Schneider and EisertCourtesy: Sowell et al.
![Page 12: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/12.jpg)
CSE554 Alignment Slide 12
RegistrationRegistration
• Challenges: global and local shape differences
– Imaging causes global shifts and tilts
• Requires alignment
– The shape of the organ or tissue differs in subjects and evolve over time
• Requires deformation
Brain outlines of two mice After alignment After deformation
![Page 13: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/13.jpg)
CSE554 Alignment Slide 13
AlignmentAlignment
• Registration by translation or rotation
– The structure stays “rigid” under these two transformations
• Also called isometric transformations (distance-preserving)
– Accounts for shifts and tilts in imaging
Before alignment After alignment
![Page 14: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/14.jpg)
CSE554 Alignment Slide 14
Transformation Math Transformation Math
• Translation
– Vector addition:
– 2D:
– 3D:
px'
py' vx
vy px
py
px'
py'
pz'
vxvyvz
pxpypz
p' v p
p
p'
v
![Page 15: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/15.jpg)
CSE554 Alignment Slide 15
Transformation Math Transformation Math
• Rotation
– Matrix product:
– 2D:
• Rotate around the origin!
• To rotate around another point q:
px'
py' R px
py
R Cos SinSin Cos
p' R p
p
p'
x
y
p' R p q q
![Page 16: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/16.jpg)
CSE554 Alignment Slide 16
Transformation Math Transformation Math
• Rotation
– Matrix product:
– 3D:
px'
py'
pz'
R pxpypz
Around X axis:
Around Y axis:
Around Z axis:
p' R p
x
y
z
Rx 1 0 00 Cos Sin0 Sin Cos
Ry Cosa 0 Sina
0 1 0Sina 0 Cosa
Rz Cosa Sina 0Sina Cosa 0
0 0 1
![Page 17: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/17.jpg)
CSE554 Alignment Slide 17
Transformation Math Transformation Math
• Properties of a rotational matrix
– Orthonormal (orthogonal and normal):
• Examples:
• Easy to invert:
– Any orthonormal matrix represents a rotation
R RT I
Cos SinSin Cos Cos Sin
Sin Cos 1 00 1
1 0 00 Cos Sin0 Sin Cos
1 0 00 Cos Sin0 Sin Cos
1 0 00 1 00 0 1
R1 RT
![Page 18: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/18.jpg)
CSE554 Alignment Slide 18
Transformation Math Transformation Math
• Properties of a rotational matrix
– The rotation angle can be obtained from the trace of the matrix
• Trace: sum of diagonal entries
• 2D:
• 3D:
– α is the angle of rotation around the rotation axes
– True for rotation around any axes (not just X,Y,Z)
– The larger the trace, the smaller the rotation angle
TrR 2 CosTrR 1 2 Cos Cos Sin
Sin Cos
![Page 19: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/19.jpg)
CSE554 Alignment Slide 19
Transformation Math Transformation Math
• Eigenvectors and eigenvalues
– Let M be a square matrix, v is an eigenvector and λ is an eigenvalue if:
• Intuitively, if M represents a transformation, an eigenvector is invariant (up to scale) under the transformation.
– There are at most m distinct eigenvalues for a m by m matrix
– Any scalar multiples of an eigenvector is also an eigenvector (with the same eigenvalue).
M v v
![Page 20: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/20.jpg)
CSE554 Alignment Slide 20
AlignmentAlignment
• Input: two models represented as point sets
– Source and target
• Output: locations of the translated and rotated source points
Source
Target
![Page 21: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/21.jpg)
CSE554 Alignment Slide 21
AlignmentAlignment
• Method 1: Principal component analysis (PCA)
– Aligning principal directions
• Method 2: Singular value decomposition (SVD)
– Optimal alignment given prior knowledge of correspondence
• Method 3: Iterative closest point (ICP)
– An iterative SVD algorithm that computes correspondences as it goes
![Page 22: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/22.jpg)
CSE554 Alignment Slide 22
Method 1: PCAMethod 1: PCA
• Compute a shape-aware coordinate system for each model
– Origin: Centroid of all points
– Axes: Directions in which the model varies most or least
• Transform the source to align its origin/axes with the target
![Page 23: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/23.jpg)
CSE554 Alignment Slide 23
Method 1: PCAMethod 1: PCA
• Computing axes: Principal Component Analysis (PCA)
– Consider a set of points p1,…,pn with centroid location c
• Let P be a matrix whose i-th column is vector pi – c
– 2D (2 by n):
– 3D (3 by n):
• Build the covariance matrix:
– 2D: a 2 by 2 matrix
– 3D: a 3 by 3 matrix
M P PT
pi
c
P p1x cx p2x cx ... pnx cxp1y cy p2y cy ... pny cy
P
p1x cx p2x cx ... pnx cxp1y cy p2y cy ... pny cyp1z cz p2z cz ... pnz cz
![Page 24: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/24.jpg)
CSE554 Alignment Slide 24
Method 1: PCAMethod 1: PCA
• Computing axes: Principal Component Analysis (PCA)
– Eigenvectors of M represent principal directions of shape variation
• The eigenvectors form orthogonal axes (2 vectors in 2D; 3 vectors in 3D)
– Note they are “un-signed”: lacking an orientation.
– Eigenvalues indicate amount of variation along each eigenvector
• Eigenvector with largest (smallest) eigenvalue is the direction where the model shape varies the most (least)
Eigenvector with the largest eigenvalue
Eigenvector with the smallest eigenvalue
![Page 25: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/25.jpg)
CSE554 Alignment Slide 25
Method 1: PCAMethod 1: PCA
• PCA-based alignment
– Let cS,cT be centroids of source and target.
– First, translate source to align cS with cT:
– Next, find rotation R that aligns two sets of PCA axes, and rotate source around cT:
– Combined:
pi pi cT cS
pi' cT R pi cTpi' cT R pi cS
pi
pi
pi'
cT
cS
cT
cT
![Page 26: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/26.jpg)
CSE554 Alignment Slide 26
Method 1: PCAMethod 1: PCA
• Rotational alignment of two sets of oriented axes
– Let A, B be two matrices whose columns are two sets of oriented axes
• The axes are orthogonal and normalized
– We wish to compute a rotation matrix R such that:
– Notice that A and B are orthonormal, so we have:
R A B
R B A1 B AT
![Page 27: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/27.jpg)
CSE554 Alignment Slide 27
Method 1: PCAMethod 1: PCA
• How to orient the PCA axes?
– Observing the right-hand rule
– There are 2 possible orientation assignments in 2D, and 4 in 3D
1st eigenvector 2nd eigenvector 3rd eigenvector
![Page 28: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/28.jpg)
CSE554 Alignment Slide 28
Method 1: PCAMethod 1: PCA
• Computing rotation R
– Fix the orientation of the target axes.
– For each orientation assignment of the source axes, compute R
– Pick the R with smallest rotation angle (by checking the trace of R)
Smaller rotation Larger rotation
![Page 29: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/29.jpg)
CSE554 Alignment Slide 29
Method 1: PCAMethod 1: PCA
• Limitations
– Centroid and axes are affected by noise
Noise
Axes are affected PCA result
![Page 30: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/30.jpg)
CSE554 Alignment Slide 30
Method 1: PCAMethod 1: PCA
• Limitations
– Axes can be unreliable for circular objects
• Eigenvalues become similar, and eigenvectors become unstable
Rotation by a small angle PCA result
![Page 31: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/31.jpg)
CSE554 Alignment Slide 31
Method 2: SVDMethod 2: SVD
• Optimal alignment between corresponding points
– Assuming that for each source point, we know where the corresponding target point is
![Page 32: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/32.jpg)
CSE554 Alignment Slide 32
Method 2: SVDMethod 2: SVD
• Formulating the problem
– Source points p1,…,pn with centroid location cS
– Target points q1,…,qn with centroid location cT
• qi is the corresponding point of pi
– After centroid alignment and rotation by some R, a transformed source point is located at:
– We wish to find the R that minimizes sum of pair-wise distances:
pi' cT R pi cSE
i1
n qi pi'2
![Page 33: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/33.jpg)
CSE554 Alignment Slide 33
Method 2: SVDMethod 2: SVD
• An equivalent formulation
– Let P be a matrix whose i-th column is vector pi – cS
– Let Q be a matrix whose i-th column is vector qi – cT
– Consider the cross-covariance matrix:
– Find the orthonormal matrix R that maximizes the trace:
M P QT
TrR M
![Page 34: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/34.jpg)
CSE554 Alignment Slide 34
Method 2: SVDMethod 2: SVD
• Solving the minimization problem
– Singular value decomposition (SVD) of an m by m matrix M:
• U,V are m by m orthonormal matrices (i.e., rotations)
• W is a diagonal m by m matrix with non-negative entries
– The orthonormal matrix (rotation) is the R that maximizes the trace
– SVD is available in Mathematica and many Java/C++ libraries
TrR MM U W VT
R V UT
![Page 35: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/35.jpg)
CSE554 Alignment Slide 35
Method 2: SVDMethod 2: SVD
• SVD-based alignment: summary
– Forming the cross-covariance matrix
– Computing SVD
– The rotation matrix is
– Translate and rotate the source:
M P QT
M U W VT
R V UT
pi' cT R pi cSTranslate
Rotate
![Page 36: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/36.jpg)
CSE554 Alignment Slide 36
Method 2: SVDMethod 2: SVD
• Advantage over PCA: more stable
– As long as the correspondences are correct
![Page 37: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/37.jpg)
CSE554 Alignment Slide 37
Method 2: SVDMethod 2: SVD
• Advantage over PCA: more stable
– As long as the correspondences are correct
![Page 38: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/38.jpg)
CSE554 Alignment Slide 38
Method 2: SVDMethod 2: SVD
• Limitation: requires accurate correspondences
– Which are usually not available
![Page 39: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/39.jpg)
CSE554 Alignment Slide 39
Method 3: ICPMethod 3: ICP
• The idea
– Use PCA alignment to obtain initial guess of correspondences
– Iteratively improve the correspondences after repeated SVD
• Iterative closest point (ICP)
– 1. Transform the source by PCA-based alignment
– 2. For each transformed source point, assign the closest target point as its corresponding point. Align source and target by SVD.
• Not all target points need to be used
– 3. Repeat step (2) until a termination criteria is met.
![Page 40: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/40.jpg)
CSE554 Alignment Slide 40
ICP AlgorithmICP Algorithm
After PCA
After 10 iterAfter 1 iter
![Page 41: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/41.jpg)
CSE554 Alignment Slide 41
ICP AlgorithmICP Algorithm
After PCA
After 10 iterAfter 1 iter
![Page 42: CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.](https://reader030.fdocuments.net/reader030/viewer/2022032708/56649e8a5503460f94b8f8d8/html5/thumbnails/42.jpg)
CSE554 Alignment Slide 42
ICP AlgorithmICP Algorithm
• Termination criteria
– A user-given maximum iteration is reached
– The improvement of fitting is small
• Root Mean Squared Distance (RMSD):
– Captures average deviation in all corresponding pairs
• Stops the iteration if the difference in RMSD before and after each iteration falls beneath a user-given threshold
i1n qi pi'2n