文章目录
第五章:双目立体视觉
1. 基于平行视图的双目立体视觉
1.1 平行视图基础矩阵
由于 e ′ e' e′ 是 O 2 O_2 O2 在右视图的投影,可以列出如下等式:
给予叉乘性质(对于任何向量 α \alpha α,如果 B B B可逆,相差一个尺度情况下):
[ a × ] B = B − T [ ( B − 1 α ) × ] [a_{\times}]B=B^{-T}[(B^{-1}\alpha)_{\times}] [a×]B=B−T[(B−1α)×]
另 α = T \alpha=T α=T, B = K ′ − 1 B=K^{'-1} B=K′−1,则:
[ T × ] K ′ − 1 = K ′ T [ ( K ′ T ) × ] [ T × ] = K ′ T [ ( K ′ T ) × ] K ′ \begin{aligned} [T_\times]K^{'-1} & =K^{'T}[(K'T)_\times] \\ [T_\times] & =K^{'T}[(K'T)_\times]K' \\ \end{aligned} [T×]K′−1[T×]=K′T[(K′T)×]=K′T[(K′T)×]K′
将 [ T × ] [T_\times] [T×]带入到基础矩阵F中:
F = K ′ − T [ T × ] R K − 1 = K ′ − T K ′ T [ ( K ′ T ) × ] K ′ R K − 1 = [ ( K ′ T ) × ] K ′ R K − 1 = [ e × ′ ] K ′ R K − 1 \begin{aligned} F & =K^{'-T} [T_{\times}] R K^{-1} \\ & =K^{'-T} K^{'T}[(K'T)_\times]K' R K^{-1} \\ & = [(K'T)_\times]K' R K^{-1}\\ & = [e'_\times]K' R K^{-1} \\ \end{aligned} F=K′−T[T×]RK−1=K′−TK′T[(K′T)×]K′RK−1=[(K′T)×]K′RK−1=[e×′]K′RK−1
最终推导得到:
F = [ e × ′ ] K ′ R K − 1 F = [e'_\times]K' R K^{-1} F=[e×′]K′RK−1
在平行视图中,满足以下条件:
- 相机相同: K = K ′ K=K' K=K′;
- 无旋转: R = I R=I R=I;
- 仅 x x x方向平移: T = [ T 0 0 ] T=\begin{bmatrix} T\\ 0\\ 0\\ \end{bmatrix} T=⎣ ⎡T00⎦ ⎤;
- 无穷远极点: e ′ = [ 1 0 0 ] e'=\begin{bmatrix} 1\\ 0\\ 0\\ \end{bmatrix} e′=⎣ ⎡100⎦ ⎤;
因此:
1.2 平行视图极几何
(1)平行视图极线
极线是水平的,平行于 u u u轴!
(2)平行视图对应点搜索
对应点 p p p 和 p ′ p' p′ 的 v v v 坐标是一样的;
因此, p ′ p' p′点只需要在 p p p点的 v v v坐标所在的线寻找即可;
1.3 平行视图三角测量
利用三角形相似原理,可以得到
p u − p u ′ f = B Z \frac{p_u-p_u'}{f}=\frac{B}{Z} fpu−pu′=ZB
p u − p u ′ = B ⋅ f Z p_u-p_u'=\frac{B \cdot f}{Z} pu−pu′=ZB⋅f
由此可得:视差与深度Z成反比!
也就是说,物体离人眼越远,左右眼观察到的图像越相似;
“视差与深度Z成反比”这个结论可以方便我们从视差图中推导得到深度图。(如下图所示,视差图颜色越暗,距离双目摄像机越远)
2. 图像校正
在平行视图中,可以很方便利用视差获取深度图,但是,再实际构建的双目立体视觉系统中,如何保证两个视图是完全平行的呢,这就需要进行图像校正。
校正结果如下:
3. 对应点搜索
图像校正, p ′ p' p′点直接演着扫描线寻找即可;
3.1 相关匹配
相关法不适用于亮度变化明显的case;
3.2 归一化相关匹配
匹配时采用的窗口大小的影响:
- 当窗口较小时,细节比较丰富,但噪声更多;
- 当噪声较大时,视差图更平滑,噪声更少,但丢失了细节;
3.3 相关法存在问题
(1)透视缩短
(2)遮挡
(3)基线选择
- 为了减少透视缩短和遮挡的影响,希望有更小的B/Z(基线深度比)比值;
- 但是,当B/Z太小时,对应点匹配的小误差意味着估算深度的大误差;
(4)当存在同质区域或者重复模式时,相关法会失效;