後藤弘茂のWeekly海外ニュース

MicrosoftのProject Natal技術の舞台裏とその限界



●ナチュラルユーザーインターフェイスの敵はSF

 ある音声認識技術の開発者は、ナチュラルユーザーインターフェイス技術にとって一番の障壁は「スタートレック症候群」だと語っていた。スタートレック症候群は、コンピュータ業界でも一般的な言葉ではないが、その意味は簡単だ。スタートレックなどに登場する未来テクノロジを、当たり前と思ってしまい、実際の製品の未熟な技術に失望して使ってもらえないという現象だ。

 例えば、スタートレックでは「コンピュータ」と呼びかけると、船のコンピュータが応答し、自然会話で指示を与えると、その通りに実行してくれる。現状の音声認識技術では、SFで示されたレベルに到達できない。そのため、音声認識技術を試したユーザーが失望して、離れていってしまうという。

 同じことは、モーションキャプチャをベースにしたユーザーインターフェイスにも言える。ジェスチャで正確な操作ができないと、ユーザーを苛立たせ、新しいインターフェイスから離れてしまいかねない。

 マンマシンユーザーインターフェイスの革新には、こうしたハードルがあり、移行にリスクがつきまとう。そのため、任天堂のように思い切った切り替えを行ないにくい。Microsoftの、Xbox 360向けナチュラルユーザーインターフェイスである「Project Natal(プロジェクトナタル)」の前にも、そうしたハードルが待ちかまえている。

 とりわけ、3Dセンサーベースのモーショントラッキングが、どれだけの精度で可能になるのか、そこにポイントがある。Project Natalは、Xbox 360に付加するNatalセンサーに内蔵された、3Dセンサーでユーザーの3D空間での位置を測定し、モーションをトラックする。ゲームの場合、特にコントロールの緻密さが求められるため、ハードルは高い。

●3Dセンサーで説明できるProject Natalのムービー
Project NatalのハードウェアとXbox 360

 MicrosoftがProject Natalで公開したデモやムービーを見ると、Project Natalが、カメラから物体までの距離を測ることができる深度(Depth)センサーに、深く依存していることがよくわかる。

 まず、イメージムービーに登場したカーレースゲーム。ソファーに座ったプレーヤーが、バーチャルなハンドルを握って、それを回す操作を行なうことでクルマをコントロールしていた。これを実現するには、まず、プレーヤーの2つの拳のモーションをトラックする必要がある。

 Natalセンサーは、赤外線による「Time of Flight(TOF:飛行時間)」手法を使って深度を測定する3Dセンサーを内蔵している。センサーから一定時間置きに赤外線パルスを投射、赤外線が物体表面で反射した、その反射光をセンサーで捕らえる。反射時間から、センサーから物体までの距離を割り出す仕組みだ。3Dセンサー上では、距離が近い物体が明るく、遠い物体が暗く映ると見られる。

光を使ったTOF方式の深度センサー

 そのため、カーレースゲームの仮想ハンドルを握った拳は、Natalの3Dセンサー上では簡単に識別できると推測される。プレーヤーが身体の前に突き出した“白い2つの塊”をトラックすればいいからだ。2Dカメラベースの画像認識の場合は、これは識別がかなり難しい。例えば、服の色と肌の色が似ている場合など、トラックし続けることが困難な場合がありうる。しかし、3Dセンサーベースになると、下の推定図のように2つの拳だけが、センサー上で突出するため、認識は容易だ。

Project Natalでの深度センサーのイメージ

 次はギアチェンジ動作。これは、握り拳が架空のハンドルから離れて下へ降り、ギアの位置で前か後へとスライドする動作をキャプチャすれば可能だ。ハンドル操作と較べると、ハードルは高くなるが、それでもモーションをトラックし続けることができれば不可能ではない。ピットイン時には、ユーザーが前後に両手をプッシュするモーションでタイヤ交換を行なう。これも、ユーザーの手や身体の深度の変化で、容易にモーションを検知できそうだ。

 他の例も同様で、Project Natalのプロモーションムービーで示された認識は、全て深度センサーで解決できることがわかる。

Project Natalイメージムービーのレースゲーム

●実機デモではゲームに使える精度とレスポンスを強調
E3での実機デモ

 実機デモの、3Dブロック崩しも同様だ。このデモでは、四肢と身体を使ってインゲームキャラクターを操作することで、画面奥から飛んでくるボールを跳ね返して、画面奥のブロックを崩していた。この場合、やることは簡単で、Xbox 360は深度センサーで、ユーザーのシェイプとモーションをキャプチャ、それをリアルタイムでキャラクターに反映させただけだ。

 このデモで特筆すべきなのは、スピーディで動きの精度がある程度クリティカルなゲームで、インゲームキャラクターを操作できていたことだ。以前レポートした通り、デモの基本的な内容は、SCEA R&Dが同じ3Dセンサーを使って2004年に見せたものと同じだ。しかし、こちらの方がずっとスピーディでゲームらしく仕上がっている。そして、センサーはデモ中は、問題なくユーザーの速い動きに追従しているように見えた。

 Project Natalを担当するMicrosoftのKudo Tsunoda氏(Creative Director, Project Natal)は次のようにカンファレンスで語っていた。

 「今、Xbox 360デベロッパは、ゲームプレイに使える精度の、フルボディのトラッキングを得た。このゲームの操作は、Project Natalだけで行なっている。アビーは体を動かしてアバターをフルにコントロールしている」。

 つまり、懸念材料であるゲームで使えるレベルかどうかを、実機で示すのがこのデモの狙いだった。

●OSのユーザーインターフェイスもジェスチャベースに

 コンピュータ的な視点で、実機デモで興味深かったのは、OSのユーザーインターフェイスの操作だ。

 「Natalの技術を使うと、ダッシュボード(Xbox 360 OSのユーザーインターフェイス)のメニューのナビゲートだけでも、魔法のような体験になる。まず、ダッシュボードで最もクールなのは、Xbox 360が私が誰であるかを認識し、自動的にサインインしてくれることだ。これまでの家電製品では実用されたことがない、顔認識によってこれがなされる」(Tsunoda氏)。

 カメラがユーザーの顔を認識して、自動サインインする。これはムービーでも示されていた。顔認識は、基本的には2DカメラのRGBデータが主体になると推定されるが、深度データがある程度の助けにはなるだろう。Natalセンサーから取り込んだデータが、RGBカラーデータに深度のDを加えたフォーマットになるなら、認識エンジンが比較する際のデータ要素が増える。また、深度センサーのおかげで、ユーザーの身長などのデータを使うこともできる。

 実機デモでは、ダッシュボードの操作をジェスチャで行なっていた。

 「ダッシュボードをナビゲートしよう。単に手を動かすだけで、ダッシュボードの中の異なるカテゴリを選ぶことができる。手を左か右に動かせば、異なるメニューオプションも選べる。メニューの中のどこにも自由に行けて、コントローラは必要ない」(Tsunoda氏)。

 映画『マイノリティ・リポート』的なインターフェイスだ。

 Xbox 360 OSには、前回のメジャーバージョンアップで、アバターが加わった。実機デモでは、このアバターの操作もProject Natalで行なった。ユーザーの動きに従って、アバターがOSのインターフェイスの中で動く。

 「Natalでは、自分の体を動かし声を出すだけで、インゲームキャラクターを完全にコントロールできる。フルボディモーションキャプチャによって、私が動き始めると、私のアバターはすぐに私の動きを真似する。自分のアバターを、想像しうるもっともナチュラルなやり方で動かすことができる」(Tsunoda氏)。

●演出によって3Dセンサーのインターフェイスを自然に見せる

 MicrosoftのProject Natalのデモでは、Peter Molyneux氏が率いるMicrosoft傘下のゲーム開発スタジオLionhead Studiosの「Milo(マイロ)」プロジェクトが紹介された。これも、Natalセンサーの機能をフルに使ったデモだが、機能をうまく隠した演出が優れていた。有名デベロッパが手がければ短期間にこれだけうまく演出できるのなら、アイデア次第で色々できそうだと感じさせるものだった。

 Miloは、仮想キャラクターの少年Miloと自然言語で対話的にコミュニケーションするデモ。Project Natalのモーショントラッカーと音声認識を使って、さまざまなインタラクションを行なう。そのデモの中での白眉は、次のシーンだ。

 Miloとの対話の間に、ユーザーは紙を手にとってそこに絵を描く。下の画面で赤い服の女性が紙に絵を描いているのがそれだ。次に、その紙をMiloの前に差し出すと、Miloがコンピュータ内の仮想世界で紙を受け取り、そこに描かれている絵を見て応える。下の画面にあるように、女性が紙をスクリーンの上にあるセンサーに掲げると、画面の中のMiloがそこに手を伸ばす。次の瞬間には、画面の中に紙が現れてMiloがそれを手に取る。

 Molyneux氏は次のように説明した。

 「これから起きるのは本当に魔法だ。クレア(ユーザー)が紙に絵を描いて、それをMiloに差し出した。Natalは紙を認識しスキャンして、Miloが(スキャンされた)紙を見て形と色を認識し、プロジェクトに取り込んだ。SFでも描かれなかった真のテクノロジーが、今実際に動いている」。

 仕掛けはわかる。ユーザーは、Miloに声をかけて、紙をNatalセンサーに近づける。3Dセンサーは、カメラに向けられた紙が近づいてくるモーションを検知したら、紙の上の画像をRGBデータとして取り込む。同時に、仮想世界で同じ紙を生成して、それがセンサーから検知した紙と同じ位置でMiloに渡されるようにする。もちろん、突っ込めば、紙の裏側が白いとどうやって検知できたかなど、いくつもポイントはある。しかし、この流れを自然に見せた演出は、ゲーム開発者ならではだ。

 ほかにも、デモの中ではユーザーが池の水をかき回して、魚に触ったりといったシーンがあった。これも、ユーザーが突き出した手の深度をセンサーで検知することで成り立っている。


●音声認識でインタラクトするProject Natal

 MicrosoftはProject Natalが、ユーザーの感情も検知できると謳っている。その根拠も、Miloのデモにある。ユーザーが会話の中で「神経質(nervous)」になっていると言うと、途端にMiloが心配そうな顔になり、「神経質なの?」と反応するという演出だ。Molyneux氏は、このシーンではユーザーの声に現れた感情が認識されたと説明している。実際には、神経質という単語にだけ反応する仕掛けなのかもしれないが、まだわからない。

 Natalセンサーはアレイマイクも備えて、音声の高品質なインプットも可能だ。しかし、3Dセンサーによるモーショントラックと較べると、音声認識や、さらに認識した音声の意味や感情を理解することのハードルははるかに高い。それは入力デバイス側の問題ではなく認識処理側の問題だからだ。

 面白いことに、その問題はSCEが指摘している。下は、SCEが5年前に行なった「PS9」セッションのスライドだ。

 ここで、SCEは、アレイマイクなどの技術で、すでにコンピュータは人間よりよく音を「listen」できるようになっているが、「hear」できるかどうかはAIの側の問題だと指摘している。

 listenは、英語的には能動的に聴くことだと説明される。これを機械に置き換えると、音声入力をオンにすることに当たる。つまり、ここで言っているlistenの意味は、機械的に音をインプットする能力だ。

 それに対して、hearは英語的には受動的に聞くことだと言われる。正確には音が耳からはいることではなく、音を知覚することや気づくことを意味する(英英辞典などではhearを明確に知覚(perceive)としている)。これを機械に置き換えると、入力された音を認識する能力となる。つまり、ここで言っているhearの意味は、コンピュータ上での音声認識能力だ(さらにその上位に、意味を理解する「comprehension」がある)。

 listenする能力はセンサーによる機械的な入力の仕組みを改良すれば上がる。Natalセンサーのアレイマイクで向上するだろう。しかし、肝心のhearする能力はセンサーでは向上しない。認識プログラムの側の向上が必要となる。それには、プロセッシングパフォーマンスとソフトウェアの進化が必要だ。

 それに対して、ジェスチャ認識などのモーショントラッキングは、3Dセンサーで著しく向上する。Natalセンサーを導入するProject Natalで、恩恵が大きいのは、モーション認識の方であって、音声認識の方では恩恵は小さいだろう。

 こうして概観すると、Project Natalは演出のうまさで魔法のように見せているが、それなりのハードルと限界があることが見えてくる。実際の製品化で、Microsoftがどう料理して来るかが注目される。