双目视觉浅析

双目视觉

文章目录

  • 双目视觉
    • 理想双目相机成像模型
    • 基本矩阵
      • 几何证明
      • 代数证明
    • 本质矩阵

理想双目相机成像模型

对于双目视觉的建模如下,其中 O O O O ′ O^{\prime} O是两个相机的位置, X X X是成像点在空间中的位置, x \mathbf x x X X X在图像1上的位置, x ′ \mathbf x^{\prime} x X X X在图像2上的位置

image-20240424131524605

其中并作如下定义

  • 基线:两个相机中心的连线
  • 对极平面:空间点 X X X与相机中心 O O O O ′ O^{\prime} O所构成的平面
  • 对极线:对极平面与图像平面的交线
  • 对极点:另一个相机中心。在图像平面上的投影基线和像平面的交点

image-20240424131115058

基本矩阵

几何证明

对于一幅图像上的点 x \mathbf x x,在另一幅图像中存在一条对应的对极线 l ′ l^{\prime} l。在第二幅用像上,任何与该点 x \mathbf x x匹配的点 x ′ \mathbf x^{\prime} x必然在对极线 l ′ l^{\prime} l上。该对极线是过点 x \mathbf x x与第一个摄像机中心C的射线在第二幅图像上的投影。因此,存在一个从一幅图像上的点到另一幅图像上与之对应的对极线的映射 x → l ′ \mathbf x\rightarrow l^{\prime} xl

给定点 x ′ \mathbf x^{\prime} x e ′ e^{\prime} e,可求得对极线为
l ′ = e ′ × x ′ = [ e ′ ] × x ′ l^{\prime}=e^{\prime}\times\mathbf x^{\prime}=\left[ e^{\prime} \right]_{\times}\mathbf x^{\prime} l=e×x=[e]×x
又因为
x ′ = H π x x^{\prime}=H_{\pi}\mathbf x x=Hπx
由此存在
l ′ = [ e ′ ] × H π x = F x {l}^{\prime}=\left[{e}^{\prime}\right]_{\times}{H}_{\pi}{\mathbf x}={F}{\mathbf x} l=[e]×Hπx=Fx
定义基本矩阵为
F = [ e ′ ] × H π F=\left[{e}^{\prime}\right]_{\times}{H}_{\pi} F=[e]×Hπ
其中 H π H_{\pi} Hπ是从一幅图像到另一幅画像通过任意平面π的转移映射。

且满足 x ′ T F x = 0 \mathbf x^{\prime T}F\mathbf x=0 xTFx=0

因为
x ′ T l ′ = 0 \mathbf x^{\prime T}l^{\prime}=0 xTl=0
又因为
l ′ = F x l^{\prime}={F}{\mathbf x} l=Fx
所以存在
x ′ T F x = 0 \mathbf x^{\prime T}F\mathbf x=0 xTFx=0

代数证明

设存在单应变换 x = P X \mathbf x=P\mathbf X x=PX
X ( λ ) = P 1 + x 1 + λ C 1 X(\lambda)=P_1^+x_1+\lambda C_1 X(λ)=P1+x1+λC1
其中, P 1 + = P 1 T ( P 1 P 1 T ) − 1 P_1^+=P_1^T(P_1P_1^T)^{-1} P1+=P1T(P1P1T)1,是第一幅图像的相机矩阵 ( P = K [ R ∣ t ] (P=K[R|t] (P=K[Rt] )的伪逆, C 1 C_1 C1 是第一幅图像的光心。该射线上的两个特殊点 P 1 + x 1 P_1^+x_1 P1+x1 C 1 C_1 C1在第二幅图像中的投影分别为 P 2 P 1 + x 1 P_2P_1^+x_1 P2P1+x1 P 2 C 1 P_2C_1 P2C1, 依照定义,后者就是对极点 e 2 e_2 e2 。我们已经知道,对极线 l 2 l_{2} l2 就是这两个点的连线(即叉乘):
l ′ = ( P ′ C ) × ( P ′ P + x ) \begin{aligned} l^{\prime} &=({P}^{\prime}\mathbf{C})\times({P}^{\prime}{P}^{+}\mathbf{x})\\ \end{aligned} l=(PC)×(PP+x)
又因为
[ e ′ ] × = P ′ C \left[e^{\prime}\right]_{\times}={P}^{\prime}\mathbf{C} [e]×=PC
所以
l ′ = ( P ′ C ) × ( P ′ P + x ) = ( [ e ′ ] × P ′

上一篇:拉索回归(Lasso)算法原理讲解


下一篇:Drive Scope for Mac:硬盘健康监测分析工具