VisualSfMの使い方 その1 -最も単純な使い方-

これから何度かに分けて、Structure-from-Motion(SfM)法で画像から三次元情報を復元してくれるVisualSfMというソフトの使い方を説明していこうと思います。VisualSfMは、Changchang Wu博士(現在、Google?)が作成したソフトで、マルチコア計算機で特徴抽出、マッチング、バンドル調整を効率よく計算できるようになっています。

さらに、SfM法で得られるのは疎な形状情報なので、密な形状復元を行いたい場合はPMVS/CMVSを後処理で行うことが出来るようになっています。ただし、PMVS/CMVSを使う場合には、別途PMVS/CMVSの実行ファイルをダウンロードしておく必要があります。

また、密な復元+面貼りが可能なCMP-MVS用の入力データの書き出しを行うことも出来ます。

ソフトウェアはVisualSfMのトップページにあるリンクからダウンロードすることが出来ます(現在、Windows, linux, Mac OSX版がダウンロード可能)。

以下では、Windows版のソフトの基本的な使い方を紹介していきます。


  1. ダウンロードしたファイルを回答すると、VisualSFM.exeという実行ファイルがあると思います。まずは、これを実行します。
  2. File -> Open+Multi Imagesを選択し、復元対象の画像群を選択します。画像の読み込みが終わるとサムネイル画像がウィンドウ内に表示されます。画像枚数が多い場合には一部の画像だけが表示されます。
  3. 画像の読み込み完了後に、特徴抽出および対応点の探索を行います。SfM -> Pairwise Matching -> Compute Missing Matchを選択して下さい。この際に、特徴抽出にSIFT-GPUを用いたい場合には事前に実行ファイルをダウンロードしてVisualSfMと同じフォルダに配置しておく必要があります。GPU版を使わない場合は、事前にTools -> Enable GPU -> Disable SIFTGPUを選択しておきます。
  4. 対応点の探索が終わったら、SfM -> Reconstruct Sparseで復元を行います。復元が始まると三次元位置の推定やバンドル調整の様子が表示されます。
以上が、最も単純な使い方かと思います。画像枚数が多い場合には、マッチングに膨大な時間がかかるようになるので注意が必要です。かなりお手軽に三次元復元を試すことができるので、興味のある方は実際に試して見られるのが良いと思います。

以下は、TrakMarkのページにあるNAIST Campus Package 02 Sequence 00の復元結果です。ただし、これの結果は、次回以降に紹介する時系列画像ようの復元を行った結果になっています。


さらに、PMVS/CMVSで密な復元を行ったら以下のようになりました。
汚い。。。特徴点が雲の部分に出ていたため空の部分が復元されていたり、樹木の部分の復元がうまくいっていないのが原因のようです。


コメント

このブログの人気の投稿

COLMAPでキャリブレーション済みのデータを使う

2D-3D対応からのカメラ位置・姿勢の推定

5点アルゴリズムによるカメラ位置・姿勢の推定