三維重建開源軟件介紹

目錄

一、針對初學者

二、針對具備一定基礎的同學

三、相關網站

四、相關的開源代碼

五、一些補充

六、一些額外補充


先上一個招聘三維重建崗位的圖,這個圖上信息是我之前在招聘網上看到的,寫的很詳細,雖然我暫時做不到這些,但是可以描述一個方向,如果你想去三維重建公司工作,那麼你應該具備一些什麼技能

一、針對初學者

書籍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

五、一些補充

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

這個視頻介紹瞭如下一些的用法:

有一個博客,梳理了整體的框架

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

分割線


0*-CMP-MVS

少寫了這一個,補上的時候,不想再排序號,就把它稱爲0*吧

看到它實在VisualSFM中

給出的下載地址(好像沒有):

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


0-COLMAP

https://github.com/colmap/colmap

關於它的主頁:

https://colmap.github.io/

 

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

1-OpenMVS

https://github.com/cdcseacave/openMVS

關於它的主頁:

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


2-TexRecon – 3D Reconstruction Texturing

優化細節的算法,對數據集進行紋理化:

加上紋理貼圖,更加逼真,niub

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

代碼:

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

3-SfM-Toy-Library

主頁:

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

我用過的分支,我用的時候第三方庫還有SSBA,最新的好像已經取消了

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

使用的序列圖:

4-MasteringOpenCV 的第四章 SFM

https://github.com/MasteringOpenCV/code

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

5-MVE 我前面的博客進行了環境配置的講解

Windows編譯MVE

以及項目主頁和代碼頁

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

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

6-Bundler

代碼:

https://github.com/snavely/bundler_sfm

還有一個其他的代碼:

https://github.com/adinutzyc21/BundlerUbuntu64

項目主頁:

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

一般的博客都是推薦:bundler + pmvs+ cmvs+ meshlab這樣實現

7-theia-sfm

項目主頁:

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

代碼:

https://github.com/nmoehrle/TheiaSfM

8-ENFT-SfM 

浙江大學ZJUCVG組-大尺度運動恢復結構系統

項目主頁: 

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

代碼鏈接:  

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

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/

9-PMVS、CMVS 

項目主頁:

http://opensourcephotogrammetry.blogspot.com/

代碼:

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

PMVS2:

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

CMVS:

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

10-SFMToolkit 

代碼:

https://github.com/dddExperiments/SFMToolkit

項目主頁:

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

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

 

六、一些額外補充

除了單純圖像進行三維重建,還有一種激光加圖像的三維重建-ToF,結構光

參考數目:

 

除了點雲的表示方式,三維結構還有幾種表示方式:

其中,馬賽克像素的那個叫做octomap,用處大致是方便路徑規劃:

具體詳細的信息,參考高翔博士的博客:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章