无意中上了博客园这个网站,还真是好,很多技术文章,虽然看不懂,但心里有底了一些,争取看看文献,看看博客技术文章,慢慢能入行。
整理了一下,粘贴几个很好的网站:
菠菜僵尸的博客(三维重建)http://www.cnblogs.com/shepherd2015/p/5128171.html
昨天有123Dcatch这么个玩意,当时搜到了这么个东西
http://www.didayin.com/archives/632
知乎上搜到这个 https://www.zhihu.com/question/29885222/answer/48940748
第一个链接里头的内容这么说:
照片重建的主要步骤
整个重建过程大致有以下几步,
1、找出各张照片中的特征点,进行两两匹配
这一步讲究的是能够精确识别物体的局部特征,并且进行快速准确的匹配,由于在实际拍摄中,可能存在物体的旋转、缩放、或者亮度变化,所以难度不小。现在常用的算法是由 David Lowe 提出的SIFT 方法。
2、根据匹配的结果,利用射影定理计算得到相机位置等场景信息
这步又称运动恢复结构(Structure from Motion)。对于结果的衡量标准主要是准确性,流行使用的是基于 Levenberg-Marquardt 算法的 Bundler。我们也可把这一步称为稀疏重建(Sparse Reconstruction)。
3、将场景信息与原始照片结合在一起,得到照片中物体的三维点云
有了场景信息,我们就能进行多视立体重建(Multi-view Stereo Reconstruction)了。由于处理的图像精度通常都比较高,所以这一步的计算量很大,执行效率也因此成为判断算法优劣的标准之一。除了效率之外,还需要考量重建的精度以及完整性,因为这些因素决定了点云的质量。PMVS 算法是目前表现最好的多视立体重建算法。另外,为了表示和稀疏重建的区别,这一步也成为密集重建(Dense Reconstruction)。
4、根据三维点云构建三维模型
我们已经得到了物体表面的一系列三维点云,但是还需要把这些点连成面,才能在一般的三维建模软件中使用。现在比较常用的是泊松表面重建算法(Poisson Surface Reconstruction)。是的,就是发明了能够用来预测火车是否晚点的泊松分布的那个人。
使用开源软件完成重建
我们将使用 VisualSFM 来完成其中的前三步,VisualSFM 中已经包含了 SIFT 和 Bundler 的算法,不过为了完成第三步,你还需要下载 PMVS 的升级版 CMVS,VisualSFM 会自动调用。而对于第四步,我们需要使用 Meshlab 进行网格处理。
1、百度网盘上可以找《Multiple View Geometry in Computer Vision》看看,这本书有中文版本,叫《计算机视觉中的多视图几何》(新浪微盘上找到的)。另外还有本《计算机视觉中的数学方法》
2、看代码代码写代码了
Bundle: http://www.cs.cornell.edu/~snavely/bundler/
上面这个网页里有个相关的项目BigSFM,与其相关的是一个低维的例子1DSfM: http://www.cs.cornell.edu/projects/1dsfm/
SFM维基百科: https://en.wikipedia.org/wiki/Structure_from_motion
3、纯MATLAB版本 SIFT代码http://www.cnblogs.com/shepherd2015/p/5156322.html
4、Bundler作者Noah Snavely主页:http://www.cs.cornell.edu/~snavely/
他的博士论文:http://www.cs.cornell.edu/~snavely/publications.html
|
请发表评论