CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.

Slides:



Advertisements
Similar presentations
3D Geometry for Computer Graphics
Advertisements

Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
PCA + SVD.
1er. Escuela Red ProTIC - Tandil, de Abril, 2006 Principal component analysis (PCA) is a technique that is useful for the compression and classification.
Slides by Olga Sorkine, Tel Aviv University. 2 The plan today Singular Value Decomposition  Basic intuition  Formal definition  Applications.
1cs542g-term High Dimensional Data  So far we’ve considered scalar data values f i (or interpolated/approximated each component of vector values.
Reverse Engineering Niloy J. Mitra.
Principal Component Analysis CMPUT 466/551 Nilanjan Ray.
Principal Component Analysis
Dimensionality reduction. Outline From distances to points : – MultiDimensional Scaling (MDS) – FastMap Dimensionality Reductions or data projections.
CENG 789 – Digital Geometry Processing 06- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Computer Graphics Recitation 5.
Iterative closest point algorithms
3D Geometry for Computer Graphics
Motion Analysis (contd.) Slides are from RPI Registration Class.
Singular Value Decomposition COS 323. Underconstrained Least Squares What if you have fewer data points than parameters in your function?What if you have.
1 Numerical geometry of non-rigid shapes Spectral Methods Tutorial. Spectral Methods Tutorial 6 © Maks Ovsjanikov tosca.cs.technion.ac.il/book Numerical.
3-D Geometry.
TFIDF-space  An obvious way to combine TF-IDF: the coordinate of document in axis is given by  General form of consists of three parts: Local weight.
The Terms that You Have to Know! Basis, Linear independent, Orthogonal Column space, Row space, Rank Linear combination Linear transformation Inner product.
Previously Two view geometry: epipolar geometry Stereo vision: 3D reconstruction epipolar lines Baseline O O’ epipolar plane.
3D Geometry for Computer Graphics
3D Geometry for Computer Graphics
CS4670: Computer Vision Kavita Bala Lecture 7: Harris Corner Detection.
1cs542g-term Notes  Extra class next week (Oct 12, not this Friday)  To submit your assignment: me the URL of a page containing (links to)
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Normal Estimation in Point Clouds 2D/3D Shape Manipulation, 3D Printing March 13, 2013 Slides from Olga Sorkine.
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
SVD(Singular Value Decomposition) and Its Applications
Point set alignment Closed-form solution of absolute orientation using unit quaternions Berthold K. P. Horn Department of Electrical Engineering, University.
CSE 185 Introduction to Computer Vision
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
Presented By Wanchen Lu 2/25/2013
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
Alignment Introduction Notes courtesy of Funk et al., SIGGRAPH 2004.
Chapter 9 Superposition and Dynamic Programming 1 Chapter 9 Superposition and dynamic programming Most methods for comparing structures use some sorts.
Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Shape Analysis and Retrieval Statistical Shape Descriptors Notes courtesy of Funk et al., SIGGRAPH 2004.
Medical Image Analysis Image Registration Figures come from the textbook: Medical Image Analysis, by Atam P. Dhawan, IEEE Press, 2003.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
Dimension reduction : PCA and Clustering Slides by Agnieszka Juncker and Chris Workman modified by Hanne Jarmer.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
Medical Image Analysis Dr. Mohammad Dawood Department of Computer Science University of Münster Germany.
Introduction to Linear Algebra Mark Goldman Emily Mackevicius.
EIGENSYSTEMS, SVD, PCA Big Data Seminar, Dedi Gadot, December 14 th, 2014.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Instructor: Mircea Nicolescu Lecture 8 CS 485 / 685 Computer Vision.
CENG 789 – Digital Geometry Processing 07- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Chapter 13 Discrete Image Transforms
Principal Components Analysis ( PCA)
Unsupervised Learning II Feature Extraction
CSE 554 Lecture 8: Alignment
CENG 789 – Digital Geometry Processing 08- Rigid-Body Alignment
University of Ioannina
Spectral Methods Tutorial 6 1 © Maks Ovsjanikov
CSE 554 Lecture 9: Laplacian Deformation
Structure from motion Input: Output: (Tomasi and Kanade)
Singular Value Decomposition
Principal Component Analysis
Recitation: SVD and dimensionality reduction
Parallelization of Sparse Coding & Dictionary Learning
Feature space tansformation methods
Digital Image Processing Lecture 21: Principal Components for Description Prof. Charlene Tsai *Chapter 11.4 of Gonzalez.
Lecture 13: Singular Value Decomposition (SVD)
Principal Component Analysis
Calibration and homographies
Structure from motion Input: Output: (Tomasi and Kanade)
Presentation transcript:

CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011

CSE554AlignmentSlide 2 Review Fairing (smoothing) – Relocating vertices to achieve a smoother appearance – Method: centroid averaging Simplification – Reducing vertex count – Method: edge collapsing

CSE554AlignmentSlide 3 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.

CSE554AlignmentSlide 4 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.

CSE554AlignmentSlide 5 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.

CSE554AlignmentSlide 6 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.

CSE554AlignmentSlide 7 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.

CSE554AlignmentSlide 8 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:

CSE554AlignmentSlide 9 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 Collapse : new minimizer locations computed from the updated coefficients

CSE554AlignmentSlide 10 Review Fairing (smoothing) – Relocating vertices to achieve a smoother appearance – Method: centroid averaging Simplification – Reducing vertex count – Method: edge collapsing

CSE554AlignmentSlide 11 Registration 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.

CSE554AlignmentSlide 12 Registration 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 miceAfter alignmentAfter deformation

CSE554AlignmentSlide 13 Alignment 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 alignmentAfter alignment

CSE554AlignmentSlide 14 Transformation Math Translation – Vector addition: – 2D: – 3D:

CSE554AlignmentSlide 15 Transformation Math Rotation – Matrix product: – 2D: Rotate around the origin! To rotate around another point q: x y

CSE554AlignmentSlide 16 Transformation Math Rotation – Matrix product: – 3D: Around X axis: Around Y axis: Around Z axis: x y z

CSE554AlignmentSlide 17 Transformation Math Properties of a rotational matrix – Orthonormal (orthogonal and normal): Examples: Easy to invert: – Any orthonormal matrix represents a rotation

CSE554AlignmentSlide 18 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

CSE554AlignmentSlide 19 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).

