GithubHelp home page GithubHelp logo

aibluefisher / egsfm Goto Github PK

View Code? Open in Web Editor NEW
87.0 87.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%
computer-vision reconstruction structure-from-motion

egsfm's People

Contributors

aibluefisher avatar bitlw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

egsfm's Issues

"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$ 

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,

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?

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*’

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!

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.