Giter VIP home page Giter VIP logo

aibluefisher / egsfm Goto Github PK

View Code? Open in Web Editor NEW
88.0 12.0 19.0 7.83 MB

The old implementation of GraphSfM based on openMVG.

License: BSD 3-Clause "New" or "Revised" License

CMake 1.24% C++ 81.37% CSS 0.03% HTML 0.10% Makefile 0.07% M4 0.08% C 15.04% Python 1.43% Shell 0.09% Batchfile 0.01% Objective-C 0.47% M 0.02% AMPL 0.01% Starlark 0.05%
structure-from-motion computer-vision reconstruction

egsfm's Issues

windows下VS编译错误

在windows下编译
cmake成功,boost也有相应路径,但是用VS编译时,还是有大量错误,目前主要的两个错误是
1 boost库的头文件找不到
2 没有头文件strings.h

Save sfm_data failed

0224 05:38:12.143676 839 image_cluster.cpp:444] Discarded Edges: 325, 368: 0.00389105
I0224 05:38:12.155125 839 image_cluster.cpp:444] Discarded Edges: 318, 368: 0.00403226
I0224 05:38:12.160722 839 image_cluster.cpp:444] Discarded Edges: 386, 436: 0.00458716
I0224 05:38:12.167448 839 image_cluster.cpp:444] Discarded Edges: 374, 436: 0.00483092
I0224 05:38:12.179388 839 image_cluster.cpp:444] Discarded Edges: 313, 368: 0.00546448
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
……
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
Save sfm_data failed!
I0224 05:38:12.802875 839 sfm_reconstructor.cpp:907]
Performing 0-th reconstruction

  • Features Loading -
    0% 10 20 30 40 50 60 70 80 90 100%
    |----|----|----|----|----|----|----|----|----|----|

Track building

Track filtering

Track export to internal struct

Track stats

-- Tracks Stats --
Tracks number: 14175
Images Id:
975, 995, 1031, 1041, 1043, 1053, 1055, 1066, 1077, 1089,

TrackLength, Occurrence
2 5372
3 3103
4 1863
5 1234
6 987
7 782
8 444
9 326
10 64

Automatic selection of an initial pair:
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|



A-Contrario initial pair residual: 2.47926

Bundle Adjustment statistics (approximated RMSE):
#views: 2
#poses: 2
#intrinsics: 1
#tracks: 3042
#residuals: 12168
Initial RMSE: 0.174794
Final RMSE: 0.162927
Time (s): 0.061012

=========================
MSE Residual InitialPair Inlier:

SequentialSfMReconstructionEngine::ComputeResidualsMSE.
-- #Tracks: 3041
-- Residual min: 6.40644e-08
-- Residual median: 0.0228697
-- Residual max: 1.39338
-- Residual mean: 0.123483


-- Robust Resection of view: 1055
nfa=-4880.65 inliers=2157/2180 precisionNormalized=0.0016056 precision=95.3256 (iter=0 ,sample=1776,296,1974,)
nfa=-5117.7 inliers=2172/2180 precisionNormalized=0.00133991 precision=87.0821 (iter=1 ,sample=288,1137,1581,)
nfa=-10718.7 inliers=2134/2180 precisionNormalized=2.52261e-06 precision=3.77847 (iter=3 ,sample=1981,995,713,)
nfa=-10828.1 inliers=2137/2180 precisionNormalized=2.28039e-06 precision=3.5925 (iter=17 ,sample=818,2063,96,)
nfa=-11017.8 inliers=2133/2180 precisionNormalized=1.77891e-06 precision=3.17299 (iter=58 ,sample=789,1450,582,)
nfa=-11402.1 inliers=2149/2180 precisionNormalized=1.29703e-06 precision=2.70936 (iter=291 ,sample=2161,1041,397,)


-- Robust Resection
-- Resection status: 1
-- #Points used for Resection: 2180
-- #Points validated by robust Resection: 2149
-- Threshold: 2.70936

