代数法和分解法的局限性
因式分解法假定所有点都是可见的,所以下述场合不可用:
- 存在遮挡
- 建立对应点关系失败
代数法应用于2视图重建
- 易出现误差累积!
捆绑调整(Bundle Adjustment)
- 恢复结构和运动的非线性方法
如上图所示,蓝色的是真实点,红色的是重构点,我们需要的是真实点和重构点之间的距离越小越好,也就是图中的那个公式(E即Error
),而公式中M
和X
是未知的,M
是摄像机,X
是三维点,我们的目标是优化表达式,使最终的目标最小。
是E
最小情况下的 $ M^* $ , $ X^* $ 就是我们所要求的。
优势:
- 同时处理大量视图
- 处理丢失的数据
局限性:
- 大量参数的最小化问题
- 需要良好的初始条件
实际操作:
- 常用作SFM的最后一步,分解或代数方法可作为优化问题的初始解
PNP问题:
PNP(Perspective-n-Point)问题:指通过世界中N个三维点坐标及其在图像中N个像点坐标,计算出相机或物体位姿的问题。
PNP问题就是已知camera image k+1
图像上的点,求新的摄像机位姿,当然前提是需要知道三维点和camera image k+1
上的对应关系,这种问题就是PNP。这样就可以求新相机的外参数,然后就可以求三角化了。
如果是已知camera image k - 1
和camera image k
图像上的对应点,然后求通过求解F->E->R、F
,这种就是欧式结构恢复问题。
欧式结构恢复问题:
PNP问题之P3P
P3P:通过世界中3个三维点与图像中3个像点,计算摄像机的位姿。
已知:摄像机内参数K,像平面上a,b,c
点的像素坐标以及其对应的三维点A,B,C
在世界坐标系中的世界坐标。
求解:摄像机外参数R、T
。
核心思路:
- 求解A,B,C三点在当前摄像机坐标系下的坐标
- 通过A,B,C在当前摄像机下的坐标以及其在世界坐标系下的坐标,估计摄像机相对于世界坐标系的旋转与平移。
步骤1:
步骤2:
步骤3:
结合OA、OB、OC线段长度可得A,B,C三点在摄像机坐标系下的坐标。
步骤4:
利用A、B、C在摄像机坐标系及世界坐标系的坐标,计算相机的运动R、T。
P3P缺点:只利用了三点信息,易受噪声干扰
其他算法:EPnP、UPnP,利用更多的信息、迭代优化,提升了估计的鲁棒性。
RANSAC
随机采样一致性(RANSAC,Random sample consensus):一种适用于数据受到异常值污染的模型拟合方法。
RANSAC思想:
随机采两个点(a),两个点就能确定一条直线,把这两个点连起来(b),然后算所有点和这条线的距离(c),然后设一个门限(当这条线低于这个门限时,就认为这些点都应该属于这条线,但是由于噪声没有在这个线上,而其他外面的点肯定不属于这条线上,在这个门限内的点叫做内点,门限外的点叫做外点),这个就叫做一次迭代(红框框起来的几个过程),这次迭代得到两个点,得到一条线,然后还得到一些内点个数(就是满足这条线的点的个数),然后给这条线打个分数,这个分数就是内点的个数。
第2次迭代又可以得到两个点,然后又可以得到一些内点个数,也就是这条线的分数。
这样迭代N次,总有一次能保证这条线的分数比较高,就把这条线找出来。
语言描述:
a)随机均匀采样获取模型求解所需的最小子集
b)适用该子集估计模型参数
c)计算剩余样本与当前模型的一致性,统计满足当前模型的点(内点)的个数,作为当前模型分数
d)以设定的次数重复a-c,最终输出分数最高的模型
参数设置:
- 初始点数量s:模型求解所需的最少的点的个数
- 距离门限t
- 采样次数N:选择采样次数N使得至少有一次采样为真实解的概率为p(例如:p=0.99)
- 必须匹配拟合模型的点数d:与内点数占比一致
自适应迭代次数
- 外点率通常是未知的,按照最坏情况估计,比如50%;然后,根据计算结果自适应的调整外点比率,修正所需的总采样次数。
运动恢复结构(SFM)系统解析
单元技术:
- 单应矩阵
- 捆绑调整(BA)
- PnP与P3P
- RANSAC
单应矩阵
单应矩阵———空间平面在两个摄像机下的投影几何
描述的是两幅图像之间像点之间的对应关系,采集的点都是来自同一个平面的。
P
和P'
点的对应关系就是 $ p' = HP $,P和P'之间的关系就是H,(看红字结论那边)K和K'是两个相机的内参,R和t是两个相机之间的旋转和平移,唯一多了一个就是平面的法向量 $ n_d^T $,这样就在两个图像之间的像点之间建立了联系,然后我们也能求得H之后,
单应矩阵估计:
本质矩阵与单应矩阵区别
捆绑调整BA
把摄像机和三维点重新进行调整一下,因为使用增量法已经构建了一个初始的条件,在这个基础上进行迭代,这样就会收敛很快,就能得到很好的结果,把累计偏差就分解到每个点上去了。
所有点和所有相机一起考虑,这样的稳定性只比两两的稳定性要高,因为所有的点和所有的误差都在这,一起优化,就是这样一个过程。
PnP与P3P
PnP解决的问题是:已知三维点和对应像素点的坐标,求相机的位姿。
RANSAC
RANSAC简单来说就是做模型拟合的
SFM系统问题描述(欧式重构)
已知:三维场景的m张图像以及每张图像对应的摄像机内参数矩阵$ K_i(i=1,...,m) $
求解:
- 三维场景结构,即三维场景点坐标\(X_j(j=1,...,n)\)
- m个摄像机的外参数\(R_i\)及\(T_i\), \(i=1,...,m\)
SFM系统(两视图)
基于增量法的SFM系统——以OpenMVG为例(多视图)
标签:RANSAC,迭代,恢复,模型,三维,摄像机,坐标,运动,三维重建 From: https://www.cnblogs.com/Balcher/p/16728110.html