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

COLMAP のインストールと3次元再構成の実行(COLMAP のソースコード,vcpkgm, Visual Studio Community 2019 を使用)(Windows 上)

WindowsCOLMAP のインストールを行う.

目次

  1. 前準備
  2. vckpg のインストール(Windows 上)
  3. 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/

Visual Studio Community 2019 のインストール(Windows 上)

COLMAP 公式ページによれば, Visual Studio 2019 が必要である(2022 では動かない).

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

関連する外部ページ

以前のバージョンのVisual Studio Community のダウンロードのページ: https://visualstudio.microsoft.com/ja/vs/older-downloads/

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

サイト内の関連ページ

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

関連する外部ページ

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

vcpkg は,C や C++ のライブラリを管理する機能を持ったソフトウェア.Windows, Linux, MacOS で動く. ダウンロードされたファイルは,downloads 下に保存される.

vcpkg の GitHub のページ: https://github.com/microsoft/vcpkg

vcpkg のインストール後, cmake から,vcpkg でインストールされたソフトウェアを認識できるようにするために, cmake の実行において,次のようなオプションを付ける場合がある.

-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows 
  1. Windows で,コマンドプロンプト管理者として実行.

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

  2. vcpkg のインストール

    次のコマンドを実行

    このとき,「CMake の使用時に "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" を使う」のように表示されるので,確認する.

    cd c:\
    rmdir /s /q vcpkg
    git clone https://github.com/microsoft/vcpkg
    cd c:\vcpkg
    git pull
    .\bootstrap-vcpkg.bat
    cd c:\
    c:\vcpkg\vcpkg update
    c:\vcpkg\vcpkg integrate install   
    
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_ROOT\", \"c:\vcpkg\", \"Machine\")"
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_DEFAULT_TRIPLET\", \"x64-windows\", \"Machine\")"
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"CMAKE_TOOLCHAIN_FILE\", \"c:/vcpkg/scripts/buildsystems/vcpkg.cmake\", \"Machine\")"
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"LIB\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\lib\"; [System.Environment]::SetEnvironmentVariable(\"LIB\", $oldpath, \"Machine\")"
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"INCLUDE\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\include\"; [System.Environment]::SetEnvironmentVariable(\"INCLUDE\", $oldpath, \"Machine\")"
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

COLMAP のインストールとテスト実行(vcpkg を利用)

ここでは, vcpkg を使う方法を説明する.

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

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

  2. 次のコマンドを実行
    c:\vcpkg\vcpkg search colmap
    c:\vcpkg\vcpkg install --triplet x64-windows colmap[tests,cuda]
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\tools\colmap\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    
  3. 動作確認のため COLMAP を実行してみる
    1. Windows で,コマンドプロンプトを実行.
    2. 画像データの準備

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

      cd %HOMEPATH%
      mkdir colmap
      cd colmap
      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 .
      
    3. COLMAP による3次元再構成
      cd %HOMEPATH%\colmap
      colmap automatic_reconstructor --workspace_path . --image_path ./images
      
    4. 終了の確認

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

      [image]
      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