特集
» 2011年08月11日 12時16分 UPDATE

特集・NUIアプリケーション開発を始めよう!:Kinect for Windows SDKによるアプリ開発のポイント (1/3)

「Intel Software Developer Day 2011」のビジュアル・コンピューティング 技術開発トラックの中で披露された、日本マイクロソフトの講演内容を基に、「Kinect for Windows SDK」のβ版を用いたアプリケーション開発の概要を多数のデモ動画を交えて紹介する!!

[八木沢篤,@IT MONOist]

――2011年6月17日(日本時間)、マイクロソフトは「Kinect for Windows SDK」のβ版を公開した。マイクロソフト公認の下、「Kinectセンサー」を用いたアプリケーション開発が容易に行えるようになったこともあり、注目している読者も多いのではないだろうか。

 本稿では、インテルが2011年7月15日に開催した「Intel Software Developer Day 2011」のビジュアル・コンピューティング 技術開発トラックの中で披露された、日本マイクロソフトの講演「Kinect for Windows 最新情報」の内容を基に、Kinect for Windows SDK β版を用いたアプリケーション開発の概要を紹介する。

 まず、講演内容の紹介に入る前に、家庭用ゲーム機を例に、あらためて“ユーザーインタフェース(UI:User Interface)”、特にその入力方式の変化について考えてみたい。

ボタン操作からモーションセンサー……そして、その先へ。家庭用ゲーム機で見るUIの変遷

 コンピュータと人間(ユーザー)との“対話”に不可欠なUI。UNIX/Linux環境などで使われている文字列ベースの「CUI(Character User Interface)」、PCのデスクトップ画面などでおなじみの「GUI(Graphical User Interface)」、そして、ATMやスマートフォンで使われている「タッチインタフェース(タッチパネル+GUI)」など……、コンピュータの歴史とともに、さまざまなUIが誕生し、発展を遂げてきた。

 特に、UIを構成する上で欠かせない“入力”に注目してみると、キーボードやマウスであったり、タッチパネルやマイクであったりと、その機器の用途やユーザビリティを考慮した設計により、コンピュータを操作するための入力手段・装置は多種多様だ。

 こうしたUI(中でも入力)の種類・変遷を考える際、最もダイナミック(?)で、分かりやすい例が、家庭用ゲーム機のコントローラではないだろうか。例えば、任天堂の家庭用ゲーム機の場合、十字キーと2つのボタン(正確にはスタート/セレクトボタンもある)で構成されていたファミリーコンピュータ(ファミコン)のコントローラが、次のスーパーファミコンでボタンが6つ(上部ボタン含む)になり、より複雑な操作を可能にし、その後、アナログスティックが付き……と、エンターテインメント要素の追求とともに家庭用ゲーム機のコントローラはその姿を変えてきた。特に、その変遷の歴史の中でも、2006年に登場した任天堂のWiiの発売以降、家庭用ゲーム機メーカー各社から従来の概念を打ち破る、“革新的”ともいえるUIがこぞって採用されるようになった。

 Wiiでは、ボタンの替わりにモーションセンサーを搭載したコントローラそのものを動かして操作するUIを採用し、ソニー・コンピュータエンタテインメントのプレイステーション 3(PS3)では、モーションコントローラとUSBカメラを併用することで、モーション操作に加え、空間の奥行きまでも感知することを可能にするなど、これまでのボタン操作を排除(厳密にはボタン操作と併用)した、より直観的なUIが積極的に採用されるようになっていった。

 一方、Xbox 360を手掛けるマイクロソフトは、ユーザーが“コントローラ(入力装置)”を持つことなく、ジェスチャや体の動きだけで入力操作できるKinectセンサーを2010年11月に発売した。このKinectセンサーには、赤外線レーザー照射レンズ、カラーカメラ、深度カメラ、4つのマイク、上下可動のモータが内蔵されており、顔認識や音声認識、ジェスチャ入力といった、人の体による自然(ナチュラル)なやりとりによる操作を採用している。

