最終更新日:2019年6月28日
本プロジェクトではVisual SLAMを統一的かつ簡潔に記述できるフレームワークを開発する。
SLAM(Simultaneous Localization and Mapping)とは、センサ等による観測結果を用いて、ロボットなどのエージェントの周辺の環境地図を構築しながら、環境地図中でのエージェントの自己位置を推定する技術である。このうちカメラから得られる視覚情報を用いるSLAMがVisual SLAMと呼ばれる。Visual SLAMは自動運転やロボット掃除機、ドローンの制御、あるいは不動産まで、あらゆるものへの応用が可能である。環境地図を構築しながら自己位置を推定すれば自動運転に応用できることは自明であるとして、同様のことを屋内で行えばロボット掃除機の制御にも適用することができる。また、十分に密度の高い環境地図を構築することができれば、部屋の3Dスキャンを行えるため、不動産の売買にも応用することができる。
Visual SLAMにはさまざまな手法が提案されているが、用途によって最適な手法は異なる。例えば自動運転にVisual SLAMを用いるのであれば、照明変化に対して頑強であり、大規模なマップを高精度に構築できる手法が好ましい。一方で、部屋の3Dスキャンをするのであれば、密なマップ(点群によるマップ表現ではなく、面によるマップ表現)を得られる手法が好ましい。しかしながら、Visual SLAMには用途に対して適切な手法を選ぶことが難しいという欠点がある。要因の一つとして、実装が手法ごとに全く別々に存在していることなどが挙げられる。現状ではほぼ全ての手法の実装が別々のソフトウェアとして存在しているため、複数の実装を試す際にはそれぞれを全く別々にビルド・実行しなければならず、目的の用途にあった手法を見つけるまでに非常に大きな手間が必要となる。
本プロジェクトはVisual SLAMを統一的かつ簡潔に記述できるフレームワークを開発することで、用途に適した手法を選ぶことが難しいというVisual SLAMの欠点を解消する。また、内部をモジュール化することによって実装効率を上げ、論文の再現実装や新規手法の開発をも容易にする。本フレームワークにより、Visual SLAMを応用した製品開発やVisual SLAMそのものの研究開発が促進されることが期待される。
Visual SLAMとは、カメラで撮影した複数の画像を元に、対象の三次元形状と、同時に、カメラの位置・姿勢を算出することを指す。車の自動運転など、多くの応用が期待されている。このプロジェクトは、アプリケーションから様々なVisual SLAM手法を統一的に利用できるソフトウェアを開発し、提供する。
また、実際に、向き不向きの異なるいくつかの手法を実装して、提供する。これにより、Visual SLAMを行うソフトウェア開発が容易になる。また、手法どうしの公平な比較が可能になることで、手法の研究も促進できる。
この通り、アプリが増えてVisual SLAMによる新しい体験が広がること、手法の研究が促進されること、はたまた、OSSコミュニティが立ち上がるといいな、などと様々に期待している。
2019年6月28日
2019年度採択プロジェクト概要(石田PJ)を掲載しました。