Visual SLAM(単眼カメラ)
4 views (last 30 days)
Show older comments
Visual SLAMについての知識はまださほどない状態です.
こちらのサイト(https://qiita.com/tohruk/items/43667dbd327c3d3a5b95)にORB-SLAMを用いて動画からカメラ軌跡と点群マップの推定を行うMATLABの例が紹介されており,ひとまず実行してみたのですがいくつかエラーが出てしまい,順に解決していったものの,下記の箇所が解決できずにいる状態です.
関数 'range' の呼び出し内に、不足している引数または正しくない引数データ型がないかを確認してください。
エラー: helperCheckLoopClosure (line 53)
range(loopKeyFrameIds(1:minNumCandidates)) <= maxRange
エラー: vs (line 316)
[isDetected, validLoopCandidates] = helperCheckLoopClosure(vSetKeyFrames, currKeyFrameId, ...
3 Comments
Kenta
on 15 Aug 2020
Edited: Kenta
on 15 Aug 2020
こんにちは、詳細を教えていただき、ありがとうございます。
「こういった場合,補助関数の方に問題があるのでしょうか.
もしくは,掲載されていた方に修正が必要なのでしょうか.」
とのことですが、掲載されてた方のバージョンや環境では正しく動いていて、そこでは正しくコーディングなどがされていたのだと思います。
ただ、この例は複雑なので、今はどこかで予期せぬエラーが起きているのだと思います。
こちらのドキュメントがお試しになっている例の公式なページと思うのですが、こちらをお試しになりましたか?もしかしたらこちらでやってみるとうまくいくかもしれません。
Accepted Answer
Kenta
on 15 Aug 2020
KOUさん、コメントのほうありがとうございます。
こちらにある質問文中のURLの記事の作者様のファイルをそのまま保存し、実行してみてください。
コメントのほうで私が「normalize関数が入っている気がするのでしょうが」と言ってしまったのですが、
range関数の間違いです、失礼しました。range関数のエラーはもしかしたらstatistics and machine learning toolboxが
入っていないからではないでしょうか?もしそれが入っておらず、かつ手軽にインストールできる状態であればアドオンから入れてみてください。もし、ない場合はnormalize関数などで書き換えることができます。
また、normalizeを使わずとも今回の用法であれば自分で書くこともできます。
ひとまず、statistics and machine learning toolboxが手軽に入手可能な環境にあれば、そちらで試していただけると幸いです。
4 Comments
Kenta
on 18 Aug 2020
こんにちは、
「range(loopKeyFrameIds(1:minNumCandidates)) <= maxRange
は、loopKeyFrameIds(1)とloopKeyFrameIds(minNumCandidates)の範囲(値の大きさの違い)ということで大丈夫でしょうか.」
少し違っていそうです。まずは、rangeの方法を調べてみてはいかがでしょう。おそらくこの部分がちがうため結果があわないのだと思います。まずは、簡単な値で、normalizeを使って、rangeと同様の正規化ができるように練習してみて、それができてからここに反映してはいかがでしょうか。
More Answers (0)
See Also
Categories
Find more on 特徴の検出と抽出 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!