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

image

posted @ 2025-04-28 11:37  Zenith_Hugh  阅读(22)  评论(0)    收藏  举报