目錄
先上一個招聘三維重建崗位的圖,這個圖上信息是我之前在招聘網上看到的,寫的很詳細,雖然我暫時做不到這些,但是可以描述一個方向,如果你想去三維重建公司工作,那麼你應該具備一些什麼技能
一、針對初學者
書籍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
關於它的主頁:
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 我前面的博客進行了環境配置的講解
以及項目主頁和代碼頁
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
項目主頁:
代碼:
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:
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+高斯線性迴歸
項目主頁:
代碼主頁:
https://github.com/seravee08/WideBaselineFeatureMatcher_PAMI
http://www.kind-of-works.com/code/repmatch_code_bf_small.zip
六、一些額外補充
除了單純圖像進行三維重建,還有一種激光加圖像的三維重建-ToF,結構光
參考數目:
除了點雲的表示方式,三維結構還有幾種表示方式:
其中,馬賽克像素的那個叫做octomap,用處大致是方便路徑規劃:
具體詳細的信息,參考高翔博士的博客: