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.7k
Azure Kinect+Unityで軽率にBody Trackingする
第4回バーチャル学生LTにて発表した資料
にー兄さん
May 09, 2020
Tweet
Share
More Decks by にー兄さん
See All by にー兄さん
エンジニアが軽率に趣味から始める、OSS貢献を軸とした個人活動 / oss-contribution-as-a-hoby-project
drumath2237
0
30
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
130
フォークギター with VFXの 制作を軽率に振り返ろう! / look back fork guitar with vfx
drumath2237
0
27
軽率に始まった Babylon.js勉強会運営の 1年間をふりかえって / look back babylonjs japan activity
drumath2237
0
50
利己的利他、 あるいは軽率2.0に備えよ。 / prepare-for-keisotsu-2.0
drumath2237
0
40
軽率にAndroidXRのJetpack SceneCoreを使って3Dモデルを表示してみる / androidxr-scenecore-3dmodels
drumath2237
0
110
あなたの知らないWebXR Device APIの話を軽率に / about-webxr-device-api-you-dont-know
drumath2237
0
30
UnJSを使って軽率にCLIを作ってみたらめちゃくちゃ便利だった / create CLI with UnJS
drumath2237
4
1.6k
create-babylon-appを軽率にアプデしたい / update create babylon app
drumath2237
1
1.8k
Other Decks in Programming
See All in Programming
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
230
Team operations that are not burdened by SRE
kazatohiei
1
210
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.4k
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
360
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
430
Create a website using Spatial Web
akkeylab
0
300
エンジニア向け採用ピッチ資料
inusan
0
160
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
420
CursorはMCPを使った方が良いぞ
taigakono
1
180
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
330
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
860
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Optimizing for Happiness
mojombo
379
70k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Scaling GitHub
holman
459
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to train your dragon (web standard)
notwaldorf
93
6.1k
Facilitating Awesome Meetings
lara
54
6.4k
Speed Design
sergeychernyshev
32
1k
YesSQL, Process and Tooling at Scale
rocio
173
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Statistics for Hackers
jakevdp
799
220k
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で実装されている マウントホルダー的なものが欲しい(すでにある?) →小さいのでディスプレイに着けても負担が軽そう
ご清聴ありがとうございました