对极几何笔记
在2D信息转换为3D信息过程中,对极几何(epipolar geometry)是必经的一步。
一. 对极约束
基础矩阵F、本质矩阵E以及单应矩阵H
---
F矩阵有7个自由度(尺度不变性和奇异值约束可以去掉两个自由度);
求解:
8点法
- 可以求解满足尺度不变性的F矩阵(直接线性变换DLT),但是无法满足奇异值约束(秩为2)。
- 将求得的F矩阵投影到满足奇异值约束的空间中。
- RANSAC处理外点(具有随机性,计算量问题?如何确定需要多少次采样成功率(采样点全是内点)较大?)。
- 已知内点概率为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的位置,只知道在极线上。
二. 双视角几何