Kimera-VIO icon indicating copy to clipboard operation
Kimera-VIO copied to clipboard

No loop closure detected

Open YilmazKadir opened this issue 4 years ago • 4 comments

I have looked at all issues but I could not find a related one. When I run with loop closure detection enabled, it does not detect any loops. I uploaded the output_lcd_status.csv file. I do not know if I am doing something wrong. Can you please help me?

Command: bash ./scripts/stereoVIOEuroc.bash -p ~/EuRoC/V1_01_easy/ -lcd -log

output_lcd_status.csv.zip

YilmazKadir avatar May 13 '20 19:05 YilmazKadir

Hi @kdr193, Alpha is what controls the number of loop closures detected, try to increase it, as it is now low: alpha: 0.001 Check in here.

ToniRV avatar May 19 '20 00:05 ToniRV

I'm experiencing the same issue. Changed the alpha value to 0.1 but still no LC detected;

WouterJansen avatar May 29 '20 11:05 WouterJansen

@ToniRV @marcusabate I'm continuing to experience many issues regarding loop closures and (R)PGO in the latest version. In the V1 euroc set I have to set the LCD parameters to

alpha: 1
min_temporal_matches: 0

to detect a few closures. And I don't believe they are in any way correct.

WouterJansen avatar Aug 03 '20 13:08 WouterJansen

As stated above, currently can get a few loop closures in the euroc dataset if I set alpha to 0.001 and min_temporal_matches to 0. However, I am not certain these are detected correctly now or are false positives. Hard to tell in Euroc where there should be closures detected just visually.

In my own dataset I also get similar results but granted it is not the best dataset (taken in simulation, low rates of IMU and camera) but it does not a bad job at the state estimation with Kimera-VIO. However, the LCD did not detect some very obvious loops. The biggest reason seems to be LOW_NSS_FACTOR. I saw this meant normalized similarity score but didn't really understand what it meant in terms of LCD specifically in Kimera. Judging by the code it analyzes mostly if you are standing still by comparing current to previous DBOW vector? I might be interpreting that wrong. However, when turning it off (use_nss: 0) for testing the obvious loop point was detected correctly.

Just thought I'd share this with others having these issues with their datasets

WouterJansen avatar Sep 04 '20 13:09 WouterJansen