Transcript Document
Ch 7. Geometry Last updated 2015. 03. 04 Heejune Ahn, SeoulTech Outline Geometry and transform Shape description Shape preserving transform Homogeneous coordinate 2D Affine transform Procrustes transform & alignment Projective transform Nonlinear transform Warping Overdetermined spatial transform 0. Geometry transform Purpose of Geometry transform To remove optical distortion at capturing process To map onto standard references for comparison Shape (in detail in Ch9) Tightly related to geometry transform Geometry change => Shape change Shape descriptor types Shape vectors compact (but approximate) parameters of shape info 1. Shape description/representation Shape (Roughly) the boundary of an object Simple shapes: e.g.) eggs, footballs, cigars, books Complicate shapes: e.g) human faces, cars able to specify mathematically Unable to specify mathematically, need general descption General description of shape An ordered set (sequence) of coordinate pairs (tuples in N-dim) Shape vector Generating Shape vectors STEP1: Find the boundary Image segmentation (in Ch10) STEP2: Meaningful definition of the shape Meaning in respect of application 2. Shape preserving transform Shape-preserving transforms Then, the definition of shape All geometric info that remains after translation, rotation, and scale. Minimal representation and Shape alignment SV representation is redundant, Since multiple SV representation Procrustes Alignment Minimal representations or standard representation 3. Homogeneous coordinate PDM (point distribution matrix) Matrix notation of SV Easy to transform using matrix multiplications E.g.) Scaling, x, y shearing, rotation But, unfortunately, not for translation Homogeneous coordinate Can unify those operations into matrix multiplication. H.C normalize Concept 3D to 2D mapping Use of prospective spaces as a means of removing the special role of the origin in a Cartesian coordinate cf) planner projection: (x,y,z) to (x,y,0) 4. Affine 2D transform Affine 2D Transform 6 parameters transform c, f : translation a, b, c, d: rotation, shear, scaling Not shape preserving Straight line to straight line, parallel lines to parallel lines, but rectangular to parallelogram (due to the SHEAR) 5. Affine transform in HC Cartesian Coord. to Homogeneous Coord. = Ex. Affine transform examples 6. Procrustes transform Procrustes transform A special type of Affine transform Preserving the shape Decomposed into T = S R X Procrustes 7. Procrustes alignment Step1: Translation centroids Scaling y y Rotation Eginervector matrics of SVD of matrix Example 7.1 MATLAB [d,Z,T] = procrustes(X,Y) T.c (translation), T.T: rotation, T.b : scale Z = b*Y*T + c (transformed results) d : sum of squared difference 8. Projective transfrom Projective transform 3D to 2D (in Camera) Not shape preserving, not distance preserving 8 (not 9) degree of freedom (DoF) Useful in different view points mapping Especially, stereo vision MATLAB t = cp2tform(ipoints, rpoints, ‘perspective) imtransform(Image, t) ginput(n), imcrop(Image) Example Summary Linear Geometry transforms 9. Non-linear transform Nonlinear geometric transform is Wrapping if Tx or/and Ty is non-linear func of (x,y) bending in English dictionary Strat lines to non-straight lines (curves) Often by cheap, wide angle cam MATLAB (Ex7.3) R = makeresampler(interpolant, padmethod) B = tformarray(A, T, R, TDIMS_A, TDIMS_B, TSIZE_B, TMAP_B, F) Warping example Pincushion : a > 0 Barrel effect: a < 0 10. Warping Warping Geometric Xform of points together with pixel values Warping procedure 1) locate ‘tie-points’ in base (x’,y’) & input (x,y) 2) define functional mapping function Tie points: lands mark pairs in input &base img. x’ = f(x, y) and y’ = g(x,y) 3) solve the params of f(.) and g(.) 4) calculate values at all (x’,y’) (x’, y’) to (x,y), then I(x,y) Ex 7.4 cpselect: tie-points cp2tfrom: imtransform parameters extr. apply transform CP: control points 11. over-determined warping Background B A C Y = ax + b 2 parameters (2 DoF) 1 point (constraint) : under-determined 2 point (constraint) : determined over 3 points (constraint) : over determined Over-determined in bilinear transform 8 params (4 tie-points) exact mapping impossible for more than 4 ties. Least square solution Determines parameters that minimizes the Sum of Square distances Ex 7.5 (plastic surgery, Micheal Jackson MV) Unsatisfactory ! 12. Piecewise Warp Ex 7.5: global transform warping, unsatisfactory too many tie-points with two small parameters Solutions for many tie-points Many parameters, but global needs high-order polynomial transform Piecewise warp Many contiguous region of a small number of tie-points Generally much easy and better! 13. Piecewise affine warping Affine Local linear is often KING ! Delaunary Triangulation Triangular: basis M (affine transform) 13. Piecewise affine warping Algorithm Ex. piecewise What is criteria? global 14. Forwards vs reverse mapping Mapping direction forwards reverse Forward sounds natural, but some drawbacks multiple points mapped to single no input points to the target (holes) mapped to points out of region Reverse mapping is often used map base to input