Windowsで画像からの3次元再構成が可能なソフトウェアである.インストールはコマンドプロンプトを管理者で実行し,コマンドを実行して行うことができる.3次元再構成の実行は,画像データの準備後,コマンドプロンプトでの所定のコマンドを実行することで可能である.GUIも使用できる."/> COLMAP 3.8 のインストールと3次元再構成の実行(COLMAP 3.8 を使用)(Windows 上)

金子邦彦研究室人工知能Windows で動く人工知能関係 Pythonアプリケーション,オープンソースソフトウエア)COLMAP 3.8 のインストールと3次元再構成の実行(COLMAP 3.8 を使用)(Windows 上)

COLMAP 3.8 のインストールと3次元再構成の実行(COLMAP 3.8 を使用)(Windows 上)

COLMAP 3.8は,Windowsで画像からの3次元再構成が可能なソフトウェアである.インストールはコマンドプロンプトを管理者で実行し,コマンドを実行して行うことができる.3次元再構成の実行は,画像データの準備後,コマンドプロンプトでの所定のコマンドを実行することで可能である.GUIも使用できる.

[image]

目次

  1. 前準備
  2. COLMAP 3.8 のインストールと3次元再構成の実行

COLMAP

COLMAP は 3次元再構成の機能を持ったソフトウェア.

文献

Johannes L. Schonberger, Jan-Michael Frahm, Structure-From-Motion Revisited, CVPR 2016, 2016

https://openaccess.thecvf.com/content_cvpr_2016/papers/Schonberger_Structure-From-Motion_Revisited_CVPR_2016_paper.pdf

サイト内の関連ページ

関連する外部ページ

前準備

Git のインストール(Windows 上)

Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.

サイト内の関連ページ

Windows での Git のインストール: 別ページ »で説明している.

関連する外部ページ

Git の公式ページ: https://git-scm.com/

Build Tools for Visual Studio 2022,NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN 8.6 のインストール(Windows 上)

サイト内の関連ページ

NVIDIA グラフィックスボードを搭載しているパソコンの場合には, NVIDIA ドライバNVIDIA CUDA ツールキットNVIDIA cuDNN のインストールを行う.

関連する外部ページ

COLMAP 3.8 のインストールと3次元再構成の実行

COLMAP 3.8 のインストール

  1. Windows で,コマンドプロンプト管理者として実行.

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. ダウンロードとインストール

    次のコマンドを実行

    cd C:\
    mkdir COLMAP-3.8-windows-cuda
    cd COLMAP-3.8-windows-cuda
    curl -L -O https://github.com/colmap/colmap/releases/download/3.8/COLMAP-3.8-windows-cuda.zip
    powershell -command "Expand-Archive -DestinationPath .. -Path COLMAP-3.8-windows-cuda.zip"
    

    [image]
  3. ファイルの確認

    dir コマンドを実行.bin,COLMAP.bat,lib ができていることを確認.

    [image]
  4. https://demuc.de/colmapから,Vocabulary Trees をダウンロード

    次のコマンドを実行

    cd C:\
    cd COLMAP-3.8-windows-cuda
    curl -L -O https://demuc.de/colmap/vocab_tree_flickr100K_words32K.bin
    
  5. 必要であれば,次のページから,付属のデータセットをダウンロードできる.

    https://colmap.github.io/datasets.html

  6. Windowsシステム環境変数 Pathc:\COLMAP-3.8-windows-cuda\binc:\COLMAP-3.8-windows-cuda\lib追加することにより,パスを通す

    Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\COLMAP-3.8-windows-cuda\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\COLMAP-3.8-windows-cuda\lib\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

3次元再構成の実行

動作確認のため COLMAP を実行してみる

  1. Windows で,コマンドプロンプトを実行.
  2. 画像データの準備

    ここでは, https://www.kkaneko.jp/sample/potato/potato_image.zip をダウンロードし,その中の画像ファイルを images ディレクトリに置いている.

    cd C:\
    cd COLMAP-3.8-windows-cuda
    curl -O https://www.kkaneko.jp/sample/potato/potato_image.zip
    powershell -command "Expand-Archive -DestinationPath . -Path potato_image.zip"
    mkdir images
    cd images
    move ..\potato_image\*.JPG .
    

    [image]
  3. COLMAP による3次元再構成
    cd C:\
    cd COLMAP-3.8-windows-cuda
    colmap automatic_reconstructor --workspace_path . --image_path ./images
    
  4. 終了の確認

    エラーメッセージが出ていないこと.

    主なファイルの配置は次のようになる

       ├─database.db
       ├─dense
          ├─0
             ├─fused.ply
             ├─images
             ├─sparse
             ├─stereo
    
  5. Blender で .ply ファイルを開き確認する

    [image]

GUI での利用

次のコマンドで起動

colmap gui

メニューの「Reconstruction」. Image foloder は3次元再構成した画像のあるディレクトリを指定. Vocabulary tree は先ほどダウンロードしたVocabulary treeを指定. Workspace folder, Mask folder は,すでに存在するディレクトリを指定する(処理で使用される)

こまなく段階を分けて処理したい場合

colmap image_undistorter --image_path images --input_path sparse/0 --output_path dense --output_type COLMAP
colmap patch_match_stereo --workspace_path dense --workspace_format COLMAP --PatchMatchStereo.geom_consistency true
colmap stereo_fusion --workspace_path dense --workspace_format COLMAP --input_type geometric --output_path dense/fused.ply
colmap poisson_mesher --input_path dense/fused.ply --output_path dense/meshed-poisson.ply
colmap delaunay_mesher --input_path dense --output_path dense/meshed-delaunay.ply