在2D信息转换为3D信息过程当中,对极几何(epipolar geometry)是必经的一步。html
一. 对极约束3d
基础矩阵F、本质矩阵E以及单应矩阵Hhtm
---ip
F矩阵有7个自由度(尺度不变性和奇异值约束能够去掉两个自由度);get
求解:pip
8点法io
- 能够求解知足尺度不变性的F矩阵(直接线性变换DLT),可是没法知足奇异值约束(秩为2)。opencv
- 将求得的F矩阵投影到知足奇异值约束的空间中。基础
- RANSAC处理外点(具备随机性,计算量问题?如何肯定须要多少次采样成功率(采样点全是内点)较大?)。module
- 已知内点几率为p,求解模型须要的最小点数为k;须要RANSAC成功率为z,那么采样次数为:log( (1-z) / (1-pk) )。所以OpenCV的求解基础矩阵F的方法中,第一个参数设定内点的几率p,第二个参数设定RANSAC成功率z:p越小(第一个参数距离极线距离越短),z越接近1(第二个参数,不能等于1),须要的采样次数越多,计算量越大。实际应用时,若匹配点的偏差不是很大,能够适当调整参数下降采样次数,加速运算。
---
E矩阵有5个自由度(两个奇异值相等,行列式为1 / -1)。
求解:
从E矩阵分解相机pose:奇异值分解后考察3D点深度,
---
H矩阵有8个自由度,可逆;对应场景平面,或者纯旋转;一组匹配两个约束,4点法(也能够称为8点法。。。)可求。能够经过H矩阵来判断是否纯旋转或者场景是平面。
H矩阵可逆,所以经过H矩阵能够约束两个对应点;F/E矩阵不可逆,在零空间上有无数解,所以从x1没法约束x2的位置,只知道在极线上。
二. 双视角几何