Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of...
Transcript of Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of...
![Page 1: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/1.jpg)
Homography
![Page 2: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/2.jpg)
Homography
![Page 3: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/3.jpg)
Homography
![Page 4: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/4.jpg)
2D homography (projective transformation)
Definition:
A 2D homography is an invertible mapping h from P2 to itself such that three points x1,x2,x3 lie on the same line if and only if h(x1),h(x2),h(x3) do.
Theorem:
A mapping h: P2→P2 is a homography if and only if there exist a non-singular 3x3 matrix H such that for any point in P2 represented by a vector x it is true that h(x)=Hx
Definition: Homography
Homography=projective transformation=projectivity=collineation
Line preserving
!4
[x2y2z2
] =h00 h01 h02
h10 h11 h12
h20 h21 h22[
x1y1z1
]
![Page 5: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/5.jpg)
General homography
• Note: homographies are not restricted to P2
• General definition: A homography is a non-singular, line preserving, projective mapping h: Pn → Pn. It is represented by a square (n + 1)-dim matrix with (n + 1)2-1 DOF
• Now back to the 2D case… • Mapping between planes
!5
![Page 6: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/6.jpg)
10
⎜ ⎟
⎝ ⎠
⎛ X ⎞= H ⎜Y ⎟
⎜1 ⎟
Homographies in Computer vision
What happens to the P-matrix, if Z is assumed zero?
T(x, y,1) = x ∝ PX
H
Rotating/translating camera, planar world
H
H
![Page 7: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/7.jpg)
1 2 3
Y
⎜ ⎟1⎜ Z ⎟⎜ ⎟⎜ ⎟⎛ X ⎞
Homographies in Computer vision
Rotating camera, arbitrary world
⎝ ⎠What happens to the P-matrix, if t is assumed zero?
∝ KRK −1 x' = Hx'(x, y,1)T = x ∝ PX = K (r r r t )
![Page 8: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/8.jpg)
To unwarp (rectify) an image • solve for homography H given p and p’ • solve equations of the form: wp’ = Hp
– linear in unknowns: w and coefficients of H – H is defined up to an arbitrary scale factor – how many points are necessary to solve for H?
pp’
![Page 9: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/9.jpg)
Solving for homographies
![Page 10: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/10.jpg)
Solving for homographies
A h 0
Linear least squares • Since h is only defined up to scale, solve for unit vector ĥ • Minimize
2n × 9 9 2n
• Solution: ĥ = eigenvector of ATA with smallest eigenvalue • Works with 4 or more points
![Page 11: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/11.jpg)
Inhomogeneous solution
!11
⎡
i i ⎦ ⎝ i i ⎠i ii i i i⎣ i i⎢x w ' y w ' w w '
0 0 0 − xiwi ' − yiwi ' − wiwi ' xi yi ' yi yi '⎤~ ⎛− wi yi '⎞
0 0 0 x x ' y x '⎥h = ⎜ w x ' ⎟
Since h can only be computed up to scale, impose constraint pick hj=1, e.g. h9=1, and solve for 8-vector
Can be solved using linear least-squares
However, if h9=0 this approach fails Also poor results if h9 close to zero Therefore, not recommended
![Page 12: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/12.jpg)
Feature matching
?
descriptors for left image feature points descriptors for right image feature points
![Page 13: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/13.jpg)
SIFT features• Example
(a) 233x189 image (b) 832 DOG extrema (c) 729 left after peak value threshold (d) 536 left after testing ratio of principle curvatures
![Page 14: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/14.jpg)
Strategies to match images robustly
(a)Working with individual features: For each feature point, find most similar point in other image (SIFT distance) Reject ambiguous matches where there are too many similar points
(b)Working with all the features: Given some good feature matches, look for possible homographies relating the two images Reject homographies that d o n ’ t have many feature matches.
2
![Page 15: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/15.jpg)
(a) Feature-space outlier rejection• Le t ’ s not match all features, but only these that
have “similar enough” matches? • How can we do it? – SSD(patch1,patch2) < threshold – How to set threshold?
Not so easy.
![Page 16: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/16.jpg)
Feature-space outlier rejection• A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much better 1-NN is than 2-NN, e.g. 1-NN/2-NN – That is, is our best match so much better than the rest?
![Page 17: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/17.jpg)
RAndom SAmple Consensus
Select one match, count inliers
![Page 18: Homography - UMD...Feature-space outlier rejection • A better way [Lowe, 1999]: – 1-NN: SSD of the closest match – 2-NN: SSD of the second-closest match – Look at how much](https://reader035.fdocuments.in/reader035/viewer/2022071423/611d1488eccc9d6b4f721741/html5/thumbnails/18.jpg)
RANSAC for estimating homographyRANSAC loop: Select four feature pairs (at random) Compute homography H (exact) Compute inliers where | | p i ’ , H pi|| < ε Keep largest set of inliers Re-compute least-squares H estimate using all of the inliers