Open5

NeRF理解のためのコンピュータビジョンに関する資料

dhirookadhirooka

ピンホールカメラモデル

  • カメラ内部パラメータ:焦点距離、主点
    • 計算上はカメラ座標上の位置を画像上の(ピクセルの)位置に変換する役割を果たす
  • カメラ外部パラメータ:世界座標系に対するカメラ座標系の回転・並進
  • 歪みパラメータ:Radial, Tangential歪み

https://docs.opencv.org/3.4/d9/d0c/group__calib3d.html

dhirookadhirooka

COLMAP

https://github.com/colmap/colmap

インストール

環境:mac OS Big Sur(バージョン11.4)

Pre-build binaryを使うとstructure-from-motionの処理中に落ちたのでソースからビルドする。

https://colmap.github.io/install.html#id2

依存ライブラリの一つであるQtについて、COLMAPはバージョン5を想定している。2021/07/13現在で素直にbrewでQtをインストールするとバージョン6がインストールされるので、明示的にバージョン5を指定する。

brew install qt@5

コンパイル時も適切にQt5の場所を指定する(以下はドキュメント中の該当箇所を自分の環境用に修正)。

# cmake .. -DQt5_DIR=/usr/local/opt/qt/lib/cmake/Qt5
cmake .. -DQt5_DIR=/usr/local/opt/qt5/lib/cmake/Qt5

サンプルデータ

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

South Buildingデータが400MBくらいで扱いやすい。再構成結果↓

dhirookadhirooka

OpenMVS

https://github.com/cdcseacave/openMVS

インストール

環境:mac OS Big Sur(バージョン11.4)

https://github.com/cdcseacave/openMVS/wiki/Building#mac-os-x-compilation

COLMAPの解析結果に対するMVS

まずCOLMAPの処理時に、denseモデルのチェックボックスをオンにして実行する。South Buildingデータを用いた場合以下のようなディレクトリができる。

dense
└── 0
    ├── images
    ├── run-colmap-geometric.sh
    ├── run-colmap-photometric.sh
    ├── sparse
    └── stereo

OpenMVSではこれを対象に復元を行う。

/usr/local/bin/OpenMVS/InterfaceCOLMAP -i dense/0 -o scene.mvs
/usr/local/bin/OpenMVS/DensifyPointCloud scene.mvs

処理結果のMVSファイルは付属のビュワーを用いて確認できる。PLY形式のファイルも合わせて生成されるので、対応したツールがあればこちらを読み込んでも良い。

/usr/local/bin/OpenMVS/Viewer -i scene_dense.mvs