2017/05/28

初学者用SLAM・ATAMの特徴

このブログでは今までLSD-SLAM,ORB-SLAMの導入を行いました.

コードを読んだ方はわかると思いますが,SLAMっていうのはプログラムに慣れている程度じゃわからない,とても難しいアルゴリズムだと思います.あと,ROSを入れるのって大変です.

これは,SLAMアルゴリズムを勉強したいという人にとっては高い壁となってしまいます.

そこで,SLAMアルゴリズムをプログラムから理解しやすいようにした,ATAM(abecedary Tracking And Mapping)を紹介し,実装します.
ATAM(https://github.com/CVfAR/ATAM)はSLAM初学者でもわかりやすく記述されたvisual SLAMです.九州大学イメージメディア理解研究室の内山英昭助教らが作成しました.

ISMAR2015でトラッキングコンペティションが行われた時には,ATAMを元に各々自分で改良してそのトラッキング精度を比べました.
Windowsで動作する,スタンドアローンの読みやすいコードです.

あーたんっていうマスコットキャラクターもいます.

精度も使い勝手もよいとは言えませんが,どのように動いているか知りたい人はやってみるとよいでしょう.
なんとwindowsのvisual Studioで起動します.

ORB特徴量を用いた特徴点SLAMで
・初期化:基礎行列から自己位置推定
・Tracking:pNp(Perspective-n-Pont Problem)問題を解く→再投影誤差大でマップポイント削除
・Mapping:十分なtracking point→三角法→再投影誤差から妥当か判断/KF選択/Local BA(Bundle adjustment)
・Relocalize:最近KF(key frame)と現在フレームでマッチング

からなります.基本的なvisual SLAMの流れといえるでしょう.
それぞれのアルゴリズムについては調べればわかる程度です.

詳細はポスターセッションを参考ください.

キャリブレーションを含めたvisual SLAMの機能は揃っている一方,ロストしやすく,Relocalizationも難しいです.

また,初期化が手動で,2画像キャプチャ→基準点を取るためチェッカーボードを写り込ませてキャプチャと手間がかかります.

改良はしやすいので自分の手法を実装してその効果を見るのに有効です.

勉強用にすごく良いです

0 件のコメント:

コメントを投稿