估计基础矩阵
文章目录
8点法
根据两幅图像中8个对应点对之间的关系,采用SVD求 解最小二乘方
约束:det(F) = 0
假设已知N对点的对应关系: { x i , x i ′ } i = 1 N \{x_i,x^{\prime}_i\}_{i=1}^N {xi,xi′}i=1N,每对点满足约束: x i ′ F x i = 0 x_i^{\prime}Fx_i=0 xi′Fxi=0
设
x
=
[
u
v
1
]
,
x
′
=
[
u
′
v
′
1
]
,
F
=
[
f
11
f
12
f
13
f
21
f
22
f
23
f
31
f
32
f
33
]
\boldsymbol{x}=\begin{bmatrix}u\\v\\1\end{bmatrix}, \boldsymbol{x}'=\begin{bmatrix}u'\\v'\\1\end{bmatrix},\boldsymbol{F}=\begin{bmatrix}f_{11}&f_{12}&f_{13}\\f_{21}&f_{22}&f_{23}\\f_{31}&f_{32}&f_{33}\end{bmatrix}
x=
uv1
,x′=
u′v′1
,F=
f11f21f31f12f22f32f13f23f33
因为
0
=
x
′
T
F
x
0=x^{\prime T}Fx
0=x′TFx
求解线齐次坐标下的方程组
[
u
′
v
′
1
]
[
f
11
f
12
f
13
f
21
f
22
f
23
f
31
f
32
f
33
]
[
u
v
1
]
=
0
\begin{bmatrix}u'&v'&1\end{bmatrix}\begin{bmatrix}f_{11}&f_{12}&f_{13}\\f_{21}&f_{22}&f_{23}\\f_{31}&f_{32}&f_{33}\end{bmatrix}\begin{bmatrix}u\\v\\1\end{bmatrix}=0
[u′v′1]
f11f21f31f12f22f32f13f23f33
uv1
=0
即方程组
u
′
u
f
11
+
u
′
v
f
12
+
u
′
f
13
+
v
′
u
f
21
+
v
′
v
f
22
+
v
′
f
23
+
u
f
31
+
v
f
32
+
f
33
=
0
u'uf_{11}+u'vf_{12}+u'f_{13}+v'uf_{21}+v'vf_{22}+v'f_{23}+uf_{31}+vf_{32}+f_{33}=0
u′uf11+u′vf12+u′f13+v′uf21+v′vf22+v′f23+uf31+vf32+f33=0
转化为矩阵的形式
A
f
=
[
u
1
u
1
′
u
1
′
v
1
u
1
′
v
1
′
u
1
v
1
′
v
1
v
1
′
u
1
v
1
1
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
u
N
′
u
N
u
N
′
v
N
u
N
′
v
N
′
u
N
v
N
′
v
N
v
N
′
u
N
v
N
1
]
[
f
11
f
12
f
13
f
21
⋮
f
33
]
=
0
\boldsymbol{Af}=\begin{bmatrix}u_1u_1'&u_1'v_1&u_1'&v_1'u_1&v_1'v_1&v_1'&u_1&v_1&1\\\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\u_N'u_N&u_N'v_N&u_N'&v_N'u_N&v_N'v_N&v_N'&u_N&v_N&1\end{bmatrix}\begin{bmatrix}f_{11}\\f_{12}\\f_{13}\\f_{21}\\\vdots\\f_{33}\end{bmatrix}=\mathbf{0}
Af=
u1u1′⋮uN′uNu1′v1⋮uN′vNu1′⋮uN′v1′u1⋮vN′uNv1′v1⋮vN′vNv1′⋮vN′u1⋮uNv1⋮vN1⋮1
f11f12f13f21⋮f33
=0
易知若
f
f
f是方程的一个解,则
k
f
kf
kf也是方程的一个解,所以添加约束条件
∥
f
∥
=
0
\|f\|=0
∥f∥=0,解得:
f
f
f 的最小二乘解是对应于A的最小奇异值的奇异向量
然后将 f f f重组为 F ^ \hat{F} F^
又由于用SVD求解得到的
F
^
\hat{F}
F^通常为满秩,而实际上
F
F
F的秩为2,因此最佳解为秩为2的
F
^
\hat{F}
F^近似:
min
F
∥
F
−
F
^
∥
2
s
.
t
.
det
(
F
)
=
0
\begin{aligned}\min_F&\left\|\boldsymbol{F}-\boldsymbol{\widehat{F}}\right\|_2\\ s.t.&\det(\boldsymbol{F}){=}0\end{aligned}
Fmins.t.
F−F
2det(F)=0
将
F
^
\hat{F}
F^进行SVD分解得
F
^
=
U
D
V
T
\hat{F}=UDV^T
F^=UDVT
其中
D
=
[
σ
1
σ
2
σ
3
]
(
σ
1
≥
σ
2
≥
σ
3
)
D=\begin{bmatrix}\sigma_1\\&\sigma_2\\&&\sigma_3\end{bmatrix} \quad(\sigma_1\geq\sigma_2\geq\sigma_3)
D=
σ1σ2σ3
(σ1≥σ2≥σ3)
可得
F
=
U
[
σ
1
σ
2
0
]
V
T
F=U\begin{bmatrix}\sigma_1\\&\sigma_2\\&&0\end{bmatrix}V^T
F=U
σ1σ20
VT
即可将下图
转化为
此时极线一致
归一化 8点法
步骤
- 归一化坐标:对每幅图像,计算一个相似变换, 并归一化图像坐标 x ^ = T x , x ′ ^ = T ′ x ′ \hat{x}=Tx,\hat{x^{\prime}}=T^{\prime}x^{\prime} x^=Tx,x′^=T′x′ (平移到均值 ,缩放:到原点的平均距离为 2 \sqrt{2} 2 )
- 在归一化后的坐标系中,采用8点法计算 F ^ \hat{F} F^
- 反归一: F = T − 1 F ^ T ′ F=T^{-1}\hat{F}T^{\prime} F=T−1F^T′
然后求解基础矩阵F
解除归一化