ssk tech blog

自律移動ロボットの話を書きます

【論文】「LO-Net: Deep Real-time Lidar Odometry」を読む【CVPR2019】

目次

はじめに

こんにちは.ササキ(@saitosasaki)です.
twitterに論文のまとめを書いたんですけど,ブログにも上げときます。ブログではtwitterと違って、文字数や画像制限がないので少し詳しく、かつ若干文を修正しました。

興味をもったきっかけ

lidarでdeepな位置合わせはPointNetLK(2019)があったり、deepな逐次SLAMもCNN for IMU Assisted Odometry Estimation using Velodyne LiDAR(2017)がありました。しかし、逐次SLAMで現状の逐次SLAMと同精度を謳っているのがない印象だったのでLO-Netの論文を読みました。

arxiv.org

論文

先行研究

深層学習によるライダーオドメトリはCNN for IMU Assisted Odometry Estimation using Velodyne LiDARがあったが、並進方向の推定のみ。

手法

LO(Lidar Odomery)とタイトルにはありますが、論文全体ではライダーオドメトリ(LO-Net部)とマッピングを組み合わせてた手法を提案しています。

1 ライダーオドメトリ部

ライダーオドメトリの全体図
f:id:ssk0109:20190421153745p:plain
ライダーオドメトリのネットワークアーキテクチャ f:id:ssk0109:20190421155028p:plain
ネットワークのパラメータ
f:id:ssk0109:20190421155503p:plain

  • 1.1.まずscanとscanからNormal Estimationした法線をエンコーダーに入れ、特徴量抽出。
    エンコーダーデコーダーは図9のように障害物のマスクを予測させるように学習して、エンコーダーを特徴量抽出機として使う。 f:id:ssk0109:20190421154035p:plain

  • 1.2次に時刻t-1とtでの連続したscanの特徴量を回帰モデルに入れて、odometryを出力。

2. マッピング

現在のodometryとscan、過去の地図と姿勢を入力に、現在の地図と姿勢を算出(ここは非ディープな処理)。
f:id:ssk0109:20190421154518p:plain

工夫

  • 1.対象点近傍の重み付き外積を用いて、法線推定を単純化
    f:id:ssk0109:20190421154712p:plain
  • 2.軽量化のために畳み込みのほとんどをSqueezeNetで提案されたfireConvに置き換え。
    f:id:ssk0109:20190421155139p:plain

実験結果

実験はKITTIデータセットVelodyne HDL-64を使用。
現状SOTAである非deepなLOAMを超える精度が出ている。 f:id:ssk0109:20190421154223p:plain f:id:ssk0109:20190421154356p:plain

今後の展望

  • 1.CNNに入れるために点群を前処理しているので、点群をそのまま入れるように変更。
  • 2.ground truthを教師として学習させているので、教師なしへ変更。

感想

ground truthを教師にしてるのとオドメトリを特徴量マッチングじゃなくて回帰させるのはパワープレイだなと思いました。