加载中...
发表于:2021-12-31 |

2D-2D:对极几何

个人理解

对极几何是双视图之间内在的射影几何。它独立于景物结构,只依赖于摄像机的内参外参。

适用范围:有前后两帧相机图像,但是没有深度信息

相关概念

img

上图a中两个摄像机的中心分别是C与C’,而X为一个三维空间点,它在两个摄像机的成像平面上的投影点分别是x与x’。我们常称:

  • 基线:两个摄像机光心的连线CC′CC′
  • 对极点:上图b中的e与e’,它们分别是一幅视图中另一个摄像机中心的像。二维表示为基线CC′CC′与两个成像平面的交点。
  • 对极平面:是一张包含基线的平面,存在着对极平面的一个集合(以基线为轴转动),上图中的一个例子就是CXC′CXC′。
  • 对极线:对极平面与图像平面的交线。上图中的例子是$xe$与$x’e’$,一个成像平面上的所有的对极线相交于对极点。

上图中还体现了一些性质,对于一幅图像上的每一点x,在第二幅图像上,任何与该点x匹配的点x’必然在对极线I’上,该对极线是过点x与第一个摄像机中心C的射线在第二幅图像上的投影。

对极约束

一个公式总结

$$
x_{2}^T t^{\land} R x_1 = 0(x1,x2是归一化平面上的坐标)
$$

对极约束的推导

从相机模型的学习中我们可以理解如下的公式(假定第一帧即世界坐标系):
$$
Z_1p_1 = KP_w
$$

$$
Z_2p_2 = K(RP_w + t)
$$
其中K是相机内参,R与t是第二个相机在第一个相机的相机坐标系下的外参,$P_w$是此空间点在第一个相机的相机坐标系下的坐标。Z是空间点到相机光心的距离(也是相机坐标系下的z轴坐标)。$p_1$与$p_2$是空间点$P_w$在两个相机平面上的投影点。

  • 首先做出如下定义(其中x1与x2是归一化的相机坐标(X/Z,Y/Z,1)):
    $$
    x_1 = K^{-1}p_1\quad,\quad x_2 = K^{-1}p_2
    $$

  • 带入如上定义可得:
    $$
    Z_2 x_2 = Z_1 Rx_1 + t
    $$

  • 上式两边同时左乘t^,也就是两侧同时与t做外积:
    $$
    Z_2 t^{\land} x_2 = Z_1 t^{\land} R x_1
    $$

  • 两侧同时左乘$x^T_2$:
    $$
    Z_2 x_{2}^T t^{\land} x_2 = Z_1 x_{2}^T t^{\land} R x_1
    $$

  • 上式中由于等式左侧$t^{\land} x_2$是一个与t、x2都垂直的向量,再和x2做内积将得到0,因此上式子其实可以写成如下形式:
    $$
    x_{2}^T t^{\land} R x_1 = 0
    $$

  • 上式就是大名鼎鼎的对极约束,将 x1 与 x2 换下,重新带入 p1 与 p2 可得:
    $$
    p_2^T K^{-T} t^{\land} R K^{-1} p_1 = 0
    $$
    由对极约束的两种形态可以导出两种矩阵:

  • 本质矩阵是基础矩阵中只与外参相关的部分,即去掉相机内参,可以得到:
    $$
    E = t^{\land} R
    $$

$$
x_{2}^T E R x_1 = 0
$$

  • 基础矩阵,如下:
    $$
    F = K_2^{-T} E K_1^{-1}
    $$

$$
p_{uv2}^T F p_{uv1} = 0
$$

此处注意,当点p1与基础矩阵F确定时,上式演变成一个直线方程,更好的诠释了基础矩阵的本质是从一个点到一条直线的射影映射的代数表示。

本质矩阵求解

代数方法

理论上6-1自由度只需要5点即可求解,但是实现比较困难,更多用E矩阵的线性性质,也就是八点法(Eight-point-algorithm)

将本质矩阵形式的对极约束方程 $x_{2}^T E R x_1 = 0$ 写成线性形式
$$
\left(\begin{array}{ccccccccc}
u_{2}^{1} u_{1}^{1} & u_{2}^{1} v_{1}^{1} & u_{2}^{1} & v_{2}^{1} u_{1}^{1} & v_{2}^{1} v_{1}^{1} & v_{2}^{1} & u_{1}^{1} & v_{1}^{1} & 1 \
u_{2}^{2} u_{1}^{2} & u_{2}^{2} v_{1}^{2} & u_{2}^{2} & v_{2}^{2} u_{1}^{2} & v_{2}^{2} v_{1}^{2} & v_{2}^{2} & u_{1}^{2} & v_{1}^{2} & 1 \
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \
u_{2}^{8} u_{1}^{8} & u_{2}^{8} v_{1}^{8} & u_{2}^{8} & v_{2}^{8} u_{1}^{8} & v_{2}^{8} v_{1}^{8} & v_{2}^{8} & u_{1}^{8} & v_{1}^{8} & 1
\end{array}\right)\left(\begin{array}{c}
e_{1} \
e_{2} \
e_{3} \
e_{4} \
e_{5} \
e_{6} \
e_{7} \
e_{8} \
e_{9}
\end{array}\right)=0
$$
系数矩阵满秩时,零空间维度为1,这与e的尺度等价性是一致的。

从E恢复到R,t,可以使用SVD分解得到如下等式👇
$$
\boldsymbol{E}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{\mathrm{T}}
$$

其中U和V是正交阵,中间Σ是奇异值矩阵。根据E的内在性质,我们知道$Σ = diag(μ,μ,0)$。通过SVD分解,任意一个E,存在两个可能的R和t与其对应。
$$
t_{1}^{\wedge}=U R_{Z}\left(\frac{\pi}{2}\right) \Sigma U^{\mathrm{T}}, \quad
R_{1}=U R_{Z}^{\mathrm{T}}\left(\frac{\pi}{2}\right) V^{\mathrm{T}} \
t_{2}^{\wedge}=U R_{Z}\left(-\frac{\pi}{2}\right) \Sigma U^{\mathrm{T}}, \quad
R_{2}=U R_{Z}^{\mathrm{T}}\left(-\frac{\pi}{2}\right) V^{\mathrm{T}}
$$
其中$R_{Z}\left(\frac{\pi}{2}\right)$表示沿Z轴旋转90°得到的旋转矩阵。同时由于E无论是否取符号都是等价的,因此对上面得到的t取负号也会得到相同的结果。因此每个E通过分解一共有四种可能的解。

超定方法(增加鲁棒性)

  1. 构建最小二乘
  2. RANSAC(Random Sample Consensus)随机采样一致性求解,这是更通用的方法

单应矩阵

上一篇:
下一篇:
Hello World
本文目录
本文目录