helperTrackLocalMap error with Monocular SLAM
2 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I have run the Monocular SLAM (https://www.mathworks.com/help/vision/examples/monocular-visual-simultaneous-localization-and-mapping.html.) with Matlab 2020a, and I have tried some datasets, e.g., the TUM dataset in the tutorial and the Kitti dataset. How, I have got the following error.
Error using worldToImage
Expected worldPoints to be nonempty.
Error in worldToImage (line 83)
validateattributes(worldPoints, {'double', 'single'}, ...
Error in helperTrackLocalMap (line 63)
projectedPoints = worldToImage(intrinsics, R, t, localMapPoints);
Error in main (line 218)
helperTrackLocalMap(mapPointSet, vSetKeyFrames, mapPointsIdx, ...
I have found that this error is due to few keypoints. I did not change anything of the tutorial except changing the name of the helper function helperSURFFeatureExtractorFunction to helperExtractorFunction (helperExtractorFunction ). I was wondering if anyone else can run the tutorial successfully. Any help would be appreciated.
6 个评论
Qu Cao
2020-5-20
Sashamaru, great to hear that tuning the parameter works!
Could you let me know which parameter of the two you changed?
回答(1 个)
Qu Cao
2020-8-19
Answer pasted from comments:
Please try tunning the parameters to see if it helps improve the robustness:
- In helperIsKeyFrame, set the minimum number of tracked map points to a larger value, say 90;
- In helperCreateNewMapPoints, change 'MaxRatio' to a smaller value, say 0.7
2 个评论
jose daniel hoyos giraldo
2021-12-27
hello. Can you give me a hand improving the robustness, because I'm using a low resolution camera. Do you suggest change the line (in helperIsKeyFrame):
tooFewMapPoints = numel(mapPointsIndices) < 100;
for
tooFewMapPoints = numel(mapPointsIndices) < 500;
and the line:
tooFewTrackedPoints = numel(mapPointsIndices) < 0.9 * numPointsRefKeyFrame;
for
tooFewTrackedPoints = numel(mapPointsIndices) < 0.95 * numPointsRefKeyFrame;
Or similar?
On the other hand, in helperCreateNewMapPoints, u suggest use a smaller value of 'MaxRatio', but at mathworks it says "Use the max ratio for rejecting ambiguous matches. Increase this value to return more matches." (https://la.mathworks.com/help/vision/ref/matchfeatures.html).Then, if we have poor image quality and issues with a low number of points, why do you suggest decrease this value?.
Thanks for your help!
cui,xingxing
2022-11-29
编辑:cui,xingxing
2022-11-29
I think this is more of an empirical threshold that is dynamically adjusted to your own images @jose daniel hoyos giraldo ,You can refer to the thresholds designed in the latest version of R2022b for the exact TUM dataset
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Point Cloud Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!