三维重建开源软件介绍

目录

一、针对初学者

二、针对具备一定基础的同学

三、相关网站

四、相关的开源代码

五、一些补充

六、一些额外补充


先上一个招聘三维重建岗位的图,这个图上信息是我之前在招聘网上看到的,写的很详细,虽然我暂时做不到这些,但是可以描述一个方向,如果你想去三维重建公司工作,那么你应该具备一些什么技能

三维重建开源软件介绍_第1张图片

一、针对初学者

书籍I Computer Vision for Visual Effects

书籍II Computer Vision Algorithms and Applications

二、针对具备一定基础的同学

三维重建的每个基础模块挑选了 1-2 篇代表性文献,强烈建议阅读以下相关的原著文献, 这些文献是经过时间检验非常经典的文献,这将大大提升你们的科研和工程能力。 这些文章包括:

Sift 特征点检测

[1] Distinctive Image Features from Scale-Invariant Keypoints

增量 SFM

[2] Photo Tourism Exploring Photo Collections in 3D

[3] Structure-from-Motion Revisited

稠密匹配&&多视角立体视觉

[4] Multi-View Stereo for Community Photo Collections

表面重建

[5] Reconstruction and Representation of 3D Objects with Radial Basis

纹理贴图

[6] Let it be color! Large-Scale Texturing of 3D Reconstructions

三、相关网站

我们也提供一些相关的网站,这些网站是一些比较著名的开源系统。

MVE: https://www.gcc.tu-darmstadt.de/home/proj/mve/index.en.jsp

Bundler: http://www.cs.cornell.edu/~snavely/bundler/

VisualSFM: http://ccwu.me/vsfm/

OpenMVG: https://openmvg.readthedocs.io/en/latest/software/SfM/SfM/

ColMap: https://demuc.de/colmap/

四、相关的开源代码

https://github.com/colmap/colmap

https://github.com/simonfuhrmann/mve

https://github.com/nmoehrle/mvs-texturing

https://github.com/jianxiongxiao/SFMedu

五、一些补充

三维重建开源软件介绍_第2张图片

https://www.youtube.com/watch?v=ELHOjC_V-FE

这个视频介绍了如下一些的用法:

三维重建开源软件介绍_第3张图片

有一个博客,梳理了整体的框架

http://www.cs.cmu.edu/~reconstruction/basic_workflow.html

三维重建开源软件介绍_第4张图片

0*-Open3D

补充一个三维重建的开源代码 Open3D  C++,有python接口

http://www.open3d.org/docs/introduction.html

三维重建开源软件介绍_第5张图片

0*-meshroom

https://github.com/alicevision/meshroom

然后以下是

AliceVision是一种摄影测量计算机视觉框架,提供3D重建和相机跟踪算法。AliceVision旨在通过最先进的计算机视觉算法提供强大的软件基础,​​可以对其进行测试,分析和重用。该项目是学术界和工业界合作的结果,旨在提供具有生产使用所需的稳健性和质量的尖端算法。

https://alicevision.github.io/

三维重建开源软件介绍_第6张图片

0*-Line3D ++

下载地址:

https://github.com/manhofer/Line3Dpp 

三维重建开源软件介绍_第7张图片

分割线-2018.11.19更新

分割线-2018.11.21更新

分割线-2018.12.02更新


0*-CMP-MVS

少写了这一个,补上的时候,不想再排序号,就把它称为0*吧

看到它实在VisualSFM中

三维重建开源软件介绍_第8张图片

给出的下载地址(好像没有):

http://grail.cs.washington.edu/downloads/

给出论文:

[CMPMVS]    Multi-View Reconstruction Preserving Weakly-Supported Surfaces. M. Jancosek, T. Pajdla, CVPR 2011.

youtube有个下载地址:

https://www.youtube.com/watch?v=ZRTEMKS3Sw0

下载地址:

https://www.dropbox.com/s/80savnaou9ck7v4/cmpmvs-v0.6.0-binary-win64-cuda.zip?dl=0

三维重建开源软件介绍_第9张图片

以及一些其他代码下载地址:

http://grail.cs.washington.edu/downloads/

三维重建开源软件介绍_第10张图片
 

0-COLMAP

https://github.com/colmap/colmap

关于它的主页:

https://colmap.github.io/

三维重建开源软件介绍_第11张图片

 

MVS:PMVS、CMVS,CMPMVS,以及OpenMVS:

1-OpenMVS

https://github.com/cdcseacave/openMVS

关于它的主页:

