単眼カメラの映像から教師なし学習で物体までの距離を正確に測定(1/2)

  • 2018.11.28
  • AI
単眼カメラの映像から教師なし学習で物体までの距離を正確に測定(1/2)

1.単眼カメラの映像から教師なし学習で物体までの距離を正確に測定(1/2)まとめ

・風景内の物体を3Dオブジェクトと見なす事で正確に距離を認識できる新手法が発表
・従来手法では自車と同速度で走る先行車を無限に遠い距離に位置する物体と誤認識した
・今回の手法では安価な単眼カメラを用いて教師無し学習できるため大きな飛躍に繋がる

2.物体を3Dオブジェクトと見なすStructured Approach

以下、ai.googleblog.comより「A Structured Approach to Unsupervised Depth Learning from Monocular Videos」の意訳です。元記事は2018年11月27日、Anelia Angelovaさんによる投稿です。本記事を読むとテスラ等の半自動運転車が静止している車に突っ込む事故の原因が理解できます。今回公開された手法が応用されると自動運転車の衝突事故は減るのだろうな、と思います。後編はこちら

自律型ロボットにとって、距離を知覚することは大切です。ロボットと物体の距離を見積もる事は、障害物の回避、安全な走行やナビゲーションを実現するために不可欠です。距離はLIDAR(Laser Imaging Detection and Ranging:レーザーを用いて対象までの距離を測定するセンサー)のようなセンサーから取得(および学習)することができます。しかし、ロボットの動きおよびその動きによって変わる視界に依存しますが、単眼カメラのみを使って教師なし学習で学習することも可能です。

これにより、ロボット自身の位置情報を示す「エゴモーション」(カメラ、もしくはカメラを搭載したロボット自体が動いており、撮影場所が移動している状態)も学習できます。

今回紹介する手法、すなわち、複数視点から撮影した画像を用いて3次元形状を復元するアプローチは長い歴史を持っています。しかし、今回のラーニングベースのテクニックは、ディープラーニングと教師なし学習で距離を把握する事に特化し、Zhou等の研究と私達の以前の研究結果をベースにした最先端のものです。

これらの努力にもかかわらず、距離やエゴモーションを予測することは、特に大きく動くシーンや、移動するオブジェクトとの距離を推定する際には依然として挑戦的な困難な課題です。何故なら、以前の教師なし単眼カメラ映像による学習の研究では動く物体をモデル化していないため、物体までの距離を一貫して誤って推測したり、距離を無限大としてしまう事が良くあるのです。

「AAAI 2019」で発表する論文「Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos」では、動く物体をモデル化することができ、高精度で距離を推定する新規手法を提案します。私達の今回の手法では、単眼カメラからの映像を使って教師なし学習をする従来の手法と比較して、動く物体を対象にしても正しい距離を推定することができます。

本投稿では、品質をさらに向上させ、データセット間の転移に適用でき、シームレスでオンラインな洗練されたテクニックを提案します。さらに、オンボードでのロボット学習が更に高度なアプローチに発展する事を奨励するために、TensorFlowでコードを公開しています。


左:実際の写真
真ん中:以前の研究によるヒートマップ。動く物体を無限大に遠い(ヒートマップの濃い紺色の領域)と判定しており距離を正確に推定することができませんでした。
右:私たちの今回のアプローチは、より正確に距離を測定しています。

風景内の物体の構造を認識させる
私達の今回の手法における重要なアイデアは、学習フレームワークに構造を導入することです。すなわち、ニューラルネットワークに頼って画像から直接距離を学習させるのではなく、私達は単眼カメラが撮影した風景を、ロボット自身も含めて立体的な3Dとして扱いました。

単眼カメラの個々の動きは、回転や平行移動等独立した動きに変換され、風景も3D空間としてモデル化され、風景内の全ての物体の動きを推定するために使用されます。

さらに、どの物体が潜在的に移動する可能性があるか(例えば、車、人、自転車など)を知ることは、その物体が仮に動かなくともそれらに対して個別の動きベクトルを学習させるのに役立ちます。風景を3Dおよび個々の物体に分解することで、特に非常に動きのあるシーンで、距離やエゴモーションを正確に把握する事ができるようになります。

我々はこの方法を2つの都市運転データセット、KITTIとCityscapesでテストし、最先端のアプローチよりも優れていることを発見しました。また、ステレオカメラで撮影したペアビデオで訓練させる高品質なアプローチに近い性能を発揮しました。

重要なことは、私たちの今回の手法は、単眼カメラを搭載した自動車と同じ速度で走っている前方車との距離を正確に測定する事ができたことです。これはこれまで困難な事でした。通常、単眼カメラでは移動する乗り物は静的な物体として測定され、決して行きつく事ができない水平線と同様に扱われ、その結果、無限に遠い位置にある物体として推定されます。ステレオカメラによる画像であれば、このあいまいさを解決することができますが、私たちの今回のアプローチは、単眼カメラからの入力を使って初めて正しく推定できたアプローチです。


単眼カメラを用いたこれまでの研究では、動く物体を水平線と異なるものとして抽出することができませんでした。

さらに、本手法では、物体が個別に扱われるので、アルゴリズムは、個々の物体の動きベクトルを提供することができます。すなわち、それは、物体がどちらに向かっているかの推定です。


個々の物体の動きベクトルの例。左側の車は左(X方向)に大きく動いており、右側の車は正面方向(Z方向)に大きく動いている事が認識されています。同時に回転角も推定さていますが、単純化のため図示されていません。

これらの結果に加えて、この研究は、教師なし学習アプローチを用いた更なる研究に対するモチベーションを提供します。単眼カメラはステレオカメラまたはLIDARセンサよりも安価で導入が容易なためです。

以下の図に示されているように、KITTIとCityscapesの両方のデータセットは、全ての風景で監視センサー(ステレオかLIDAR)の値を持っているわけではなく、また、時間の遅れによってカメラの入力にずれが生じることがあります。


KITTIデータセットを使った距離予測の例。中段画像が予測画像。下段がLidarセンサーを用いて測定した真の距離です。後者は全てのシーンで利用可能なわけではなくノイズも多いです。私達のアプローチではLidarセンサーの値はトレーニング中に使用していません。

 


Cityscapesデータセットを使った距離予測の例。左から、実際の風景、従来手法、私たちの今回の手法、そしてステレオカメラによる真の距離。ステレオカメラによる真の距離には欠けている部分がある事に注意してください。また、私達のアルゴリズムは、真の距離を教師データとして利用する事なく、この結果を達成することができていることに注目してください。

(単眼カメラの映像から教師なし学習で物体までの距離を正確に測定(2/2)に続きます。)

3.単眼カメラの映像から教師なし学習で物体までの距離を正確に測定(1/2)まとめ

1)ai.googleblog.com
A Structured Approach to Unsupervised Depth Learning from Monocular Videos

2)arxiv.org
Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos