29
第2回 名古屋CV・PRML勉強会 「Kinect」 Kinectの導入 2010/12/18 杉浦 司 @UnaNancyOwen

第2回名古屋CV・PRML勉強会 「Kinectの導入」

Embed Size (px)

DESCRIPTION

2010/12/18 第2回 名古屋CV・PRML勉強会 Kinectの導入 http://atnd.org/events/10379

Citation preview

Page 1: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

第2回 名古屋CV・PRML勉強会 「Kinect」

Kinectの導入

2010/12/18

杉浦 司

@UnaNancyOwen

Page 2: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

自己紹介

• 名前 : 杉浦 司

• Twitter : @UnaNancyOwen (http://twitter.com/UnaNancyOwen)

• Blog : まとめ?ブログ (http://kgxpx834.blog58.fc2.com/)

第2回 名古屋CV・PRML勉強会 「Kinect」 1

Page 3: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

もくじ

• Microsoft Kinect

• OpenKinect OpenNI

• 導入方法

• サンプルプログラム

• まとめ

• おまけ

第2回 名古屋CV・PRML勉強会 「Kinect」 2

※ OpenKinectの導入方法についてはブログに掲載しています (http://kgxpx834.blog58.fc2.com/blog-entry-21.html)

Page 4: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

Microsoft Kinect

• Microsoftが発売した僕達のおもちゃ

• RGB画像,深度画像,音声などを取得できる

• 深度情報の取得にはPrimeSenseのLightCoding という方式を採用している (http://www.primesense.com/?p=514)

第2回 名古屋CV・PRML勉強会 「Kinect」 3

Microsoft Xbox360 http://www.xbox.com/

Page 5: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

Microsoft Kinect

• Microsoftが発売した僕達のおもちゃ

• RGB画像,深度画像,音声などを取得できる

• 深度情報の取得にはPrimeSenseのLightCoding という方式を採用している (http://www.primesense.com/?p=514)

第2回 名古屋CV・PRML勉強会 「Kinect」 4

赤外線投光 RGBカメラ 深度カメラ

(赤外線カメラ)

Microsoft Xbox360 http://www.xbox.com/

Page 6: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

OpenNI

• PrimeSense,WillowGarage,Side-KickがOpenNI.orgという組織を立ち上げた

• OpenNI Frameworkを提供する

– Natural InteractionのためのAPI

– 人物検出や姿勢推定,音声コマンド認識,etc

– ジェスチャ認識用ライブラリNITE

第2回 名古屋CV・PRML勉強会 「Kinect」 5

OpenNI.org http://www.openni.org/

Page 7: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

• 今回の導入環境

第2回 名古屋CV・PRML勉強会 「Kinect」 6

PC SONY VAIO Type Z

CPU Intel Core2Duo P8800 (2.66GHz)

GPU NVIDIA GeForce 9300GSM

OS Microsoft Windows 7 Ultimate 32bit

OpenNI OpenNI 1.0 Alpha build 23 for Win32

NITE PrimeSense NITE version 1.3 Beta

Driver avin2-SensorKinect

※ OpenKinectのドライバをインストールしている場合はアンインストールしておくこと

Page 8: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

① 必要なものを準備します

• OpenNI

– 以下のURLにある “OpenNI 1.0 Alpha build 23 binaries for Win32” のリンクからDLする URL :http://openni.org/ ファイル名 :OPENNI-Win32-1.0.0.23.exe

第2回 名古屋CV・PRML勉強会 「Kinect」 7

Page 9: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

① 必要なものを準備します

• NITE

– 以下のURLにある “PrimeSense NITE version 1.3 Beta” のリンクからDLする URL :http://openni.org/ ファイル名 :NITE-Win32-1.3.0.17.exe

– リンクの横にライセンスキーがあるのでメモしておく 0KOIk2JeIBYClPWVnMoRKn5cdY4=

第2回 名古屋CV・PRML勉強会 「Kinect」 8

Page 10: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

① 必要なものを準備します

• OpenNI Kinect Sensor Driver for Windows

– 以下のURLにある“Downloads”を押してDLする

– DL後ファイルを解凍する URL :https://github.com/avin2/SensorKinect ファイル名 :avin2-SensorKinect-8559efd.zip

第2回 名古屋CV・PRML勉強会 「Kinect」 9

Page 11: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

② KinectをPCに接続する

• Kinectに付属のAC給電/USB接続ケーブルを繋げて PCのUSBポートに接続する

– ※ ケーブルはKinect単体で購入しないと付属しません! (未確認だがXboxカスタマーサポートから購入可能らしい)

第2回 名古屋CV・PRML勉強会 「Kinect」 10

Page 12: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• [コントロールパネル]>[デバイスマネージャー]を開きます

• “ほかのデバイス”の中に“Xbox NUI Motor”があります

第2回 名古屋CV・PRML勉強会 「Kinect」 11

Page 13: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• “Xbox NUI Motor”の右クリックメニューから “ドライバーソフトウェアの更新”を選択

第2回 名古屋CV・PRML勉強会 「Kinect」 12

Page 14: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• “コンピュータを参照してドライバーソフトウェアを 検索します”を選択

第2回 名古屋CV・PRML勉強会 「Kinect」 13

Page 15: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• ドライバの場所を指定

– …¥avin2-SensorKinect-8559efd¥Platform¥Win32¥Driver

第2回 名古屋CV・PRML勉強会 「Kinect」 14

Page 16: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• インストール途中で警告がでますが 構わずインストールします

第2回 名古屋CV・PRML勉強会 「Kinect」 15

Page 17: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

第2回 名古屋CV・PRML勉強会 「Kinect」 16

Page 18: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• “PrimeSensor”の中に“Kinect Motor”が表示されます

• “ほかのデバイス”の中に “Xbox NUI Camera”と“Xbox NUI Audio”が表示されます

第2回 名古屋CV・PRML勉強会 「Kinect」 17

Page 19: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• “Xbox NUI Camera”も同様に ドライバをインストールします

• “Xbox NUI Audio”はまだドライバがありません

– 今後サポートされることを期待しましょう

第2回 名古屋CV・PRML勉強会 「Kinect」 18

Page 20: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

③ ドライバのインストール

• 最終的にデバイスマネージャの表示がこのようになります

第2回 名古屋CV・PRML勉強会 「Kinect」 19

Page 21: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

④ OpenNIのインストール

• DLしたOpenNIインストーラー ”OPENNI-Win32-1.0.0.23.exe”を実行する

第2回 名古屋CV・PRML勉強会 「Kinect」 20

Page 22: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

⑤ PrimeSensor(Mod Kinect)のインストール

• Kinectを使うために必要なモジュールを含んだものらしい

• DLした“OpenNI Kinect Sensor Driver for Windows” の以下のパスにあるインストーラー ” SensorKinect-Win32-5.0.0.exe”を実行する

– …¥avin2-SensorKinect-8559efd¥Bin¥

※ 先にOpenNIがインストールされている必要あり!

第2回 名古屋CV・PRML勉強会 「Kinect」 21

Page 23: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

⑥ NITEのインストール

• DLしたNITEのインストーラー ”NITE-Win32-1.3.0.17.exe”を実行する

第2回 名古屋CV・PRML勉強会 「Kinect」 22

Page 24: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

導入方法

⑥ NITEのインストール

• 途中でライセンスキーを求められるので DL時にメモしたライセンスキーを入力する

第2回 名古屋CV・PRML勉強会 「Kinect」 23

Page 25: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

サンプルプログラム

• 人物検出,姿勢推定のサンプルを実行する

– NiUserTracker.exe (C:¥Program Files¥OpenNI¥Samples¥Bin¥Release¥)

– ニュートラルポジション(図1) をとると姿勢推定を開始する

– 複数人の認識が可能

第2回 名古屋CV・PRML勉強会 「Kinect」 24

NiUserTracker.exe実行

※ Microsoft Visual C++ 2008の入っていない環境では 再頒布可能パッケージが必要になります! (C:¥Program Files¥OpenNI¥Tools¥vcredist_x86.exe)

図1.ニュートラルポジション

Page 26: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

まとめ

• 機能としては以前からあったデバイスだが 遥かに安価で入手できるようになった

• Kinectを使うための土台も整ってきた

• たぶん何か面白いことが出来るよね?

第2回 名古屋CV・PRML勉強会 「Kinect」 25

※ 本スライドの導入方法についてはブログにも掲載しています ただし本スライドの方が詳しく説明していると思います (http://kgxpx834.blog58.fc2.com/blog-entry-22.html)

Page 27: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

おまけ

• OpenKinectとOpenNIについて

– OpenKinect • 有志により作られたKienctライブラリ/ドライバ

• OpenNIよりシンプルな作りのためとても扱いやすい

• OpenNIのような高度なAPIは無く,扱えるのはKinectのみ

– OpenNI • 開発元のPrimeSenseなどが公開しているライブラリ/ドライバ

(事実上の公式ライブラリ/ドライバ)

• OpenKinectより高度なAPI(キャリブレーションなど)を含むが そのぶん扱いが少しだけ複雑になっている

• Kinect以外も扱え(そもそもKinect専用ではない),今後の更新が期待できる

• まとめ (※ 個人的な感想)

– ただ深度情報が欲しいだけならOpenKinectだけで十分である

– より高度なAPIを使いたいならOpenNIを用いる

第2回 名古屋CV・PRML勉強会 「Kinect」 26

Page 28: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

参考

• Microsoft Xbox360 – http://www.xbox.com/

• OpenNI.org – http://openni.org/

• Googleグループ OpenNI – http://groups.google.com/group/openni-dev

• PrimeSense Light Coding – http://www.primesense.com/?p=514

• Willow Garage – http://www.willowgarage.com/

• Twitter / #openni,#kinect – http://twitter.com/#search?q=

• TK’s HP – http://tclip.blog38.fc2.com/

• DERiVE – http://derivecv.tumblr.com/post/2106495200

第2回 名古屋CV・PRML勉強会 「Kinect」 27

Page 29: 第2回名古屋CV・PRML勉強会 「Kinectの導入」

第2回 名古屋CV・PRML勉強会 「Kinect」 28

ありがとうございました