*** Error in `./bin/sfm_reconstruction': free(): invalid next size (normal): 0x0000000006432040 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f01837847e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7f018378d37a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f018379153c]
……
7f01861eb000-7f01861fb000 rw-p 00000000 00:00 0
7f01861fb000-7f0186221000 r-xp 00000000 08:01 25826120 /lib/x86_64-linux-gnu/ld-2.23.so
7f01863f2000-7f0186404000 rw-p 00000000 00:00 0
7f018641f000-7f0186420000 rw-p 00000000 00:00 0
7f0186420000-7f0186421000 r--p 00025000 08:01 25826120 /lib/x86_64-linux-gnu/ld-2.23.so
7f0186421000-7f0186422000 rw-p 00026000 08:01 25826120 /lib/x86_64-linux-gnu/ld-2.23.so
7f0186422000-7f0186423000 rw-p 00000000 00:00 0
7ffc95590000-7ffc955b1000 rw-p 00000000 00:00 0 [stack]
7ffc955d9000-7ffc955dc000 r--p 00000000 00:00 0 [vvar]
7ffc955dc000-7ffc955de000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted (core dumped)

Thanks for your great works! I meet some bug, any suggestion?

versions of ext libraries that work

Hi @AIBluefisher,
I'm so interested in your project and now setting up Docker environment to run sample reconstruction.
could you please tell me the working version of ext libraries (eigen, ceres-solver)?

regards,

"EGSfM/i23dSFM/build/Linux-x86_64-Release" path not found

Hi, I compiled this project and I couldn't run script sfm_divide_and_conquer_pipeline.py. So I read this script that there have code I23DSFM_SFM_BIN = "EGSfM/i23dSFM/build/Linux-x86_64-Release". In my project file,I couldn't found this path. How to solve this problem?

dh@dh-pc:~/Downloads/EGSfM$ ls
app  build  CMakeLists.txt  lib      README.md  src
bin  cmake  ext             LICENSE  scripts

dh@dh-pc:~/Downloads/EGSfM/build$ ls
app                  CTestTestfile.cmake  yaml-cpp-config.cmake
bin                  ext                  yaml-cpp-config-version.cmake
CMakeCache.txt       lib                  yaml-cpp.pc
CMakeFiles           Makefile             yaml-cpp-targets.cmake
cmake_install.cmake  src

dh@dh-pc:~/Downloads/EGSfM/build/bin$ ls
compute_stats     graph_partition  oxford5k_benchmark  sequence_match
euclidean_matrix  image_search     query_expansion     svt
dh@dh-pc:~/Downloads/EGSfM/build/bin$ 

Issue regarding merging cluster

When all the nodes degrees are zero, the sfm_aligner::computePath is giving segmentation error ?

I1021 17:25:22.987895 15644 sfm_aligner.cpp:243] Constructing Minimum Spanning Tree
I1021 17:25:22.987913 15644 sfm_aligner.cpp:245] Construct Minimum Spanning Tree complete
[Graph Info]
Total nodes: 9
Total edges: 0
[Node]:
0 1 2 3 4 5 6 7 8
[Edge]:

I1021 17:25:22.989061 15644 sfm_aligner.cpp:286] Merge the 1-th layer leaf nodes
I1021 17:25:22.989076 15644 sfm_aligner.cpp:292] node: 5, degree: 0
I1021 17:25:22.989084 15644 sfm_aligner.cpp:292] node: 4, degree: 0
I1021 17:25:22.989092 15644 sfm_aligner.cpp:292] node: 3, degree: 0
I1021 17:25:22.989099 15644 sfm_aligner.cpp:292] node: 7, degree: 0
I1021 17:25:22.989107 15644 sfm_aligner.cpp:292] node: 0, degree: 0
I1021 17:25:22.989115 15644 sfm_aligner.cpp:292] node: 8, degree: 0
I1021 17:25:22.989122 15644 sfm_aligner.cpp:292] node: 1, degree: 0
I1021 17:25:22.989130 15644 sfm_aligner.cpp:292] node: 6, degree: 0
I1021 17:25:22.989137 15644 sfm_aligner.cpp:292] node: 2, degree: 0
I1021 17:25:22.989147 15644 sfm_aligner.cpp:549] Computing Path: 1->0
I1021 17:25:22.989174 15644 sfm_aligner.cpp:558] v: 1

Segmentation fault (core dumped)

But image_cluster.txt is showing different graph information with non-zero edges

error: ‘gflags’ has not been declared

Hello! Thank you for your open source! And I have some problems when I built the EGSfM:
In function ‘int main(int, char**)’:
/home/**/EGSfM/ext/libvot/src/examples/image_search.cpp:61:2: error: ‘gflags’ has not been declared gflags::ParseCommandLineFlags(&argc, &argv, true);

and
/home//EGSfM/app/fisher_vector_similarity.cpp:101:5: error: ‘gflags’ has not been declared
gflags::ParseCommandLineFlags(&argc, &argv, false);
/home/
/EGSfM/app/fisher_vector_trainer.cpp:76:5: error: ‘gflags’ has not been declared
gflags::ParseCommandLineFlags(&argc, &argv, false);

I have already installed the gflags and some paths are shown below.
GFLAGS_INCLUDE_DIR:PATH=/usr/include
GFLAGS_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libgflags.so
// gflags namespace (google or gflags)
GFLAGS_NAMESPACE:STRING=google

So could you please give me some advice on how to deal with this problem? Thank you so much!

Installation error!

Hello, I am installing EGsfm when compiling error, error code below, can you help me solve it

In file included from /usr/include/c++/7/algorithm:62:0,
from /home/lab218/EGSfM/ext/libvot/src/vocab_tree/clustering.cpp:43:
/usr/include/c++/7/bits/stl_algo.h: In instantiation of ‘_Funct std::for_each(_IIter, _IIter, _Funct) [with _IIter = __gnu_cxx::__normal_iterator<std::thread*, std::vectorstd::thread >; _Funct = std::mem_fun_t<void, std::thread>]’:
/home/lab218/EGSfM/ext/libvot/src/vocab_tree/clustering.cpp:161:81: required from here
/usr/include/c++/7/bits/stl_algo.h:3884:5: error: no match for call to ‘(std::mem_fun_t<void, std::thread>) (std::thread&)’
__f(*__first);

In file included from /usr/include/c++/7/string:48:0,
from /usr/include/c++/7/bits/locale_classes.h:40,
from /usr/include/c++/7/bits/ios_base.h:41,
from /usr/include/c++/7/ios:42,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /home/lab218/EGSfM/ext/libvot/src/vocab_tree/clustering.cpp:35:
/usr/include/c++/7/bits/stl_function.h:946:7: note: candidate: _Ret std::mem_fun_t<_Ret, _Tp>::operator()(_Tp*) const [with _Ret = void; _Tp = std::thread]
operator()(_Tp* __p) const
^~~~~~~~
/usr/include/c++/7/bits/stl_function.h:946:7: note: no known conversion for argument 1 from ‘std::thread’ to ‘std::thread*’

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.