stella-cv / fbow Goto Github PK
View Code? Open in Web Editor NEWThis is forked from https://github.com/shinsumicco/FBoW
License: MIT License
This is forked from https://github.com/shinsumicco/FBoW
License: MIT License
Related to #4.
Benchmarking quality and time performance:
Hi,
It'd be helpful to have a tool in the utilities that can convert to and from FBoW and DBow2/3 file formats - including text, YAML, and binary formats for DBow2. This would help comparing different SLAM packages that utilise differing libraries for vocabulary management.
I see there's one piece of the implementation here alrerady.
Thanks
hi!
cant build on armv7l.
tried this:
cd /path/to/working/dir
git clone https://github.com/stella-cv/FBoW.git
cd FBoW
nano CMakeLists.txt
option(USE_AVX "Set on/off" OFF)
option(USE_SSE3 "Set on/off" OFF)
option(USE_SSE4 "Set on/off" OFF)
mkdir build && cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
..
make -j4 && make install
but got error:
Scanning dependencies of target fbow
[ 33%] Building CXX object CMakeFiles/fbow.dir/src/fbow.cpp.o
In file included from /home/pi/FBoW/include/fbow/fbow.h:34,
from /home/pi/FBoW/src/fbow.cpp:27:
/home/pi/FBoW/include/fbow/vocabulary.h:40:10: fatal error: immintrin.h: No such file or directory
#include <immintrin.h>
^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/fbow.dir/build.make:63: CMakeFiles/fbow.dir/src/fbow.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:77: CMakeFiles/fbow.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
if comment out immintrin.h in file mentioned building crashes.
help a bit, please.
Hi There,
I'm trying to compile on a Jetson Nano (arm64)
First, I got these errors:
cmake .. && make
c++: error: unrecognized command line option ‘-msse3’
c++: error: unrecognized command line option ‘-msse4.1’
c++: error: unrecognized command line option ‘-mavx’
azazdeaz@jetson:/tmp/FBoW/build$ cmake .. -- The CXX compiler identification is GNU 7.5.0 -- The C compiler identification is GNU 7.5.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Found OpenCV: /usr (found version "4.1.1") -- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5") -- -- ---------------------------------------- -- General configuration for fbow 0.0.1 -- ---------------------------------------- -- -- CMAKE_MODULE_PATH = /usr/local/lib/cmake/;/usr/lib/cmake;/usr/local/lib/cmake -- CMAKE_INSTALL_PREFIX = /usr/local -- CMAKE_BINARY_DIR = /tmp/FBoW/build -- -- OpenCV_DIR = /usr/lib/aarch64-linux-gnu/cmake/opencv4 -- OpenCV_INCLUDE_DIRS = /usr/include/opencv4 -- OpenCV_LIBS = opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_gapi;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_stitching;opencv_video;opencv_videoio -- -- Processor: aarch64 -- Build type: Release -- Build dynamic libs: ON -- Build utils: OFF -- Build tests: OFF -- Use OpenMP: TRUE -- -- C compiler: /usr/bin/cc -- C++ compiler: /usr/bin/c++ -- -- C++ flags (Common): -Wall -ffunction-sections -std=c++11 -fopenmp -- C++ flags (Release): -msse3 -msse4.1 -mavx -fomit-frame-pointer -O2 -DNDEBUG -D_NDEBUG -Wall -ffunction-sections -std=c++11 -fopenmp -- C++ flags (Debug): -msse3 -msse4.1 -mavx -g3 -DDEBUG -D_DEBUG -Wall -ffunction-sections -std=c++11 -fopenmp -- C++ flags (Relaese+Debug): -msse3 -msse4.1 -mavx -O2 -g3 -DDEBUG -D_DEBUG -Wall -ffunction-sections -std=c++11 -fopenmp -- -- Configuring done -- Generating done -- Build files have been written to: /tmp/FBoW/buildazazdeaz@jetson:/tmp/FBoW/build$ make
Scanning dependencies of target fbow_lib
[ 33%] Building CXX object src/CMakeFiles/fbow_lib.dir/fbow.cpp.o
c++: error: unrecognized command line option ‘-msse3’
c++: error: unrecognized command line option ‘-msse4.1’
c++: error: unrecognized command line option ‘-mavx’
src/CMakeFiles/fbow_lib.dir/build.make:62: recipe for target 'src/CMakeFiles/fbow_lib.dir/fbow.cpp.o' failed
make[2]: *** [src/CMakeFiles/fbow_lib.dir/fbow.cpp.o] Error 1
CMakeFiles/Makefile2:117: recipe for target 'src/CMakeFiles/fbow_lib.dir/all' failed
make[1]: *** [src/CMakeFiles/fbow_lib.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
So I turned those options off:
cmake .. -DUSE_SSE3=OFF -DUSE_SSE4=OFF -DUSE_AVX=OFF && make
/tmp/FBoW/src/fbow.h:36:10: fatal error: immintrin.h: No such file or directory
#include <immintrin.h>
^~~~~~~~~~~~~
azazdeaz@jetson:/tmp/FBoW/build$ cmake .. -DUSE_SSE3=OFF -DUSE_SSE4=OFF -DUSE_AVX=OFF -- The CXX compiler identification is GNU 7.5.0 -- The C compiler identification is GNU 7.5.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Found OpenCV: /usr (found version "4.1.1") -- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5") -- -- ---------------------------------------- -- General configuration for fbow 0.0.1 -- ---------------------------------------- -- -- CMAKE_MODULE_PATH = /usr/local/lib/cmake/;/usr/lib/cmake;/usr/local/lib/cmake -- CMAKE_INSTALL_PREFIX = /usr/local -- CMAKE_BINARY_DIR = /tmp/FBoW/build -- -- OpenCV_DIR = /usr/lib/aarch64-linux-gnu/cmake/opencv4 -- OpenCV_INCLUDE_DIRS = /usr/include/opencv4 -- OpenCV_LIBS = opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_gapi;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_stitching;opencv_video;opencv_videoio -- -- Processor: aarch64 -- Build type: Release -- Build dynamic libs: ON -- Build utils: OFF -- Build tests: OFF -- Use OpenMP: TRUE -- -- C compiler: /usr/bin/cc -- C++ compiler: /usr/bin/c++ -- -- C++ flags (Common): -Wall -ffunction-sections -std=c++11 -fopenmp -- C++ flags (Release): -fomit-frame-pointer -O2 -DNDEBUG -D_NDEBUG -Wall -ffunction-sections -std=c++11 -fopenmp -- C++ flags (Debug): -g3 -DDEBUG -D_DEBUG -Wall -ffunction-sections -std=c++11 -fopenmp -- C++ flags (Relaese+Debug): -O2 -g3 -DDEBUG -D_DEBUG -Wall -ffunction-sections -std=c++11 -fopenmp -- -- Configuring done -- Generating done -- Build files have been written to: /tmp/FBoW/buildazazdeaz@jetson:/tmp/FBoW/build$ make
Scanning dependencies of target fbow_lib
[ 33%] Building CXX object src/CMakeFiles/fbow_lib.dir/fbow.cpp.o
In file included from /tmp/FBoW/src/fbow.cpp:27:0:
/tmp/FBoW/src/fbow.h:36:10: fatal error: immintrin.h: No such file or directory
#include <immintrin.h>
^~~~~~~~~~~~~
compilation terminated.
src/CMakeFiles/fbow_lib.dir/build.make:62: recipe for target 'src/CMakeFiles/fbow_lib.dir/fbow.cpp.o' failed
make[2]: *** [src/CMakeFiles/fbow_lib.dir/fbow.cpp.o] Error 1
CMakeFiles/Makefile2:117: recipe for target 'src/CMakeFiles/fbow_lib.dir/all' failed
make[1]: *** [src/CMakeFiles/fbow_lib.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
I tried a bunch of things that google threw at me, but they all led to more errors. So I think I'm going in the wrong direction.
If you have any suggestion, I'd really appreciate it! ❤️
Thanks!!
Hi,
I was testing the robustness of OpenVSLAM and covered camera with tape to make it lose the track and then evaluate its relocalization capabilities.
When I did that, program crashed with error:
[2021-11-20 13:14:02.066] [W] frame 21443: cannot extract any keypoints
terminate called after throwing an instance of 'std::runtime_error'
what(): Vocabulary::transform No input data
May be it needs to be wrapped into a confition so it does not crash but just continues its operation until it gets proper data to extract keypoints?
Hi !
I've got problem with computing score via FBoW.
When I run FBoW on custom images (not sequence) I get BoW similiarity score between random two images = 1.
I tried to find out why, compiled FBoW with string
std::cout << "inter score = " << vi * wi << "\n";
in the https://github.com/OpenVSLAM-Community/FBoW/blob/master/src/fbow.cpp#L432
Then I saw:
inter score = 26.5767
inter score = 30.6879
inter score = 92.7026
inter score = 99.7655
inter score = 39.6566
inter score = 34.9797
inter score = 24.8903
inter score = 62.8143
It means that final similiarity score is above value of 100. But in the end of calculating score it's limited from above with value 1
https://github.com/OpenVSLAM-Community/FBoW/blob/master/src/fbow.cpp#L458-L459
Is it correct to limit score value with 1 ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.