I get error when test with New College dataset

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

I get error when test with New College dataset

m.omar82
Dear Sir
when I try to test with New College dataset I get this error

iteration(1156) high(762) hyp(0.07) time=4.063767s/4.067205s

OpenCV Error: Assertion failed (trainDescCollection[iIdx].rows < IMGIDX_ONE) in knnMatchImpl, file /tmp/buildd/ros-hydro-opencv2-2.4.9-2precise-20140819-1745/modules/features2d/src/matchers.cpp, line 365
terminate called after throwing an instance of 'cv::Exception'
  what():  /tmp/buildd/ros-hydro-opencv2-2.4.9-2precise-20140819-1745/modules/features2d/src/matchers.cpp:365: error: (-215) trainDescCollection[iIdx].rows < IMGIDX_ONE in function knnMatchImpl


Signal 6 caught...
Aborted (core dumped)

-----------------------------------------------------------------------------------------------------
my command line is the same as in wiki/Benchmark

I just add -Kp/DetectorStrategy 0 -Kp/NNStrategy 3
Reply | Threaded
Open this post in threaded view
|

Re: I get error when test with New College dataset

matlabbe
Administrator
Hello,
I've fixed yesterday a bug where the "Time Threshold" was not set on the console application, so the memory management was never triggered and real-time constraints are not satisfied. This explains the 4 seconds processing, normally it should be around 1.4-1.6 second at the end. You should update to latest revision:
$ cd rtabmap
$ git pull origin master

I tested the NewCollege dataset:
Download and merge left right images:
$ cd rtabmap/bin
$ wget http://www.robots.ox.ac.uk/~mobile/IJRR_2008_Dataset/Data/NewCollege/Images.zip
$ unzip Images.zip
$ ./rtabmap-imagesJoiner -inv Images

From Benchmark page:
$ ./rtabmap-console -Rtabmap/StatisticLogged true -Rtabmap/StatisticLoggedHeaders false -Rtabmap/PublishStats false -Mem/RehearsalIdUpdatedToNewOne true -Mem/BadSignaturesIgnored true -Rtabmap/LoopRatio 0.0 -Bayes/FullPredictionUpdate true -Kp/TfIdfLikelihoodUsed false -Mem/STMSize 30 -Mem/RehearsalSimilarity 0.2 -Mem/RecentWmRatio 0.2 -SURF/Extended false -Kp/WordsPerImage 400 -Kp/BadSignRatio 0.25 -SURF/HessianThreshold 1000 -Rtabmap/TimeThr 1400  Images_joined

or as in the post above:
$$ ./rtabmap-console -Rtabmap/StatisticLogged true -Rtabmap/StatisticLoggedHeaders false -Rtabmap/PublishStats false -Mem/RehearsalIdUpdatedToNewOne true -Mem/BadSignaturesIgnored true -Rtabmap/LoopRatio 0.0 -Bayes/FullPredictionUpdate true -Kp/TfIdfLikelihoodUsed false -Mem/STMSize 30 -Mem/RehearsalSimilarity 0.2 -Mem/RecentWmRatio 0.2 -SURF/Extended false -Kp/WordsPerImage 400 -Kp/BadSignRatio 0.25 -SURF/HessianThreshold 1000 -Rtabmap/TimeThr 1400 -Kp/DetectorStrategy 0 -Kp/NNStrategy 3  Images_joined

and I didn't have any errors. Iterations are at 1156? The New College dataset has 1073 images. Do you talk about the Panoramas New College dataset (1628 images)?

Also, "-Kp/NNStrategy 3" means Brute Force matching, which takes a lot of time when locations in the LTM are retrieved to the WM (if the visual vocabulary is big). Default is kd-trees: "-Kp/NNStrategy 1".
Reply | Threaded
Open this post in threaded view
|

Re: I get error when test with New College dataset

m.omar82
Thanks for your fast support
 I did not used imagesJoiner.

What I try to do is the get the Recall for the 8 descriptor implemented in Rtabmap, -Kp/NNStrategy 1 will work with binary descriptor, that is why I used -Kp/NNStrategy 3

Thanks for your support
Reply | Threaded
Open this post in threaded view
|

Re: I get error when test with New College dataset

matlabbe
Administrator
While they are available, I didn't have tested binary descriptors for the visual dictionary. Yes binaries only work with LSH (-Kp/NNStrategy 2), brute force (-Kp/NNStrategy 3) or brute force GPU (-Kp/NNStrategy 4). The BSD version of RTAB-Map uses ORB by default, but I didn't tested it on large scale.

A comparison of Recall would be interesting indeed. Though for binary descriptors, it would be interesting to implement a nearest neighbor approach like KD-tree to speed-up the look-up in the dictionary ("binary visual word vocabulary"). If anyone has ideas or libraries doing that, I could integrate it in RTAB-Map.