基于图像的三维模型重建 ——双视角SFM
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者:梦寐mayshine
链接:https://zhuanlan.zhihu.com/p/130879159
本文转载自知乎,作者已授权,未经许可请勿二次转载。
一、三角量测(Triangulation)
已知相机参数和匹配点恢复三维点的坐标
第 i 相机投影矩阵:
三维点点坐标:
在第 i 个视角中投影的图像坐标为:
根据投影方程可以得到:
上述等式两侧同时叉乘 xi:
即:注意 第3个方程与前两个方程线性相关
1个观察点提提供2个约束, 有 个自由度,至少2对点
二、3D-2D: PnP问题 (已知三维点和对应二维点求解相机内外参数)
直接线性变换法
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
问题阐述:同时对三维点位置和相机参数进行非线性优化
2. 无约束非线性最小优化问题:
优化上述问题的最优解通常是指它的局部最优解,因此需要一个较好的初始值
3. 最速下降法--假设函数一阶可微
假设
在
处可微,则在此处有泰勒展开式
当
时可保证g 的值是在下降;
当
时,可达到最快的下降速度(略去高阶不计)
4. 牛顿法--假设函数二阶可微
假设
在
处二阶可微,且假定二阶导数
总是正定的, 则它在
处,以
的二阶近似函数
的极小值点作为下一次迭代点
。
对上式求梯度并令其等于0,可以得到
特性:
1)速度快 最速下降法是局部平面拟合,牛顿法是局部二次曲面拟合
2)计算量大 需要计算和保存二阶Hessian矩阵的逆矩阵
3)要求初始点离最优点较近 否则无法保证收敛,甚至无法保证下降性
5. Levenberg-Marquardt法-原理与优势
原理: 是一种“信赖阈”的方法,当收敛速度较快时,增大信赖域,使算法趋向于牛顿法;当收敛速度较慢时,减小信赖域,使算法趋向于最速梯度法
优势:
速度快,只用到一阶矩阵
可以在距离初始值较远处得到最优解
实现
算法流程
增量规方程的求解
正规方程的求解
雅阁比矩阵的计算
四、捆绑调整的几种形式
1.同时优化相机和三维点
2. 优化相机:固定三维点坐标,优化相机参数
3.只优化三维点:固定相机参数
4.单目相机——内参数共享
五、运动恢复结构SFM
定义:通过相机运动同时恢复相机参数和场景结构
特征检测与匹配
双视点几何
网络连接图
Tracks
捆绑调整(BA)
六、增量运动恢复结构 Incremental SFM
1.初始相机的选取
2.RANSAC三角量测
3.Tracks滤波
4.全局的捆绑调整
主要优点
将误差均匀分布在连接图上, 没有误差积累
不需要考虑初始相机选取和 相机添加顺序问题
仅执行一次捆绑调整,重建 效率高
主要缺点:
鲁棒性不足,相机位置求解时对匹配外点敏感
过滤连接图边界,容易造成部分图像丢失
5.重建新的视角
1)选择新的视角:可见的tracks数目最多
2)恢复新建相机姿态:找到3D-2D对应关系;用ransac-pnp算法求解相机姿态
3)单个相机的捆绑调整:相机姿态的非线性优化
4)tracks重建:增加视角之后会产生新的tracks(大于两个视角的匹配点)
5)tracks滤波:对重建的tracks进行外点去除
6)全局捆绑调整:对场景中所有的相机和三维点进行非线性优化;每重建一个视角运行一次,也可以重建多个视角运行一次
1. 增量捆绑调整的优缺点——常用来做算法比较的基准
主要优点:
对特征匹配外点鲁棒
重建精度高
捆绑调整不断优化场景结构
主要缺点:
对初始相机对的选取以及相机添加顺序敏感
大场景产生累计误差导致场景漂移
重复进行捆绑调整,效率低
重建结果:
2.焦距的获取
自标定的方法获取初始值,如 VisualSFM
从可交换图像文件中读取EXIF初始值 如 Bundler
3.尺度不确定性:需要GPS进行地理标注
4.动态物体:标准的sfm只能重建场景中的动态物体
5.重复结构
6.非朗伯面:找不到足够的匹配特征点
推荐阅读:
那些精贵的3D视觉系统学习资源总结(附书籍、网址与****)
机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会(ICRA/IROS/ROBIO/CVPR/ICCV/ECCV等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号