求解Homography Matrix的DLT方法
作者:互联网
对于两张图片
进行特征点匹配
去除错误的匹配
对于现在image1与image2匹配的点集
{
x
1
i
}
,
{
x
2
i
}
\{x_{1_i}\},\{x_{2_i}\}
{x1i},{x2i}
我们希望找到一个矩阵H,使得任意匹配的两个点
x
1
i
,
x
2
i
,
x_{1_i},x_{2_i},
x1i,x2i,
H
x
1
=
x
2
.
Hx_1=x_2.
Hx1=x2.
H
=
(
h
1
h
2
h
3
h
4
h
5
h
6
h
7
h
8
h
9
)
H=\begin{pmatrix}h_1&h_2&h_3\\h_4&h_5&h_6\\h_7&h_8&h_9\end{pmatrix}
H=⎝⎛h1h4h7h2h5h8h3h6h9⎠⎞
(
h
1
h
2
h
3
h
4
h
5
h
6
h
7
h
8
h
9
)
(
x
1
y
1
1
)
=
(
x
2
y
2
1
)
⇔
\begin{pmatrix}h_1&h_2&h_3\\h_4&h_5&h_6\\h_7&h_8&h_9\end{pmatrix}\begin{pmatrix}x_1\\y_1\\1\end{pmatrix}=\begin{pmatrix}x_2\\y_2\\1\end{pmatrix}\Leftrightarrow
⎝⎛h1h4h7h2h5h8h3h6h9⎠⎞⎝⎛x1y11⎠⎞=⎝⎛x2y21⎠⎞⇔
(
0
0
0
x
1
y
1
1
−
x
1
y
2
−
y
1
y
2
−
y
2
x
1
y
1
1
0
0
0
−
x
1
x
2
−
y
1
x
2
−
x
2
)
(
h
1
h
2
h
3
h
4
h
5
h
6
h
7
h
8
h
9
)
=
(
0
0
0
0
0
0
0
0
0
)
\begin{pmatrix}0&0&0&x_1&y_1&1&-x_1y_2&-y_1y_2&-y_2\\x_1&y_1&1&0&0&0&-x_1x_2&-y_1x_2&-x_2\end{pmatrix}\begin{pmatrix}h_1\\h_2\\h_3\\h_4\\h_5\\h_6\\h_7\\h_8\\h_9\end{pmatrix}=\begin{pmatrix}0\\0\\0\\0\\0\\0\\0\\0\\0\end{pmatrix}
(0x10y101x10y1010−x1y2−x1x2−y1y2−y1x2−y2−x2)⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛h1h2h3h4h5h6h7h8h9⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛000000000⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
对于n组匹配的点,我们找到了2n个方程,通过SVD求解,这就是DLT方法. DLT方法一般只用于少量的匹配点.
求得的H矩阵效果如下.
Normalized DLT在DLT的基础上,将匹配的点先通过平移使得横纵坐标的均值均为0,然后通过缩放使得与原点的
平
均
距
离
为
2
平均距离为\sqrt2
平均距离为2
记
变
换
矩
阵
分
别
为
T
1
,
T
2
记变换矩阵分别为T_1,T_2
记变换矩阵分别为T1,T2
求得的H矩阵效果如下.
标签:begin,end,Matrix,pmatrix,DLT,x2,Homography,&- 来源: https://blog.csdn.net/qq_29710939/article/details/117770982