CS231A笔记
文章截图大多来自斯坦福CS231A课程;
1 基本概念
相机的旋转矩阵: 正交矩阵
极点
- 极线
极平面
【推荐文章】: 对极几何(Epipolar Geometry)
叉乘:两个向量的叉乘可以由一个向量的斜对称矩阵和另一向量的积;

1.1 特点
- 前向平移—极点都处于同一位置

1.2 本质矩阵
- 相机是 标准相机:K = I


由图中可以看出,p经过变换得到p’:
得到:



通过叉乘:可以将上个式子变成:
- 定义:

为本质矩阵(The Essential Matrix):
3*3的矩阵;
自由度: 5(3:Rotation 2:translation)
rank : 2 ,奇异矩阵
用处
- 计算p 和 p’的极线

表示:p被E投射到 第二幅图像上的极线l’上;

表示:p’被E投射到 第一幅图像上的极线l上;
- 极点和矩阵的联系

1.3 基本矩阵(Fundamental Matrix)
- 相机是非标准的;

对应两个相机,两个相机的投影矩阵为:

定义世界坐标系 相机坐标系中的点P在两个位置的相机图片上的投影为:


根据本质矩阵得到:

推导出,两个相机的位置变换:

其中:

F就被称为: 基本矩阵
- 3* 3 矩阵
- 奇异矩阵 Rank :2
- 包含R, T;
- 包含 相机参数 K,K’
- 自由度 : 7 ()
用处
基本矩阵已知,已知一张图片上一点和另一张图片上的对应点, 就可以求出p和p’的对应关系;
自由度的分析
#2 THE Eight-Point 算法
2.1 八点算法
- 给予两张图片,没有相机内外参数;
求出基本矩阵
方法:
_Eight-Point 算法_
- 至少8对 对应点

则每队对对应点满足:

即:

展开,可以得到:

对于所有对应点,使用一下公式:

简写为:

- W : N*9 矩阵 , N: 对应对的数量
- f: 基本矩阵
- 使用svd分解
- w: 非满秩的
- f: 真实的基本矩阵秩为2
- #基本矩阵的基本解法之8点算法

3.2 Normalized Eight-Point算法
标准的8点算法存在的问题:
- p点, 和通过基本矩阵将点p’映射到的极线上l= Fp’,两者的距离很大;点和极线之间的均值误差如下:

- 8个对应点组成的矩阵W: 最好只有一个奇异值为0或者近似为0,其他的都为非零;这样能够使得svd效果好;
- 像素值的范围过大;如pi = (1832; 1023;)
解决方法:
- 归一化像素点
- 新坐标系的原点应该位于图像点的质心处(平移);
表示为:
- 新坐标系的原点应该位于图像点的质心处(平移);

- 其次,变换后的图像点距原点的均方距离应为2像素(缩放)

如图所示,

然后用新坐标系下的图像应用8点算法计算出Fq;

然后通过反归一化,获得真实的基本矩阵;