为什么要做这个专栏
计算机视觉的一大研究目标是使计算机具有通过2D图像认知3D环境信息的能力。近年来,随着SLAM、SfM+MVS、NeRF等技术的爆火和相关产业的蓬勃发展,越来越多的人加入到三维重建的领域当中。
然而,如何入门3D视觉是一件难事。在我和身边同学交流、在公司实习、在网上社区分享的过程中,我了解到,有相当多的人是在“赶鸭子上架”的情况下开始干活的:作为学生,想把横向赶紧结题、想赶紧发文章毕业;作为从业者,给投资人做个demo、在开源代码上做点提升把这个月KPI混过去……短期内或许能够应付,但想要再进一步,可能会遇到很多问题。我当年也是在这种情况下接触到这本书的,彼时就是在不明所以的横向课题中误打误撞找到了这个方向,魔改网络各种尝试才达到了毕业要求,但我不甘心只是用深度学习去暴力地拟合得到一个答案,只是一个“知其然但不知其所以然”的状态,于是非常希望要把“原理”弄懂。
后来我找到了《Multiple View Geometry in Computer Vision》这本书,真的是相见恨晚。非常非常非常推荐大家阅读原书。如果阅读英语没有困难的话还是推荐大家阅读英文版。
一些参考资料
我在这里列出一些资源和阅读这本书时参考的资料:
- 原书下载渠道1:r5-org
- 原书下载渠道2:Oxford VGG
- Matlab代码链接:Oxford VGG
- 知乎大佬的笔记:《计算机视觉中的多视图几何》阅读笔记-电光幻影炼金术
- Github上的项目:baoguoma/note-for-MVG
这个专栏将包含什么
从本文开始,我将把这本3D视觉的必读书目,按章节整理汇总的笔记,组成一个专栏。这本书共有六百多页,内容很多,因此笔记无法面面俱到(否则等于把所有内容抄一遍了),只整理重要的知识点和一些思考,并配合一些代码(如果有条件的话),希望该笔记可以作为你辅助阅读的材料。
接下来,让我们一起开始多视图几何之旅吧!