Kinectセンサー(外観) 画像1 Kinectセンサー(外観)(出典:Tech Fielders セミナー 東京「Kinect for Windows SDK をつかおう!」のセッション資料)
Kinectセンサー(内部) 画像2 Kinectセンサー(内部)(出典:Tech Fielders セミナー 東京「Kinect for Windows SDK をつかおう!」のセッション資料)

 こうした家庭用ゲーム機の変遷から見て取れるように、UIには、従来の製品概念(ボタン操作)を打ち破り、製品価値を高める力が秘められているといってもいいだろう。それは家庭用ゲーム機に限らず、あらゆる機器やアプリケーションでも同じことがいえる。例えば、テレビの操作や車載インフォテインメントシステムの操作に、ジェスチャ入力(手の形状と動き)を用いる研究開発なども行われている(関連記事)。


次世代UI「NUI」アプリ開発で注目の“Kinectセンサー”

 突然だが、読者の皆さんは「NUI(Natural User Interface)」という言葉をご存じだろうか。ジェスチャや音声などの自然かつ直観的な手段で実現するUIのことで、ここ最近、このNUIの考え方と各種IT技術との組み合わせによる新たなアプリケーションの開発・創出に注目が集まっている(Microsoft Researchおよびマイクロソフトが未来のUIとして提唱)。

 ただ、当然のことながら、NUIを搭載したシステムを実現するには、人間の体や声を高精度に認識するための装置(ハードウェア)が必要となる。――しかし、こうした装置を一から開発するのは困難であるし、そもそも、装置自体の開発よりも、NUIという未来のUIを用いたこれまでにない新しいアプリケーションソフトウェアを創出したいというニーズの方が多いのではないだろうか。

――「手軽にNUIアプリケーションの開発環境を用意することはできないものか……」。こうしたニーズを持つ開発者(そして、一部の熱狂的なファン!?)たちが注目したのが、前述の“Kinectセンサー”だ。価格もKinectセンサー単体で1万4800円(税込)と比較的入手しやすいため、現時点でNUIを実現するための最も手軽な入力装置といえる。さらに、マイクロソフト非公式ながらKinectセンサーをXbox 360以外のプラットフォームで使用するためのライブラリやドライバ(OpenNI、NITEが有名)も早くから登場しており、Kinectセンサーの発売以来、“Kinectハック”は世界的な広がりを見せていた。


 当初、このように、Kinectセンサーを用いたNUIアプリケーション開発は、マイクロソフト非公式で、Kinectセンサーをハックすることでしか実現できなかったのだが、2011年6月17日(日本時間)、Kinectハックをじっと黙認(?)してきたマイクロソフトが、ついに「Kinect for Windows SDK β版」の無償提供を開始したのだ。

 この発表により、マイクロソフト公認の下、誰でも比較的容易にNUIアプリケーションを開発するための環境(Windows PC、Kinectセンサー、SDKなど)を手に入れられるようになった。現段階において、NUIという新しいUIを活用したアプリケーションをいち早く開発したければ、このSDKとKinectセンサーを活用しない手はないだろう。


ようやく本題へ:Kinect for Windows 最新情報

 さて、ここまでかなり前置きが長くなったが、ここから、β版の公開から間もないKinect for Windows SDKをテーマに、Kinectセンサーの特徴やアプリケーション開発のポイントについて説明していく……と、偉そうに宣言したものの、筆者自身、Kinect for Windowsを触ったこともなければ、そもそもKinectセンサーすら持っていない。

 そこで、本稿では、インテルが2011年7月15日に開催した「Intel Software Developer Day 2011」のビジュアル・コンピューティング 技術開発トラックの中で披露された、日本マイクロソフトの講演「Kinect for Windows 最新情報」の内容を基に、Kinectセンサーを用いたアプリケーション開発の概要を紹介したい。

 本稿の内容を通じて、Kinectセンサーを用いたNUIアプリケーション開発に少しでも興味を持って頂ければ幸いだ。なお、同講演を行ったのは、日本マイクロソフト ホーム&エンタテイメント事業本部 アドバンスドテクノロジーグループ ソフトウェアデベロップメントエンジニア 千葉慎二氏だ。


       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.