cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

MugichokoさんのRGB-D SLAM実装、Intel Euclidで動くかな?(その2)Jetson TX2で実行

残念ながら力及ばすで、Intel Euclidでは上手く動かす方法が見つかりませんでした。環境を変えて、Jetson TX2を使って同じ手順で実行してみます。

ジオメトリシェーダSurfaceSplatting.geomのファイル名の指定が、小文字になってしまっていますのでLinuxでは上手くファイルを読み込めません。頭文字を大文字に修正します。

SLAM/SLAM.cpp

                //progs.insert(std::make_pair("SurfaceSplatting", std::make_shared<gl::Shader>(folderPath + "SurfaceSplatting.vert", folderPath + "SurfaceSplatting.frag", folderPath + "surfaceSplatting.geom")));
                progs.insert(std::make_pair("SurfaceSplatting", std::make_shared<gl::Shader>(folderPath + "SurfaceSplatting.vert", folderPath + "SurfaceSplatting.frag", folderPath + "SurfaceSplatting.geom")));

サンプルデータはTUMからダウンロードしてきて適当な場所に展開します。fr1/deskを試してみました。
https://vision.in.tum.de/data/datasets/rgbd-dataset/download
data下の設定ファイルに絶対パスでデータの場所を指定します。

./a.out

で動かしてみると、
f:id:cvl-robot:20180220164849p:plain
おお、結構速く動きます!
ということで、一応動かすことが出来ました。でも、あれ、結果が出てない・・・
ICPの結果も単位行列のままなので、GLSLの処理でどこか結果が0になってるのかな。法線はときどき赤く光る部分があるな・・・桁落ちかな。
ということで、時間がかかりそうなので、また今度に続く。

Windows(Visual Studio 2015)でも動かしてみました。

結果の法線にちらちら丸が描かれることがありますが、どうも挙動がおかしいですね。なんだろう?丸の移動が周期的に回転しているように見えるので、メモリのアライメントがおかしいのかな。どの環境でも、ちょっと簡単には動きそうもないから、しばらくペンディングの方針で。
f:id:cvl-robot:20180220210507p:plain

2018/03/28 追記
参考になるかどうかわかりませんが、Windows 10, Visual Studio 2015, GeForce GTX760で動かしたときの、プロジェクトの追加設定項目です。
Additional include path

E:\workspace\Cross-Platform-RGB-D-SLAM\rgbd\rgbd;
E:\workspace\glm-0.9.8.5;
E:\workspace\glew-2.1.0\include;
E:\opencv330\build\include

Additional library path

E:\opencv330\build\x64\vc14\lib;
E:\workspace\glew-2.1.0\lib\Release\x64

Additional libraries

glew32.lib;
opengl32.lib;
opencv_world330.lib;

動きました!

Mugichokoさんに教えていただき、無事動かすことが出来ました。
精度とトレードオフとなるそうですが、CSTABLEという変数の値を小さくすると、少ないフレーム数でもトラッキングをしてくれるようになるそうです。
SLAM/GlobalMap.cpp

        const unsigned int GlobalMapConstParam::MAX_MAP_SIZE = 2500000;
        const float GlobalMapConstParam::CSTABLE = 1.0f; // 10.f;

Jetson TX2でも
f:id:cvl-robot:20180220230108p:plain
Windows10, GeForce GTX760でも
f:id:cvl-robot:20180220232408p:plain