SlideShare a Scribd company logo
1 of 11
Download to read offline
1
HoloLens で OpenCV をどう使うか
レーザーポインター認識で試してみた
2020年7月29日
HoloLensミートアップ vol. 21
自己紹介
2
 角 詩織
 2007~2019 : ソフトウェア開発に従事
 2020 : アビストでHoloLens開発に携わる
 ヴァイテル フランツ
 2009~2016:PostDoc@NIIと千葉大学
 2016~:SE@アビスト
 2018:HoloLensに展示会で出会い ⇒ Wow!
3D CAD AI
AR/MR/XR
• 3Dモデル
• 組図
。。。
• 物体認識
• 空間理解
• 異常検知
。。。
データ アルゴリズム
ソリューション
2019年~
こんなのを作りました:レーザーポインターを認識し距離を表示
3動画:https://youtu.be/zsmA6J5sJh4
レーザーポイ
ンターの光を
認識
(x,y,z)
座標に測定値
表示
なぜレーザーポインター認識?
4
 ハンドレイより
 正確なポインティングディバイス
 距離計、温度計など、正確の測定器に
よく利用される
 第三者にもわかる
 OpenCV を試してみるのにちょうど
いい例
。。。のように見えるが、
やってみると案外ややこしい!
定番の画像処理
+ ML
ライブラリー
レーザーポインター認識:三つの「壁」
5
① HoloLensカメラデータの取得 ③ レーザーポインター3D座標の特定
カメラ Intrincs,
Extrincs?
Raycast 精度?
② レーザーポインター認識
解像度?
性能?
距離?
ライブラリー?
API?
データ形式?
OpenCV (for Unity) (X,Y,Z)?(x,y,z)?
① HoloLensカメラデータの取得
6
タスク ライブラリー
開発環境 Unity 2019.4 LTS
GUI MRTK 2.4.0
画像処理 OpenCV for Unity 2.3.9
HoloLensカメラへのアクセス HoloLensCameraStream for Unity
カメラ➞OpenCV画像形式への変換 HoloLens With OpenCVForUnity
Example
・HoloLensCameraStream と
・HoloLens With OpenCVForUnity Exampleは、
コンパイルすることができなかったため、
ソースコードを単純化し、ビルドできるように更新した。
ソースコード
https://github.com/abist-co-ltd/hololens-opencv-laserpointer
なぜか、Unity
2019.4 / MRTK 2.4.0
では動かない!
② レーザーポインター認識
7
ガイド光
(x,y) ?
カメラの画像の中でガイド光の2D 座標 (x,y) を求める
y
x
1080
0
1920
発見したいモノ:
 赤い
 小さい
 周りより明るい
 OpenCV の力を生かしてみよう!
r
x
x
x0
r r
Laplace(r) =
Laplace(r) << 0
の画素を検知
周りより r が高い
⇒ Laplace(r) < 0
③ レーザーポインターの3D座標の特定
8
intrinsics extrinsics
知りたい
3D ⇒ 2D 投射:
ガイド光の
• 2D 座標 (u,v)
• カメラの姿勢(~extrinsics)
• 性質 (intrinsics):
• カメラの焦点距離
• カメラの工学的中心
• 歪みなど
から該当する (X,Y,Z) 座標を求める
認識した
(u,v) 座標
該当する
(X,Y,Z)?
Raycast
u
v
ちょっと数学が必要ではあるが、
大変な計算は、Windows.Media Runtime API に任せよう
OpenCV で認識した
レーザーポインター 座標
Locatable Camera
Windows Runtime API
• VideoMediaFrame
• MediaFrameReference
Windows Media: 右手座標系 Unity: 左手座標系
z
z
座標系が一致
しなくて
ややこしい!
処理の流
9
Windows Media Runtime API
Unity C# Wrapper
HoloLensCameraStream
OpenCV for Unity Utils OpenCV for Unity
レーザーポインター
認識
3D座標の特定
Unity Scripting API
Unity Scene Update
frame
Mat
変換
frame
Mat
レーザーポインター (u,v)
レーザーポインター
認識
カメラ
[intrinsics]
[extrinstics]
Physics.Raycast
camIntrinsics.UnprojectAtUnitDepth
レーザーポインター (X,Y,Z)
まとめ
10
 わかったこと
 HoloLensのカメラはすごい!
 ノイズ・色収差・モーションブラーが少ない
 3D座標の正確さ
 HoloLensのカメラ処理は大変!
 例・説明が少ない
 2K 画像に性能が足りない
 課題
 性能向上:
 HoloLensのGPUを利用できれば。。。
 リモート画像処理(Jetson Nano、スマートフォンなど)
 空間認識:
 Spatial Awareness 認識距離5mは、どう拡張するか
 ソースコード
