SlideShare a Scribd company logo
1 of 31
関西 Kinect勉強会 #0
     Kinect勉強会
OpenNI関連をちょっと調査
      関連をちょっと
OpenNI関連をちょっと調査



    株式会社ソフトレット
     山崎誠 (@letkun)


                     1
会社案内

•株式会社ソフトレットでは、主に以下のような
 開発行っています。

   WEBアプリケーション(主にPHP)の受託。

   スマフォアプリの受託 (Android、iPhone、iPad)

   自社アプリの企画、開発。




                                      2
ソフトレットの公開アプリ
 ソフトレットの公開アプリ
                iPadアプリ

Androidアプリ




                iPhoneアプリ




Android-ライブ壁紙




                            3
関係無いですが・・・
関係無いですが・・・
   いですが

•iPhone版『ぷるぷるアプリ ぷりんちゃん』が
 無事、Appleのレビューを通り公開出来まし
 た!




                            4
はじめに

•関西でのキネクト勉強会おめでとうございます。

•私も7月にKinectセンサーとキネクト本を
 購入して、それからあまり触っていません。

•なので、一緒に勉強していきたいと思います。




                          5
本日お する事
本日お話する事

• 本日は、私の方で調査した以下の内容について
  お話したいと思います。

 ① Kinectセンサー自体の予備知識
 ② OpenNI の概要と、環境作りのお話
 ③ NITEサンプルコードをプチHack




                         6
Kinectセンサー自体の
Kinectセンサー自体の予備知識
      センサー自体

•私はヨドバシカメラで、1. 3万円ほどで
 購入しました。

•ネットで探すと、1.2万円ほどで購入できます。




                        7
Kinectセンサーは単体版を購入しましょう。
Kinectセンサーは単体版を購入しましょう。
      センサー

•XboxとKinectの同梱版を買うと変換ケーブル
 がついていません。




                     ここから先が変換ケーブル
                     で、電源供給の為のACと
                     二股に分かれています。




                              8
Kinectセンサーの
Kinectセンサーの種類
      センサー

•センサーの種類は図の通りです。
 赤外線(Depth)センサーは、TxとRxで2つ。


                  赤外線
                  送信(Tx)
                  送信(Tx)側




赤外線
  (Rx)側
受信(Rx)
受信(Rx)側




                             9
他のセンサーデバイス(Xtion)
  センサーデバイス(Xtion)
• Kinectセンサー以外にも、モーションキャプチャデバイ
  スがあるようです。

• 無論OpenNIで動作するようです。(未確認)




                             10
•動画のように無数の赤外線レーザを照射し
 その歪み具合から深度を取得しているようです。




                      11
「人形(ヒトガタ)」の骨格判別
 人形(ヒトガタ)

•人間の骨格の判別は、人力センサーの
 アルゴリズムのみでは不可能なため
 大勢の人間の形状のパターンを機械学習させ
 そのデータを元に判別しています。




   上記サイトからの引用です。
   http://blogs.wsj.com/tech-europe/2010/11/08/key-kinect-technology-devised-in-cambridge-lab/#

                                                                                                  12
という事
という事で・・・

•Depth(深度)のセンサーと、人形の骨格のマッ
 チング技術により人型と、距離が判別できる。

 こちらの人が
 遠くに居るのか
 隣の人と同じ距離に
 居るが、身長が小さい
 のか判別ができる。




                            13
OpenNIの概要と環境作りのお話
OpenNIの概要と環境作りのお話
             りのお

•OpenNI とは…
  「Open Natural Interaction 」
 …の略で、つまり直訳すると…
  「自然な相互作用」という事。




                                14
OpenNIはフレームワークです
OpenNIはフレームワークです
• 概念的なS/Wスタックは以下のようなイメージです。

               Aplication

                                      NITEは
                                      OpenNIフレームワークの
      OpenNI                          ミドルウェア
               M/W       M/W   NITE




                Driver




                                                  15
環境構築
•基本的には、以下の「Kinectセンサープログラ
 ミング本」と、ネットの情報を元に構築すれば
 簡単に環境構築できますが、自分がつまづいた
 部分を中心にお話します。




                        16
環境構築に必要なもの3
環境構築に必要なもの3つ
       なもの

• 環境を構築する上で、以下の3つが必要です。

 ① OpenNI
 ② NITE
 ③ Sensorドライバー




                      17
ファイルのダウンロードは一括で
ファイルのダウンロードは一括で
• キネクト本の著者@kaorun55さんが
  OpenNI+NITE+Sensorドライバを
  旧バージョン含めて固めてくれていますので
  これを利用すると手早く出来ます。


  http://d.hatena.ne.jp/kaorun55/20110609/1307611002




               @kaorun55さんありがとうございます m(_ _)m




                                                       18
インストールは簡単です
インストールは簡単です

