[cv&cg] 我的PMVS复现结果——多视图三维重构和曲面重建(从图像到三维模型)

 

2019年7月,国科大屎一般的研一终于TMD结束了。秋季学期选了王晓和袁亚湘的最优化,作为工科狗被数学系虐成了渣渣,啃600页的"Numerical Optimization"时感觉自己在修仙;到了春季学期,ok我想腾点时间在自己的科研上,于是选了好多研讨课,结果论文报告、不少于10个的Projects,前前后后3个月感觉自己里外不是人。这多亏了我神一般的选课技术。

OK回到正题!

大二时,我曾拙劣地复现过Structure from motion(链接),但是限于当时的水平,效果和性能都不咋滴。今年在修"计算机视觉"时,顺便把SFM稀疏点云重建Patch based MVS的相关paper重新看了一下,觉得有把握做一个更好的版本。于是就有了这一篇博客。

这次的代码写的不敢说很好,主体是在大二时期写的粗糙版本的基础重写的。但是毕竟又经过了多年的积淀,编码对自己来说还是挺满意的。本次仍采用C++开发,基于OpenGL和OpenCV,基本模块如下:

  • SFM:获取稀疏点云。完善了之前写的不好的bundle adjustment,相对来讲提高了SFM模块的效果。
  • Patch based MVS:获取稠密点云。由于采用SFM的稀疏点云作为input,省了很多事情。基本流程是先从稀疏匹配中获取Patch,然后做扩展。但是我实现的效果没有完全达到预期,初步猜测的原因是:过多地删除了不符合光照约束的区域。
  • Poisson三维重建:从点云获取网格模型。这里采用的基本的Poisson模块,对于做Graphics的人来说应该都非常熟悉

具体推导:由于打字比较麻烦,在夏季学期结束后我会按照之前讲解SVM的流程(svm链接),录制推导和代码说明的视频放到我的Bilibili

参考文献:

[1] Furukawa Y . Accurate, dense, and robust multiview stereopsis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32.

[2] Kazhdan M, Bolitho M, Hoppe H. Poisson surface reconstruction[C]// Eurographics Symposium on Geometry Processing. 2006.

这里仅贴一下实验结果:

[cv&cg] 我的PMVS复现结果——多视图三维重构和曲面重建(从图像到三维模型)_第1张图片

 

[cv&cg] 我的PMVS复现结果——多视图三维重构和曲面重建(从图像到三维模型)_第2张图片

 

你可能感兴趣的:(C++,Computer,Graphics,Qt)