基于图像的三维模型重建 ——双视角SFM

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者:梦寐mayshine

链接:https://zhuanlan.zhihu.com/p/130879159

本文转载自知乎,作者已授权,未经许可请勿二次转载。

一、三角量测(Triangulation)

已知相机参数和匹配点恢复三维点的坐标

基于图像的三维模型重建 ——双视角SFM_第1张图片

  • i 相机投影矩阵:  

  • 三维点点坐标:

  • 在第 i 个视角中投影的图像坐标为:

  • 根据投影方程可以得到:

  • 上述等式两侧同时叉乘 xi:

  • 即:注意 第3个方程与前两个方程线性相关
     

  • 1个观察点提提供2个约束, 有 个自由度,至少2对点

二、3D-2D: PnP问题 (已知三维点和对应二维点求解相机内外参数)

基于图像的三维模型重建 ——双视角SFM_第2张图片

  1. 直接线性变换法

基于图像的三维模型重建 ——双视角SFM_第3张图片

基于图像的三维模型重建 ——双视角SFM_第4张图片

2. 其他常用方法

  • P3P法:需要4对不共面的点 求出2D点在当前相机坐标系中的3D点,然后 进行3D-3D的姿态求解

  • https://www.cnblogs.com/mafuqiang/p/8302663.html

  • Complete Solution Classification for the Perspective-Three-Point Problem

  • A novel parametrization of the perspective-three-point problem for a direct computation of absolute camera position and orientation

  • ePnP法:需要(>=4不共面或者3对共面) 点进行求解

  • https://www.cnblogs.com/jian-li/p/5689122.html

  • EPnP: Efficient Perspective-n-Point Camera Pose Estimation

三、捆绑调整Bundle Adjustment

  1. 问题阐述:同时对三维点位置和相机参数进行非线性优化

基于图像的三维模型重建 ——双视角SFM_第5张图片

2. 无约束非线性最小优化问题:

  • 优化上述问题的最优解通常是指它的局部最优解,因此需要一个较好的初始值

3. 最速下降法--假设函数一阶可微

  • 假设 处可微,则在此处有泰勒展开式

  • 时可保证g   的值是在下降;

  • 时,可达到最快的下降速度(略去高阶不计)

基于图像的三维模型重建 ——双视角SFM_第6张图片

4. 牛顿法--假设函数二阶可微

  • 假设 处二阶可微,且假定二阶导数 总是正定的, 则它在 处,以 的二阶近似函数

  • 的极小值点作为下一次迭代点

  • 对上式求梯度并令其等于0,可以得到

基于图像的三维模型重建 ——双视角SFM_第7张图片

  • 特性:

    • 1)速度快 最速下降法是局部平面拟合,牛顿法是局部二次曲面拟合

    • 2)计算量大 需要计算和保存二阶Hessian矩阵的逆矩阵

    • 3)要求初始点离最优点较近 否则无法保证收敛,甚至无法保证下降性

5. Levenberg-Marquardt法-原理与优势

  • 原理: 是一种“信赖阈”的方法,当收敛速度较快时,增大信赖域,使算法趋向于牛顿法;当收敛速度较慢时,减小信赖域,使算法趋向于最速梯度法

  • 优势:

    • 速度快,只用到一阶矩阵

    • 可以在距离初始值较远处得到最优解

  • 实现

基于图像的三维模型重建 ——双视角SFM_第8张图片

  • 算法流程

基于图像的三维模型重建 ——双视角SFM_第9张图片

  • 增量规方程的求解

基于图像的三维模型重建 ——双视角SFM_第10张图片

  • 正规方程的求解

基于图像的三维模型重建 ——双视角SFM_第11张图片

  • 雅阁比矩阵的计算

基于图像的三维模型重建 ——双视角SFM_第12张图片

四、捆绑调整的几种形式

1.同时优化相机和三维点

基于图像的三维模型重建 ——双视角SFM_第13张图片

基于图像的三维模型重建 ——双视角SFM_第14张图片

2. 优化相机:固定三维点坐标,优化相机参数

基于图像的三维模型重建 ——双视角SFM_第15张图片

3.只优化三维点:固定相机参数

基于图像的三维模型重建 ——双视角SFM_第16张图片

4.单目相机——内参数共享

基于图像的三维模型重建 ——双视角SFM_第17张图片

基于图像的三维模型重建 ——双视角SFM_第18张图片

基于图像的三维模型重建 ——双视角SFM_第19张图片

五、运动恢复结构SFM

  • 定义:通过相机运动同时恢复相机参数和场景结构

基于图像的三维模型重建 ——双视角SFM_第20张图片

