fitting a transformation feature based alignment
play

Fitting a transformation: feature-based alignment Tues Oct 13 - PDF document

10/12/2015 Fitting a transformation: feature-based alignment Tues Oct 13 Motivation: Recognition Figures from David Low e 1 10/12/2015 Motivation: medical image registration Motivation: mosaics Image f rom


  1. 10/12/2015 Fitting a transformation: feature-based alignment Tues Oct 13 Motivation: Recognition Figures from David Low e 1

  2. 10/12/2015 Motivation: medical image registration Motivation: mosaics Image f rom http://graphics.cs.cmu.edu/courses/15-463/2010_f all/ 2

  3. 10/12/2015 Last week • Interest point detection – Harris corner detector – Laplacian of Gaussian, automatic scale selection • Invariant descriptors – Rotation according to dominant gradient direction – Histograms for robustness to small shifts and translations (SIFT descriptor) Review questions • What is the purpose of the “ratio test” for local feature matching? • What aspects of the SIFT descriptor design promote robustness to lighting changes? Robustness to rotation and translation? • Does extracting multiple keypoints for multiple local maxima in scale space help recall or precision during feature matching? • How far in the image plane can an object rotate before the SIFT descriptors will not match? 3

  4. 10/12/2015 Multi- view: what’s next Additional questions we need to address to achieve these applications: • Fitting a parametric transformation given putative matches • Dealing with outlier correspondences • Exploiting geometry to restrict locations of possible matches • Triangulation, reconstruction • Efficiency when indexing so many keypoints Coming up: robust feature-based alignment Source: L. Lazebnik 4

  5. 10/12/2015 Coming up: robust feature-based alignment • Extract features Source: L. Lazebnik Coming up: robust feature-based alignment • Extract features • Compute putative matches Source: L. Lazebnik 5

  6. 10/12/2015 Coming up: robust feature-based alignment • Extract features • Compute putative matches • Loop: • Hypothesize transformation T (small group of putative matches that are related by T ) Source: L. Lazebnik Coming up: robust feature-based alignment • Extract features • Compute putative matches • Loop: • Hypothesize transformation T (small group of putative matches that are related by T ) • Verify transformation (search for other matches consistent with T ) Source: L. Lazebnik 6

  7. 10/12/2015 Coming up: robust feature-based alignment • Extract features • Compute putative matches • Loop: • Hypothesize transformation T (small group of putative matches that are related by T ) • Verify transformation (search for other matches consistent with T ) Source: L. Lazebnik Today • Feature-based alignment – 2D transformations – Affine fit – RANSAC for robust fitting 7

  8. 10/12/2015 Alignment as fitting • Previous lectures: fitting a model to features in one image M Find model M that minimizes x i  residual ( x i M , ) i • Alignment: fitting a model to a transformation between pairs of features ( matches ) in two images x i Find transformation T x i ' T that minimizes   residual ( T ( x ), x ) i i i Slide credit: Lana Lazebnik Parametric (global) warping Examples of parametric warps: aspect rotation translation perspective affine Source: Alyosha Efros 8

  9. 10/12/2015 Parametric (global) warping T p’ = (x’,y’) p = (x,y) Transformation T is a coordinate-changing machine: p’ = T (p) What does it mean that T is global ? • Is the same for any point p • can be described by just a few numbers (parameters) Let’s represent T as a matrix: p’ = M p     x ' x      M     y ' y Source: Alyosha Efros Scaling Scaling a coordinate means multiplying each of its components by a scalar Uniform scaling means this scalar is the same for all components:  2 Source: Alyosha Efros 9

  10. 10/12/2015 Scaling Non-uniform scaling : different scalars per component: X  2, Y  0.5 Source: Alyosha Efros Scaling  x ' ax Scaling operation:  y ' by Or, in matrix form:       x ' a 0 x              y ' 0 b y scaling matrix S Source: Alyosha Efros 10

  11. 10/12/2015 What transformations can be represented with a 2x2 matrix? 2D Scaling?        s 0 x s x x ' x ' *  x x         0 s    y '   y y s y ' * y y 2D Rotate around (0,0)?              x ' cos sin x x ' cos * x sin * y            y ' sin * x cos * y         y ' sin cos y 2D Shear?         1 sh x ' x sh * y x ' x  x x         y ' sh * x y   sh 1   y '   y y y Source: Alyosha Efros What transformations can be represented with a 2x2 matrix? 2D Mirror about Y axis?         x ' 1 0 x x ' x               y ' y y ' 0 1 y 2D Mirror over (0,0)?          x ' 1 0 x x ' x                 y ' y y ' 0 1 y 2D Translation?   x ' x t x NO!   y ' y t y Source: Alyosha Efros 11

  12. 10/12/2015 2D Linear Transformations       x ' a b x              y ' c d y Only linear 2D transformations can be represented with a 2x2 matrix. Linear transformations are combinations of … • Scale, • Rotation, • Shear, and • Mirror Source: Alyosha Efros Homogeneous coordinates To convert to homogeneous coordinates: homogeneous image coordinates Converting from homogeneous coordinates 12

  13. 10/12/2015 Homogeneous Coordinates Q: How can we represent 2d translation as a 3x3 matrix using homogeneous coordinates?   x ' x t x   y ' y t y A: Using the rightmost column:   1 0 t x    T ranslation  0 1 t  y   0 0 1   Source: Alyosha Efros Translation Homogeneous Coordinates          x ' 1 0 t x x t x x            y ' 0 1 t y y t         y y               1 0 0 1 1 1   t x = 2 t y = 1 Source: Alyosha Efros 13

  14. 10/12/2015 Basic 2D Transformations Basic 2D transformations as 3x3 matrices             x ' 1 0 t x x ' s 0 0 x x x               y ' 0 1 t y y ' 0 s 0 y             y y                    1   0 0 1   1  1 0 0 1 1 Translate Scale                x ' cos sin 0 x x ' 1 sh 0 x x                 y ' sin cos 0 y y ' sh 1 0 y             y              1   0 0 1   1        1 0 0 1 1 Rotate Shear Source: Alyosha Efros 2D Affine Transformations       x ' a b c x        y ' d e f y                   w ' 0 0 1 w Affine transformations are combinations of … • Linear transformations, and • Translations Parallel lines remain parallel 14

  15. 10/12/2015 Today • Feature-based alignment – 2D transformations – Affine fit – RANSAC for robust fitting Alignment problem • We have previously considered how to fit a model to image evidence – e.g., a line to edge points, or a snake to a deforming contour • In alignment, we will fit the parameters of some transformation according to a set of matching feature pairs (“correspondences”). x i ' x i T 15

  16. 10/12/2015 Image alignment • Two broad approaches: – Direct (pixel-based) alignment • Search for alignment where most pixels agree – Feature-based alignment • Search for alignment where extracted features agree • Can be verified using pixel-based alignmen t Let’s start with affine transformations • Simple fitting procedure (linear least squares) • Approximates viewpoint changes for roughly planar objects and roughly orthographic cameras • Can be used to initialize fitting for more complex models Lana Lazebnik 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend