Microsoftは次世代UI(ユーザーインターフェース)にNUI(ナチュラルユーザーインターフェース)を位置付け、同社研究所であるMicrosoft Researchから生み出された研究結果を商品化している。われわれが現在使用しているWindows 8にも、数多くの研究結果が反映されているそうだ。今後のNUIを推進させるために欠かせないKinectシリーズだが、同社のコンシューマー向けゲーム機器であるXbox 360用はともかく、Windows OS向けである「Kinect for Windows」が普及するにはキラーコンテンツが欠かせない。

もちろんMicrosoftも手をこまねいておらず、サードパーティベンダーがよりよいソフトウェアを開発するための「Kinect for Windows SDK」を改良し、近日中にリリースされる予定の新バージョンで、3Dモデルのリアルタイムスキャンなどの機能を備える「Kinect Fusion」を搭載すると発表した。今週はKinect Fusionがどのような機能を備えるのか、そしてMicrosoft Researchが開発中の「IllumiRoom」に関するレポートをお送りする。

Kinect for Windows SDKの進化で実現する新機能

本誌でも既に報じたように、日本マイクロソフトが次世代のUIとして展開中のNUIに対する取り組みを発表した。そこで語られたのは、日本マイクロソフトとMicrosoftが行っている取り組みと、Microsoft Researchによる研究結果の一部である。日本マイクロソフトが国内で展開している取り組みは先のリンクを参照していただきたいが、NUIの軸になるのは同社のKinect for Windowsであることはご承知のとおり(図01)。

図01 NUIの骨子となる「Kinect for Windows」は2012年2月1日にリリースされた

2012年2月1日にリリースした同デバイスを活用するためには、Kinect for Windowsが取得した情報をコントロールする「Kinect for Windows SDK(Software Development Kit:ソフトウェア開発キット)」が欠かせない。そもそも先行してリリースしていた「Kinect for Xbox 360」をコンピューターで利用可能にするツールがオープンソースベースで開発されていたが、この現象に対してMicrosoftは容認する姿勢を明らかにし、2011年4月には公式SDKをリリースすると発表。そしてKinect for Windowsとほぼ同時リリースに至っている。

ファーストリリースとなるバージョン1.0は、骨格追跡機能や色/深度の取得、音声認識などの基本機能のみをサポートしていたが、2012年5月22日にリリースしたバージョン1.5では開発を促進させる「Kinect Studio」を用意し、Face SDKによる顔の認識や座った姿勢もしくは10関節のサポートを可能にしている。さらに日本語を含む11カ国5言語の音響モデルを追加し、音声認識の幅を大きく広げた。同年10月8日にはバージョン1.6をリリース。Windows 8や仮想マシンのサポートに加え、深度データの拡張による最大10メートルまでの深度や、3軸加速度センサーを利用した加速度に対応。カメラ機能も強化して明るさや露出の調整、赤外線画像の取得も可能にしている(図02)。

図02 Kinect for Windows SDKに含まれる「Kinect Studio」

このようにバージョンアップを重ねることで大幅に機能を強化しているKinect for Windows SDKだが、近日中には次のバージョンをリリースすると、日本マイクロソフトの最高技術責任者兼マイクロソフトディベロップメント代表取締役社長である加治佐俊一氏は説明した。同バージョンでサポートされる最大の特徴が2011年頃からMicrosoft Researchが研究・開発していた「Kinect Fusion」のサポートだ。

同機能の解説動画は同研究所のWebページで視聴できるが、Kinect for Windowsをリアルタイムの3Dオブジェクトスキャナーとして使用し、同時にGPU(Graphics Processing Unit:ビデオカードなどに搭載されたプロセッサ)を利用して、リアルタイムに3Dオブジェクトモデルの再構築を可能にするという。また、ソフトウェア側の処理となるが物理シミュレーションや、人が知覚する現実環境を拡張する"拡張現実"もサポートされる(図03~07)。

図03 Kinect for Windowsを手に取り、部屋を3Dスキャンしているシーン。コンピューター側では3Dモデルの再構築がリアルタイムで行われる

図04 こちらもKinect Fusionで実現するリアルタイムの3Dオブジェクトスキャニングシーン。右上には人物の撮影映像が映し出されているが、下側には3Dモデルの再構築がリアルタイムで映し出される

図05 再構築した3Dモデルに光を当てるデモシーン。左側にある箱にライトが当たる効果をソフトウェアで処理し、リアルタイムで描かれている

図06 机上にあるティーポットだけをリアルタイムスキャンし、物理的なティーポットをどけても仮想環境上では存在するように動かせる"拡張現実"のデモシーン

図07 こちらも"拡張現実"のデモシーン。画面左上は現実環境だが、仮想環境上では動かした指に沿って絵が描かれている

そもそもKinect Fusionは、SIGCHI(Special Interest Group on Computer-Human Interface)が開催したCHI2011で発表されている。そのため内容は既に公にされているが、これらの機能が次期Kinect for Windows SDKでサポートされることで、さまざまなシーンの活用例を思い描く方も少なくないだろう。もっとも現時点ではKinect for Windowsが爆発的に普及するようなキラーコンテンツは存在せず、Microsoftもさまざまな可能性を見せているにすぎない。

その一方でKinect for Xbox 360に対する取り組みは、コンシューマー向けゲーム機器用のため分かりやすいもののが多い。2013年1月8日から開催されたCES 2013では「IllumiRoom(イルミルーム)」を発表。既に報じられているとおり、Kinect for Xbox 360がテレビの周りにある奥行きなど部屋の形をスキャンし、凹凸や距離を計算した背景や効果をプロジェクター経由で映し出すというもの。先頃、東京駅舎にカラフルで美しい模様を描くプロジェクトマッピングショーが行われたが、IllumiRoomは部屋の形状をスキャンしているため、似て非なるものだ(図08~09)。

図08 「IllumiRoom」の紹介ビデオでは、ディスプレイの周りにFPSゲームの背景や敵からのビーム(?)がリアルタイムで描かれている

図09 こちらも同様「IllumiRoom」のデモシーン。ダンジョン内の背景やモノクロで映し出されている。ゲームに集中するためのモードだろうか

Microsoft ResearchのIllumiRoomを紹介するページを見ると、「Kindows for Windowsのカメラを……」という一文を確認できる。公式動画を視聴する限り、Xbox 360をプレイしているため、IllumiRoomをKinect for Xbox 360向けの取り組みとして紹介したが、MicrosoftのIllumiRoomに関する詳しい説明はCHI2013で行うとしか述べていない。ただ、部屋のリアルタイムスキャンといったIllumiRoomのロジックを踏まえると、Kinect Fusionの技術が用いられているのは明らかだ(図10)。

図10 Microsoft ResearchのIllumiRoomに関するWebページ。説明には「Kinect for Windows」を使用すると解説されている

いずれにせよハードウェア的な拡張を行わず、Kinect Fusionのような機能を実現するMicrosoftの底力に衝撃を受ける。この他にもMicrosoft Researchでは、数多くのプロジェクトが進行中。また、中国にあるMicrosoft Research Asiaには、現時点で6人の日本人研究者が参加しているという。今後もわれわれの生活を変えるような研究・開発を行うMicrosoft Researchは注視すべき存在だ。

阿久津良和(Cactus