TheiaSfM 实践
1. 下载源码
git clone https://github.com/sweeneychris/TheiaSfM.git
2. 环境搭建、编译和测试
在 map2dfusion 的容器中
# 安装依赖
apt-get install librocksdb-dev rapidjson-dev
mkdir theia-build
cd theia-build
cmake ..
make test
97% tests passed, 3 tests failed out of 112
Total Test time (real) = 42.76 sec
The following tests FAILED:
3 - image_test (Child aborted)
19 - normalized_graph_cut_test (Failed)
86 - sim_transform_partial_rotation_test (Failed)
Errors while running CTest
可以在 /workspace/TheiaSfM/theia-build/Testing/Temporary/LastTest.log
看到详细的报告。
第三个错误是:/workspace/TheiaSfM/src/theia/image/image_test.cc:212: Failure: ResizeUninitialized 导致的。
不过我看到github 上面说这些不影响重建。
3. 准备数据集
wget http://landmark.cs.cornell.edu/projects/1dsfm/images.Madrid_Metropolis.tar
wget http://landmark.cs.cornell.edu/projects/1dsfm/datasets.tar.gz
1dsfm tree -d
.
└── SfM_Init
└── datasets
├── Alamo
├── Ellis_Island
├── Gendarmenmarkt
├── Madrid_Metropolis
├── Montreal_Notre_Dame
├── Notre_Dame
├── NYC_Library
├── Piazza_del_Popolo
├── Piccadilly
├── Roman_Forum
├── Tower_of_London
├── Trafalgar
├── Union_Square
├── Vienna_Cathedral
└── Yorkminster
我把所有的图片直接放在了 /workspace/datasets/imagesMasaic/1dsfm/SfM_Init/datasets/Madrid_Metropolis
下面。
4. 测试数据集
修改路径:/workspace/TheiaSfM/applications/build_1dsfm_reconstruction_flags.txt
--1dsfm_dataset_directory=/workspace/datasets/imagesMasaic/1dsfm/SfM_Init/datasets/Madrid_Metropolis
--output_reconstruction=/workspace/datasets/imagesMasaic/1dsfm/SfM_Init/datasets/reconstruction
./bin/build_1dsfm_reconstruction --flagfile=/workspace/TheiaSfM/applications/build_1dsfm_reconstruction_flags.txt
./bin/view_reconstruction --reconstruction=/workspace/datasets/imagesMasaic/1dsfm/SfM_Init/datasets/reconstruction-0