•ダウンロードした3つのインストールと
 VisualStudio をインストールすれば
 基本的には準備完了です。

•本には、「VisualStudio 2010 Express」と
 ありますが、私は 2008 pro で試しましたが
 無論問題ありませんでした。




                                    19
NITEのインストール時
NITEのインストール時

•NITEのインストール時に license key の
 入力を求められますので、以下のKeyを
 インストールする。

   License key : 「0KOIk2JeIBYClPWVnMoRKn5cdY4=」


•後で定義ファイルを修正しても一応…
 対処できます。
  (原因を特定するのに時間がかかりますが)



                                                  20
サンプルの動作確認の
サンプルの動作確認の前に

•インストールが完了したら、OpenNI/NITEの
 サンプルを動作させたくなるのですが
 その前に、以下の点に注意しましょう。

 – OpenNI、NITEの環境は 「C:¥ProgramFiles¥…」
   にインストールされるので、これを任意のユーザー
   フォルダへコピーして使うようにする。

 – OpenNI/NITE共に、Dataフォルダの中のXMLファ
   イルを書き換える必要があります。


                                         21
OpenNIのXML
 OpenNIの
• <Root>/OpenNI¥Data/SamplesConfig.xml




                                         22
NITEのXML①
 NITEのXML①
• <Root>/Prime Sense/NITE/Data

• 以下のファイルのLicenseタグを確認し、keyが入っていなければ
  FREEのkeyを入れておく。




                                       23
NITEのXML②
 NITEのXML②
• <Root>/Prime Sense/NITE/Data/Sample-User.xml


•以下のように<ProductionNodes>タグ内を
 改変しないと使えません。(私はまりました)




                                                 24
<ProductionNodes>タグ改変後
 ProductionNodes>タグ改変後




                         25
環境構築完了

•ここまでできっと動作するようになると思いま
 す。




                         26
NITEのサンプルの きを少
NITEのサンプルの動きを少しHack

•NITEのサンプリの中で一番シンプルな
 『 Boxes Sample 』のソースファイルの
 動きを追いかけてみました。




                             27
サンプルの描画はGLUTを
サンプルの描画はGLUTを使用

•サンプルでは簡易な描画を行う為に、GLUTを
 使用しています。




                          28
CllBackのシーケンス
CllBackの

•『 Boxes Sample 』の中で
 XnVSelectableSlider1Dに登録したCB関数の
 CALL順序は以下の通りでした。

    手を振ると・・・・

    •   SessionStart
    •   MainSlider_OnActivate
    •   MainSlider_OnPrimaryCreate
    •   MainSlider_OnValueChange
    •   MainSlider_OnHover




                                     29
まとめ

•OpenNI自体はシンプルなので、比較的アプリ
 ケーションの組み立ては簡単に出来る印象。

•センサー入力、トラッキングよりも、アプリ
 ケーションとしての表現をどうするか?が
 慣れていない方にはネックになると思いました。




                           30
おしまい




ご清聴ありがとうございました。(^o^)/




                        31

More Related Content

Similar to 20110819 関西 kinect勉強会 初級編

2012 kanemotolablecture7
2012 kanemotolablecture72012 kanemotolablecture7
2012 kanemotolablecture7ytanno
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06Akira Hatsune
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングRyohei Kamiya
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical ComputingTakahiro KUREBAYASHI
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
Dev(ice)love デバイス祭り
Dev(ice)love デバイス祭りDev(ice)love デバイス祭り
Dev(ice)love デバイス祭りKaoru NAKAMURA
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6信之 岩永
 
ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合Kaoru NAKAMURA
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open sourceYoshiyuki Nakamura
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議Kaoru NAKAMURA
 
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介Yasuhiro Yoshimura
 
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2Ryohei Kamiya
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた 見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた Tone Blue
 
opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1Takuya Nishimoto
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようSalesforce Developers Japan
 

Similar to 20110819 関西 kinect勉強会 初級編 (20)

2012 kanemotolablecture7
2012 kanemotolablecture72012 kanemotolablecture7
2012 kanemotolablecture7
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
 
2018/06/22 Neural Network Console Tutorial
2018/06/22 Neural Network Console Tutorial2018/06/22 Neural Network Console Tutorial
2018/06/22 Neural Network Console Tutorial
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical Computing
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Dev(ice)love デバイス祭り
Dev(ice)love デバイス祭りDev(ice)love デバイス祭り
Dev(ice)love デバイス祭り
 
OpenCV 3.0 on iOS
OpenCV 3.0 on iOSOpenCV 3.0 on iOS
OpenCV 3.0 on iOS
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
 
ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議
 
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
 
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
Bee Style:vol021
Bee Style:vol021Bee Style:vol021
Bee Style:vol021
 
見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた 見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた
 
opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみよう
 

20110819 関西 kinect勉強会 初級編