Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Kinect+Unityで軽率にBody Trackingする
Search
にー兄さん
May 09, 2020
Programming
0
2.2k
Azure Kinect+Unityで軽率にBody Trackingする
第4回バーチャル学生LTにて発表した資料
にー兄さん
May 09, 2020
Tweet
Share
More Decks by にー兄さん
See All by にー兄さん
軽率にVue 3で リアルタイム3Dアプリを作れる ライブラリを作ってみた/vue-with-3d-app
drumath2237
3
1.4k
軽率にBabylon.jsを C#で使う技術 / using-babylonjs-with-csharp
drumath2237
1
330
今こそ軽率に理解したい WebXR Device APIとBabylon.jsの話 / understand-webxr-device-api-and-babylonjs
drumath2237
0
17
Vue・Babylon連携ライブラリ BabyuewJSについて / about-babyuewjs
drumath2237
0
60
軽率にBabylon.jsの WebGPUエンジンを使って ComputeShaderに入門した / learn-about-babylonjs-webgpu-computeshader
drumath2237
0
350
Snapdragon Spacesを通して Unity XRプラグインフレームワーク について軽率に学ぶ / about snapdragon spaces sdk and unity xr framework
drumath2237
0
340
Babylon.jsユーザのためのCLIを軽率にnpmで公開した話 / about create babylon app CLI
drumath2237
0
500
軽率な執筆活動 / writing books roughly
drumath2237
0
30
軽率にBabylon.jsへ WebXR Featureを実装して OSSコミットした
drumath2237
1
860
Other Decks in Programming
See All in Programming
Folding Cheat Sheet #2
philipschwarz
PRO
0
110
オブジェクト指向は必要なのか / Is object-oriented needed?
kishida
31
21k
Introduction for Open Source Swift Workshop
giginet
PRO
0
1k
"config" ってなんだ? / What is "config"?
okashoi
0
210
Site Reliability Engineering for GMO
pyama86
4
510
SwiftUI Performance 不要なViewの再描画と更新を抑える
bigamitiongit
1
150
9年開発を牽引して見えてきた、共通化すべきものと個別でつくるもの ~プログラム言語~
shinout
1
640
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
AppDeveloperCon 2024 EU: Building polyglot developer experiences in 2024
salaboy
0
510
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
180
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
28
10k
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
300
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
154
7.9k
Code Reviewing Like a Champion
maltzj
513
39k
A designer walks into a library…
pauljervisheath
199
23k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
The Brand Is Dead. Long Live the Brand.
mthomps
48
27k
Code Review Best Practice
trishagee
54
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
Design by the Numbers
sachag
274
18k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Transcript
Azure Kinect + Unityで 軽率にBody Trackingする 第4回バーチャル学生LT にー兄さん(@ninisan_drumath)
にー兄さん@ninisan_drumath 万年外出自粛系大学生 筑波大学情報科学類3年(coins18) リアルタイムCG、Humanoid制御、AR/VRとか好き 最近はもっぱらUnity開発がメイン バーチャル学生LT登壇は初めて(学生LTは4回目くらい?) 久しぶりの5分LTなので自信がない
スライド公開します SNSへの投稿(?)も問題ないです!
agenda Azure Kinect #とは UnityでAzureKinect BodyTracking 触ってみた感想
Azure Kinect #とは
Kinectとは? ❖ センサーデバイスのこと ❖ 天下のMicrosoft謹製 ❖ RGB画像、深度、人体検出などができる
Kinectとバージョン v1, v2 →Xbox用に作られ、後にWindowsで汎用的に開 発できるようになるが、生産終了した v3 →「Hololens」という名称で発売 現在はHololens2が出ている v4 →「Azure
Kinect」という名称で発売 3月には日本での発売も 本日は☝のAzure Kinectについて話します
Azure Kinectについてもう少し深く 従来のKinectよりも軽量かつ小型化された Azureと接続→高度な ✝AI✝ による認識性能向 上 C++とC#のSDKが配布されている 価格は47,025円(5/8現在) もちろんBody
Trackingも使える だがUnity用の公式パッケージがない
UnityでAzureKinect BodyTracking
そもそもUnityで使えるのか...? (前述のとおり)Unityの公式BodyTrakcingSDKなんてものはない しかし情報を漁ると色々出てくる →たぶんできそう(本日の軽率ポイント)
検証環境 Unity:2018.4.x Azure Kinect SDK:1.4.0 Azure Kinect Body Tracking SDK:1.0.0
これらのセットアップが済んでいることを想定
試したリポジトリ curiosity-inc/azure-kinect-dk-unity →BodyTrackingSDKのバージョン違いなのか Unityがクラッシュしてしまった satoshi-maemoto/Azure-Kinect-Unity-Body-Tracker →ちゃんと動いた、がコードリーディングで挫折(クソザコ) またチャレンジしたいところ microsoft/Azure-Kinect-Samples →よくみたら公式サンプルあるやんけ →普通に動いたしコードも簡単なので採用
実行環境の構築 READMEに書いてある通りプロジェクトをVSで開き、 コンソールからnugetパッケージをインストする 注意1:ディレクトリ階層が深すぎるとインストールに失敗する 注意2:UnityパッケージのNuGetForUnityは使えない
実行環境の構築 あとはバッチファイルを実行(dllの移動など)をすれば実行できる!コロンビア!
プロジェクト概観 main.csをいじればviewerくらい 簡単に作れそう UnityEngineとSystem.Numerics にVector3が存在するので 相互変換が必要そう Bodyも複数名前空間に存在
実はビルドしたサンプルは正常終了しなくて... ビルドディレクトリにcublas_64.dllとcudart_64.dllを含め ると動作する だが終了時にクラッシュする バックグラウンドプロセスを処理できているように見える →実際はプロセスが終了する前にアプリが落ちる →Azure Kinectのコネクションが残る厄介なバグ →Unityエディタでは起こらないのでもっと厄介 ビルドしたアプリがクラッシュするDaiGo
触ってみた感想
v2と比べていいと思ったところ • コンパクトで見た目が可愛い(カラバリとかほしい)(諸説あり) • v2のようにトラッキングが外れたときにボーンが破綻しない • 手が体の前にあっても割と認識してくれる →精度向上は微妙、みたいな意見も聞いたことあるけど自分的には • 前後判定ができる→鼻や目の位置が取れる
• ボーンの種類が変わった→数も増えたしchestのボーンがある
要望 Unity用のBodyTrackingパッケージが欲しい レコードデータをアプリに流せる機能が欲しい →v2のときにはKinect Studioで実装されている マウントホルダー的なものが欲しい(すでにある?) →小さいのでディスプレイに着けても負担が軽そう
ご清聴ありがとうございました