https://github.com/abist-co-ltd/hololens-opencv-laserpointer
解像度 HD 2K
最大距離 ~6 m ~10 m
3D座標誤差 < 1 % < 1 %
FPS 28~30 3.5 ~ 8
HoloLens 2 レーザーポインター認識結果
是非お試し
ください。
レーザーポインター
認識チャレンジ
やってみませんか
関連情報
11
 Mixed Reality Locatable Camera
https://docs.microsoft.com/en-us/windows/mixed-reality/locatable-
camera
 別方法:リモートの画像処理:
Introduction to Using OpenCV With Unity
https://www.raywenderlich.com/5475-introduction-to-using-opencv-with-unity

More Related Content

What's hot

HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編Takashi Yoshinaga
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII
 
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~Hirokazu Onomichi
 
UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門Yuichi Ishii
 
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~Takunori Minamisawa
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII
 
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例Yoshitaka HARA
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日Kitsukawa Yuki
 
めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題
めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題
めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題Kenta Iwasaki
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment AnythingDeep Learning JP
 
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめMitsutoshi Kiuchi
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについてPhoton運営事務局
 
Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話hironroinakae
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
 
OpenCVで作るスタンプAR
OpenCVで作るスタンプAROpenCVで作るスタンプAR
OpenCVで作るスタンプARTakashi Yoshinaga
 

What's hot (20)

HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
 
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
 
UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門
 
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
 
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTERMRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
 
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例
 
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
 
めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題
めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題
めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
 
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
 
Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
OpenCVで作るスタンプAR
OpenCVで作るスタンプAROpenCVで作るスタンプAR
OpenCVで作るスタンプAR
 

Similar to HoloLens で OpenCV をどう使うか レーザーポインター 認識で試してみた

2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史
2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史
2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史Shingo Mori
 
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめHoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめTatsuya Sakai
 
2020年8月_HoloLens 2 アプリ開発入門
2020年8月_HoloLens 2 アプリ開発入門2020年8月_HoloLens 2 アプリ開発入門
2020年8月_HoloLens 2 アプリ開発入門Madoka Chiyoda
 
HoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールドHoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールドMadoka Chiyoda
 
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLabGREE VR Studio Lab
 
Mixed Reality Dev Daysから読み解くこれからのMixed Reality
Mixed Reality Dev Daysから読み解くこれからのMixed RealityMixed Reality Dev Daysから読み解くこれからのMixed Reality
Mixed Reality Dev Daysから読み解くこれからのMixed RealityTakahiro Miyaura
 
【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス! MR で変わるライフスタイルとワークスタイル ...
【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス!  MR で変わるライフスタイルとワークスタイル ...【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス!  MR で変わるライフスタイルとワークスタイル ...
【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス! MR で変わるライフスタイルとワークスタイル ...日本マイクロソフト株式会社
 
MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜
MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜
MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜Shota Yoshizawa
 
