今回は、動く1台のカメラで得られる画像系列から、画像中のシーンの3次元形状とカメラの位置を同時に計測する技術について解説します。この技術は、Structure from MotionあるいはVisual SLAM(Simultaneous Localization and Mapping)と呼ばれています。本記事では、技術の詳細について解説するのではなく、知っておくべき技術をご紹介します。

Structure from Motionの概要

Structure from Motionの処理の概要は図1のとおりです。因子分解法を用いたアプローチと、エピポーラ幾何に基づいたアプローチがあります。

因子分解法を用いたアプローチでは、F枚の画像から得たP個の対応点の座標を並べた2F×Pの観測行列Wを、P個の対応点の3次元座標を並べた3×Pの行列Sと、カメラ行列Cと射影行列Aの積M=ACに分解します。つまり、WをMとSに分解(W=MS)することで、F枚の画像を撮影したカメラの位置と、P個の対応点の3次元座標を同時に計算します。

エピポーラ幾何に基づく手法では、8点アルゴリズムや5点アルゴリズムにより基礎行列、あるいは基本行列を計算し、三角測量の原理で3次元座標を計算します。

図1 Structure from Motionの概要

知っておきたい手法(~2013年)

2013年までの手法は、こちらにまとまっています。RANSAC、Flexible Calibration、SIFTといった要素技術が2000年頃までに発表され、その後にStructure from Motionの技術が大きく進歩しました。2006年に、Structure from MotionのオープンソースプログラムであるBundlerが登場しました(詳細はこちら)。そして、“Building Roma in a Day”という論文で、町中で撮影された大量の画像からコロッセオなどの3次元形状を復元する技術が報告されました(動画1)。

また、それより少し前に提案されたPTAM(Parallel Tracking and Mapping)と呼ばれる手法があります(動画2)。これは、机の上など狭い空間内でのARを目的として、リアルタイムでカメラ位置と3次元点の追跡とマッピングを行う手法です。PTAMは疎な3次元点しか計算しないのですが、その後、DTAM(Dense Tracking and Mapping)という密な3次元復元を行う手法が提案されました(動画3)。

<動画1 Building Rome in a Day>

<動画2 PTAM>

<動画3 DTAM>

知っておきたい手法(2013年~)

Structure from Motionは、カメラを上下左右に動かした際に得られる画像系列を用いると精度の良い結果が得られますが、カメラを前後に動かした場合はなかなか良い結果が得られません。“Towards Linear-Time Incremental Structure from Motion”という論文では、画像を少しずつ追加していくことで精度の高いStructure from Motionを実現しています。このアプローチは、本連載の第3回で紹介した、映像の過度な動きを抑制することで滑らかな映像を生成する“First-person Hyper-lapse videos”という論文で採用されています。

また、PTAM、DTAMは机上などの狭い空間を対象としていたのですが、屋外などの広い空間で利用可能な、LSD-SLAMという手法が2014年に登場しました。この手法では、Semi-Denseな3次元点群をリアルタイムで得ることができます。

Structure from Motionは計算コストが高いという課題はありますが、実用レベルになってきています。スマートフォンでリアルタイム処理するということもある程度はできます。Structure from Motionについても知っておいて損はないでしょう。

著者プロフィール

樋口未来(ひぐち・みらい)
日立製作所 日立研究所に入社後、自動車向けステレオカメラ、監視カメラの研究開発に従事。2011年から1年間、米国カーネギーメロン大学にて客員研究員としてカメラキャリブレーション技術の研究に携わる。

現在は、日立製作所を退職し、東京大学大学院博士課程に在学中。一人称視点映像(First-person vision, Egocentric vision)の解析に関する研究を行っている。具体的には、頭部に装着したカメラで撮影した一人称視点映像を用いて、人と人のインタラクション時の非言語コミュニケーション(うなずき等)を観測し、機械学習の枠組みでカメラ装着者がどのような人物かを推定する技術の研究に取り組んでいる。また、大学院での研究の傍ら、フリーランスとしてコンピュータビジョン技術の研究開発に従事している。

専門:コンピュータビジョン、機械学習