2012年10月10日水曜日

JavaからKinectを使うプログラム例をお探しの方へ

とある経緯があって、PrimeSense社のKinect用無償配布ミドルウェア「NiTE」のJavaインタフェースについての解説を探して見つけ出したので、こちらにリンク。

ひとつ前置きしておくと、NITEは骨格座標だけでなく、もっと高度なモーションに関する処理を担当してくれるライブラリで、マイクロソフトのKinect for Windows SDKに近い機能が実現されています。OpenNIはオープンソースなので、C++, C#, JavaなどのAPIが公開されているのですが、NITEに関しては、PrimeSenseのカタログではJavaにも対応していると書かれているものの、どうやって使ったらいいかはどこにも書かれていませんし、ソースもドキュメントも非公開なので、PrimeSenseと契約して魔法少女…もとい、ライセンスかなにかを買わない限り、誰かが使った例を読む以外に具体的なプログラムを作る方法を知ることができません。

それを解説した本が、現在タイで教鞭をとっていらっしゃるらしいAndrew Davison氏の著書「Kinect Open Source Programming Secrets: Hacking the Kinect with OpenNI, NITE, and Java」です。Kindle版は$15ぐらいで結構お安いのですが、どうも地域制限がかかっていて、USでしか買えないようです。

ただ、著者がこの本のドラフト版+最新情報の追加をしたPDFをご自身のサイトで公開されています。

http://fivedots.coe.psu.ac.th/~ad/kinect/index.html

ちゃんとJavaでサンプルが書かれており、NITEを使ってモーション認識する例が記述されています。

ご自身のプロジェクトがJavaで作られており、Kinectに対応させたいとお考えでしたら、参照されるとよいかと思います。