helperTrackLocalMap error with Monocular SLAM
3 ビュー (過去 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!