http://cdcseacave.github.io/openMVS/

三维重建开源软件介绍_第12张图片


2-TexRecon – 3D Reconstruction Texturing

优化细节的算法,对数据集进行纹理化:

加上纹理贴图,更加逼真,niub

https://www.gcc.tu-darmstadt.de/home/proj/texrecon/ 

代码:

https://github.com/nmoehrle/mvs-texturing

三维重建开源软件介绍_第13张图片

3-SfM-Toy-Library

主页:

https://github.com/royshil/SfM-Toy-Library

我用过的分支,我用的时候第三方库还有SSBA,最新的好像已经取消了

https://github.com/royshil/SfM-Toy-Library/tree/335d7d2a0c1e603ec994d0e025bdec8ebeb493bc

使用的序列图:

三维重建开源软件介绍_第14张图片

4-MasteringOpenCV 的第四章 SFM

https://github.com/MasteringOpenCV/code

https://github.com/MasteringOpenCV/code/tree/master/Chapter4_StructureFromMotion

三维重建开源软件介绍_第15张图片

5-MVE 我前面的博客进行了环境配置的讲解

Windows编译MVE

以及项目主页和代码页

https://www.gcc.tu-darmstadt.de/home/proj/mve/

https://github.com/simonfuhrmann/mve/wiki/MVE-Users-Guide

三维重建开源软件介绍_第16张图片

6-Bundler

代码:

https://github.com/snavely/bundler_sfm

还有一个其他的代码:

https://github.com/adinutzyc21/BundlerUbuntu64

三维重建开源软件介绍_第17张图片

项目主页:

http://www.cs.cornell.edu/~snavely/bundler/

一般的博客都是推荐:bundler + pmvs+ cmvs+ meshlab这样实现

三维重建开源软件介绍_第18张图片

7-theia-sfm

项目主页:

http://www.theia-sfm.org/ 

代码:

https://github.com/nmoehrle/TheiaSfM

三维重建开源软件介绍_第19张图片

8-ENFT-SfM 

浙江大学ZJUCVG组-大尺度运动恢复结构系统

项目主页: 

http://www.zjucvg.net/ls-acts/ls-acts.html

代码链接:  

https://github.com/ZJUCVG/ENFT-SfM

三维重建开源软件介绍_第20张图片

8-ORB_SLAM2

代码:

https://github.com/raulmur/ORB_SLAM2 

老一点的orbslam:

https://github.com/raulmur/ORB_SLAM

或者高翔的版本,在上面的基础上,增加了可视化点云图的功能:

https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map

项目主页:

http://webdiis.unizar.es/~raulmur/orbslam/

三维重建开源软件介绍_第21张图片

9-PMVS、CMVS 

项目主页:

http://opensourcephotogrammetry.blogspot.com/

代码:

https://github.com/pmoulon/CMVS-PMVS

PMVS2:

https://www.di.ens.fr/pmvs/

三维重建开源软件介绍_第22张图片

CMVS:

https://www.di.ens.fr/cmvs/

三维重建开源软件介绍_第23张图片

10-SFMToolkit 

代码:

https://github.com/dddExperiments/SFMToolkit

项目主页:

http://www.visual-experiments.com/demos/sfmtoolkit/

三维重建开源软件介绍_第24张图片

11-CODE and RepMatch 

CODE: Coherence Based Decision Boundaries for Feature Correspondence

REPMATCH: ROBUST FEATURE MATCHING AND POSE FOR RECONSTRUCTING MODERN CITIES

两个核心部分,都没有开源,速度比较慢,核心使用的是ASIFT+高斯线性回归

项目主页:

http://www.kind-of-works.com/

代码主页:

https://github.com/seravee08/WideBaselineFeatureMatcher_PAMI

http://www.kind-of-works.com/code/repmatch_code_bf_small.zip

三维重建开源软件介绍_第25张图片

三维重建开源软件介绍_第26张图片

 

六、一些额外补充

除了单纯图像进行三维重建,还有一种激光加图像的三维重建-ToF,结构光

参考数目:

三维重建开源软件介绍_第27张图片

 

除了点云的表示方式,三维结构还有几种表示方式:

三维重建开源软件介绍_第28张图片

其中,马赛克像素的那个叫做octomap,用处大致是方便路径规划:

三维重建开源软件介绍_第29张图片

具体详细的信息,参考高翔博士的博客:

http://www.cnblogs.com/gaoxiang12/p/5041142.html

三维重建开源软件介绍_第30张图片

你可能感兴趣的:(SLAM+SFM)