一、光束平差法定义

光束平差法是 结合 三维模型点和视觉参数(相机参数,位置,畸变)做为一个整体 进行一起评估 的一个提高精度的方法。(这篇论文主要是讲到如何利用光束平差法提高重建精度,他给的定义也是说到bundle adjustment是一种提高精度的方法)原文:Bundle adjustment is the problem of refining a visual reconstruction to produce jointly optimal 3D structure and viewing parameter (camera pose and/or calibration) estimates.

二、投影模型

模型函数应该包含以下参数:
1. 3维点坐标 Xp,p=1…n, n :三维点个数
2. 相机位置和内部参数 Pi,i=1….m, m:相片张数
3. 其他标定参数,Cc,c:相机个数
光束平差法只给出了投影模型应该满足什么条件,没有限制具体的投影模型的方程。在百度文库上介绍了一种模型:https://wenku.baidu.com/view/812f86ef0975f46527d3e1bb.html

三、 误差模型

目标方程:

n个三维点在m个相片中
xij :第i个点在第j张图片上的投影坐标
aj :第j个相机的参数
bi : 第i个点的参数
Q : 投影模型方程

我们最终的目标就是上式。利用误差模型对上式的结果进行分析,去除大误差点
多点拟合问题,可以用最大似然误差求解误差模型参数。最后得到的平均对数似然。一般来说,没有什么限制的自由点误差模型应该符合高斯模型,但是对于我们的求解,高斯模型对对数不够敏感,用柯西误差模型可以更好的剔除大误差点。

四、 最小二乘法求解

这一部分可以先去看下线性以及非线性求解:http://cs2.swfc.edu.cn/~zyl/?p=875
根据我们的投影模型可以求出雅可比矩阵J,以及海森矩阵H,利用levenberg Marquardt的方法求解
可以参考http://blog.csdn.net/jinshengtao/article/details/53365061,写的挺详细的。
https://cseweb.ucsd.edu/classes/fa04/cse252c/manmohan1.pdf这里面还讲到了用单应矩阵做投影模型的

五、代码实现

最新版的matlab里面有现成的算法,可以直接在帮助里面搜索bundleAdjustment(直接在控制台输入:help bundleAdjustment),我用的版本是Matlab 2016b是没有问题的。2014b是没有这个方法的。
参考文献:Triggs B, McLauchlan P F, Hartley R I, et al. Bundle adjustment—a modern synthesis[C]//International workshop on vision algorithms. Springer Berlin Heidelberg, 1999: 298-372.
PS:本人调研三维重建部分已有1个月了,表示光束平差法挺难理解的,尤其是后面的求解部分,之前没有搜到详细的资料,只好去看英文论文,最后参考文献有70多页。现在也是只有些许了解。以上给出了我学习过程中感觉帮助很大的资料。不合理的地方欢迎指正

光束平差法BundleAdjustment相关推荐

  1. SLAM笔记(五)光束平差法(Bundle Adjustment)

    1.什么是光束平差法 前边的八点法,五点法等可以求出闭式解的前提是已经知道确切的点对.但实际情况中往往存在大量的噪声,点与点不是精确地对应甚至出现一些错误匹配.  光束平差法由Bundle Adjus ...

  2. 基于Edgar-Guevara-Codina的有限差分光束传输法matlab仿真模拟

    目录 1.算法描述 2.matlab算法仿真效果 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 对传统的有限差分光束传播法(FD-BPM)进行修正,通过对亥姆赫兹方程进行更准确的推导展 ...

  3. 计算机视觉方向简介 | 单目微运动生成深度图

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨sixgod 来源丨 计算机视觉life 有什么用? 深度图在计算机视觉中有非常广泛的应用,比如 ...

  4. 多激光雷达与相机的外参快速精准标定(arxiv 2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨 泡泡机器人SLAM 标题:Fast and Accurate Ex ...

  5. Bundle Adjustment原理及应用(附实战代码)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 虽然现在的轮子很多,但我们在使用过程中会碰到很多问题,而我们经常不知道从哪里下手,说明轮子不是你造的你 ...

  6. 基于深度学习Superpoint 的Python图像全景拼接

    pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16 参考 https://github.co ...

  7. 计算机视觉算法与应用清华大学,计算机视觉——算法与应用

    计算机视觉--算法与应用 语音 编辑 锁定 讨论 上传视频 <计算机视觉--算法与应用>是2012年1月清华大学出版社出版的图书,作者是Richard Szeliski.艾海舟. 书    ...

  8. python鱼眼图像识别_一种融合鱼眼图像与深度图像的动态环境视觉里程计方法与流程...

    本发明涉及移动机器人同步定位与地图构建(SLAM)技术领域,尤其是适用于动态环境的基于鱼眼图像与深度图像的视觉里程计方法. 背景技术: 定位技术是移动机器人实现各项复杂任务的技术基础.里程计便是一类简 ...

  9. 三维重建:SFM中BA的并行化

    SFM,运动中结构重建.SFM是一种离线重建方法,SFM未得到原始数据中的帧间关系,因此在前期处理与SLAM有所不同.SLAM方法依据视觉里程算法,构建状态数据序列即图结构,仅需要解决累计误差问题.而 ...

最新文章

  1. pip安装包以后jupyter不能导入的解决办法
  2. 大专生如何报考MBA
  3. ArrayList初步
  4. node MySQL buffer_node.js中buffer方法使用说明
  5. 4 谐波_技术文章—功率分析仪在IEC谐波的测试应用
  6. 创建表头固定,表体可滚动的GridView(转)
  7. JNI开发笔记(八)--Java读取txt文件进行JNI测试
  8. (树莓派、Arduino、物联网、智能家居、机器人)传感器、机械装置、电子元件
  9. java inputstream长度_Java InputStream.available获取数据流字节长度大小
  10. db2 teradata mysql_DB2 DPF VS Teradata选型对比?
  11. SaaS行业乘风杨帆,中小企业市场潜力分析
  12. CSDN APP又出错了,看不到博文
  13. C++转Java快速入门
  14. 推荐几个最好用的CRM软件,本人亲测
  15. 如何用Directshow采集摄像头图像
  16. 计算机文档加密如何解锁,bitlocker怎么解锁_bitlocker解锁方法
  17. CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子得出的点数进行游戏。
  18. 倒计时 4天,COSCon'22 会议议程全览 精彩亮点抢鲜看!
  19. 《Python安全攻防:渗透测试实战指南》学习一
  20. 快速找出一个数组中的最大数、第二大数

热门文章

  1. 全国计算机奥赛决赛试题及答案,2017年cad竞赛试题及答案
  2. 三坐标测圆的直径怎么测_三坐标测量机测针的选择和校准
  3. 交易猫转转闲鱼源码搭建
  4. Linux服务器 centos系统安装宝塔面板教程
  5. Eighth season eighteenth episode,the 35th wedding anniversary!!!!!!
  6. 哈尔滨工业大学软件构造课程学习笔记第一章第一节
  7. STM32实现用DAC播放wav音频
  8. work smartenjoy life
  9. 高中数学有哪些好的学习方法?
  10. 构建安全的apache+mysql+php的web服务器