openmvs


https://github.com/834810071/myOpenMVS/ (部分中文注釋,還在完善中。。。)

稠密重建

  1. 加載圖像 從Scene類中將image加載到DenseDepthMatData類中。

  2. 選擇用於稠密重建的圖像,該圖像是否存在有效的鄰居視圖,用來計算深度信息。

    ("Multi-View Stereo for Community Photo Collections", Goesele, 2007) 對應於論文5.1 部分 代碼Scene.cpp 470行  

  3. 稠密重建估計。分為 a 處理圖像, b 估計深度圖,c 優化深度圖,d 存檔四步。

    a 處理圖像:確定鄰居圖像 2 + MRF優化

    b 估計深度圖:

      ("Accurate Multiple View 3D Reconstruction UsingPatch-Based Stereo for Large-Scale Scenes")  第3部分B Depth-Map Computation SceneDensify.cpp 659行

      CGAL三角剖分  直接從空間轉換

    c 優化深度圖:包括去除斑點和間隙插值。   Accurate, Dense, and Robust Multi-View Stereopsis  拓展

    d 存檔:存儲到對應的dmap文件當中。

  4. 稠密重建過濾。分為 a 過濾深度圖,b 調整深度圖。

    a 過濾深度圖:使用置信度融合過濾

      ("Real-Time Visibility-Based Fusion of Depth Maps", Merrell, 2007) 4.2 SceneDensify.cpp 1044

    b 調整深度圖:刪除舊的,保存新的。

  5. 融合深度圖。a 遍歷Scene.image加載對應的圖像深度信息,b 融合深度圖

網格重建

  1.  構建Delaunay tetrahedralization 四面體

  2.  將alpha_vis(point)添加到圖中單元格的有向邊  “Multi-View Reconstruction Preserving Weakly-Supported Surfaces” 第2節 第4節

        sigma σ 論文 "Exploiting Visibility Information in Surface Reconstruction to Preserve Weakly Supported Surfaces" 第3節  代碼 900行 

        三角化"Computational Geometry"第三章

    a 計算四面體每條邊的權重 “Multi-View Reconstruction Preserving Weakly-Supported Surfaces” 4.2 代碼 905 - 1000行

    b enforce t-edges for each point-camera pair with free-space support weights  

      對應論文 "Exploiting Visibility Information in Surface Reconstruction to Preserve Weakly Supported Surfaces" 公式6 代碼 1007 公式2

  3. 圖割算法  運行Graph-cut並提取網格  " Robust and efficient surface reconstruction from range data " 第2節 

 

網格紋理 

 

  1. 視圖選擇  "Let There Be Color! - Large-Scale Texturing of 3D Reconstructions " 4.2

    bool MeshTexture::ListCameraFaces(FaceDataViewArr& facesDatas, float fOutlierThreshold)  梯度幅值 Data Term 論文第5, 6頁  
    最小化E(l) "Fast approximate energy minimization via graph cuts"

  2. 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM