自分のカメラデバイスでのSLAMについて
Show older comments
私は以下のサイト
参考にしてファイル名「stereoslam.m」として自分の所持しているステレオカメラでSLAMを実行しようと考えています。
「Map Initialization」の項目まではエラーが生じませんでしたが「Data Management and Visualization」の項目で以下のエラーが生じます。
エラー: worldpointset
featureIndicesは要素数が 2 である配列にする必要があります。
エラー: worldpointset/checkFeatureIndices (行 707)
validateattributes(featureIndices, {'numeric'}, ...
エラー: worldpointset/addCorrespondences (行 298)
checkFeatureIndices(obj, featureIndices, numel(pointIndices));
エラー: stereoslam (行 74)
mapPointSet = addCorrespondences(mapPointSet, currKeyFrameId,
stereoMapPointsIdx, matchedPairs(:, 1));
上記の「worldpointset.m」関数のコード内の「featureIndices」の要素数を変更することはできるのですか?
自分で「worldpointset.m」に書き込もうとすると「worldpointset.m」の書き込みエラーが表示され、worldpointset.m内にコードを変更することができないです。
このエラーの解決方法をどなたか教えていただけませんか。
4 Comments
Atsushi Ueno
on 15 Nov 2021
% featureIndicesは要素数が 2 である配列にする必要があります。
上記を機械的に追っていくと、
[xyzPoints, matchedPairs] = helperReconstructFromStereo(currILeft, currIRight, ...
currFeaturesLeft, currFeaturesRight, currPointsLeft, currPointsRight, stereoParams, initialPose, maxDisparity)
helperReconstructFromStereo関数(視差マップによるステレオ画像からのシーン再構成)で得られる
- matchedPairs(ステレオ画像間で合致した特徴点)の数が2個
- xyzPoints(上記特徴点に対応する3次元空間の座標)の数が?個
で、この数が一致する必要があります。このエラーが出たという事は、下記いずれかの原因が考えられます。
- 上記のxyzPoints, matchedPairsの行数が一致していない
- 下記(機械的に追ったコードの抜粋)の関数を通る間に何らかの理由で数が一致しなくなった
[xyzPoints, matchedPairs] = helperReconstructFromStereo(currILeft, currIRight, ...
currFeaturesLeft, currFeaturesRight, currPointsLeft, currPointsRight, stereoParams, initialPose, maxDisparity);
[mapPointSet, stereoMapPointsIdx] = addWorldPoints(mapPointSet, xyzPoints);
mapPointSet = addCorrespondences(mapPointSet, currKeyFrameId, stereoMapPointsIdx, matchedPairs(:, 1));
function obj = addCorrespondences(obj, viewId, pointIndeces, featureIndices)
checkFeatureIndices(obj, featureIndices, numel(pointIndices));
end
function checkFeatureIndices(obj, featureIndices, numFeatures)
validateattributes(featureIndices, {'numeric'}, ...
{'vector', 'nonsparse', 'positive', integer', ...
'numel', numFeatures}, obj,ClassName, 'featureIndices');
end
圭介 川邉
on 16 Nov 2021
Atsushi Ueno
on 16 Nov 2021
🤔
Answers (0)
Categories
Find more on Process Point Clouds in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!