单应矩阵(Homography)H描述的是两个平面之间的映射关系。若特征点都落于场景中的某一平面上,则可以用单应矩阵计算相机位姿。单应矩阵H隐式的约束了世界的不同点之间的关系(平面假设),基础矩阵E表示了同一个点在不同视角下的关系。如相机俯视地面时可以近似为平面的情况。室外平视时存在很多近点以及无穷远点,可以视为非平面情况。
对于世界坐标为P的点,其在两相机成像点为p1,p2.则有
s
1
p
1
=
K
P
,
s
2
p
2
=
K
(
R
P
+
t
)
s_{1} \boldsymbol{p}_{1}=\boldsymbol{K} \boldsymbol{P}, \quad s_{2} \boldsymbol{p}_{2}=\boldsymbol{K}(\boldsymbol{R} \boldsymbol{P}+\boldsymbol{t})
s1p1=KP,s2p2=K(RP+t)
特征点所在的平面
n
T
P
+
d
=
0
\boldsymbol{n}^{T} \boldsymbol{P}+d=0
nTP+d=0
则
p
2
=
K
(
R
P
+
t
)
=
K
(
R
P
+
t
⋅
(
−
n
T
P
d
)
)
=
K
(
R
−
t
n
T
d
)
P
=
K
(
R
−
t
n
T
d
)
K
−
1
p
1
\begin{aligned} \boldsymbol{p}_{2} &=\boldsymbol{K}(\boldsymbol{R} \boldsymbol{P}+\boldsymbol{t}) \\ &=\boldsymbol{K}\left(\boldsymbol{R} \boldsymbol{P}+\boldsymbol{t} \cdot\left(-\frac{\boldsymbol{n}^{T} \boldsymbol{P}}{d}\right)\right) \\ &=\boldsymbol{K}\left(\boldsymbol{R}-\frac{\boldsymbol{t} \boldsymbol{n}^{T}}{d}\right) \boldsymbol{P} \\ &=\boldsymbol{K}\left(\boldsymbol{R}-\frac{\boldsymbol{t n}^{T}}{d}\right) \boldsymbol{K}^{-1} \boldsymbol{p}_{1} \end{aligned}
p2=K(RP+t)=K(RP+t⋅(−dnTP))=K(R−dtnT)P=K(R−dtnT)K−1p1
即
H
=
K
(
R
−
t
n
T
d
)
K
−
1
\boldsymbol{H}=\boldsymbol{K}\left(\boldsymbol{R}-\frac{\boldsymbol{t} \boldsymbol{n}^{T}}{d}\right) \boldsymbol{K}^{-1}
H=K(R−dtnT)K−1
p
2
=
H
p
1
\boldsymbol{p}_{2}=\boldsymbol{H} \boldsymbol{p}_{1}
p2=Hp1
代入,有
(
u
2
v
2
1
)
=
(
h
1
h
2
h
3
h
4
h
5
h
6
h
7
h
8
h
9
)
(
u
1
v
1
1
)
\left(\begin{array}{c} u_{2} \\ v_{2} \\ 1 \end{array}\right)=\left(\begin{array}{lll} h_{1} & h_{2} & h_{3} \\ h_{4} & h_{5} & h_{6} \\ h_{7} & h_{8} & h_{9} \end{array}\right)\left(\begin{array}{c} u_{1} \\ v_{1} \\ 1 \end{array}\right)
⎝⎛u2v21⎠⎞=⎝⎛h1h4h7h2h5h8h3h6h9⎠⎞⎝⎛u1v11⎠⎞
于是有
h
1
u
1
+
h
2
v
1
+
h
3
−
h
7
u
1
u
2
−
h
8
v
1
u
2
=
u
2
h
4
u
1
+
h
5
v
1
+
h
6
−
h
7
u
1
v
2
−
h
8
v
1
v
2
=
v
2
\begin{array}{l} h_{1} u_{1}+h_{2} v_{1}+h_{3}-h_{7} u_{1} u_{2}-h_{8} v_{1} u_{2}=u_{2} \\ h_{4} u_{1}+h_{5} v_{1}+h_{6}-h_{7} u_{1} v_{2}-h_{8} v_{1} v_{2}=v_{2} \end{array}
h1u1+h2v1+h3−h7u1u2−h8v1u2=u2h4u1+h5v1+h6−h7u1v2−h8v1v2=v2
于是一对匹配点可以产生两个等式,也就是两个约束,因此只需四对点即可解出H。
单应矩阵H
最新推荐文章于 2022-12-04 21:33:35 发布