LIDARベースでは不十分

 現在のロボットに搭載されているLIDARベースのSLAMの課題は大きく3つある。(1)LIDARのコストが数十万円ほどで高価であること、(2)基本的に特定の平面内についてのみ距離が分かる2次元(2D)LIDARが大半であり、平面地図しか構築できず、周囲の3次元的な形状は2D LIDAR全体を回転させるなど特別な機構を設けない限り取得できないこと、(3)LIDARで取得できるのはあくまで周囲の物体の形状を表す疎な点群のみ。物体表面の色やテクスチャー(模様)などの情報は得られないため、周囲の障害物が椅子なのか人なのか、自動車なのかといった高度な判別をしにくい、である。

 (1)については、現状のLIDARがレーザービームをモータなどで機械的に振るメカニカルスキャン方式を採用していることによる。本誌が2016年4月号で報道したように、可動機構なしにビームを振ることができるメカレスLIDARが数年内に実用化される見込みだ10)。そうなればLIDARのコストは民生向けなど幅広いロボットで採用できる1万円ほどに下がる可能性があり、同時に(2)の課題も解決できるが、まだしばらく時間を要する。(3)は、LIDARを用いている限り根本的に解決しようがない。

 こうしたLIDARベースのSLAMの課題を打開する上で、カメラによるvisual SLAMは非常に有望だ。カメラの価格はLIDARより圧倒的に低い。画角は2D LIDARのように水平面内だけでなく、垂直方向にもある。物体表面の色やテクスチャーを捉えることができるため、LIDARベースより詳細で密な空間情報を得られる。

 カメラを用いたvisual SLAMはLIDARベースのSLAMの課題を解消するだけでなく、発展の可能性も大きい。将来、ロボットが工場やオフィス、家庭内などで人からの指示を受けて各種のタスクをこなす際、単にカメラの視野に入った物の名前(ラベル)を推定するだけでなく、その名前を場所と関連付けて認識できるようになることが望ましい。その際、visual SLAMと画像認識の組み合わせが役立つ。人間から「入り口にある段ボールを持ってきて」などの指示を受けた際、屋内空間のどこに何があるかをvisual SLAMと画像認識によって事前にひも付けておくわけだ。

 例えば、米iRobot社は同社のロボット掃除機「Roomba 980」でvisual SLAMを採用しているが、その理由は単に低コスト化だけではない。「多様な画像認識への発展性があるからこそ、LIDARベースのSLAMではなくvisual SLAMを採用した」(iRobot社 EVP & GM Home RobotsのChristian Cerda氏)。同社創業者でCEOのColin Angle氏は「ロボットとユーザーとの対話で最も難しいのは、コンテキストを理解すること。visual SLAMによる地図と画像認識があれば、空間的なコンテキストをより理解しやすくなる」と語る。家庭内で何がどこにあるか、iRobot社はvisual SLAMでそれを把握するRoombaを家庭内のIoTのハブにする狙いだ。

機械学習の力を借りる

 このように将来のロボットを踏まえると非常に有望なvisual SLAMだが、現状では弱点もある。運動視差を基に3次元復元をするため対象物までの絶対距離が曖昧であること、壁などテクスチャーの少ない領域では推定が難しく点群が欠落してしまうこと、カメラの回転運動に弱い(視差が発生せず3次元復元が破綻してしまう)こと、などである。将来の発展の可能性こそ秘めているものの、LIDARベースのSLAMと比べて一長一短という状態だった(表1)。

 今回、キヤノンとTUMが開発したCNN-SLAMは、こうした従来の単眼visual SLAMの弱点をディープラーニング技術を組み合わせることで打開した(図2)。通常の単眼RGBカメラを用いているにもかかわらず、絶対距離が分かる、壁などテクスチャーの少ない領域でも密な3次元構造を復元できる、カメラの回転運動にも耐性が高い(ロバスト)といった特徴を備える。これらは、オンラインで得た情報のみを基に幾何的な計算を行う従来の単眼visual SLAMの枠組みでは考えにくい特性だ。

図2 単眼vSLAMの弱点をCNNで補完
従来の単眼visual SLAMは絶対距離を得にくい、壁などテクスチャーのない領域は推定しづらい、カメラの回転運動に弱いという弱点があった。CNNによる距離推定では、こうした弱点がないため、両者を組み合わせることで、より頑健なvisual SLAMシステムを実現できた。(写真:TUM)
[画像のクリックで拡大表示]

 CNN-SLAMでこうしたことが可能なのは、1フレームのRGB画像のみから距離画像を推定する技術がここ1~2年で急速に発展してきたからだ。visual SLAMのコミュニティではなく、主にディープラーニングの研究コミュニティが先鞭を付けた。

 例えば、ディープラーニング研究の一大拠点である米Facebook社が、CNNを用いて1枚のRGB画像から距離画像を推定する手法を2014年11月に発表している11)。SLAMのように計測時にオンライン(その場)で得た情報だけでなく、事前にオフラインで学習した情報を使う機械学習(ディープラーニング)だからこそ可能な芸当である。

 1枚のRGB画像から距離を推定する仕組みはシンプルである。CNNの教師あり学習の訓練データとして、入力にRGB画像、出力に正解となる距離画像を用意する。端的に言えば、この訓練データをさまざまなシーンで大量に用意し、CNNを学習させるだけである。人間は両眼ではなく単眼だけであってもアピアランスから大まかな距離を想像できるが、それと似た仕組みである。

 CNNというと当初は物体の種類(ラベル)を推定する分類問題などが著名だったが、CNN内の全結合層を取り除き、全層を畳み込み層とする、いわゆる「fully convolutional network(FCN)」が登場してきたことで12)、入力画像と同じ程度の画素数の情報を出力できるようになってきた。画像からラベルのようなテキストを推定(識別モデル)するのではなく、出力としても画像を得る(回帰モデル)のがFCNで容易になってきたことで、距離画像もCNNで推定できるようになった。