学习目标:
学习2D-2D点对极约束的原理,以及通过求解本质矩阵来估计相机的位姿。
目录:
一、向量内积和外积
二、对极约束的概念
三、对极约束的公式推导
四、本质矩阵和基础矩阵
五、八点法
一、向量内积和外积
1.向量的内积:又称点积,描述的是向量间的投影关系。
向量a的行数=向量b的列数,则向量a和向量b的内积公式如下:
𝑎·𝑏=𝑎1∗𝑏1+𝑎2∗𝑏2+….+𝑎𝑛∗𝑏𝑛=𝑎𝑏cos<𝑎,𝑏>
当a和b是非零向量时,a与b正交的充要条件是a∙𝑏=0
2.向量外积:(又称叉积),外积的方向垂直于这两个向量。
a x b = a∧ b
其中,符号∧表示反对称符号,a∧表示矩阵,于是向量外积就写成了矩阵与向量的乘法,变成了线性运算。
二、对极约束的概念
I2是第一帧图I1从光心O1运动到光心O2成的像。P是空间中的一点,对应第一帧I1中的特征点p1,在I2中对应的是特征点p2。(即同一个空间点在两个成像平面上的投影)
点O1、O2、P三个点确定一个平面,称为极平面,极平面与成像平面I1和I2相交线l1,l2,称为极线;O1O2连线称为基线,基线与两个像平面I1和I2的交点为e1和e2,称为极点。
三、对极约束的公式推导
设P的空间位置为 P = [X , Y, Z]T,在两帧图片中对应特征点为p1和p2,从第一帧到第二帧相机的运动为R、t。
1.特征点p1、p2对应的像素位置为:
其中,K为相机内参,s1和s2是点P到光心O1和O2的距离,实际上s1可以理解为点P在相机O1坐标系下的Z轴值,s2是点P在相机O2坐标系下的Z轴值。(ps:修正之前错误表达)
2. 利用齐次坐标(下篇文章介绍下齐次坐标),可以变换为:
————(公式1)
3.设x1,x2是两个特征点p1和p2在归一化平面上的坐标,取
4.将x1、x2都左乘K,则得到p1=K x1,p2=K x2,带入公式1中,得到
————(公式2)
5.该公式两边同时左乘 t∧,相当于两侧同时与t做外积,而 t∧t=0,则得
6.第5步骤中的公式左乘,则得
其中, 表示t和x2做外积,叉积的方向与t和x2的垂直,因此在与做内积时则为0,所以得到
————(公式3)
6.公式3中重新带入p1,p2,则得
————(公式4)
公式3和公式4都被称为对极约束,由公式可知,对极约束包含了平移和旋转。
四、本质矩阵和基础矩阵
对于三中推导出的极线约束公式:
则令𝐸=𝑡∧𝑅,
称E为本质矩阵,F为基础矩阵,两者就相差一个相机内参。
带入对接约束的公式中,得到
因此求解相机位姿R和t的步骤为:
- 根据上下两帧的对应特征点的像素坐标,求出E或者F;
- 根据E或者F,利用SVD分解求出R和t。
五、八点法
- 由于对极约束是等式为0的约束,则对E乘以任意非0常数,则对极约束依然成立,因此称E有尺度等价性。
- 由于旋转和平移共有6个自由度,因此𝑡∧𝑅也有6个自由度,但是由于尺度等价性,故E有5个自由度。
求解E需要八点法,因此求解E至少需要上下帧图片中匹配到8对特征点。