如何正确的入门三维重建?

新机器视觉

共 2134字,需浏览 5分钟

 ·

2021-11-18 22:35

点击下方卡片,关注“新机器视觉”公众号

视觉/图像重磅干货,第一时间送达

链接:https://www.zhihu.com/question/53565660

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

说一下情况,国内某普本大学学生,导师现在正在做水下三维重建的面上项目。现在希望学习三维重建的相关知识,但是不知道如何入门,而且关于此方面的资料也比较少。说下一我的几个困惑:需要什么软件或者工具?需要学习什么知识?学习的顺序应该是怎么样的?如果看论文的话有哪些难度小一点可以上手?9775c86dba8111ae6489d59e2dd0c2c2.webp
作者:李济深
https://www.zhihu.com/question/53565660/answer/551917870一直在忙RVBUST相关的技术研发,这个问题关注了很久但一直没空回答。

三维重建思路其实非常简单:

假设你有一个深度相机,你拿着相机扫一个静态物体,相机每次可以给你点云和当前帧与上一帧的相对位姿,那么你把所有点云全部转换到同一个坐标系下面,然后生成mesh……这就是三维重建了。

但是现实往往比较骨感(devil in the details),三维重建的工作基本上就变成了以下几个方面:

  • 数据源方面
    • 深度相机没法给你相对位姿或者位姿不准?
    • 点云质量和精度不够?
    • 相机标定也不准?
    • 是2D相机的话,还得通过SLAM等措施来提供三维点(一言难尽)
  • 点云配准方面

    • ……
  • Mesh生成处理方面

    • 要快还是要质量高?
    • 去噪,补洞,平滑,简化?
    • 等等
  • 后期效果方面

    • 融合Color信息?
    • Model based refine ?
    • 等等
  • 动态场景方面

    • 动态场景模型更新等问题

这上面任意一个小点都可以花上很多时间,对编码能力要求也会比较高,对于初学者的建议是学习好多视几何基础,先利用仿真数据跑通上面说的主线流程,再结合具体的开源项目去理解算法,再结合实际传感器和问题去改善或者提出新的算法,在这个过程中要善用一些可视化工具比如Meshlab, cloudcompare, matplotlib.pyplot等,可以节约大量时间。


作者:知乎用户
https://www.zhihu.com/question/53565660/answer/2222313399
UM(慕尼黑工业大学)放在Youtube上的教学视频,从矩阵知识复习到实现重建的全部流程都有介绍,非常适合入门。有基础后再看相关论文和代码。课程大纲如下:Chapter 1 - Mathematical Background: Linear AlgebraChapter 2 - Representing a Moving SceneChapter 3 - Perspective ProjectionChapter 4 - Estimating Point CorrespondenceChapter 5 - Reconstruction from Two Views: Linear AlgorithmsChapter 6 - Reconstruction from Multiple ViewsChapter 7 - Bundle Adjustment and Nonlinear OptimizationChapter 8 - Direct Approaches to Visual SLAMChapter 9 - Variational Methods: A Short IntroChapter 10 - Variational Multiview Reconstruction课程网页:Computer Vision II: Multiple View Geometry视频地址:https://www.youtube.com/playlist?list=PLTBdjV_4f-EJn6udZ34tht9EVIW7lbeo4
作者:深沉的小丸子
https://www.zhihu.com/question/53565660/answer/153117574
没有接触过水下三维重建,简单说一下普通三维重建吧。

1、如果需要对三维重建进行深入研究并想有所创新的话,可以先补习一下基础知识,推荐《由 2 维影像建立 3 维模型》这本书,知识点很全,感觉三维重建算法的改进都是基于这些基础知识的。建议有一定的计算机图形学知识。

86c4be7b4b0cb897f74adab1ace29f30.webp2、同时可以直接在GitHub上搜索项目相关demo,跑通以后看下结果,理论与实践结合嘛。

3、论文建议先熟悉三维重建流程。可以先看下Kinectfusion、slam这种大而全的paper,不用看得太细,知道每步是要干嘛就可以,熟悉以后再精读,然后你想对哪部分进行改进就再google相应内容好了。


作者:TennyXu https://www.zhihu.com/question/53565660/answer/135598954数据源为二维彩色图像的话,可以利用sfm,这方面资料颇多,开源代码也成体系。如果是深度图像可以使用depth map fushion方法。


—版权声明—

仅用于学术分享,版权属于原作者。

若有侵权,请联系微信号:yiyang-sy 删除或修改!


—THE END—
浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报