Successfully reported this slideshow.

20110819 関西 kinect勉強会 初級編

2,029 views

Published on

関西 kinect勉強会 初級編のPPTです

Published in: Self Improvement
  • Be the first to comment

  • Be the first to like this

20110819 関西 kinect勉強会 初級編

  1. 1. 関西 Kinect勉強会 #0 Kinect勉強会OpenNI関連をちょっと調査 関連をちょっとOpenNI関連をちょっと調査 株式会社ソフトレット 山崎誠 (@letkun) 1
  2. 2. 会社案内•株式会社ソフトレットでは、主に以下のような 開発行っています。 WEBアプリケーション(主にPHP)の受託。 スマフォアプリの受託 (Android、iPhone、iPad) 自社アプリの企画、開発。 2
  3. 3. ソフトレットの公開アプリ ソフトレットの公開アプリ iPadアプリAndroidアプリ iPhoneアプリAndroid-ライブ壁紙 3
  4. 4. 関係無いですが・・・関係無いですが・・・ いですが•iPhone版『ぷるぷるアプリ ぷりんちゃん』が 無事、Appleのレビューを通り公開出来まし た! 4
  5. 5. はじめに•関西でのキネクト勉強会おめでとうございます。•私も7月にKinectセンサーとキネクト本を 購入して、それからあまり触っていません。•なので、一緒に勉強していきたいと思います。 5
  6. 6. 本日お する事本日お話する事• 本日は、私の方で調査した以下の内容について お話したいと思います。 ① Kinectセンサー自体の予備知識 ② OpenNI の概要と、環境作りのお話 ③ NITEサンプルコードをプチHack 6
  7. 7. Kinectセンサー自体のKinectセンサー自体の予備知識 センサー自体•私はヨドバシカメラで、1. 3万円ほどで 購入しました。•ネットで探すと、1.2万円ほどで購入できます。 7
  8. 8. Kinectセンサーは単体版を購入しましょう。Kinectセンサーは単体版を購入しましょう。 センサー•XboxとKinectの同梱版を買うと変換ケーブル がついていません。 ここから先が変換ケーブル で、電源供給の為のACと 二股に分かれています。 8
  9. 9. KinectセンサーのKinectセンサーの種類 センサー•センサーの種類は図の通りです。 赤外線(Depth)センサーは、TxとRxで2つ。 赤外線 送信(Tx) 送信(Tx)側赤外線 (Rx)側受信(Rx)受信(Rx)側 9
  10. 10. 他のセンサーデバイス(Xtion) センサーデバイス(Xtion)• Kinectセンサー以外にも、モーションキャプチャデバイ スがあるようです。• 無論OpenNIで動作するようです。(未確認) 10
  11. 11. •動画のように無数の赤外線レーザを照射し その歪み具合から深度を取得しているようです。 11
  12. 12. 「人形(ヒトガタ)」の骨格判別 人形(ヒトガタ)•人間の骨格の判別は、人力センサーの アルゴリズムのみでは不可能なため 大勢の人間の形状のパターンを機械学習させ そのデータを元に判別しています。 上記サイトからの引用です。 http://blogs.wsj.com/tech-europe/2010/11/08/key-kinect-technology-devised-in-cambridge-lab/# 12
  13. 13. という事という事で・・・•Depth(深度)のセンサーと、人形の骨格のマッ チング技術により人型と、距離が判別できる。 こちらの人が 遠くに居るのか 隣の人と同じ距離に 居るが、身長が小さい のか判別ができる。 13
  14. 14. OpenNIの概要と環境作りのお話OpenNIの概要と環境作りのお話 りのお•OpenNI とは… 「Open Natural Interaction 」 …の略で、つまり直訳すると… 「自然な相互作用」という事。 14
  15. 15. OpenNIはフレームワークですOpenNIはフレームワークです• 概念的なS/Wスタックは以下のようなイメージです。 Aplication NITEは OpenNIフレームワークの OpenNI ミドルウェア M/W M/W NITE Driver 15
  16. 16. 環境構築•基本的には、以下の「Kinectセンサープログラ ミング本」と、ネットの情報を元に構築すれば 簡単に環境構築できますが、自分がつまづいた 部分を中心にお話します。 16
  17. 17. 環境構築に必要なもの3環境構築に必要なもの3つ なもの• 環境を構築する上で、以下の3つが必要です。 ① OpenNI ② NITE ③ Sensorドライバー 17
  18. 18. ファイルのダウンロードは一括でファイルのダウンロードは一括で• キネクト本の著者@kaorun55さんが OpenNI+NITE+Sensorドライバを 旧バージョン含めて固めてくれていますので これを利用すると手早く出来ます。 http://d.hatena.ne.jp/kaorun55/20110609/1307611002 @kaorun55さんありがとうございます m(_ _)m 18
  19. 19. インストールは簡単ですインストールは簡単です•ダウンロードした3つのインストールと VisualStudio をインストールすれば 基本的には準備完了です。•本には、「VisualStudio 2010 Express」と ありますが、私は 2008 pro で試しましたが 無論問題ありませんでした。 19
  20. 20. NITEのインストール時NITEのインストール時•NITEのインストール時に license key の 入力を求められますので、以下のKeyを インストールする。 License key : 「0KOIk2JeIBYClPWVnMoRKn5cdY4=」•後で定義ファイルを修正しても一応… 対処できます。 (原因を特定するのに時間がかかりますが) 20
  21. 21. サンプルの動作確認のサンプルの動作確認の前に•インストールが完了したら、OpenNI/NITEの サンプルを動作させたくなるのですが その前に、以下の点に注意しましょう。 – OpenNI、NITEの環境は 「C:¥ProgramFiles¥…」 にインストールされるので、これを任意のユーザー フォルダへコピーして使うようにする。 – OpenNI/NITE共に、Dataフォルダの中のXMLファ イルを書き換える必要があります。 21
  22. 22. OpenNIのXML OpenNIの• <Root>/OpenNI¥Data/SamplesConfig.xml 22
  23. 23. NITEのXML① NITEのXML①• <Root>/Prime Sense/NITE/Data• 以下のファイルのLicenseタグを確認し、keyが入っていなければ FREEのkeyを入れておく。 23
  24. 24. NITEのXML② NITEのXML②• <Root>/Prime Sense/NITE/Data/Sample-User.xml•以下のように<ProductionNodes>タグ内を 改変しないと使えません。(私はまりました) 24
  25. 25. <ProductionNodes>タグ改変後 ProductionNodes>タグ改変後 25
  26. 26. 環境構築完了•ここまでできっと動作するようになると思いま す。 26
  27. 27. NITEのサンプルの きを少NITEのサンプルの動きを少しHack•NITEのサンプリの中で一番シンプルな 『 Boxes Sample 』のソースファイルの 動きを追いかけてみました。 27
  28. 28. サンプルの描画はGLUTをサンプルの描画はGLUTを使用•サンプルでは簡易な描画を行う為に、GLUTを 使用しています。 28
  29. 29. CllBackのシーケンスCllBackの•『 Boxes Sample 』の中で XnVSelectableSlider1Dに登録したCB関数の CALL順序は以下の通りでした。 手を振ると・・・・ • SessionStart • MainSlider_OnActivate • MainSlider_OnPrimaryCreate • MainSlider_OnValueChange • MainSlider_OnHover 29
  30. 30. まとめ•OpenNI自体はシンプルなので、比較的アプリ ケーションの組み立ては簡単に出来る印象。•センサー入力、トラッキングよりも、アプリ ケーションとしての表現をどうするか?が 慣れていない方にはネックになると思いました。 30
  31. 31. おしまいご清聴ありがとうございました。(^o^)/ 31

×