Comments (10)
You can find some documentation on the camera.txt here: https://github.com/JakobEngel/dso#geometric-calibration-file
The first line contains first the name of you distortion model (e.g. EquiDistant, RadTan, Pinhole for no distortion, etc.), then 4 numbers for focal length an principal point (fx fy cx cy), and then the distortion parameters of your specific distortion model.
E.g. for Equidistant these will be k1 k2 r1 r2
For the third line you can just use crop
and it will find a good output focal length and principal point. Note that for fisheye cameras you might want to manually set a smaller focal length instead, as using the full image can be sub-optimal when lengths in the rectified image become very different from undistorting. Your camera seems to have a smaller FOV, so just using crop
should be fine.
I recommend starting with mode=1
, this means you don't have photometric calibration (vignette, response, exposures).
For best results you should calibrate vignette and response and provide exposure times and use mode=0
.
If your sensor doesn't output exposure times but you have calibrated your vignette you should use mode=3
from dm-vio.
Thank you. Will try.
from dm-vio.
It is very first result. All software installed without problem. Only changed topics in cpp.
Looks like amazing approach :)
video
Tell me please, it uses stereo or mono only?
And what you can say about random trajectories at the end of video?
from dm-vio.
The system is mono-inertial only.
It looks like the system failed while still being in visual-only mode (before IMU initialization completed). Can you confirm it can get to visual-inertial mode successfully (e.g. by accelerating it a bit sideways so that the scale becomes observable?
If you have failure cases it's always best to paste the full console output here, then I can have a look. In general, the system will be less robust before IMU initialization is finished, as only the camera can be used for tracking during this period.
from dm-vio.
Here is some results.
Yes it runs visual mode only. Why?
from dm-vio.
The CoarseIMUInit normalized error should be smaller than 1 usually and the estimated scale is also extremely large, suggesting there's something wrong with the IMU data / its calibration.
This could be e.g.
- IMU-camera calibration: Have you passed the correct camchain.yaml?
- IMU-camera time synchronization. Is the IMU well synchronized with the camera?
- IMU noise values: Maybe your IMU noise values are too small, I suggest trying the provided t265_noise_tumvi.yaml first.
from dm-vio.
Here is all data. Please see it.
dm_conf.zip
from dm-vio.
Thanks for sending the output! For the future it would be best to also include the full commandline output (especially the beginning), as some things are only printed there.
- One thing I have noticed in your config: You should write
RadTan
instead ofPinhole
in your camera.txt file. Pinhole in this context means pre-rectified images without any distortion, which is not the case here. - The IMU noise values (accelerometer + gyroscope noise density and random walk) seem to be pretty low. The optimal values for DM-VIO are typically orders of magnitude larger than the ones you pass to Kalibr. As mentioned, I recommend starting with the same noisevalues as in
tumvi.yaml
, and only reducing them after it works. - Your Kalibr calibration mentions a
timeshift_cam_imu
, have you modified the timestamps accordingly before passing them to DM-VIO?
I think especially the last point is the one why it fails, but the other two will also be important to get a good performance.
from dm-vio.
Hi Lukas, thanks for help. Will fix RadTan.
What preset i should use?
I started recalibrating process imu to camera now. It is still in process.
I recorded video 40 Hz, and IMU 40Hz. May be here is some issue too?
from dm-vio.
You should always use preset=1
with the live version.
40Hz IMU is a pretty low rate for IMU measurements indeed (200Hz is more usual). I think IMU initialization should still be able to complete however if everything is setup correctly.
from dm-vio.
Related Issues (20)
- How does dm-vio pick points to track? HOT 1
- make error HOT 1
- How to saveout the result as pointcloud? HOT 1
- undefined reference to `boost::system::generic_category()' HOT 1
- run dm-vio with own data HOT 3
- Any plan for Stereo camera Support? plz
- Cmake Error HOT 3
- integration sigma HOT 1
- Nothing happened on the GUI HOT 3
- The compilation succeeds, but the visualization window crashes when the dataset is run HOT 5
- The visualization window crashes after receiving the dataset HOT 1
- Porting to Windows, crash on init HOT 8
- Large CoarseIMUInitializer error! HOT 3
- How do I compare the data in the ground truth and the data in the result? HOT 2
- Initial velocity for initialization HOT 1
- What does integration_sigma mean? HOT 1
- gtsam symbol error HOT 2
- Can I load a map and localize the camera and pose within the map HOT 1
- The TUM-VI Euroc is not available
- why would this happened? I set the right PATH, but it still didn't work. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dm-vio.