基于图像的三维模型重建 ——双视角SFM_第21张图片

  • 特征检测与匹配

基于图像的三维模型重建 ——双视角SFM_第22张图片

  • 双视点几何

基于图像的三维模型重建 ——双视角SFM_第23张图片

  • 网络连接图

基于图像的三维模型重建 ——双视角SFM_第24张图片

基于图像的三维模型重建 ——双视角SFM_第25张图片

  • Tracks

基于图像的三维模型重建 ——双视角SFM_第26张图片

基于图像的三维模型重建 ——双视角SFM_第27张图片

  • 捆绑调整(BA)

基于图像的三维模型重建 ——双视角SFM_第28张图片

六、增量运动恢复结构 Incremental SFM

基于图像的三维模型重建 ——双视角SFM_第29张图片

1.初始相机的选取

基于图像的三维模型重建 ——双视角SFM_第30张图片

2.RANSAC三角量测

基于图像的三维模型重建 ——双视角SFM_第31张图片

3.Tracks滤波

基于图像的三维模型重建 ——双视角SFM_第32张图片

基于图像的三维模型重建 ——双视角SFM_第33张图片

4.全局的捆绑调整

基于图像的三维模型重建 ——双视角SFM_第34张图片

  • 主要优点

    • 将误差均匀分布在连接图上, 没有误差积累

    • 不需要考虑初始相机选取和 相机添加顺序问题

    • 仅执行一次捆绑调整,重建 效率高

  • 主要缺点:

    • 鲁棒性不足,相机位置求解时对匹配外点敏感

    • 过滤连接图边界,容易造成部分图像丢失

5.重建新的视角

基于图像的三维模型重建 ——双视角SFM_第35张图片

1)选择新的视角:可见的tracks数目最多

基于图像的三维模型重建 ——双视角SFM_第36张图片

2)恢复新建相机姿态:找到3D-2D对应关系;用ransac-pnp算法求解相机姿态

基于图像的三维模型重建 ——双视角SFM_第37张图片

3)单个相机的捆绑调整:相机姿态的非线性优化

基于图像的三维模型重建 ——双视角SFM_第38张图片

4)tracks重建:增加视角之后会产生新的tracks(大于两个视角的匹配点)

基于图像的三维模型重建 ——双视角SFM_第39张图片

5)tracks滤波:对重建的tracks进行外点去除

基于图像的三维模型重建 ——双视角SFM_第40张图片

基于图像的三维模型重建 ——双视角SFM_第41张图片

6)全局捆绑调整:对场景中所有的相机和三维点进行非线性优化;每重建一个视角运行一次,也可以重建多个视角运行一次

基于图像的三维模型重建 ——双视角SFM_第42张图片


1.    增量捆绑调整的优缺点——常用来做算法比较的基准

  • 主要优点:

    • 对特征匹配外点鲁棒

    • 重建精度高

    • 捆绑调整不断优化场景结构

  • 主要缺点:

    • 对初始相机对的选取以及相机添加顺序敏感

    • 大场景产生累计误差导致场景漂移

    • 重复进行捆绑调整,效率低

  • 重建结果:

基于图像的三维模型重建 ——双视角SFM_第43张图片

2.焦距的获取

  • 自标定的方法获取初始值,如 VisualSFM

  • 从可交换图像文件中读取EXIF初始值 如 Bundler

基于图像的三维模型重建 ——双视角SFM_第44张图片

3.尺度不确定性:需要GPS进行地理标注

基于图像的三维模型重建 ——双视角SFM_第45张图片

4.动态物体:标准的sfm只能重建场景中的动态物体

基于图像的三维模型重建 ——双视角SFM_第46张图片

5.重复结构

基于图像的三维模型重建 ——双视角SFM_第47张图片

6.非朗伯面:找不到足够的匹配特征点

基于图像的三维模型重建 ——双视角SFM_第48张图片

推荐阅读

吐血整理|3D视觉系统化学习路线

那些精贵的3D视觉系统学习资源总结(附书籍、网址与视频教程)

超全的3D视觉数据集汇总

大盘点|6D姿态估计算法汇总(上)

大盘点|6D姿态估计算法汇总(下)

机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

汇总|3D点云目标检测算法

汇总|3D人脸重建算法

那些年,我们一起刷过的计算机视觉比赛

总结|深度学习实现缺陷检测

深度学习在3-D环境重建中的应用

汇总|医学图像分析领域论文

大盘点|OCR算法汇总

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会(ICRA/IROS/ROBIO/CVPR/ICCV/ECCV等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

你可能感兴趣的:(基于图像的三维模型重建 ——双视角SFM)