CSE554AlignmentSlide 20 Alignment Input: two models represented as point sets – Source and target Output: locations of the translated and rotated source points Source Target

CSE554AlignmentSlide 21 Alignment 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

CSE554AlignmentSlide 22 Method 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

CSE554AlignmentSlide 23 Method 1: PCA Computing axes: Principal Component Analysis (PCA) – Consider a set of points p 1,…,p n with centroid location c Let P be a matrix whose i-th column is vector p i – 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

CSE554AlignmentSlide 24 Method 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

CSE554AlignmentSlide 25 Method 1: PCA PCA-based alignment – Let c S,c T be centroids of source and target. – First, translate source to align c S with c T : – Next, find rotation R that aligns two sets of PCA axes, and rotate source around c T : – Combined:

CSE554AlignmentSlide 26 Method 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:

CSE554AlignmentSlide 27 Method 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 1 st eigenvector2 nd eigenvector3 rd eigenvector

CSE554AlignmentSlide 28 Method 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 rotationLarger rotation

CSE554AlignmentSlide 29 Method 1: PCA Limitations – Centroid and axes are affected by noise Noise Axes are affectedPCA result

CSE554AlignmentSlide 30 Method 1: PCA Limitations – Axes can be unreliable for circular objects Eigenvalues become similar, and eigenvectors become unstable Rotation by a small angle PCA result

CSE554AlignmentSlide 31 Method 2: SVD Optimal alignment between corresponding points – Assuming that for each source point, we know where the corresponding target point is

CSE554AlignmentSlide 32 Method 2: SVD Formulating the problem – Source points p 1,…,p n with centroid location c S – Target points q 1,…,q n with centroid location c T q i is the corresponding point of p i – 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:

CSE554AlignmentSlide 33 Method 2: SVD An equivalent formulation – Let P be a matrix whose i-th column is vector p i – c S – Let Q be a matrix whose i-th column is vector q i – c T – Consider the cross-covariance matrix: – Find the orthonormal matrix R that maximizes the trace:

CSE554AlignmentSlide 34 Method 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

CSE554AlignmentSlide 35 Method 2: SVD SVD-based alignment: summary – Forming the cross-covariance matrix – Computing SVD – The rotation matrix is – Translate and rotate the source: Translate Rotate

CSE554AlignmentSlide 36 Method 2: SVD Advantage over PCA: more stable – As long as the correspondences are correct

CSE554AlignmentSlide 37 Method 2: SVD Advantage over PCA: more stable – As long as the correspondences are correct

CSE554AlignmentSlide 38 Method 2: SVD Limitation: requires accurate correspondences – Which are usually not available

CSE554AlignmentSlide 39 Method 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.

CSE554AlignmentSlide 40 ICP Algorithm After PCA After 10 iterAfter 1 iter

CSE554AlignmentSlide 41 ICP Algorithm After PCA After 10 iter After 1 iter

CSE554AlignmentSlide 42 ICP 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

CSE554AlignmentSlide 43 More Examples After PCA After ICP

CSE554AlignmentSlide 44 More Examples After PCA After ICP