princeton-vl / DROID-SLAM

BSD 3-Clause "New" or "Revised" License
1.82k stars 303 forks source link

Test TartanAir visual SLAM challenge #86

Open letsgofeng opened 1 year ago

letsgofeng commented 1 year ago

When using the original code and given the droid.pth model, the result of the MH004 sequence of TartanAir visual SLAM monocular challenge is very different from the paper. May I ask that the test parameters of the TartanAir visual SLAM challenge are the same as the ”validate_tartanair.py“ script? (because you did not provide the TartanAir visual SLAM challenge script). The following is the specific result: xf.peng@labhpc75:~/code/DROID-SLAM$ CUDA_VISIBLE_DEVICES=2 ~/anaconda3/envs/droidenvnew/bin/python evaluation_scripts/test_tartanair_challenge.py --datapath=/home/xf.peng/dataset/TartanAirChallenge/ --weights=droid.pth Performing evaluation on mono/MH004 droid.pth 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 662/662 [02:01<00:00, 5.44it/s] KFs: 372 ################################ Global BA Iteration #1 Global BA Iteration #2 Global BA Iteration #3 Global BA Iteration #4 Global BA Iteration #5 Global BA Iteration #6 Global BA Iteration #7 ################################ Global BA Iteration #1 Global BA Iteration #2 Global BA Iteration #3 Global BA Iteration #4 Global BA Iteration #5 Global BA Iteration #6 Global BA Iteration #7 Global BA Iteration #8 Global BA Iteration #9 Global BA Iteration #10 Global BA Iteration #11 Global BA Iteration #12 ATE scale: 0.965949975203637 {'ate_score': 3.7281677627737584, 'rpe_score': (0.9659354892992258, 4.380713634900417), 'kitti_score': (1.7173907932760222, 0.20961711203211916)}

ckLibra commented 1 year ago

Hi, I meet the same problem. Have u found the reason?

awarebayes commented 1 year ago

Guys I do not think there is any loop closure implemented...

ckLibra commented 1 year ago

Guys I do not think there is any loop closure implemented...

What does that mean? DROID actually does not include loop closure.

Alex-Beh commented 1 year ago

@ckLibra Does not include loop closure?

dingangui commented 1 year ago

Guys I do not think there is any loop closure implemented...

What does that mean? DROID actually does not include loop closure.

hey, the paper says DROID has loop closure~ Have you checked it?

ckLibra commented 1 year ago

Guys I do not think there is any loop closure implemented...

What does that mean? DROID actually does not include loop closure.

Sorry guys. I apologize for my mistake. DROID indeed claims the loop clousure in their paper. But in my understanding, there is no explicit loop clousure in current implementation. Maybe the impicit one can be found in backend, just says in this issue: https://github.com/princeton-vl/DROID-SLAM/issues/91#issuecomment-1544740609

ThakurSarveshGit commented 3 months ago

In backend, during global bundle adjustment, there does exist loop closure criteria. It is based on the reprojection error(called distance tensor) between every frame combination. However, since it assumes that trajectories don't drift much over time, it relies on the geometry completely, and may(and does) miss actual loop closures with considerably drifted trajectories.