Kinect for Windows v2における概要と開発環境
2014年07月15日、世界各地のMicrosoft Storeで「Kinect for Windows v2 センサー (オープン ベータ)」が発売されました。もちろん日本のMicrosoft Storeでも発売が開始されました。
当初、日本のMicrosoft Storeでは発売日が「Coming Soon」とだけ表示され、いつの発売になるのかまったく情報がありませんでした。それが、発売日前日の2014年07月14日に、下記のサイトで突然、7月15日の発売が発表されました。
The Official Microsoft Japan Blog(マイクロソフト公式ブログ)
http://blogs.technet.com/b/microsoft_japan_corporate_blog/archive/2014/07/14/kinect-for-windows-v2-7-15.aspx
Kinect for Windows v2を待ち望んでいた筆者は7月15日の午前1時にすぐに予約し、7月16日には現物を入手しました。現在Kinect for Windows v2は、下記のURLより購入できます。注文すると2~4営業日で手元に届くようです。
Kinect for Windows v2 センサー (オープン ベータ) の購入 - Microsoft Store Japan オンライン ストア
http://www.microsoftstore.com/store/msjp/ja_JP/pdp/productID.298959900
価格は税込みの21,578円です。発売当初は数量限定販売と報道されていたようですが、原稿執筆時点では、まだ在庫があるようです。「Kinect for Windows v2 センサー (オープン ベータ)」の「オープンベータ」という表記は、Kinect for Windows v2(以下Kinect v2)センサー本体そのものが「オープンベータ」という意味ではなく、提供されているKinectv2のSDKが、現状ではパブリック プレビュー版であるため、このような表記になっているものと思われます。
Kinect for Windows SDK 2.0 Public Previewのダウンロード
「Kinect for Windows SDK 2.0 Public Preview」は下記のURLよりダウンロードが可能です(図2)。
Download Kinect for Windows SDK 2.0 Public Preview from Official Microsoft Download Center
http://www.microsoft.com/en-us/download/details.aspx?id=43661
インストール時の注意点
SDKをダウンロードしてインストールする場合、先にKinect v2をPCと接続していてはならないので、注意が必要です。SDKをインストール後に、Kinect v2を接続します。すると自動的にデバイスのインストールが開始されます。
後ほど解説しますが、Kinect v2を接続できるPCのUSBポートは「3.0」に限られます。しかも正式にサポートされているUSBコントローラーは「Intel」と「Renesas(ルネサス)」のものだけです。これ以外では、たとえUSB 3.0のポートであってもKinect v2が動作しない可能性があるので、注意が必要です。
SDKをインストールすると、「Kinect for Windows Developer Toolkit v2.0.0(以後、Toolkit)」も一緒にインストールされます。Kinect v1の時は、別個にインストールするようになっていましたが、今回はまだPublic Preview版であるため、SDKの中に一緒に含まれています。正式版では、別個に分けられる可能性があるようです。
このToolkitにはいろいろなサンプルが収録されています。後ほど紹介していきます。
本体の構成
Kinect v2本体の構成は図3のように、「RGBカメラ」、「深度センサー」、「マイクアレイ」から構成されています。
Kinect v2センサーのスペックを表1に示します。
特徴 | Kinect v1 | Kinect v2 |
---|---|---|
Color画像 | 640×480 @30 fps | 1920×1080 @30 fps |
Depth(深度)画像 | 320×240 | 512×424 |
最大奥行き距離 | ~4.5M | ~4.5M |
最少奥行距離 | 40cm(Near Mode) | 50cm |
水平視野角 | 57度 | 70度 |
垂直視野角 | 43度 | 60度 |
チルトモーター | 有り | 無し |
骨格定義数 | 20関節/1人 | 25関節/1人 |
最大追跡対象スケルトン | 2人 | 6人 |
手指の検出 | なし | 親指と指先 |
手のポーズ検出 | グーとパーのみ | グー、チョキ、パー |
音声入力 | あり | あり |
表1から明らかなように、Kinect v1より大幅に性能が向上しています。とくに「Color画像」はKinect v1は解像度が「640×480」であったため、必ずしも綺麗な画像とは言えませんでした、しかし、Kinect v2では解像度が「1920×1080」にアップし、また画像も自然色に近くなり、格段に美しくなりました。
Color画像の比較
Kinect v1時のColor画像とKinect v2時のColor画像の比較は図4になります。
Depth 画像の比較
「Depth画像」のDepthは「深度」、すなわち奥行方向の距離を表しています。「Depth画像」のデータは、ピクセルごとに深度を持っているため、「Color画像」と組み合わせて距離を測ったり、画像をマスクしたりするのに使用されます。「Depth画像」は、Kinect v1では解像度が「320×240」でしたが、Kinect v2では「512×424」まで解像度がアップしています(図5)。
骨格定義数
では次に、「骨格定義数」についてみていきましょう。Kinect v2とKinect v1のそれぞれが認識できる関節は、図6のようになります。
[参照URL] http://msdn.microsoft.com/ja-jp/library/jj131025.aspx
Kinect v1と比較すると、Kinect v2では「首(NECK)」、「右手先(HAND_TIP_RIGHT)」、「右手親指(THUMB_RIGHT)」、「左手先(HAND_TIP_LEFT)」、「左手親指(THUMB_LEFT)」の5関節の追加取得が可能になっています。
動作環境
Kinect v2を動作させるのに必要な環境を表2に示します。
OS | Windows 8またはWindows 8.1、Embedded含む |
---|---|
プロセッサ | 64-bit(x64)プロセッサ。デュアルコア3.1GHz以上 |
USB | USB 3.0(IntelまたはRenesasサポート) |
RAM | 最低2GB(4GB推奨) |
グラフィックカード | DirectX11(Intel HD 4000, AMD Radeon HD 6470M, NVIDIA GeForce 610m, AMD Radeon HD 6570) |
開発環境 | Visual Studio 2012、Visual Studio 2013(無料のExpress可)、Unity Pro |
対応言語 | C++、C#、Visual Basic、Unity(Pro)、HTML(JavaScript) |
※Kinect v2からはWindowsストア アプリにも対応。
ではToolkitに含まれているサンプルを、画像を交えて紹介しましょう。
Kinect for Windows Developer Toolkit v2.0.0に含まれるサンプル
赤外線サンプル
暗闇の中で赤外線画像を取得してみました。
背景とのマッピングサンプル Coordinate Mapping Basics-WPF
背景を除去して人物を残し、別な背景をはめ込み、人物と合成表示しています。
音声認識サンプル
「Forward」、「Back」、「Turn Left」、「Turn Right」の音声を認識して、亀が前後に動いたり、向きを変えたりします。
Windowsストアアプリ用インタラクションコントロール
Windowsストアアプリに対して、操作が可能なXAMLコントロールが提供されました。下記の画像では、上部(赤く囲んだ部分)に小さく操作している様子が描画され、Windowsストアアプリのタイル上に、手の形をしたカーソルが表示され、これで画面の操作が可能になっています。
他にもいろいろなサンプルが用意されているますので、動かして試してみるといいでしょう。これらのサンプルはインストールするとプロジェクトファイル自体がインストールされ、VS2013上で編集が可能になります。但し、Visual Basicのサンプルは付属しておりませんでした。筆者としては少し残念な思いをしました。またKinect v1のToolkit v1.8に付属していた、Kinect Fusion(図11)や顔認識のサンプルは、今回のKinect v2のToolkitには含まれていません。正式版では追加されると思います。Kinect Fusionとは、接続したKinectセンサーで被写体を撮影し、3Dモデルとしてのデータを作成する事が出来る機能です。
Kinect Studioとは
またToolkitとは別に「Kinect Studio」も付属しています(図12)。Kinect Studioは、Kinectアプリケーション開発支援ツールです。Kinect Studioは、Kinectから取得できる「Color」や「Depth」のストリームデータをファイルに記録して、いつでも再生して確認できるツールです。 この「記録」と「再生」機能により、Kinectアプリケーションの開発やデバッグを大変に楽にしてくれる点が、Kinect Studioの特徴です。
Kinect v2プログラム作成手順
今回のKinect v2プログラミングはWindows Presentation Foundation(以下、WPF)で作成します。無料版のVisual Studio 2013 Express(以下、VS2013 Express)では、WPFを作成できません※ので、原則として今回のプログラムは、Visual Studio 2013 Professional(以下、VS2013)以上の開発環境でしか動作しません。但しVS2013 Expressでも、Windowsストアアプリとしてなら作成は可能です。
追記(※)Visual Studio 2013 Express for Desktopでは作成可能です。
今回はOSにWindows 8.1+Update1、開発環境にVisual Studio 2013 Ultimate+Updade3を用いています。言語はVisual Basicを使用します。
まずVS2013を起動します。[ファイル]ー[新規作成]ー[プロジェクト]と選択し、Visual Basicから「WPF アプリケーション」を選択します。「名前」には今回は適当に「WPFTest」と付けておきましょう(図13)。
参照設定
MainWindow.xamlのページが表示されます。今回はKinectを使用するため、Kinectへの参照を追加しておく必要があります。ソリューションエクスプローラー内の「すべてのファイルを表示」アイコンをクリックして、「参照設定」を表示させます(図14)。初めて起動した状態ではこの「参照設定」は表示されておりません。
表示された「参照設定」を選択し、マウスの右クリックで表示される「参照の追加」をクリックします。すると、「参照マネージャー」が表示されます。一度Kinectへの参照を追加しておいた場合は、この画面に「Microsoft.Kinect.dll」が表示されています(図15)。
図15ではすでに表示されていますが、初めての場合は表示されていませんので、「参照」ボタンをクリックして、
C:\Program Files\Microsoft SDKs\Kinect\MainV2\Assemblies
フォルダ内にある「Microsoft.Kinect.dll」を指定します。
上記の「MainV2」のフォルダも、環境によっては「v2.0-PublicPreview」という名前になっている場合があります。
追加した「Microsoft.Kinect.dll」を選択してチェックを付け、「OK」ボタンをクリックすると、「参照設定」の中に「Microsoft.Kinect」が追加されます(図16)。
以上で、Kinect v2のプログラミングを行う環境が整いました。次回から、早速Kinect v2の基本的なプログラムの作成方法に入ります。お楽しみに。
<編集部より> 3ページ目に一部追記しました。(2014.09.03)
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Kinectプログラミングのための環境構築と簡単なサンプル
- Kinect v2のカメラから画像を取り込んで表示する基本プログラム
- Windows用のKinectはXbox用と何が違うの?
- Xbox OneのKinect v2がPCでも使える? Kinect v2最新動向
- Kinect v2のIRセンサーから赤外線画像を読み込む
- Kinect v2の深度センサーから取り込んだ画像を表示する
- 人物特定に使える!?実際の映像で顔を認識するKinectプログラム
- Visual Basicでユニバーサルアプリに挑戦!
- 自分の現在位置を取得して表示するサンプルプログラム
- Silverlight 4の概要と、開発環境の構築