第11回の「ものぐさマウス」に
「第3回 カメラの利用」のカメラ画像とエレベータのスライダーの機能を追加しました。
●ここでの課題の1つは、SDKドキュメントのインストールです。
http://kinection.jp/post/85
に従いインストールを進めました。
ここで、やってしまいました。
いつかは全部のドキュメントを追加するんだからと
Kinect for Windows SDKだけを追加すれば良いものを、追加できるものを全て選択して更新ボタンを押してしまいました。
更新にWiMAX回線で3時間もかかってしまいました。
更新後、Microsoft ヘルプ ビューアー で確認しました。
●次にKinect Toolkitを使った初期化・終了処理の勉強です。
今まで、自己流で終了処理をつけていましたが、こんなに簡単にできるなんて、もっと前から勉強しておけば良かったと後悔してます。
まずは、Developer Toolkit Browser v1.5.0 を起動し、Kinect Toolkitをインストール(フォルダを指定してコピー)します。
あとは、このKinect ToolkitのプロジェクトをVisula Studioの「既存のプロジェクトの追加」し、
参照でKinect Toolkitを指定すれば使用可能になります。
やってみよう!Kinectアプリ開発 - 第8回 初期化・終了処理
に従いプログラムの修正を行いました。
●ElevationAngle(kinect台を上下に動かす)
なおSDKのドキュメントによると「Kinectセンサーのモーターは継続した操作を想定していないので、モーターの操作をできるだけ少なくすること」と注意書きがありますので注意しましょう。
(目安としては、「1秒間に操作は1回まで」、また「15回操作した後は最低20秒間をあけること」とあります)
知らなかったので、目一杯モーターを動かしていました。(~_~;)
いろいろ、調べてみると、ElevationAngleの処理が、同期式のため、
MinからMaxへの変更などは、最大2秒は処理が待たされ画面が停止してしまいます。
これでは使い物になりません。
私が発案し、某支配人さんが完成させたCheckElevation()も、良く考えてみると、
ElevationAngleの処理が終わった時間でDateTime.Nowしないと最大2秒もずれが生じてしまいます。
その点をを踏まえて、ElevationAngleの処理と次の時間のセットする所を別スレッドにしてみました。
最低角度から最高角度への移動中にも画面が停止しなくなりました。
興味がある方はソースをダウンロードして見てください。
ご要望があれば、ソースの解説を追記します。コメントに希望を書いてください。
■ソース一式はこちらから
KinectCameraSample-08A.zip
■実行結果
以下は実行結果です。
ここでは、ポーズとは何かを勉強します。
「関節の向きから方向ベクトルを取得する方法と、関節の向き同士の角度を調べるために内積を計算する方法を説明します。それらを基にして、具体例を交えてポーズの認識方法と、実際のアプリケーションの作成を行います。」
内積・・・久しぶりすぎて、完全に忘れています。
やってみよう!Kinectアプリ開発 - 第9回 ポーズ認識
に従いプログラムの修正を行いました。
■ソース一式はこちらから
KinectCameraSample-09A.zip
■実行結果
腕と手首がまっすぐになる判定:ベクトルの内積が1、全然、1に近づかなかったので、
0.9を0.5にしてあります。
今回は、ジェスチャーについて勉強していきます。
ジェスチャーは「ある姿勢とそれに付随する動きを含めたもの」=座標と動きの遷移状態でとらえていきます。
まるで通信プロトコルの状態遷移図のようです。
今回のプログラムを読んでみて、昔コーディングした状態遷移図を2次元配列で表現していた手法がそのまま使えそうと思いました。
やってみよう!Kinectアプリ開発 - 第10回 ジェスチャー認識
に従いプログラムの修正を行いました。
■ソース一式はこちらから
KinectCameraSample-10A.zip
■実行結果
「アプリケーションが起動したら、右手を大きく回してみてください。ジェスチャーが正しく認識されると、マスク画像が大きくなります。」とありますが、
ベットの上で座った姿勢で、いくら右手を大きく回しても、腰の座標が取れないので反応しませんでした。
看護師さんにたのんで、右手を大きく回して貰えるだろうか・・・?
今回は継続的なジェスチャー認識の勉強です。
継続的なジェスチャー認識とは、
・体の中心を基準とした相対的な位置
・背景の一点を基準とした相対的な位置
・直前のフレームからの相対的な位置(これは単位時間あたりの移動量であり、速度と考えることもできます)
だそうです。
これまで、やってきたポーズ、ジェスチャーよりわかりやすいです。(作り易いです。)
やってみよう!Kinectアプリ開発 - 第11回 継続的なジェスチャー認識
に従いプログラムの修正を行いました。
■ソース一式はこちらから
MonogusaMouse.zip
■実行結果
アプリを起動して、骨格情報を認識すると、首の左右、前後でマウスが移動します。
マウスがこのアプリに乗っ取られてしまうので、アプリを終了するにはALT+F4で終わらせて下さい。
カメラのイメージ画像がないと、カメラがどこを向いているのかわからなくて、ちっとも骨格情報を認識してくれませんでした。時間があったら、横に小さくカメラ画像を出すように改造したいと思います。
(勿論エレベーター用スライダーも付ける予定です)
「第3回 カメラの利用」のカメラ画像とエレベータのスライダーの機能を追加しました。
■ソース一式はこちらから
MonogusaMouse2.zip
★★★まとめ★★★
ポーズ、ジェスチャーは、こんなにプログラムを書かないとダメなんだ、いうことを認識しました。
カメラの前で、骨格情報や深度情報をレコーディングして、それに名前を付けてそれと一致したら、何か
処理をするみたいなSDKが欲しいと思いました。
コメント (0)
YouTube の動画を挿入
YouTube の URL または動画の ID を入力してください
動画の ID が取得できません。ID もしくは URL を正しく入力してください。
ニコニコ動画の動画を挿入
ニコニコ動画の URL または動画の ID を入力してください
動画の ID が取得できません。ID もしくは URL を正しく入力してください。
ZIGSOWリンク挿入
検索対象とキーワードを入力してください
外部リンクを挿入
リンク先の URL とタイトルを入力してください
URL を正しく入力してください。
ほかのユーザーのレビュー
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
Kinectセンサー の プログラミング ? ----------▼---2012/11/514:09add-----▼----------------=======▽=====KinectSensorLinkList=======▽==========・kinectセンサー首振...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
今回は、連載4〜7回目のレビューになります。本格的にプログラミングな感じになっていきますが、連載の通りに進めていけば問題ないでしょ...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
「やってみよう!kinectアプリ開発」の第二回目レビューを記載させていただきたいと思います。今回の課題は下記のようになっておりました。や...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
最初に、皆様に、レビューの公開が遅れたことをお詫びいたします。ジグソー運営事務局にお願いをして、2週間遅れで公開しました。7月2日に左...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
さて、今回は骨格情報...スケルトンの利用ですね! 全体の流れはこうです。----------------------------------------プロジェクトを開くプロジェクトへの...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
こちらのレビューでは以下の連載内容を実践していきます。やってみよう!Kinectアプリ開発-第4回骨格情報の利用http://kinection.jp/post/58やってみよう...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
【【【】】】【【【】】】【【【】】】【【【】】】【【【】】】*----------*--------*-------*------*-----*----*---*--*-*【【【[[link:やってみよう!Kinectアプ...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
だいぶ遅くなってしまいましたが、やってみました。第4回~第7回レビューです。 第4回骨格情報の利用 http://kinection.jp/post/58 骨格情報を利...
-
やってみよう!kinectアプリ開発連載4〜7回 受講票
第4回骨格情報の利用やってみました。ソースはこちらですhttps://gist.github.com/3033724MainWindow.png顔の回転を入れたのはこちらですhttps://gist.github.com/30...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
Kinectセンサー の プログラミング ?----------▼---2012/11/514:09add-----▼----------------=======▽=====KinectSensorLinkList=======▽==========・kinectセンサー首振...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
最初の10名はどこへやら。なにやらレビューワーの人数が減っている気がしますが、今回もがんばっていきたいと思います。 ん~たしかにね。。...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
「やってみよう!kinectアプリ開発」の第三回目レビューを記載させていただきたいと思います。今回の課題は下記のようになっておりました。や...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
【【【】】】【【【】】】【【【】】】【【【】】】【【【】】】*----------*--------*-------*------*-----*----*---*--*-*【【【[[link:やってみよう!Kinectアプ...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
こちらのレビューでは以下の連載内容を実践していきます。やってみよう!Kinectアプリ開発-第8回初期化・終了処理http://kinection.jp/post/85やってみよ...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
すっかり忘れてました(汗training08ですhttps://gist.github.com/3910361イベントハンドラの削除は、よくわかんないと書いてありますが、たしかリソースリ...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
本来ならもう終わってないとまずいですね>< しかし最近忙しい上に内容がどんどんレベルが上がっていっていて合間合間で出来るレベルじゃな...
-
やってみよう!kinectアプリ開発連載8〜11回 受講票
第8回初期化・終了処理http://kinection.jp/post/85今まで自前でやってきた事がライブラリ化された、kinecttoolkitの使用方法の解説でした。こういうのを積...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
Kinectセンサー の プログラミング ?----------▼---2012/11/514:09add-----▼----------------=======▽=====KinectSensorLinkList=======▽==========・kinectセンサー首振ロ...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
【【【】】】【【【】】】【【【】】】【【【】】】【【【】】】*----------*--------*-------*------*-----*----*---*--*-*【【【[[link:やってみよう!Kinectアプ...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
「やってみよう!kinectアプリ開発」の第四回目レビュー(最終回)を記載させていただきたいと思います。今回の課題は下記のようになっており...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
最後の連載レビューになります。今回は顔を認識しようということになります。今まで顔の位置までは認識していましたが、それをパーツごとに...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
12回と13回に渡り、顔認識の勉強になります。FaceTrackingSDKは、Kinectセンサーを用いて高度な顔認識が行えます。以下のようなことができます。・画...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
運営様から「第三回の内容が理解できれば大丈夫です。」といわれたので参加を決めたこのプレミアムレビューですが、どう考えても自分の力が...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
こちらのレビューでは以下の連載内容を実践していきます。やってみよう!Kinectアプリ開発-第12回FaceTracking(前編)http://kinection.jp/post/95やってみ...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
最後のお題の顔検出をやりました。認識範囲をスケルトンで絞る分、速いですね。顔検出はC#ならMicrosoft.Kinect.Toolkit.FaceTracking、C++ならIFTFaceTrackerに...
-
やってみよう!kinectアプリ開発連載12,13回 受講票
第12回FaceTracking(前編)http://kinection.jp/post/95 第13回FaceTracking(後編http://kinection.jp/post/96
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
Kinectセンサー の プログラミング ?----------▼---2012/11/514:09add-----▼----------------=======▽=====KinectSensorLinkList=======▽==========・kinectセンサー首振ロ...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
Microsoft様、zigsow様今回は「やってみよう!kinectアプリ開発」レビュアーに選出いただきありがとうございます。C言語からのプログラムからは離れ...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
書くことがたくさんなので、出だしはシンプルにさせていただきます! さて、まずは第一回から第三回の分ですね...これは事前に書いておいたの...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
この度は、「kinection.jp:やってみようKinect(キネクト)アプリ開発-ラボクルー集まれ!」のレビュアーに選出いただき、zigsow様及び日本マイクロ...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
最初に突然ですが、Kinectを知っている人が日本人の中でいったい何%ぐらいいるのだろう?自分は元々、XBOX360のKinectを持っていたので知っていた...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
こちらのレビューでは以下の連載内容を実践していきます。やってみよう!Kinectアプリ開発-第1回Kinect(キネクト)の紹介http://kinection.jp/post/3やっ...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
KinectforWindowsセンサーL6M-00005やってみよう!kinectアプリ開発連載1~3回受講票やってみよう!kinectアプリ開発連載4~7回受講票やってみよう!kinectア...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
開発環境Windows8ReleasePreviewVisualStudio2012PC: IntelPentiumG6950(2.8GHz)nVIDIAGTS450 第1回Kinect(キネクト)の紹介1回目はKinectでできる事が紹介されてました。 ...
-
やってみよう!kinectアプリ開発連載1〜3回 受講票
第1回:Kinectの紹介http://zigsow.jp/?m=zigsow&a=page_fh_own_item_detail&own_item_id=205530第2回:Kinectのセットアップ今回の環境は以下のとおりです・iMac(27-inc...
-
Kinect for Windows センサー L6M-00005
Kinectセンサー の プログラミング ?----------▼---2012/11/514:09add-----▼----------------=======▽=====KinectSensorLinkList=======▽==========・kinectセンサー首振ロ...
-
Kinect for Windows センサー L6M-00005
まず最初に、関係者各位様この度は、「kinection.jp:やってみようKinect(キネクト)アプリ開発-ラボクルー集まれ!」に当選いただき、誠にありが...
-
Kinect for Windows センサー L6M-00005
KinectforWindowsセンサーL6M-00005やってみようkinectアプリ開発連載1~3回受講票やってみようkinectアプリ開発連載4~7回受講票やってみようkinectアプリ開...
-
Kinect for Windows センサー L6M-00005
まず最初にこのような機会を与えてくださったzigsow様 ならびにMicrosoft様本当にありがとうございます!とても難しくて、大変なレビューになり...
-
Kinect for Windows センサー L6M-00005
この度は、「kinection.jp:やってみようKinect(キネクト)アプリ開発-ラボクルー集まれ!」のレビュアーに選出頂きまして、誠にありがとうござい...
-
Kinect for Windows センサー L6M-00005
ということで早速送られてきました。Kinectのレビューということで、KinectforWindowsと KinectforXbox360の違いについてなど他のレビューアーさんの補足...
-
Kinect for Windows センサー L6M-00005
この度は、「kinection.jp:やってみようKinect(キネクト)アプリ開発-ラボクルー集まれ!」のレビュアーに選出いただき、zigsow様及び日本マイクロ...
-
Kinect for Windows センサー L6M-00005
開発環境Windows8ReleasePreviewVisualStudio2012
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。