FC2ブログ

[Kinect Hack 2]シェーを認識する 

待ちに待った休日、Kinectいじりをしましょー。

今日は簡単なサンプルプログラムを作ってみようと思います。

まずは、Visual Studio 2010 Experessをインストール。言語はUIとか簡単に作りたいのでC#でいきます。

そしてネットでわかりやすそうなサンプルプログラムを検索、、、

■STEP1
Kinectを使ってC#で「バイバイ」を検出する
これが親切に手順を書いていたので試してみます。

うむ、なにやら手を振ると検出してるぽい。
しかしイマイチ、コンソール画面だと動いてる感じがしません。。。

■STEP2
続いて、画面に画像を出したいと思い、こちらのサンプルコードを試す。
Hacking Kinect with C# using OpenNI: Basic Depth Viewer

WPFを使ってKinectから取得して深度情報画像を表示します。
若干unsafeコンパイルなどでつまづいたものの、丁寧な解説のおかげでサンプル実行DONE。


■STEP3
その後は、開発環境のOpenNIに付属しているサンプルを参考にして、骨格検出にトライ。
付属のプロジェクトをそのままコンパイルしようとすると、エラーが出てうまくいかなかったので、
自分で新規にプロジェクトを作成して、コードをコピペコピペでなんとか動くように。

だんだんわかってきました。
Kinectの骨格認識は、各関節の3D座標を求めてくれます。

そこでその情報から各関節の角度を求めて、以下のサンプルアプリを作ってみました。
シェーのポーズをとると、「シェー!!」と叫んでくれます。

she.png

独自のシェー方程式(?)によって、姿勢がシェーか否かを判定します。



さて、なんかいろいろ出来そうな気がしてきたゾ。

スポンサーサイト



[Kinect Hack 1]KinectをPCに繋いでみる 

会社の勉強会でハッカソン的なのがあり、僕はKinectを使ったアプリケーションを作ろうというチームに。
実務との関連は謎ですが、なんか面白そう、ということで。

KinectというとXboxで身体を使ったゲームするためのセンサーですが、インターフェースがUSBなもんだから、
世界のハッカーたちがその仕組みを解明してしまい、今ではそれがフリーのライブラリとして公開されてます。

さっそく、アマゾンで購入して試す。
ウィンドウズだと割りと簡単に環境構築できます。マックはちょい面倒らしい。

さっそく、マイPCに繋いで認識してみたの図↓


骨格がいとも簡単に認識されちゃってます!
普通のCMOSカメラに加えて赤外線センサーとか組み合わせて3次元情報を認識してるようです。

これはまさに、ちょっと前に描いロボット技術のひとつですね。ゲーム機の世界から家庭やってきたのですねー、、、

さて、なに作るかにー。

ゾクゾクさせる工業製品 

工業製品たるモノ、ヒトをゾクゾクさせて欲しいものです。

僕が今までゾクゾクさせられた工業製品のひとつが、
古いですが、
パナソニックのD-Snapです。
images.jpg


これは言わばコンパクトなデジカメなのですが、
2003年頃当時としては驚愕的なコンパクトさだったのです。
さらにレンズが回転し自分撮りもラクラク。その上音楽も聴けたりします。

留学のタイミングで買ったのですが、
そのコンパクトさにアメリカ人は
「Oh... it's Japanese technology...!」
と驚愕気味なわけです。
鼻高々なわけです。

携帯電話のカメラが高性能化した今となっては、
200万画素のD-Snapはもはや不要ですが、
いまだにそのフォルムにはゾクゾクさせられます。



あと余談ですが、留学してたとき僕は
英語の勉強にとラジオを携帯していました。
それを見たアメリカ人は、Japanから来たハイテク少年に向かって
「Taka, it's mp3 player!」
と言ってきました。(当時mp3プレイヤーは珍しかった)

それに対して
「ノー... イッツ レイディオ」
と答えたときは何とも寂しかったのを記憶しています。