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は,分散型のバージョン管理システム.

手順

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

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

    次のコマンドを実行

    次のコマンドは,Gitをインストールし,Gitパスを通すものである.

    次のコマンドでインストールされるGitは 「git for Windows」と呼ばれるものであり, Git,MinGW などから構成されている.

    winget install --scope machine Git.Git
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\Git\cmd\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

関連する外部ページ

関連項目Git バージョン管理システム, Git の利用

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.9.7 のインストール(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 /d c:%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 /d c:%HOMEPATH%\colmap
      colmap automatic_reconstructor --workspace_path . --image_path ./images
      
    4. 終了の確認

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

      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