Ch10. Fitting and Alignment
포스트 : 2022.12.20.
최근 수정 : 2022.12.20.
Alignment
- find parameters of model that maps one set of points to another
- Typically want to solve for a global transformation that accounts for most true correspondence
Difficulties
- Noise (typically 1-3 pixels)
- Outliers (often 50%)
- Many-to-one matches or multiple objects
Parametric (global) warping
- Transformation T is a coordinate-changing machine:
- T is global
- global :
- Is the same for any point p
- can be described by just a few numbers (parameters)
- For linear transformations, we can represent T as a matrix
Scaling
Scaling a coordinate means multiplying each of its components by a scalar
- Uniform scaling means this scalar is the same for all components:
- Non-uniform scaling: different scalars per component
operation :
matrix form :
2-D Rotation
- operation :
- matrix form :
- Even though sin() and cos() are nonlinear functions of
- x’ is a linear combination of x and y
- y’ is a linear combination of x and y
- What is the inverse transformation?
- rotation by
- for rotation matrices
Basic 2D transformations
- scale
- shear
- rotate
- translate
- affine or
Affine Transformations
Affine transformations are combinations of
- Linear transformations
- Translations
Properties of affine transformations:
- Lines map to lines
- Parallel lines remain parallel
- Ratios are preserved
- Closed under composition
Projective(perspective) Transformations
Projective transformations are combos of
- Affine transformations, and
- Projective warps
Properties of projective transformations:
- Lines map to lines
- Parallel lines do not necessarily remain parallel
- Ratios are not preserved
- Closed under composition
- Models change of basis
- Projective matrix is defined up to a scale (8 DOF)
Example: solving for translation
-
Least squares solution
Problem: outliers
-
RANSAC solution
Problem: outliers, multiple objects, and/or many-to-one matches
-
Hough transform solution
Problem: no initial guesses for correspondence
Iterative Closest Points (ICP) Algorithm
If we don’t have initial alignment
estimate transform between two dense sets of points
- Initialize transformation (e.g., compute difference in means and scale)
- Assign each point in Set 1 to its nearest neighbor in Set 2
- Estimate transformation parameters
- e.g., least squares or robust least squares
- Transform the points in Set 1 using estimated parameters
- Repeat steps 2-4 until change is very small