princeton-vl / DROID-SLAM

BSD 3-Clause "New" or "Revised" License
1.65k stars 272 forks source link

Scale issue on stereo setup #102

Open yediluo opened 1 year ago

yediluo commented 1 year ago

HI folks Thank you so much for making this amazing work opensource. However, I have a question regarding the scaling issue in stereo evaluation. I have attempted to use droidslam to evaluate multiple stereo driving datasets. Unfortunately, most of them have a scaling issue if the estimated trajectory is not scaled with the ground truth. As we are using stereo, shouldn't the scale issue not exist? Additionally, I have not been able to find a location to input the stereo baseline parameters. Could you provide me with some insight on how to solve this stereo scaling issue? or did I miss some important steps here? Thank you.

moaazassali commented 1 year ago

I have a similar problem where after a few seconds into the visualization, the scale becomes much smaller. It starts out well but like after 5 seconds, the new visualization is smaller, and after another 5 seconds or so, the visualization gets smaller too. So overall, it looks like camera is just spiraling down a smaller and smaller environment. Note that this only happens on my own videos. I am pretty sure my calibration values are correct and have performed several calibration tests using OpenCV.

Also, the main trigger to this scaling down seems to be turns from my tests. A quick turn of around 60+ degrees turn seems to cause it.

chenjx1005 commented 12 months ago

I check the source code and find this line: https://github.com/princeton-vl/DROID-SLAM/blob/main/droid_slam/geom/projective_ops.py#L105 It seems that the author fix the stereo camera's pose as [-0.1, 0, 0, 0, 0, 0, 1], so that the estimate depth is subject to this scale.