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
Research modeで取得した深度(Depth)データを可視化する / Depth da...
Search
sotanmochi
April 17, 2018
Technology
0
150
Research modeで取得した深度(Depth)データを可視化する / Depth data visualization for Hololens RS4 Research mode
sotanmochi
April 17, 2018
Tweet
Share
More Decks by sotanmochi
See All by sotanmochi
URP/HDRPを使ったVRM対応アプリの開発方法 / VRM Importer Extension
sotanmochi
0
1.5k
Unityとゲームプログラムの基本的な構造について / Unity and Game Programming Basic Patterns
sotanmochi
0
710
画像処理から始めるコンピュートシェーダ / Introduction to Image Processing using Compute Shader
sotanmochi
2
2.2k
Diminished Reality 入門 / Introduction to Diminished Reality
sotanmochi
2
8.4k
Unityでテクスチャにお絵描きするための線分描画アルゴリズムの話 / Line drawing algorithm using fragment shader
sotanmochi
2
3.3k
MagicOnionでマルチプレイゲームを作ってみる / Introduction to developing multiplayer games using MagicOnion
sotanmochi
1
2.1k
SmartRig Bipedを使ってみよう / Introduction to SmartRig Biped
sotanmochi
0
2.9k
VRMを使ったAR/MR撮影ツールを試作開発してみた話 / Prototype of Mobile Mixed Capture
sotanmochi
0
1.5k
リアルとバーチャルの融合によって越えられない壁を壊す / TechCafe vol.8 LT
sotanmochi
0
230
Other Decks in Technology
See All in Technology
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
350
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
430
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
2
230
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
120
Platform Engineering for Software Developers and Architects
syntasso
1
520
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
190
Featured
See All Featured
Docker and Python
trallard
40
3.1k
Rails Girls Zürich Keynote
gr2m
94
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Designing for Performance
lara
604
68k
Building Applications with DynamoDB
mza
90
6.1k
Become a Pro
speakerdeck
PRO
25
5k
What's in a price? How to price your products and services
michaelherold
243
12k
The Cult of Friendly URLs
andyhume
78
6k
Statistics for Hackers
jakevdp
796
220k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Transcript
Research modeで取得した 深度(Depth)データを可視化する 2018/04/17 Soichiro Sugimoto sotan(@sotanmochi)
自己紹介 氏名:杉本 宗一郎 所属:TIS株式会社・戦略技術センター 最近作っているもの(個人): ユニティちゃんと鬼ごっこするアプリ (コンテスト応募に向けて最終調整中) 2018/04/17 2
C++のサンプル(HoloLensForCV/Streamer)を動かしてみた 2018/04/17 3 深度(Depth)センサーで取得したデータを可視化してみたが,ほとんど見えない. なぜか全体的に暗い. ※ スライド用に画像の明るさを+40%にしている 近距離深度 (ShortThrowToFDepth) 遠距離深度
(LongThrowToFDepth) https://github.com/Microsoft/HoloLensForCV/tree/feature/api_updates
C++のサンプル(HoloLensForCV/Streamer)を動かしてみた 2018/04/17 4 テクスチャのフォーマットを変えてみたら,全体的に明るくなった. 深度に差分はあるはずだが,違いが分からない. 近距離深度 (ShortThrowToFDepth) 遠距離深度 (LongThrowToFDepth) https://github.com/Microsoft/HoloLensForCV/tree/feature/api_updates
C#のサンプル(Windows-universal-sample/CameraFrames)を動かしてみた 2018/04/17 5 深度の差が見えない.全然分からない. ※ スライド用に画像の明るさを+40%にしている 近距離深度 (ShortThrowToFDepth) https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CameraFrames
深度(Depth)データを分かりやすく可視化してみた 2018/04/17 6 近距離深度 (ShortThrowToFDepth) 遠距離深度 (LongThrowToFDepth)
深度(Depth)データを分かりやすく可視化してみた 2018/04/17 7 デモ動画 https://www.youtube.com/watch?v=Yl_hut20K5A
深度(Depth)をHSV形式で色に変換して可視化する 2018/04/17 8 画像出典・参考: Wikipedia「色相」 https://ja.wikipedia.org/wiki/%E8%89%B2%E7%9B%B8 Wikipedia「HSV色空間」 https://ja.wikipedia.org/wiki/HSV%E8%89%B2%E7%A9%BA%E9%96%93 1. 深度値を色相(Hue)に変換する.(SとVの値は基本的に1.0に固定)
深度(Depth): 0m 0.84m 1.68m 3.36m 4.2m 色相(Hue) : 0° 60° 120° 240° 300°
深度(Depth)をHSV形式で色に変換して可視化する 2018/04/17 9 2. HSV(0.0~1.0)をRGB(0.0~1.0)に変換する. Alpha(8bit) R(8bit) G(8bit) B(8bit) 3.
RGB(0.0~1.0)の値をピクセルデータに変換して配列に書き込む. 0 ~ 255 0 ~ 255 0 ~ 255 0 ~ 255 参考: t-pot『HSV変換』 http://t-pot.com/program/112_HSV/index.html Wikipedia「HSV色空間」 https://ja.wikipedia.org/wiki/HSV%E8%89%B2%E7%A9%BA%E9%96%93 変換の計算式は省略.
可視化するために試行錯誤して分かったこと 2018/04/17 10 下記の値から計算した深度値の有効範囲は 0.001 ~ 65.535mだが, 実際の有効範囲より大きすぎるため,可視化にはあまり使えない. DepthMediaFrame.DepthFormat.DepthScaleInMeters: 0.001
DepthMediaFrame.MinReliableDepth: 1 DepthMediaFrame.MaxReliableDepth: 65535 MinReliableDepthとMaxReliableDepthは固定値であり,実行時の 変化は特にない.
可視化するために試行錯誤して分かったこと 2018/04/17 11 深度情報のフォーマット: - 16bit 符号なし整数 (0 ~ 65535)
- 単位: ミリメートル (mm) 深度値の有効範囲(検証結果から推定): - 近距離(ShortThrowToFDepth):0.156 ~ 0.95 m - 遠距離(LongThrowToFDepth) : 0.95 ~ 3.52 m 有効範囲外の深度値を持つピクセルには最大深度値(?)として 4.091~4.095 m が設定される.
有効範囲外に入った時の変化(近距離深度) 2018/04/17 12 Before
有効範囲外に入った時の変化(近距離深度) 2018/04/17 13 After
有効範囲外に入った時の変化(遠距離深度) 2018/04/17 14 Before
有効範囲外に入った時の変化(遠距離深度) 2018/04/17 15 After
まとめ • Research modeで取得した深度情報を分かりやすく可視化できた • 明暗の違いよりも色の違いの方が識別しやすい • 深度情報の形式と値の有効範囲が分かった • 深度値の有効範囲については追加検証した方が良いかもしれない
(or 公式情報を待つ) 2018/04/17 16
ありがとうございました