Kinectセンサの概要

Kinectは、Microsoftが2011年に発売した、屋内で3D形状+各点での色が計測可能なセンサです。1台のKinectには、センシング用のデバイスとして、「RGB画像撮影用のRGBカメラ」、デプス画像撮影用のデバイスとして「赤外線カメラ」と「赤外線プロジェクタ」が搭載されています。これらにより、KinectがRGBカメラと赤外線カメラで撮影している空間を、色付きの3次元形状として撮影することが可能です。我々ビジョンが専門の人間は、これまでのRGB情報(カラー画像)だけ撮影できるカメラに対して、同時にデプス(Depth)情報が計測できるという意味で、「RGB-Dセンサ」と総称することも多いです。また、(今回の焦点ではないですが)Kinectには音声認識機能も搭載されており、声と身体の動きがそのまま認識されるので、直感的で自然な操作が可能になるというデバイスです。

Kinectには3D動画を撮影できるという基本機能により実現可能となった、もうひとつ革新的な機能が搭載されています。それは、Kinect登場当時には、今だかつて安価な機器での実現がされていなかった「人物姿勢推定(つまりはモーションキャプチャ)」です。つまり、Kinectが撮影している空間中の人間の姿勢(各関節の3D座標)をリアルタイムに取得することができます。Kinectが市場に登場した当初、この人物姿勢推定技術は、Xbox 360のコントローラー代わりとなる、非接触で人間らしいインタフェースとして活用されました。Kinectで撮影された人物の動きがそのままゲームの入力となり、手でボタンを押して動かす従来のコントローラーは一切使用することなく、人の身体の動きをそのまま入力としてリアルタイムに取り込むことができるゲームの開発が可能になったわけです。

当初はゲーム向けのコントローラーとして登場したKinectですが、後にMicrosoftおよびKinectセンサのOEM元であるPrimseSenseなどが主導する組織から、Kinectの基本機能を開発者が使用できるようになる、開発用ライブラリ(Kinect for Windows SDK, OpenNI)提供されるようになりました。そして、商用可能なライセンス付きのKinect センサ(Kinect for Windows, ASUSのXtion)が発売され、これにより人物姿勢推定を活用した独自のWindowsアプリケーションを一般の開発者が開発・販売することが可能となりました。とりわけMicrosoftは、Kinectと人物姿勢推定を用いた「人の自然な動きによるコンピュータの操作インタフェース」のことを「Natural User Interface (NUI)」と命名し、次世代コンピュータインタフェースとしてのKinectの用途拡大をはかっています。

以下の動画はMicrosoftによって2011年に公開された、Kinect for Windows SDKのプロモーション動画「The Kinect Effect」の日本語訳版です。

The Kinect Effect

この動画公開当時は、いわゆるハッカーと呼ばれる方々や研究者などが、当時はまだ商用使用禁止であったKinect SDKを用いて、デモアプリをYoutubeなどに公開していたという状況で、Kinectを用いた商用アプリケーションはまだこの世に存在していませんでした。それにもかかわらず、この動画中では、例えばKinectによるバーチャルミラー操作(仮想着せ替え)や、手術中の外科医による非接触PC操作など、すでに商用製品に存在しているようなアプリケーションがこのプロモーション動画では提案されています(逆に、予想を超える使用法はなかなか思いつかない性質を持つのが、NUIインタフェースの本質なのかもしれませんが)。

Kinectセンサの3D撮影技術は、イスラエルのPrimseSense(プライムセンス)の特許技術です。MicrosoftのKinectはこのPrimesenseのセンサに、独自のアレンジを行ったセンサです。PrimseSenseは他社にも同等の製品をOEM提供しており、それがASUSがKinect for Windowsと同じくPC接続用に販売している「Xtion(エクション)」です。MicrosoftのKinectとXtionのハードウェア機能的な違いは2点あり、(1)Kinectにはマイクが4つ装備されている点、(2)Kinectには仰角を調整するためのモーターが装備されており、これによりセンサの投影角度ソフトウェアから調整できる点、の2つです。裏返すと、コンピュータビジョンに関わるRGB-D画像の取得にはまったく差異がないというのが両者です。一方、ソフトウェア的には差異が結構あり、PrimeSenseの姿勢推定より、Kinectの方がリッチな姿勢情報が得る事ができたり、Kinectにはマイクを用いたノイズキャンセリングと音声認識が加わっています。また、後にシリーズ後半で紹介しますが、Kinect for Windows SDKには顔の特徴点追跡とKinect Fusionという機能も提供されており、より発展的な基本機能が提供されて、専門技術を持たない開発者でもそれらの恩恵が得られるようになっています。

本編に入る前に、次回からは引き続き導入として、Kinectの登場時の業界の経緯と、なぜKinectセンサの登場がコンピュータビジョンにとって重要なのかについて述べて行く事にします。