現在、OpenMVGとOpenMVSを用いてStructure From Motion (SfM)を試しています。
参照URLは次のとおりです。
https://qiita.com/fujin/items/d816a7e9b8c2577a7e37
https://qiita.com/fujin/items/d816a7e9b8c2577a7e37#%E5%85%A5%E5%8A%9B%E7%94%BB%E5%83%8F
ところが、まず前段であるOpenMVGでエラーが生じています。サンプル画像で試したところ、sfm_data.bin
が作成されませんでした。これは、OpenMVGからOpenMVSへ渡すためのファイルだと言われています。
ちなみに、言語は本体がC++
ですが、インターフェースのところはpython2.7
です。
メッセージは以下のとおりです。
・コマンドライン
python2.7
1python2.7 tutorial_demo.py /home/user/openMVG/build/software/SfM/images /home/user/openMVG/build/software/SfM/output
・エラーメッセージ
python2.7
1The input SfM_Data file "/home/user/openMVG/build/software/SfM/tutorial_out/reconstruction_global/sfm_data.bin" cannot be read. 24. Structure from Known Poses (robust triangulation) 3Compute Structure from the provided poses 4 5The input SfM_Data file "/home/user/openMVG/build/software/SfM/tutorial_out/reconstruction_global/sfm_data.bin" cannot be read.
The input SfM_Data file "/home/user/openMVG/build/software/SfM/tutorial_out/reconstruction_global/sfm_data.bin" cannot be read.
の部分は、sfm_data.bin
というファイルが無いから読み込まれていないということです。
Webサイトを検索したら、関連するサイトがいくつか見つかりましたが、結局解決には至っていません。
検索したWebサイトは次のとおりです。
https://github.com/openMVG/openMVG/issues/1410
https://github.com/openMVG/openMVG/issues/1218
https://catalina1344.hatenablog.jp/entry/2019/09/23/131358
検索すると、成功したWebサイトが数多く見つかります。これは、知っている人にとっては当たり前のことなのに、私がわかっていないというものなのではないかと推測します。
何か心当たりのある方、ご教示ください。
環境は次のとおりです。
・ubuntu16.04
・g++17
・python2.7
・Eigen3.2
・OpenMVG(不明)
本質問内容に追加事項があります。
OpenMVGのインストール時に、cmakeを次のように設定して、ctestを実行しました。
・cmake
の設定
C++
1cmake -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_TESTS=ON -DOpenMVG_BUILD_EXAMPLES=ON . ../src/ 2sudo make install -j16
・ctestの実行
C++
1$ ctest 2... 3... 4 Start 74: openMVG_test_sfm_data_BA 574/84 Test #74: openMVG_test_sfm_data_BA .................................***Exception: SegFault 0.18 sec 6 Start 75: openMVG_test_sfm_data_utils 775/84 Test #75: openMVG_test_sfm_data_utils .............................. Passed 0.00 sec 8 Start 76: openMVG_test_sfm_data_filters 976/84 Test #76: openMVG_test_sfm_data_filters ............................ Passed 0.00 sec 10 Start 77: openMVG_test_sfm_data_graph_utils 1177/84 Test #77: openMVG_test_sfm_data_graph_utils ........................ Passed 0.00 sec 12 Start 78: openMVG_test_sfm_data_triangulation 1378/84 Test #78: openMVG_test_sfm_data_triangulation ...................... Passed 0.10 sec 14 Start 79: openMVG_test_global_SfM 1579/84 Test #79: openMVG_test_global_SfM ..................................***Exception: SegFault 0.22 sec 16 Start 80: openMVG_test_sequential_SfM 1780/84 Test #80: openMVG_test_sequential_SfM ..............................***Exception: SegFault 0.31 sec 18 Start 81: openMVG_test_sequential_SfM2 1981/84 Test #81: openMVG_test_sequential_SfM2 .............................***Exception: SegFault 0.21 sec 20 Start 82: openMVG_test_stellar_SfM 2182/84 Test #82: openMVG_test_stellar_SfM .................................***Exception: SegFault 0.20 sec 22 Start 83: openMVG_test_split 2383/84 Test #83: openMVG_test_split ....................................... Passed 0.00 sec 24 Start 84: openMVG_test_dynamic_bitset 2584/84 Test #84: openMVG_test_dynamic_bitset .............................. Passed 0.00 sec 26 2794% tests passed, 5 tests failed out of 84 28 29Total Test time (real) = 108.68 sec 30 31The following tests FAILED: 32 74 - openMVG_test_sfm_data_BA (SEGFAULT) 33 79 - openMVG_test_global_SfM (SEGFAULT) 34 80 - openMVG_test_sequential_SfM (SEGFAULT) 35 81 - openMVG_test_sequential_SfM2 (SEGFAULT) 36 82 - openMVG_test_stellar_SfM (SEGFAULT) 37Errors while running CTest
つまり、global_SfM
をはじめとしてSfM
に関するところすべてテストがfail
していました。
これは、何かが足りないまたは何かが不備であったため、テストにfail
したと考えられます。
だとしたら、足りないまたは不備だったものは一体なんでしょうか。
あなたの回答
tips
プレビュー