Slide 1

Slide 1 text

軽率にUnityで OAK-D Liteが使えるらしい にー兄さん(ninisan_drumath) 全国学生エンジニア交流会 NSEEM

Slide 2

Slide 2 text

にー兄さん(@ninisan_drumath) - 筑波大学 情報科学類(coins18) - HoloLab inc.アルバイト - Microsoft Learn Student Ambassadors - Iwaken Lab. 趣味はUnity、ギター、コーヒー、VTuberオタ活 唐突な愛猫自慢→

Slide 3

Slide 3 text

agenda OAK-D Liteとは UnityでOAK-D Liteを動かそう 点群作成の実装を追う おわりに

Slide 4

Slide 4 text

諸注意 - スクショ・SNS共有OK - 資料は公開予定 - 私はOAK-DおよびCV分野の素人です(自己防衛) - お手柔らかに

Slide 5

Slide 5 text

OAK-D Liteとは

Slide 6

Slide 6 text

OpenCV AI Kit OpenCV AI Kit(OAK)は、コンピュータービジョン用ハードウェアとAPIソフト ウェアで構成される小型ユニットです。 (AI Camよりhttps://aicam.jp/tech/oak/)

Slide 7

Slide 7 text

DepthAI APIを用いた開発 C++とPythonのSDKを提供 DepthAI APIを通じて - センサーの制御 - CVやAIによる処理 などを行う 演算はオンボードで行われる

Slide 8

Slide 8 text

Depth(深度)画像について カメラからの距離をピクセルで表したもの mm単位のushort型で表されたりする 深度センサ、ステレオカメラ、深度推定などによって得られる

Slide 9

Slide 9 text

OAK-DにおけるDepth ステレオカメラから深度情報を取得 →リアルタイムに深度画像を生成 リアルタイム点群生成も可能 LiDARセンサは非搭載 https://github.com/luxonis/depthai-experiments/tree/master/gen2-camera-demo

Slide 10

Slide 10 text

† A I † もよう動いとる - 手・顔・人の検知 - 手や全身の骨格推定 - 顔のランドマーク検出 - 表情推定 これらとdepthが組み合わされれば 3次元的な推定も可能 これがDepthAIの所以

Slide 11

Slide 11 text

UnityでOAK-D Liteを動かそう (2022/3時点)

Slide 12

Slide 12 text

OAKForUnityのサンプルをclone luxonis/depthai-unity のブランチをbetaに OAKForUnity/URP 以下に Unityプロジェクトがある バージョンは2021.2.7

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

点群生成の実装を追う

Slide 15

Slide 15 text

全体のフロー DepthAIドライバー コンポーネント DepthAI Property Binder Unity VFX Graph ネイティブプラグイン からデータ取得 深度とカラーの橋渡し 点群の構成と描画

Slide 16

Slide 16 text

センサーデータの取得 - ネイティブプラグインから取得 - 毎フレーム生データからTexture2Dを生成 - このときdepthはmono Rにマッピングされてるら しい - PropertyBinderがVFX Graphとの繋ぎこみ DaiPointCloudVFX depthai-unity.dll frame info depth texture mono R texture Property Binder

Slide 17

Slide 17 text

VFX Graph パーティクルシステムの一種 - ノードベース - GPUパーティクル - URP/HDRPで動作

Slide 18

Slide 18 text

点群の作成 1. 画素数分のパーティクルを生成 2. UV値を指定して色情報をサンプリング 3. depthも同様にサンプリング 4. depthから3次元位置を計算 Depthから位置を計算する Sub Graph

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

おわりに

Slide 21

Slide 21 text

まとめ - OAKForUnityのサンプルを使えば UnityでもOAK-D Liteが動かせた - VFX Graphを使った点群のデモが見れる

Slide 22

Slide 22 text

参考 depthai-unity https://github.com/luxonis/depthai-unity OAK-D Lite公式ドキュメント https://docs.luxonis.com/projects/hardware/en/latest/pages/DM9095.html Unity VFX Graphについて https://unity.com/ja/visual-effect-graph