1.Kinectとは
2.Kinectの構成要素
3.サンプルプログラム
4.デモ動画
Kinectは2010年11月にマイクロソフトから販売されたXbox360用のゲームデバイスです。
今までのようにコントローラを用いずに音声やジェスチャーを使用することで自然にゲームをプレイすることができ、人の動きをそのまま取り込む斬新なナチュラルユーザーインターフェースが注目を集めたため、短期間で最も売れたコンシューマデバイスとしてギネス記録にも認定されました。
当初はゲームに使用するだけのものでしたが、PCとの接続も可能であるということもあり、様々なユーザーがKinectハックに挑戦をしました。またこのような経緯により同年11月下旬には、コンピュータ上で動作するようにもなりました。また、Kinctチップを開発しているPrime
Sense社はハードウェア機能を利用するOpenNIをし、Kinectハックは盛り上がるようになりました。
このようなKinectハックの流れにより、2012年にはMicrosoft Windows向けにKinectが発売されるまでに至り、Microsoft社はWindowsでプログラムを開発するために「Kincet for Windows SDK」を提供しました。ver は現在では1.6までがあります。
主な機能
・音声認識
・人物認識
・ジェスチャー認識
SDKの仕組み
KinectはRGBカラー・カメラ、プロジェクタ、赤外線カメラ、マイクロフォン・アレイ、仰角制御モータなどから構成されています。機能としては、カラー画像、深度画像、スケルトン画像、音声、Kinect本体の角度調整などがあります。
・カラー・カメラ
Kinectのカラー・カメラは市販されているなビデオカメラであり、基本的なカラー画像を出力するので、もっともよく使う機能です。
・デプスカメラ(奥行認識)
奥行を認識しているのはデプスカメラですデプスカメラは赤外線カメラと赤外線ランダム・ドット・パターン・プロジェクタを組み合わせることで構成されています。赤外線ランダム・ドット・パターン・プロジェクタのなかには多数のマイクロレンズが配置されており、ランダムにレンズを点灯させます。赤外線カメラは赤外線を感知して認識 するものですがプロジェクタとの間で7.5
㎝離れてます。また、このデプスカメラを使用することでKinectは人物認識をすることが可能となっています。一台のKinectでは最大6名の人物を認識することができます。なぜ6人かというとデプスカメラで得ることができる距離データは16ビットであり、上位13ビットが距離データ、下位3ビットが人物データ となっているためです。
どのように奥行を認識しているか
1.赤外線プロジェクタからランダムに赤外線が照射される。
2.赤外線カメラが照射された赤外線を認識する。
このときにプロジェクタとの距離が7.5 ㎝離れているために赤外線がランダムに照射されている場所とカメラが取得し ている赤外線の場所にずれが生じる。
3.Kinectがそのズレを画素単位で少しずつシフトしていく。そして最もよい相似関係になった時にどの程度シフトしたか が同時に判るので距離が分かる。
以上のように認識しているのでKinectに近いものほど水平シフト量が少なく、離れているものほど水平シフト量が大きくなります。実際にこの機能を使ってみてみると下の写真のようになります。この写真では距離により色を振っており、物体がKinectに近いほど色が赤くなっている。
・スケルトン
Kinectの最大の特徴としてはスケルトンの認識があります。「Kincet for Windows SDK」では、最大2人までのスケルトンを認識することができます。1人につき最大20点の関節位置を取得することができます。このスケルトンの認識は投影しているデプスイメージから人物を検出して抽出し、体のパーツ判定を行いそれぞれの3Dの位置を求めています。
・マイクロフォンアレイ
Kinectの下部に音声マイクが4つ搭載されています。この配置により、音声がどこから来ているかという音源位置の推定が可能となっています。
・仰角制御モータ
Kinectの首の角度を制御しています。台座を中心に上下で約30度の範囲で動作します。
kinectを開発する環境であるKinect for Windows SDKをインストールすることで様々なサンプルプログラムを使用することができる。
スタート→プログラム→Kinect for Windows SDK v1.6→Developer Toolkit Browser v1.6.0 (Kinect for Windows)→各サンプルプログラム
声に反応して、前後左右に動くプログラム 顔を拡大するプログラム 骨格を表示するプログラム
サンプルプログラムの実行
・音声認識
・スケルトン認識
・深度画像取得
Kinectについてのデモ動画
Kinectがどんなものか、どういう構成かの説明動画、またサンプルプログラム
動画
動画
動画