baidu / ice-ba Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Can you confirm that contributions to your project are accepted under Apache-2.0?
thank you.
I had a problem running the program.
It shows E0727 11:31:06.477556 18713 EuRoC_test.cpp:367] No image files for detection.
But I've put the dataset "MH_01_easy" into the folder "EuRoC". Who can help me solve this problem?
hi, i want to ask for the numerical stability in optimization when constructing the sparse structure Sx = d
I had a problem running ice_ba_mono.sh
It shows [E0306 14:40:59.379793 3010 EuRoC_test.cpp:228] Convert to asl timestamp error
Holle everyone, recently I met a trouble when I tried to run ICE-BA
ginger@ginger-OptiPlex-9020:~/SLAM/ICE-BA/scripts$ ./run_ice_ba_mono.sh mkdir: cannot create directory ‘/home/ginger/Dataset/MH_01_easy/result’: File exists ../bin/ice_ba --imgs_folder /home/ginger/Dataset/MH_01_easy/MH_01_easy --start_idx 0 --end_idx -1 --iba_param_path ../config/config_of_mono.txt --gba_camera_save_path /home/ginger/Dataset/MH_01_easy/result/MH_01_easy.txt ../bin/ice_ba: symbol lookup error: ../bin/ice_ba: undefined symbol: _ZN6google21kLogSiteUninitializedE
so,did someone meet the same error? how to solve it?
I was trying to do double-window optimization with ICE-BA, since it is the most efficient & incremental solver so far. However, according to my quick glance of the code, it doesn't seem to support fixed keyframe in local BA (and map points thereafter, because of the inverse-depth parameterization).
I was wondering if there's any (relatively) easy modification to fix a subset of keyframes in local BA, while the rest of them are flexible. Appreciate any suggestion!
I believe the following line should be + (1.0f + cosf(th)) ...
(plus, not minus).
ICE-BA/Backend/Geometry/Rotation.h
Line 1340 in b004bb5
Reference: unnamed Equation between 9 and 10 in https://arxiv.org/pdf/1512.02363.pdf
Why EPI is not used by default? When I use EPI in LBA and GBA, it seems that running speed is not improved. Dose anyone has an idea about it? Thanks a lot.
I believe the global ba is on by default. Is there an option to run VIO only?
If I focus on the speed of the VIO (the estimation part, not including image processing), which function should I time to get a good evaluation?
Thank you!
Although ICE BA is designed for VIO, is it possible to run without IMU? This has a wider application,like stereo camera rigs and RGBD camera (depth could be converted to stereo mode).
i found the code understanding is very difficult, could you help add some essential comments?
Can it run on an embedded platform?
thank you
I am trying to pipeline a different slam algorithm into this bundle adjustment implementation. Is there a straightforward method of inputting poses into this and just running bundle adjustment?
Will it have a windows version? Or did anyone have try build it on windows?
Hi,
Thanks for your impresive work.
When I run ice-ba for a long time, the GBA nees amount of computer resourse. How can I solve this problame? If I want to set old parameters constant, where shall I change in the code?
Thanks!
DI you find similarities between ICE-BA and the bundle adjustment procedure proposed in this monocular slam paper?
Thank you for sharing! I read your code, and I saw that you use GN or DL to solve the optimization problem. As I know, GN and DL method are not stable, we use LM in a general way. What extra work do you make to solve this problem to use GN or DL happily?
hi @liuhaomin @nwind 膜拜一下大神们,你们好,我想请教一下,你们的tango 轨迹数据是 用什么方式或者app导出来的呢``使用 rtab-map app?
when i run ./build.sh,there is an error
/usr/bin/ld: /usr/local/lib/libyaml-cpp.a(convert.cpp.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libyaml-cpp.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Frontend/CMakeFiles/OF.dir/build.make:378: recipe for target 'Frontend/libOF.so' failed
make[2]: *** [Frontend/libOF.so] Error 1
CMakeFiles/Makefile2:99: recipe for target 'Frontend/CMakeFiles/OF.dir/all' failed
make[1]: *** [Frontend/CMakeFiles/OF.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
what is going on?
what can i do?
Hi
Recently I have tested ICE-BA with my own data with the same format as EuRoC dataset in stereo mode. I just used the command ./run_ice_ba_stereo.sh to run the script without changing any default parameter except my own file name and path. But here came an error as below after calibration.dat was created successfully.
*** Aborted at 1545561811 (unix time) try "date -d @1545561811" if you are using GNU date ***
PC: @ 0x7fb8c5747fdf IMU::PreIntegrate()
*** SIGSEGV (@0x1c) received by PID 1734 (TID 0x7fb8c5dea980) from PID 28; stack trace: ***
@ 0x7fb8c4d44390 (unknown)
@ 0x7fb8c5747fdf IMU::PreIntegrate()
@ 0x7fb8c5748166 IMU::PreIntegrate()
@ 0x7fb8c56a1ed9 LocalBundleAdjustor::SynchronizeData()
@ 0x7fb8c569d4a0 LocalBundleAdjustor::Run()
@ 0x7fb8c55df707 IBA::Solver::PushCurrentFrame()
@ 0x41523f main
@ 0x7fb8c1560830 __libc_start_main
@ 0x417419 _start
I suppose this Segment Fault is probably related to IMU settings or calibration. Is there anyone who met such kind of error before? I will be of great appreciation if someone could help me solve this problem or analyze how it occurred.
hi, i want to know what is cvd in CMakeLists?
Hi, I have two issues with the code base.
I get the following output:
Time
LBA = 7206.813965 / 3040 = 2.370662 ms
GBA = 2642.825439 / 315 = 8.389922 ms
Kindly provide solution as soon as possible as we need to meet a near deadline.
Thank you
When I use the -- help command, the prompt section is wrong,Is it the opencv version? Thank you very much!
In the callback function, slidingwindow.Xs are obtained, I think the Xs represent the word 3D points. is it right?
According to the GetSlidingWindow function , the Xs are obtained by C.ApplyInversely(x). does it mean Rotation_KeyFrame *(x-Translation_KeyFrame)?
but when i want to get image coordinates for the feature point of each frame by Rotation_frame.inverse()*Xs-Translation_frame, I found the points drift when the image motion happen. anyone can help me for this question?
Dear @wangjio @liuhaomin @mingyux,
I am trying to integrate ICE-BA backend with a different Frontend framework (vilib frontend by RPG lab in Zurich).
The vilib framework offers the featured detection and tracking part of a 2D-to-2D VIO approach.
My question is what are the steps to integrate such a frontend with your backend? More precisely, if I have computed the feature detection and feature tracking already, how can I integrate these with you backend.
It seems in the example you furnished, it only shows how you use your frontend in order to detect features and then create the .dat files. But I already have the features.
Any direction to point me in the right way would be much appreciated :)
Hello,
I'd like to use ICE-BA with a PNP-style monocular frontend, in which I have metric camera poses, and landmarks with known depth.
How do you explain this latter behavior?
Hi, authors ,
When will the code be available?
how to run this real-time ?
I noticed that the project has a macro named CFG_STEREO, whether this project support monocular Visual inertial SLAM ?
Line 38 in b004bb5
the serial parameter controls running mode, specifically:
NOTE In the demo apps, we create solver with IBA_SERIAL_LBA|IBA_SERIAL_GBA.
inline void Project(const Rigid3D &T12, const Point2D &x1, LA::Vector2f &x2,
LA::Vector2f &Jx2) const {
const xp128f t = xp128f::get(x1.x(), x1.y(), 1.0f, u());
const float d12 = 1.0f / (T12.r20_r21_r22_tz() * t).vsum_all();
x2.x() = (T12.r00_r01_r02_tx() * t).vsum_all() * d12;
x2.y() = (T12.r10_r11_r12_ty() * t).vsum_all() * d12;
Jx2.x() = (T12.tx() - x2.x() * T12.tz()) * d12;
Jx2.y() = (T12.ty() - x2.y() * T12.tz()) * d12;
}
i think the jacobian should be
Jx2.x() = (T12.tx() - d12 * x2.x() * T12.tz()) * d12;
Jx2.y() = (T12.ty() - d12 * x2.y() * T12.tz()) * d12;
Hi,
when i compile the codes, i find that it can not find some include files about brisk,
such as #include <brisk/internal/score-calculator.h>,
so how to find them? Thanks.
In the paper it is mentioned that you compare the ICE-BA system to using the frontend with ISAM2. I am trying to do some of my own comparisons and was wondering if that code would be available for use.
when i run the program, i meet the follow problem.
/home/robot/myslam/ICE-BA/bin/ice_ba --imgs_folder /media/robot/file/dataset/EuRoC/MH/MH_01_easy --start_idx 0 --end_idx 1000 --iba_param_path /home/robot/myslam/ICE-BA/config/config_of_mono.txt --gba_camera_save_path /media/robot/file/dataset/EuRoC/MH/result/MH_01_easy.txt
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
*** Aborted at 1562862214 (unix time) try "date -d @1562862214" if you are using GNU date ***
PC: @ 0x7fe4a137e428 gsignal
*** SIGABRT (@0x3e800004b9a) received by PID 19354 (TID 0x7fe4a7357780) from PID 19354; stack trace: ***
@ 0x7fe4a137e4b0 (unknown)
@ 0x7fe4a137e428 gsignal
@ 0x7fe4a138002a abort
@ 0x7fe4a1cc184d __gnu_cxx::__verbose_terminate_handler()
@ 0x7fe4a1cbf6b6 (unknown)
@ 0x7fe4a1cbf701 std::terminate()
@ 0x7fe4a1cbf919 __cxa_throw
@ 0x7fe4a1cbfebc operator new()
@ 0x413ebd std::__cxx11::basic_string<>::_M_construct<>()
@ 0x41b96c boost::filesystem::operator<< <>()
@ 0x4101bf main
@ 0x7fe4a1369830 __libc_start_main
@ 0x413cc9 _start
@ 0x0 (unknown)
./run_ice_ba_mono.sh: line 12: 19354 Aborted (core dumped) /home/robot/myslam/ICE-BA/bin/ice_ba --imgs_folder /media/robot/file/dataset/EuRoC/MH/MH_01_easy --start_idx 0 --end_idx 1000 --iba_param_path /home/robot/myslam/ICE-BA/config/config_of_mono.txt --gba_camera_save_path /media/robot/file/dataset/EuRoC/MH/result/MH_01_easy.txt
hi, haomin
I'm very happy to read your papers. In RKD-SLAM, u report Efficient Incremental BA, which do local BA and global BA seamlessly without switch。
but In ICE-BA, u split local BA and global BA in two thread. why?
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.