Submit Search
Upload
教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料
•
4 likes
•
2,879 views
Y OCHI
Follow
2014.06.14に近畿大学理工学部にて開催された教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)の資料です。
Read less
Read more
Education
Report
Share
Report
Share
1 of 38
Download now
Download to read offline
Recommended
Kinect で power point 操作しよう!
Kinect で power point 操作しよう!
Oda Shinsuke
Kinect v2 応用事例
Kinect v2 応用事例
Kaoru NAKAMURA
Depthセンサーで稼ぐ
Depthセンサーで稼ぐ
Kaoru NAKAMURA
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー
Kaoru NAKAMURA
ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来
Kaoru NAKAMURA
ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合
Kaoru NAKAMURA
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Akira Hatsune
KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方
Kaoru NAKAMURA
Recommended
Kinect で power point 操作しよう!
Kinect で power point 操作しよう!
Oda Shinsuke
Kinect v2 応用事例
Kinect v2 応用事例
Kaoru NAKAMURA
Depthセンサーで稼ぐ
Depthセンサーで稼ぐ
Kaoru NAKAMURA
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー
Kaoru NAKAMURA
ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来
Kaoru NAKAMURA
ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合
Kaoru NAKAMURA
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Akira Hatsune
KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方
Kaoru NAKAMURA
いま注目のセンサー&デバイス
いま注目のセンサー&デバイス
Kaoru NAKAMURA
Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版
Kaoru NAKAMURA
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Kaoru NAKAMURA
TMCN Vol 8
TMCN Vol 8
Kaoru NAKAMURA
インテル Real Sense Hands On Lab
インテル Real Sense Hands On Lab
Kaoru NAKAMURA
はじめてのKinect for windows v2
はじめてのKinect for windows v2
Kaoru NAKAMURA
Kinect Camp with TMCN / Kinect v2 概要
Kinect Camp with TMCN / Kinect v2 概要
Akira Hatsune
Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方
Kaoru NAKAMURA
続・Kinect v2を通してMicrosoft技術を考える
続・Kinect v2を通してMicrosoft技術を考える
Yuki Igarashi
Tokyo Motion Network
Tokyo Motion Network
Kaoru NAKAMURA
ViEW2013 「SS-01 画像センサと応用事例の紹介」
ViEW2013 「SS-01 画像センサと応用事例の紹介」
Tsukasa Sugiura
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Mori Tetsuya
Kinect v2を通してMicrosoft技術を考える
Kinect v2を通してMicrosoft技術を考える
Yuki Igarashi
Swift for pose-estimation
Swift for pose-estimation
mana o2
FMCN Kinectハンズオン
FMCN Kinectハンズオン
Keizo Nagamine
HVC-C Open Fab Night HVC-CをiOSでいじってみた
HVC-C Open Fab Night HVC-CをiOSでいじってみた
Kaoru NAKAMURA
GCS2014 TMCN
GCS2014 TMCN
Kaoru NAKAMURA
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
Satoshi Maemoto
110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub
Takayoshi Tanaka
気持ちよい操作感を演出するスタイリッシュモーションという考え方
気持ちよい操作感を演出するスタイリッシュモーションという考え方
Akira Hatsune
Hands on
Hands on
Keiji Kamebuchi
【TFSUG】プロダクトオーナーシップ
【TFSUG】プロダクトオーナーシップ
shibao800
More Related Content
What's hot
いま注目のセンサー&デバイス
いま注目のセンサー&デバイス
Kaoru NAKAMURA
Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版
Kaoru NAKAMURA
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Kaoru NAKAMURA
TMCN Vol 8
TMCN Vol 8
Kaoru NAKAMURA
インテル Real Sense Hands On Lab
インテル Real Sense Hands On Lab
Kaoru NAKAMURA
はじめてのKinect for windows v2
はじめてのKinect for windows v2
Kaoru NAKAMURA
Kinect Camp with TMCN / Kinect v2 概要
Kinect Camp with TMCN / Kinect v2 概要
Akira Hatsune
Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方
Kaoru NAKAMURA
続・Kinect v2を通してMicrosoft技術を考える
続・Kinect v2を通してMicrosoft技術を考える
Yuki Igarashi
Tokyo Motion Network
Tokyo Motion Network
Kaoru NAKAMURA
ViEW2013 「SS-01 画像センサと応用事例の紹介」
ViEW2013 「SS-01 画像センサと応用事例の紹介」
Tsukasa Sugiura
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Mori Tetsuya
Kinect v2を通してMicrosoft技術を考える
Kinect v2を通してMicrosoft技術を考える
Yuki Igarashi
Swift for pose-estimation
Swift for pose-estimation
mana o2
FMCN Kinectハンズオン
FMCN Kinectハンズオン
Keizo Nagamine
HVC-C Open Fab Night HVC-CをiOSでいじってみた
HVC-C Open Fab Night HVC-CをiOSでいじってみた
Kaoru NAKAMURA
GCS2014 TMCN
GCS2014 TMCN
Kaoru NAKAMURA
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
Satoshi Maemoto
110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub
Takayoshi Tanaka
気持ちよい操作感を演出するスタイリッシュモーションという考え方
気持ちよい操作感を演出するスタイリッシュモーションという考え方
Akira Hatsune
What's hot
(20)
いま注目のセンサー&デバイス
いま注目のセンサー&デバイス
Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
TMCN Vol 8
TMCN Vol 8
インテル Real Sense Hands On Lab
インテル Real Sense Hands On Lab
はじめてのKinect for windows v2
はじめてのKinect for windows v2
Kinect Camp with TMCN / Kinect v2 概要
Kinect Camp with TMCN / Kinect v2 概要
Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方
続・Kinect v2を通してMicrosoft技術を考える
続・Kinect v2を通してMicrosoft技術を考える
Tokyo Motion Network
Tokyo Motion Network
ViEW2013 「SS-01 画像センサと応用事例の紹介」
ViEW2013 「SS-01 画像センサと応用事例の紹介」
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Kinect v2を通してMicrosoft技術を考える
Kinect v2を通してMicrosoft技術を考える
Swift for pose-estimation
Swift for pose-estimation
FMCN Kinectハンズオン
FMCN Kinectハンズオン
HVC-C Open Fab Night HVC-CをiOSでいじってみた
HVC-C Open Fab Night HVC-CをiOSでいじってみた
GCS2014 TMCN
GCS2014 TMCN
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub
気持ちよい操作感を演出するスタイリッシュモーションという考え方
気持ちよい操作感を演出するスタイリッシュモーションという考え方
Viewers also liked
Hands on
Hands on
Keiji Kamebuchi
【TFSUG】プロダクトオーナーシップ
【TFSUG】プロダクトオーナーシップ
shibao800
Honor Choir 2s
Honor Choir 2s
MissRains0426
Presentatie reinier engels[1]
Presentatie reinier engels[1]
reiniervolgers
Kinder parade festijn 2012
Kinder parade festijn 2012
Doe-Kids
Bridging research waters
Bridging research waters
quill_west
Server Consolidation with OM Plus Delivery Manager
Server Consolidation with OM Plus Delivery Manager
Plus Technologies
Cours photo contemporaine 2012bis
Cours photo contemporaine 2012bis
diedrich2
Androidアプリの特徴をちょっと紹介
Androidアプリの特徴をちょっと紹介
Masaki Watanabe
Print Throughput and OS Spooling Limitations
Print Throughput and OS Spooling Limitations
Plus Technologies
Online experience, audio wire
Online experience, audio wire
denisevdmeer1992
Presentation2 (1)
Presentation2 (1)
Fadi Hweidi
The 7 Not-So-Obvious Implications of General Solicitation Offerings
The 7 Not-So-Obvious Implications of General Solicitation Offerings
Trevor Crow
Universidad técnica de ambato final
Universidad técnica de ambato final
yeseduvillacis
How to talk_to_parents_so_they'll_understand_ppt
How to talk_to_parents_so_they'll_understand_ppt
Roger Hernandez
Marketin industrial
Marketin industrial
charlierod62
Secrets for Growing Conference Sponsorship Revenues
Secrets for Growing Conference Sponsorship Revenues
Donna Kastner
Library information centre
Library information centre
spiralz
Sekilas info seleb week 1210
Sekilas info seleb week 1210
yusdiwibowo
ομιλια για χρηση ουσιων
ομιλια για χρηση ουσιων
Yolanda Komianou
Viewers also liked
(20)
Hands on
Hands on
【TFSUG】プロダクトオーナーシップ
【TFSUG】プロダクトオーナーシップ
Honor Choir 2s
Honor Choir 2s
Presentatie reinier engels[1]
Presentatie reinier engels[1]
Kinder parade festijn 2012
Kinder parade festijn 2012
Bridging research waters
Bridging research waters
Server Consolidation with OM Plus Delivery Manager
Server Consolidation with OM Plus Delivery Manager
Cours photo contemporaine 2012bis
Cours photo contemporaine 2012bis
Androidアプリの特徴をちょっと紹介
Androidアプリの特徴をちょっと紹介
Print Throughput and OS Spooling Limitations
Print Throughput and OS Spooling Limitations
Online experience, audio wire
Online experience, audio wire
Presentation2 (1)
Presentation2 (1)
The 7 Not-So-Obvious Implications of General Solicitation Offerings
The 7 Not-So-Obvious Implications of General Solicitation Offerings
Universidad técnica de ambato final
Universidad técnica de ambato final
How to talk_to_parents_so_they'll_understand_ppt
How to talk_to_parents_so_they'll_understand_ppt
Marketin industrial
Marketin industrial
Secrets for Growing Conference Sponsorship Revenues
Secrets for Growing Conference Sponsorship Revenues
Library information centre
Library information centre
Sekilas info seleb week 1210
Sekilas info seleb week 1210
ομιλια για χρηση ουσιων
ομιλια για χρηση ουσιων
Similar to 教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料
Mastering open cv kinectv1 marker based ar
Mastering open cv kinectv1 marker based ar
Satoshi Fujimoto
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
Kaoru NAKAMURA
第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」
Tsukasa Sugiura
2012 kanemotolablecture7
2012 kanemotolablecture7
ytanno
Kinect for Windows v2
Kinect for Windows v2
Kaoru NAKAMURA
Kinectプログラミング Step by Step
Kinectプログラミング Step by Step
Akira Hatsune
Flex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxug
Flex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxug
Sadao Tokuyama
KinectプログラミングStepByStep
KinectプログラミングStepByStep
信之 岩永
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
わんくま勉強会東京#67 LT資料
わんくま勉強会東京#67 LT資料
Kenji Daikoku
Kinect導入講座
Kinect導入講座
nitmic
kintoneアプリをjavascriptでいじってみよう
kintoneアプリをjavascriptでいじってみよう
Kyouhei Kitagawa
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
Yasutomo Imairi
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
Ryohei Kamiya
Dev(ice)love デバイス祭り
Dev(ice)love デバイス祭り
Kaoru NAKAMURA
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Yasuhiko Yamamoto
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
第5回業開中心会議
第5回業開中心会議
Kaoru NAKAMURA
UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座
Yuichi Ishii
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
Saki Homma
Similar to 教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料
(20)
Mastering open cv kinectv1 marker based ar
Mastering open cv kinectv1 marker based ar
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」
2012 kanemotolablecture7
2012 kanemotolablecture7
Kinect for Windows v2
Kinect for Windows v2
Kinectプログラミング Step by Step
Kinectプログラミング Step by Step
Flex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxug
Flex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxug
KinectプログラミングStepByStep
KinectプログラミングStepByStep
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
わんくま勉強会東京#67 LT資料
わんくま勉強会東京#67 LT資料
Kinect導入講座
Kinect導入講座
kintoneアプリをjavascriptでいじってみよう
kintoneアプリをjavascriptでいじってみよう
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
Dev(ice)love デバイス祭り
Dev(ice)love デバイス祭り
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
第5回業開中心会議
第5回業開中心会議
UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料
1.
Kinect勉強会資料 おち@おちラボ 2014.06.14 教育システム情報学会関西支部若手研究者フォーラム Kinect勉強会(Hackathon)資料
2.
本日の勉強会の狙い □Kinectプログラミングの基礎 □アプリケーションを作っていく上での肝 □簡単なプログラムを作ってみる(スケルトン利用)
3.
プログラミングに必要なもの Kinect 本体 □ Kinect
for Windows 今年の夏まではこれ! □ Kinect for XBOX360 ・XBOX用 ・商用利用不可 ・Nearモード非対応
4.
Kinect のハードウェア □ RGBカメラ □ 赤外線カメラ □ 赤外線LED □マイクアレイ(4つ) □加速度センサー
5.
プログラミングに必要なもの □SDK(必須) ・using Microsoft.Kinect. □開発者ツールキット(あったほうがいい) ・SDKとは別にダウンロード ・using Microsoft.Kinect.Toolkit; ・サンプルや拡張ライブラリがある ・動作確認にも使える
6.
動作するPC □Windows7以上 □Windows on 仮想マシン
on Mac ・Vmware ・Pallarels ・bootCamp □Mac、Linux (OpenNI+NITE利用)
7.
Kinectプログラミング始めるにあたって プログラミング言語はどうするか? C++、C#、Scratch等、対応言語はいろいろ →とりあえずC#が無難 Kinect SDK 更新が多い。できるだけ最新版に。(後述) → 書籍では未対応な箇所が多い グラフィック処理(視覚的な支援をするなら) Windowsグラフィックスの知識が必要 (FormではなくWPFを推奨)
8.
Kinectプログラミングの勉強は ちょっと厄介 SDK1.6以降から変更点が多い ・利点:機能追加、パフォーマンス向上 ・欠点:対応書籍が少ない 次世代Kinect (Kinect2)は1.6以降のスタイルを 踏襲しつつ更に変更 → 追従しないとダメです
9.
とりあえず動かしてみよう Developer tool Kit
Browserを利用してみよう ・Developer Tool Kit についている ・動作確認にも使える ・これだけでも楽しめる
10.
Kinectから何が入手できるのか(1) □RGBカメラ映像 1. InfraredResolution640x480Fps30 2. RawYuvResolution640x480Fps15 3.
RgbResolution1280x960Fps12 4. RgbResolution640x480Fps30 5. YuvResolution640x480Fps15 6. RawBayerResolution640x480Fps30 7. RawBayerResolution1280x960Fps12
11.
Kinectから何が入手できるのか(2) Depthカメラからの深度情報 ・いわゆるDepthイメージ ・各ピクセルに深度データ+ユーザID (13bit) (3bit) ● Unknown [
0 ~ 400mm , 8000mm 〜] ● TooNear [ 400 ~ 800mm ] ● 400 ~ 3000 mm (Nearモード) ● 800 ~ 4000 mm (Normalモード) ● TooFar [ 4000 ~ 8000mm ]
12.
認識のためのモード変更 Nearモード kinect.DepthStream.Range =DepthRange.Near; Seatedモード kinect.SkeletonStream.TrackingMode = SkeletonTrackingMode.Seated; → 上半身10箇所だけとれる
13.
深度データの計測原理と制約 原理:Light Coding □赤外線LEDでランダムドットパターンを照射 □赤外線カメラで受信 両者の位置にズレ ・・・影ができる Kinect2 ・TOF方式による深度計速 ・赤外線LED+カメラの位置が同じ 影が解消!
14.
Kinectから何が入手できるのか(3) (Kinectを中心に) 座標(X,Y,Z) 角度(方向ベクトル) http://msdn.microsoft.com/en-us/library/jj131025.aspx Skeleton情報
15.
Skeletonの座標系確認 出力単位はメートルです X Y Z
16.
単位の違いに注意 Depthカメラ mm(ミリメートル)単位 Skeleton情報 m(メートル単位)
17.
Kinectから何が入手できるか?(4) ~骨格情報の信頼度~ □基本的に正面を向いていることを前提 ・交差に弱い ・回転には未対応 □関節状態を利用する JointTrackingState.Inferred ・・・推定状態 JointTrackingState.Tracked ・・・測定状態 → 精度はさほど良くない □独自に解釈し直す
18.
複数ユーザへの対応 □最大6名まで認識可能(スケルトンは2つ) PlayerIndex 1~6 0の場合は存在しない → 認識できてしまうことが厄介!! □意図しない複数ユーザへの対応をどうするか? → 複数ユーザへの対応をしないのであれば しないための実装工夫が必要
19.
実は、床面情報もわかるらしい SkeletonFrameのFloorClipPlaneプロパティ 床のX,Y,Z方向 +床までの距離(D) AR処理をする際は要利用検討
20.
Kinectプログラミングの肝 □Skeletonの情報を利用するだけでは限界 (初心者には やりやすい) □ Depthイメージを如何に利用するか? → 画像処理(CV)の知識が必要 □Skeletonの情報を独自に推定
21.
ここからプログラミングの話へ
22.
Kinectからのデータは どうやって入手するのか? Kinectのクラスでイベントが用意されている ・SkeltonFrameReady ・DepthFrameReady ・ColorFrameReady ・AllFrameReady ・InteractionFrameReady これらのイベントが 最大30fpsの間隔でやってくる
23.
イベントの注意事項(1) ・SkeltonFrameReady + ・DepthFrameReady + ・ColorFrameReady AllFrameReady≠ シングルスレッド Color → Depth → Skelton
24.
イベントの注意点(2) Colorフレームは遅れてやってくる 例) フレーム番号(タイムスタンプ)の比較 img:2090 (10385649ms) dep:2101 (10385656ms) skl:2101 (10385656ms) AllFrameReadyでも同様
25.
AllFrameReadyを使うのが無難 ● skltonとdepthを同時に扱いたい場合 ● skltonとdepthのイベント取得順序に 縛られたくない場合 ColorFrameの遅れは解消しない
26.
イベントを制御することはできないか? ニーズ ・他のイベントフレームワークと競合する ・自分のフレームワーク上でコントロールしたい ・別スレッドで処理したい 可能です → ポーリングメソッドが用意されている (自分のアプリのループの中で) OpenNextFrameメソッドを呼び出す 難易度高
27.
各Frame情報の破棄について ● かならず Dispose()する必要がある ● C#のusingステートメントで括れば Disposeする必要はありません 例)XXXFrameReadyイベント内で using
(ColorImageFrame colorFrame = args.OpenColorImageFrame(){ }
28.
マルチスレッド化について Color、Depth、Skeletonなどを全て扱っていると 処理が重くなる マルチスレッド化がベター → イベント登録処理を別スレッドにする Threadクラス、Backgroudworkerクラス 欠点 UIスレッドへの処理についてInvokerが必要
29.
骨格情報の構造 SkeletonFrame Skeleton[ユーザID] TrakingID TrakingState Position ・・・ 重心(脊椎: Spine) ClippedEdge ・・・Kinectの視野外かどうか
Joints[JointType.ID] ・・・ Jointの配列 Joint ・・・ 各関節 Position(X,Y,Z), TrackingState CopySkeletonDataTo
30.
骨格情報のカスタマイズ 実は、 kinect.SkeletonStream.Enable();に TransformSmoothParametersを渡せば、 骨格上出力のカスタマイズができる ・補正の正確性 ・ジッタを軽減する半径(範囲) ・生のデータから逸脱できる最大の半径 ・フレーム間予測するフレーム数 ・平滑化(スムージング)
31.
骨格入手のユーザ指定 複数の人物からどれのスケルトンを入手するか? →デフォルトではシステム任せ 任意のユーザIDを指定可能 SkeletonStream.AppChoosesSkeletons =true SkeletonStream.ChooseSkeletons()メソッド で、1名または2名のIDを指定可能 なんらかの方法でユーザの特定が必要
32.
Kinectプログラミングのレベル (初心者) ・SkeltonFrameの座標情報だけを利用 (中・上級者) ・SkeltonFrameの情報を修正する ・DepthFrameの情報を組み合わせる ・ColorImageの情報を組み合わせる (CV系の技術を組み合わせる)
33.
Skeleton/ColorFrameに対するメモ書き //byte配列に格納する byte[] pixelData =
new byte[colorFrame.PixelDataLength]; colorFrame.CopyPixelDataTo(pixelData); //表示処理 this.rgbBitmap.WritePixels(this.colorImageBitmapRect, pixelData, this.colorImageStride, 0); //スケルトンの情報をSkeleton配列に格納する Skeleton[] skeletonData = new Skeleton[skeletonFrame. SkeletonArrayLength]; skeletonFrame.CopySkeletonDataTo(skeletonData);
34.
DepthFrameに対するメモ書き 表示するときはShort型に変換する //DepthFrame表示用処理 short[] DepthBitmapPixelData depthFrame.CopyPixelDataTo(DepthBitmapPixelData); this.depthBitmap.WritePixels(this.depthImageBitmapRect, DepthBitmapPixelData,
this.depthImageStride, 0); 深度データを取ってくるときは、 DepthImagePixel配列に変換する //深度情報取得用 DepthImagePixel[] depthPixelData; depthFrame.CopyDepthImagePixelDataTo(depthPixelData); short depth = depthPixcelData[i].Depth; short playerID = depthPixcelData[i].PlayerIndex;
35.
座標変換系メソッド(v1.6から変更) ● MapColorFrameToDepthFrame ● MapColorFrameToSkeletonFrame ●
MapDepthFrameToColorFrame ● MapDepthFrameToSkeletonFrame ● MapDepthPointToColorPoint ● MapDepthPointToSkeletonPoint ● MapSkeletonPointToColorPoint ● MapSkeletonPointToDepthPoint □Kinect.MapXXXX系は非推奨です。 □kinect.CoordinateMapper.MapXX系を 使いましょう。
36.
本日のプログラミング演習 GitHubにサンプルを置いてます https://github.com/ochilab/KinectSampleForLab 上記プログラムは作りかけなので冗長なところがあります 課題 ・関節情報を入手して、ボール(円)を操作しよう ・ポーズやジェスチャーでボールを変化させよう
37.
サンプルのグラフィック処理のアプローチ ● ImageコントロールにRGBカメラ映像表示 ● 透明化したCanvasに各種描画 ●
両者を重ねる(意外とパフォーマンスが良い) つまり、Canvasを描画レイヤーにしている WPFベースにしています
38.
ジェスチャー認識へのヒント ○ジェスチャー → ポーズの組み合わせ ○ポーズ → 複数の関節の位置関係 (座標で考える、角度で考える)
Download now