首页 > 其他分享 >【三维重建】运动恢复结构系统

【三维重建】运动恢复结构系统

时间:2022-09-25 21:57:38浏览次数:55  
标签:RANSAC 迭代 恢复 模型 三维 摄像机 坐标 运动 三维重建

代数法和分解法的局限性

因式分解法假定所有点都是可见的,所以下述场合不可用:

  • 存在遮挡
  • 建立对应点关系失败

代数法应用于2视图重建

  • 易出现误差累积!

捆绑调整(Bundle Adjustment)

  • 恢复结构和运动的非线性方法


如上图所示,蓝色的是真实点,红色的是重构点,我们需要的是真实点和重构点之间的距离越小越好,也就是图中的那个公式(E即Error),而公式中MX是未知的,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 - 1camera image k图像上的对应点,然后求通过求解F->E->R、F,这种就是欧式结构恢复问题。

欧式结构恢复问题:

PNP问题之P3P

P3P:通过世界中3个三维点与图像中3个像点,计算摄像机的位姿。
已知:摄像机内参数K,像平面上a,b,c点的像素坐标以及其对应的三维点A,B,C在世界坐标系中的世界坐标。
求解:摄像机外参数R、T
核心思路:

  1. 求解A,B,C三点在当前摄像机坐标系下的坐标
  2. 通过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

单应矩阵

单应矩阵———空间平面在两个摄像机下的投影几何
描述的是两幅图像之间像点之间的对应关系,采集的点都是来自同一个平面的。

PP'点的对应关系就是 $ 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

相关文章

  • FR607-ASEMI快恢复二极管FR607
    编辑-ZFR607在R-6封装里采用的1个芯片,其尺寸都是120MIL,是一款大电流快恢复二极管。FR607的浪涌电流Ifsm为300A,漏电流(Ir)为10uA,其工作时耐温度范围为-55~150摄氏度。FR607......
  • ASEMI快恢复二极管6A10参数,6A10规格,6A10封装
    编辑-ZASEMI快恢复二极管6A10参数:型号:6A10最大重复峰值反向电压(VRRM):1000V最大RMS电桥输入电压(VRMS):700V最大直流阻断电压(VDC):1000V最大平均正向整流输出电流(IF):6A峰值......
  • SFF3006-ASEMI高耐压大电流快恢复二极管SFF3006
    编辑:llSFF3006-ASEMI高耐压大电流快恢复二极管SFF3006型号:SFF3006品牌:ASEMI封装:TO-220F正向电流:30A反向电压:600V引线数量:3芯片个数:2芯片尺寸:120MIL漏电流:20ua恢......
  • Oracle表数量对数据泵备份恢复速度的影响情况
    Oracle表数量对数据泵备份恢复速度的影响情况背景随着公司产品交付后的时间越来越久.数据库的备份恢复速度会越来越慢.最开始一直认为是因为数据量导致的.但是最近......
  • MongoDB数据库备份(mongodump)以及恢复(mongorestore)工具实践
    摘要mongodump备份工具mongodump能够在Mongodb运行时进行备份,它的工作原理是对运行的Mongodb做查询,然后将所有查到的文档写入磁盘。mongodump的参数与mongoexport的参......
  • Oracle数据库备份恢复
    数据库备份热备份(expdp/impdp导出/导入)通过expdp数据泵工具把老服务器数据导出到一个*.dmp文件中,然后在新服务器上通过impdp导入命令把dmp文件中的数据泵入到数据......
  • Cisco ASA防火墙恢复开机密码
    CiscoASA密码恢复一、思路CiscoASA防火墙密码恢复,与路由器相似修改寄存器的值,绕过startup-config配置文件重新修改密码恢复修改寄存器的值,保存密码二、操作步骤......
  • SF3004-ASEMI高压大电流快恢复管SF3004
    编辑:llSF3004-ASEMI高压大电流快恢复管SF3004型号:SF3004品牌:ASEMI封装:TO-220AB特性:快恢复二极管正向电流:30A反向耐压:400V恢复时间:35ns引脚数量:3芯片个数:2芯片尺......
  • 如何编写通用型运动控制器的绝对运动多轴直线插补程序
    本节课程主要分为几个部分讲解,分别为运动控制器的直线插补的原理、直线插补方式、指令说明和控制器进行多轴直线插补的程序说明,以及ZDevelop软件仿真演示。一、直线插补说......
  • Git 恢复误删的远程分支
    在当前git目录下,输入以下命令查找删除分支的commitIdgitreflog--date=isoreflog是referencelog的意思,也就是引用log,记录HEAD在各个分支上的移动轨迹。选项......