[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性
[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性
[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性de:code 2017
 
VRとモーショントラッキング
VRとモーショントラッキングVRとモーショントラッキング
VRとモーショントラッキングYuichiro Iio
 
木曜サロン 体感型Mrバーチャルドローン.key
木曜サロン 体感型Mrバーチャルドローン.key木曜サロン 体感型Mrバーチャルドローン.key
木曜サロン 体感型Mrバーチャルドローン.key充彦 保田
 
20160902 unity勉強会発表資料
20160902 unity勉強会発表資料20160902 unity勉強会発表資料
20160902 unity勉強会発表資料WheetTweet
 
創作物による科学コミュニケーション・2018.11版
創作物による科学コミュニケーション・2018.11版創作物による科学コミュニケーション・2018.11版
創作物による科学コミュニケーション・2018.11版2co
 
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)WheetTweet
 
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Adobe XDをHoloLensで表示させて考えるいろいろな可能性Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Adobe XDをHoloLensで表示させて考えるいろいろな可能性Seigo Tanaka
 
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性Takahiro Miyaura
 
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12Tatsuya Sakai
 
赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツTakehisa Ikeda
 

Similar to HoloLens で OpenCV をどう使うか レーザーポインター 認識で試してみた (20)

2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史
2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史
2021/9/7 HoloLensミートアップメインセッションで振り返るHoloLensの歴史
 
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめHoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
 
2020年8月_HoloLens 2 アプリ開発入門
2020年8月_HoloLens 2 アプリ開発入門2020年8月_HoloLens 2 アプリ開発入門
2020年8月_HoloLens 2 アプリ開発入門
 
HoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールドHoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールド
 
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
 
Mixed Reality Dev Daysから読み解くこれからのMixed Reality
Mixed Reality Dev Daysから読み解くこれからのMixed RealityMixed Reality Dev Daysから読み解くこれからのMixed Reality
Mixed Reality Dev Daysから読み解くこれからのMixed Reality
 
【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス! MR で変わるライフスタイルとワークスタイル ...
【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス!  MR で変わるライフスタイルとワークスタイル ...【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス!  MR で変わるライフスタイルとワークスタイル ...
【de:code 2020】 『RE:BEL ROBOTICA レベルロボチカ』の世界と現代をミックス! MR で変わるライフスタイルとワークスタイル ...
 
MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜
MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜
MRとは?HoloLens(ホロレンズ)とは?〜概念からデバイス、8つの活用事例まで〜
 
[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性
[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性
[MR05] クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性
 
190210_DLLAB 医療×AIシンポジウム_Holoeyes株式会社 谷口直嗣氏
190210_DLLAB 医療×AIシンポジウム_Holoeyes株式会社 谷口直嗣氏190210_DLLAB 医療×AIシンポジウム_Holoeyes株式会社 谷口直嗣氏
190210_DLLAB 医療×AIシンポジウム_Holoeyes株式会社 谷口直嗣氏
 
VRとモーショントラッキング
VRとモーショントラッキングVRとモーショントラッキング
VRとモーショントラッキング
 
木曜サロン 体感型Mrバーチャルドローン.key
木曜サロン 体感型Mrバーチャルドローン.key木曜サロン 体感型Mrバーチャルドローン.key
木曜サロン 体感型Mrバーチャルドローン.key
 
20160902 unity勉強会発表資料
20160902 unity勉強会発表資料20160902 unity勉強会発表資料
20160902 unity勉強会発表資料
 
創作物による科学コミュニケーション・2018.11版
創作物による科学コミュニケーション・2018.11版創作物による科学コミュニケーション・2018.11版
創作物による科学コミュニケーション・2018.11版
 
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
 
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Adobe XDをHoloLensで表示させて考えるいろいろな可能性Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
 
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
 
Immersal event 04/2021
Immersal event 04/2021Immersal event 04/2021
Immersal event 04/2021
 
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
 
赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

HoloLens で OpenCV をどう使うか レーザーポインター 認識で試してみた

  • 1. 1 HoloLens で OpenCV をどう使うか レーザーポインター認識で試してみた 2020年7月29日 HoloLensミートアップ vol. 21
  • 2. 自己紹介 2  角 詩織  2007~2019 : ソフトウェア開発に従事  2020 : アビストでHoloLens開発に携わる  ヴァイテル フランツ  2009~2016:PostDoc@NIIと千葉大学  2016~:SE@アビスト  2018:HoloLensに展示会で出会い ⇒ Wow! 3D CAD AI AR/MR/XR • 3Dモデル • 組図 。。。 • 物体認識 • 空間理解 • 異常検知 。。。 データ アルゴリズム ソリューション 2019年~
  • 4. レーザーポイ ンターの光を 認識 (x,y,z) 座標に測定値 表示 なぜレーザーポインター認識? 4  ハンドレイより  正確なポインティングディバイス  距離計、温度計など、正確の測定器に よく利用される  第三者にもわかる  OpenCV を試してみるのにちょうど いい例 。。。のように見えるが、 やってみると案外ややこしい! 定番の画像処理 + ML ライブラリー
  • 5. レーザーポインター認識:三つの「壁」 5 ① HoloLensカメラデータの取得 ③ レーザーポインター3D座標の特定 カメラ Intrincs, Extrincs? Raycast 精度? ② レーザーポインター認識 解像度? 性能? 距離? ライブラリー? API? データ形式? OpenCV (for Unity) (X,Y,Z)?(x,y,z)?
  • 6. ① HoloLensカメラデータの取得 6 タスク ライブラリー 開発環境 Unity 2019.4 LTS GUI MRTK 2.4.0 画像処理 OpenCV for Unity 2.3.9 HoloLensカメラへのアクセス HoloLensCameraStream for Unity カメラ➞OpenCV画像形式への変換 HoloLens With OpenCVForUnity Example ・HoloLensCameraStream と ・HoloLens With OpenCVForUnity Exampleは、 コンパイルすることができなかったため、 ソースコードを単純化し、ビルドできるように更新した。 ソースコード https://github.com/abist-co-ltd/hololens-opencv-laserpointer なぜか、Unity 2019.4 / MRTK 2.4.0 では動かない!
  • 7. ② レーザーポインター認識 7 ガイド光 (x,y) ? カメラの画像の中でガイド光の2D 座標 (x,y) を求める y x 1080 0 1920 発見したいモノ:  赤い  小さい  周りより明るい  OpenCV の力を生かしてみよう! r x x x0 r r Laplace(r) = Laplace(r) << 0 の画素を検知 周りより r が高い ⇒ Laplace(r) < 0
  • 8. ③ レーザーポインターの3D座標の特定 8 intrinsics extrinsics 知りたい 3D ⇒ 2D 投射: ガイド光の • 2D 座標 (u,v) • カメラの姿勢(~extrinsics) • 性質 (intrinsics): • カメラの焦点距離 • カメラの工学的中心 • 歪みなど から該当する (X,Y,Z) 座標を求める 認識した (u,v) 座標 該当する (X,Y,Z)? Raycast u v ちょっと数学が必要ではあるが、 大変な計算は、Windows.Media Runtime API に任せよう OpenCV で認識した レーザーポインター 座標 Locatable Camera Windows Runtime API • VideoMediaFrame • MediaFrameReference Windows Media: 右手座標系 Unity: 左手座標系 z z 座標系が一致 しなくて ややこしい!
  • 9. 処理の流 9 Windows Media Runtime API Unity C# Wrapper HoloLensCameraStream OpenCV for Unity Utils OpenCV for Unity レーザーポインター 認識 3D座標の特定 Unity Scripting API Unity Scene Update frame Mat 変換 frame Mat レーザーポインター (u,v) レーザーポインター 認識 カメラ [intrinsics] [extrinstics] Physics.Raycast camIntrinsics.UnprojectAtUnitDepth レーザーポインター (X,Y,Z)
  • 10. まとめ 10  わかったこと  HoloLensのカメラはすごい!  ノイズ・色収差・モーションブラーが少ない  3D座標の正確さ  HoloLensのカメラ処理は大変!  例・説明が少ない  2K 画像に性能が足りない  課題  性能向上:  HoloLensのGPUを利用できれば。。。  リモート画像処理(Jetson Nano、スマートフォンなど)  空間認識:  Spatial Awareness 認識距離5mは、どう拡張するか  ソースコード https://github.com/abist-co-ltd/hololens-opencv-laserpointer 解像度 HD 2K 最大距離 ~6 m ~10 m 3D座標誤差 < 1 % < 1 % FPS 28~30 3.5 ~ 8 HoloLens 2 レーザーポインター認識結果 是非お試し ください。 レーザーポインター 認識チャレンジ やってみませんか
  • 11. 関連情報 11  Mixed Reality Locatable Camera https://docs.microsoft.com/en-us/windows/mixed-reality/locatable- camera  別方法:リモートの画像処理: Introduction to Using OpenCV With Unity https://www.raywenderlich.com/5475-introduction-to-using-opencv-with-unity