Kinectの登場以前と登場後の違い:安価な3Dセンシングのもたらした革命

Kinectが登場する前のコンピュータビジョンでは、(たとえ本質的に3D的な問題でも)2次元的に画像情報で解決することが主流でした。例えば工場での欠陥品検査などに役立つ「テンプレートマッチング」という技術がありますが、これも(2Dの)テンプレート画像を用いて、入力のテスト画像中からテンプレート画像と同じテンプレートを探し出すという技術で、2Dのテンプレート対2Dのテンプレートという技術です。もちろん、3次元的な対象の変化のバリエーションを、画像の特徴量記述子(SIFTなど)として十分に学習させておけば、画像だけでも3次元的に解けるという技術は多数存在していますが、これらもKinectで撮影できるような「連続的で密な対象物体の3D表面情報」を使っているわけではないので、完全な3D形状が計測できている方が有利な問題では不利になってきます。

手軽に3D形状を計測できることで新たに解けるようになったコンピュータビジョン問題の一番の例が、Kinectの「人物姿勢推定」です。Kinectのように連続的に人物姿勢推定を可能にする技術は、一台のカメラのRGB動画だけからだと限定的にしか解かれていない難しい問題です。それが、3Dで直接人間の表面の形を動画計測できるようになることで、豊富で連続的な人体形状情報を直接3次元的に活用できるようになり、画像で2次元的だと解けなかった人体姿勢推定がKinectの登場と同時に解けてしまったのです。同じ事が他のコンピュータビジョンの問題でも言えます。例えば、Kinectでテーブルやソファーを3D計測すれば、3D表面を密に取得できていることから、画像だけでは難しかったそれら物体の細かい識別や区別が可能になります。また、顔や人体の形状も3Dで密に計測できるので、これまで画像だけでは照明変化などに強いとは言いがたかった顔認証も、密な3D表面形状情報を利用した信頼度の高い仕組みに変えることができます。

もちろん、ステレオカメラを用いれば、ノイズは大きいものの動画での3次元形状復元はできますし、また計算時間を豊富に使えばマルチビューステレオ技術により、(テクスチャ模様が複雑な物体であれば)街全体の建物を3次元復元もできます。しかし、精度がある程度高い、連続的で密な3次元形状をリアルタイムで得られるセンサには、Kinect登場以前は安価な個人でも購入可能な価格帯の製品は存在していませんでした。(※ ちなみにKinect登場以前のToFセンサは百万円以上する計測器相当の価格のものしか無く、個人で手軽に購入して使用できる物ではありませんでした)。

一方、Kinectのように、プロジェクターで投影した光パターンをカメラで撮影して、カメラとプロジェクター間のステレオで対象表面を3次元復元する技術を「アクティブステレオ法」と呼びます(その原理はのちの回にて紹介)。アクティブステレオを用いて空間を3次元化するには、最低でも同一の対象に3パターンの投影パターンを切り替えて投影した画像を撮影する必要があります。つまり、動画で復元するには高いフレームレートの確保が難しく、対象が静止した状態での3D撮影がアクティブステレオでは主流でした。例えば3パターン切り替えの「位相シフト法」により、Kinectと同等の30fpsでのデプス撮影を確保するには、カメラとプロジェクターが同期した状態で、90fpsのハイスピードカメラが必要となってしまいます。これではハイスピードカメラのコストが高くなり、またシャッタースピードの速さから、比較的明るい場所でしか対象を3D撮影できません。一方、このような動画3D撮影の問題点を解決するために、1つの投影パターンのみにより3D復元を行うアクティブステレオ手法の研究が近年盛んでした。そうした中で、安価な製品を実現したKinectが突如登場したのです。

以上、この節の話をまとめます。Kinect登場以降、人物姿勢推定で得られる関節情報と、計測した密な3D物体表面情報の2つが、安価なデプスセンサで誰でも撮影できるようになりました。このように「実世界のリアルタイムの3D情報」を気軽に取得できるようになったことにより、3Dセンシングの力でコンピュータビジョンの可能性が新たに広がり始めています。それでは、次回以降、Kinectセンサの撮影原理の紹介に入ろうと思います。