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.5k
Azure Kinect+Unityで軽率にBody Trackingする
第4回バーチャル学生LTにて発表した資料
にー兄さん
May 09, 2020
Tweet
Share
More Decks by にー兄さん
See All by にー兄さん
UnJSを使って軽率にCLIを作ってみたらめちゃくちゃ便利だった / create CLI with UnJS
drumath2237
4
1.3k
create-babylon-appを軽率にアプデしたい / update create babylon app
drumath2237
1
1.4k
Babylon.js 7注目機能を 軽率にまとめてみる/whats-new-in-babylonjs-v7
drumath2237
1
230
軽率にVFX Graphと Compute Shaderを 組み合わせるテクニック/integrate-vfxgraph-and-compute-shader
drumath2237
1
280
軽率にVue 3で リアルタイム3Dアプリを作れる ライブラリを作ってみた/vue-with-3d-app
drumath2237
3
1.8k
軽率にBabylon.jsを C#で使う技術 / using-babylonjs-with-csharp
drumath2237
1
710
今こそ軽率に理解したい WebXR Device APIとBabylon.jsの話 / understand-webxr-device-api-and-babylonjs
drumath2237
0
140
Vue・Babylon連携ライブラリ BabyuewJSについて / about-babyuewjs
drumath2237
0
160
軽率にBabylon.jsの WebGPUエンジンを使って ComputeShaderに入門した / learn-about-babylonjs-webgpu-computeshader
drumath2237
0
660
Other Decks in Programming
See All in Programming
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
260
Amazon Qを使ってIaCを触ろう!
maruto
0
420
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
360
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
Jakarta EE meets AI
ivargrimstad
0
740
RubyLSPのマルチバイト文字対応
notfounds
0
120
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.2k
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
150
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
140
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.2k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Invisible Side of Design
smashingmag
298
50k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
It's Worth the Effort
3n
183
27k
Visualization
eitanlees
145
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
How to Ace a Technical Interview
jacobian
276
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
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で実装されている マウントホルダー的なものが欲しい(すでにある?) →小さいのでディスプレイに着けても負担が軽そう
ご清聴ありがとうございました