小ネタ 2010-016

Xbox360のモーションセンサーKINECTを動かしてみる

2010年11月20日にKINECTが発売されたので、入手して動かしてみた。(2010-11-21)
アメリカでは先行して発売されて数日の間に早くも色々なhackが出回っている。
実際に試してみた。

 
 接続して動かしたところ

 
 物体を検知するのに赤外線の無数の光点を照射している (肉眼では見えないが、デジカメに映っている)
 ナイトビジョンで撮影するとよく見えるらしい。
 PrimeSenseという方式とのこと。
 KINECTを動かしている近くでWiiを使うと誤動作しそう?

 
 Windows用のソフトを動かしてみたところ

 物体の距離とか大きさの検知する解像度はカメラの映像の解像度に比べるとそんなに高くない。

 何か応用できないか考え中。

 ちなみに、キネクトをPCに接続するhackは、Microsoftが許容する方針だそうだ。
 Link - 「Kinect」のインターフェースをオープンに--マイクロソフトが方針を転換


(後日加筆 2010-11-22)
 キネクト、もっと精度を上げることができないのだろうか? 例えば、2台使ったりしたら三角測量みたいな原理で精度が上がらないのかな? 赤外線の投射は2台とも光線を出すと干渉しそうなので、1台は塞いでおいてだけど。


(後日加筆 2010-11-24)
 キネクト、2台同時に動かすことができるらしい。
 Link - Dueling Kinects
 Link - 動画:2台のKinect で3Dビデオ撮影、視点変更も自在


(後日加筆 2010-12-04)
 キネクトが照射している赤外線レーザーの光点のパターンを、暗視撮影機能のついたデジカメで実際に撮影したみた。
 
 
 自分が撮影したものよりも、こちらのYouTubeの映像のほうがよく見える。

 最初、ランダムなパターンなのかと思ったのだが、明るさの強い信号以外にも弱い信号があり、マトリクス状になっている。

 この光点のパターンが2次元符号化されていて、そのおかげで2台のキネクトを同時に使ってもそれぞれの信号が分離されるらしい。これが2台使っても大丈夫な理由なのかもしれない。



(後日加筆 2010-12-18)
 キネクトの技術を開発したPrimeSenseが公式にオープンソースのソフト「Open NI」を公開し、配布している。
 動かして試してみた。動かし方はこのblog記事を参考にした。
 
 キネクトに映った人物を認識して、その人物の頭や腕、胴体、足といったパーツを認識して、その関節のつながりと角度を計算してくれるので、便利らしい。


(後日加筆 2010-12-19)
 OpenNIを応用して、腕を真っ直ぐに前に伸ばした状態から、腕を上下や左右に動かした動きを検出して、アナログジョイスティックの動きに変換するというのを考え中。
 そして、既存のキネクト非対応のゲーム(RezHDとかGeometryWarsとか)をキネクトで動かすのを試してみたい。

 PCにキネクトと、Xbox360 Input MachineというXbox360をPCで操作するための自作機器を接続すれば、できそうな気がする。


(後日加筆 2011-01-06)
 既にXIMを使ったhackを作った人がいるそうだ。
 Link - 【Kinect+MMD+XIM】キネクトで塊魂やってみた http://www.nicovideo.jp/watch/sm13183670

(後日加筆 2011-01-16)
 自分もXIMを使って実際にやってみた
 Link - Xbox360のモーションセンサーKINECTでゲームを遊んでみる