SlideShare a Scribd company logo
1 of 16
Download to read offline
Jetson TK1 +
PlayStation Camera
ROS package
2016/1/26(火)
NVIDIA Jetson Meet-up #01
矢口裕明(@hyaguchijsk)
Introduction
Who am I
 普段はロボットの研究をしております.
 専門は視覚認識機能.ウェアラブルセンシン
グ.各種人間支援・自動化タスクに向けたロ
ボットシステム構築・運用.少しだけ拡張現実.
 未踏スーパークリエータです.
 マーカーを自力生成できるARソフトを作りまし
た.
ステレオカメラと私(2004-)
矢口,RSJ2014
2013
2009
2012
2011
2005
自律移動ロボット
矢口,修士論文
これはステレオじゃない…
PS4eye (PlayStation Camera)
 2010- Kinect 3Dセンサが極めて安く手に入るようになる.
 赤外線パターン投光方式.ステレオよりも密で手軽.
 諸事情で入手困難に…
 2014- PS4のカメラがステレオになる.
 コネクタの形状が違うがUSB3.0規格.
 ハックされる.(http://ps4eye.tumblr.com/)
 ROS対応される.(https://github.com/longjie/ps4eye)
 安い,軽い,小さい.
 私が買った時は4000円でお釣りがきた!
 解像度,フレームレートともに十分.
 普段は1748 x 408, 60fpsで動作させている.
 左右の画像が同期されている.
ステレオカメラの特性
 Pros:
 計測可能範囲を計算機側が決められる.
 赤外線パターン投光方式は近い方の計測範囲の狭さが問題になっ
た.
 直射日光下でも調整すれば動く.
 赤外線パターン投光方式は直射日光下など,プロジェクタの出力を
かき消してしまう条件では動かない.
 Cons:
 三次元復元は全て計算機側で行わなければいけない.しかも処理は重
い.
 画像の歪み取り,平行化と左右のマッチング.
 テクスチャが少ないものや繰り返しパターンは苦手.
 三次元復元の密度は低くなる.
ビジョンボード
 画像処理は重い.専用の計算装置がほしい.
 ただし,その性能はCPUの高速化によって追いつき追い越され…
 cons: CPUがガンガン速くなる+マルチメディア処理の搭載.
 pros: 専用ボードは軽く,小さく,消費電力を少なくできる.
富士通ステレオビジョンモジュール(2009)
http://rraj.rsj-web.org/atcl/1071
日立高速画像処理ボードIP5000 (1999)
http://www.hitachi.co.jp/New/cnews/9911/1130a.html
Motion Estimation Processor on Transputer
Inoue et al., Robot Vision System with a
Correlation Chip for Real-Time Tracking,
Optical Flow and Depth Map Generation,
ICRA1992
モチベーション
 PS4eye + Jetson TK1なら,安価で小型軽量な
ステレオビジョンシステムが実現できるのでは?
 かつてのビジョンボードと同じことを最新のア
イテムで実現する.
 三次元センサ+αの処理ができるセンサユニッ
トを構築する.
 まずは,三次元復元を行い点群を返すようなシ
ステムを作る.
PS4eye + Jetson TK1
動作確認
 最初の問題:ps4eyeを開けるか?
 amd64ではカーネルバージョン,チップセット
の相性が問題になっていた.
 結論:カーネルそのままで動いた!
 次の問題:Jetson TK1ではROSが動くからそのま
まps4eyeを動かせばいいだろう.
 結論:重すぎて動きませんでした…
Jetson TK1と
ROSの組み合わせは不利
 CPUはそんなに速くない.
 ROSにおけるps4eyeのプログ
ラム構成は複数のnodeletを用
いた分散構造になっている.
 nodelet間で通信が発生す
ると,たとえ同じマシン内で
も,ものすごいCPU負荷が
発生する.
 そもそも画像処理はやはり重
い.
 特にステレオマッチングは
非常にリソースを食う.
GSCam
ImageCrop
UndistortRectify
CalcDisparity
CameraInfo
Reconstruct3D
ImageCrop
UndistortRectify
解決策
 CPUの負荷を減らしてGPUを活用する.
 ps4eyeの分散構造を一体構造に変更す
る.
 画像処理全般をGPU (OpenCV + CUDA)
で行う.
 適度なところで外部PCに投げられるようにする.
 STEP1: Camera Image
 STEP2: Disparity Image + Left Camera
Image
 STEP3: Point Cloud
 どのみち,三次元点群にした時点で通信
負荷は激増してしまう…
 視差+カラーに比べておおよそ二倍
以上の転送量になる.
 この成果物が
 https://github.com/hyaguchijsk/ps4eye
_tegra
Capture
ImageCrop
UndistortRectify
CalcDisparity
CameraInfo
Reconstruct3D
ImageCrop
UndistortRectify
Camera Image
Disparity + Color Image
Point Cloud
GPU space
パフォーマンス計測
 第一案:カメラキャプチャと三
次元復元は別Nodeletにする.
 6fps程度
 画像の入力に12ms近くか
かる.
 視差画像,左目画像の出
力に20ms近くかかる.
 実行時間の分散が大きす
ぎる.
 実用上10fpsは超えて欲しい.
ちょっと遅すぎる.
 やはり過負荷?
パフォーマンス向上
 第二案:三次元復元は別Nodelet
にする.カメラキャプチャを埋め込
み入力画像分の通信をなくす.
 11-12fps程度
 画像の入力に10ms近くかか
る.→やや短縮
 視差画像,左目画像の出力に
20ms近くかかる.→同じ
 ただし全体的に速度は向上し
ている.分散も小さい.
 Nodeletを減らし,通信負荷を下げ
るだけでCPUに余裕が出ていると
考えられる.
 GPUの負荷は変化していない
(付録)Block Matching vs. CSBP
 第2.5案:ステレオマッチングを
CSBPにする.
 3fps程度
 画像の入力に10ms,視差画
像+左目画像の出力に20ms
近くかかるのは同じ
 純粋にCSBPに時間がかかっ
ている.
入力画像
CSBPBlock Matching
まとめ
 PS4eye + Jetson TK1で安価で小型軽量なステレオシステムを作りました.
 改良点
 速度向上:GPUにまかせている間にCPUで進められる処理を進められ
るようにする.
 応用:特徴点ベース・3Dフロー,ビジュアルオドメトリ,etc…
 本システムにおいてはたくさんの方々の成果物を利用させていただい
ております.
 Jetson TK1: nVidia様
 Playstation Camera: SCE様
 ROS: OSRF様
 OpenCV: itseez様
 PS4eye hack: @ps4eye様, @longjie様

More Related Content

What's hot

HoloLens 2 TutorialをMobileARで動かす
HoloLens 2 TutorialをMobileARで動かすHoloLens 2 TutorialをMobileARで動かす
HoloLens 2 TutorialをMobileARで動かすTakahiro Miyaura
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介UnityTechnologiesJapan002
 
「ドレメル」ACTゲーム企画素案 for 任天堂3DS
「ドレメル」ACTゲーム企画素案 for 任天堂3DS「ドレメル」ACTゲーム企画素案 for 任天堂3DS
「ドレメル」ACTゲーム企画素案 for 任天堂3DSYasuhiro Yamaguchi
 
UnityのVR機能とWebVRの対応について
UnityのVR機能とWebVRの対応についてUnityのVR機能とWebVRの対応について
UnityのVR機能とWebVRの対応についてYasuyuki Kamata
 
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくりUnite2017Tokyo
 
VTC on Unity の 進捗について
VTC on Unity の 進捗についてVTC on Unity の 進捗について
VTC on Unity の 進捗についてRyodo Tanaka
 
20110819 関西 kinect勉強会 初級編
20110819 関西 kinect勉強会 初級編20110819 関西 kinect勉強会 初級編
20110819 関西 kinect勉強会 初級編誠 山崎
 
TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002Imagineers Guild
 
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編PaperSloth
 
Mixed Reality Toolkit V2におけるマルチデバイス対応 ~ Azure Spatial Anchorsとphotonによるシェアリング...
Mixed Reality Toolkit V2におけるマルチデバイス対応~ Azure Spatial Anchorsとphotonによるシェアリング...Mixed Reality Toolkit V2におけるマルチデバイス対応~ Azure Spatial Anchorsとphotonによるシェアリング...
Mixed Reality Toolkit V2におけるマルチデバイス対応 ~ Azure Spatial Anchorsとphotonによるシェアリング...Takahiro Miyaura
 
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法Nohina Hidenari
 
ゲームAI入門(後半)
ゲームAI入門(後半)ゲームAI入門(後半)
ゲームAI入門(後半)Youichiro Miyake
 
20150527卒研進捗LT (share)
20150527卒研進捗LT (share)20150527卒研進捗LT (share)
20150527卒研進捗LT (share)mohemohe
 
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsUnityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsTakahiro Miyaura
 
TouchDesigenr Beginners' workshop vol.002 2017/07/17
TouchDesigenr Beginners'  workshop vol.002 2017/07/17TouchDesigenr Beginners'  workshop vol.002 2017/07/17
TouchDesigenr Beginners' workshop vol.002 2017/07/17Dan Imagineer
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -Takahiro Miyaura
 

What's hot (18)

HoloLens 2 TutorialをMobileARで動かす
HoloLens 2 TutorialをMobileARで動かすHoloLens 2 TutorialをMobileARで動かす
HoloLens 2 TutorialをMobileARで動かす
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
 
「ドレメル」ACTゲーム企画素案 for 任天堂3DS
「ドレメル」ACTゲーム企画素案 for 任天堂3DS「ドレメル」ACTゲーム企画素案 for 任天堂3DS
「ドレメル」ACTゲーム企画素案 for 任天堂3DS
 
UnityのVR機能とWebVRの対応について
UnityのVR機能とWebVRの対応についてUnityのVR機能とWebVRの対応について
UnityのVR機能とWebVRの対応について
 
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
 
VTC on Unity の 進捗について
VTC on Unity の 進捗についてVTC on Unity の 進捗について
VTC on Unity の 進捗について
 
20110819 関西 kinect勉強会 初級編
20110819 関西 kinect勉強会 初級編20110819 関西 kinect勉強会 初級編
20110819 関西 kinect勉強会 初級編
 
TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002
 
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
 
Mixed Reality Toolkit V2におけるマルチデバイス対応 ~ Azure Spatial Anchorsとphotonによるシェアリング...
Mixed Reality Toolkit V2におけるマルチデバイス対応~ Azure Spatial Anchorsとphotonによるシェアリング...Mixed Reality Toolkit V2におけるマルチデバイス対応~ Azure Spatial Anchorsとphotonによるシェアリング...
Mixed Reality Toolkit V2におけるマルチデバイス対応 ~ Azure Spatial Anchorsとphotonによるシェアリング...
 
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
 
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
 
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
 
ゲームAI入門(後半)
ゲームAI入門(後半)ゲームAI入門(後半)
ゲームAI入門(後半)
 
20150527卒研進捗LT (share)
20150527卒研進捗LT (share)20150527卒研進捗LT (share)
20150527卒研進捗LT (share)
 
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsUnityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
 
TouchDesigenr Beginners' workshop vol.002 2017/07/17
TouchDesigenr Beginners'  workshop vol.002 2017/07/17TouchDesigenr Beginners'  workshop vol.002 2017/07/17
TouchDesigenr Beginners' workshop vol.002 2017/07/17
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
 

Viewers also liked

Jetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global MatchingJetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global MatchingRyo Sakamoto
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013Ryo Sakamoto
 
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)博宣 今村
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方Mr. Vengineer
 
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)Mr. Vengineer
 
30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座Sakiyama Kei
 
Open Problems in My Little Raytracer
Open Problems in My Little RaytracerOpen Problems in My Little Raytracer
Open Problems in My Little Raytracerqatnonoil
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法Kentaro Sano
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみたYasuhiro Yoshimura
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないことNorishige Fukushima
 

Viewers also liked (14)

Jetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global MatchingJetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global Matching
 
なにわTech20160827
なにわTech20160827なにわTech20160827
なにわTech20160827
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方
 
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
 
30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座
 
Open Problems in My Little Raytracer
Open Problems in My Little RaytracerOpen Problems in My Little Raytracer
Open Problems in My Little Raytracer
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
PyCharm入門
PyCharm入門PyCharm入門
PyCharm入門
 

Similar to 20160126 jetson ps4eye_01

Azure Remote Renderingを試す
Azure Remote Renderingを試すAzure Remote Renderingを試す
Azure Remote Renderingを試すTakahiro Miyaura
 
Dev(ice)love デバイス祭り
Dev(ice)love デバイス祭りDev(ice)love デバイス祭り
Dev(ice)love デバイス祭りKaoru NAKAMURA
 
NNKproject Japanese version
NNKproject Japanese versionNNKproject Japanese version
NNKproject Japanese versionnao takatoshi
 
NNKproject Japanese version2
NNKproject Japanese version2NNKproject Japanese version2
NNKproject Japanese version2nao takatoshi
 
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK Takashi Yoshinaga
 
Kinect で power point 操作しよう!
Kinect で power point 操作しよう!Kinect で power point 操作しよう!
Kinect で power point 操作しよう!Oda Shinsuke
 
Introduction of Leap Motion
Introduction of Leap MotionIntroduction of Leap Motion
Introduction of Leap Motionhagino 3000
 
IoTを支える(かもしれない)技術
IoTを支える(かもしれない)技術IoTを支える(かもしれない)技術
IoTを支える(かもしれない)技術Masayuki Uchida
 
10年後のIT未来予想図 [センサー&デバイス編]_エフスタ!!TOKYO_20141205
10年後のIT未来予想図[センサー&デバイス編]_エフスタ!!TOKYO_2014120510年後のIT未来予想図[センサー&デバイス編]_エフスタ!!TOKYO_20141205
10年後のIT未来予想図 [センサー&デバイス編]_エフスタ!!TOKYO_20141205Takesen - Takehisa Ito
 
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~Takahiro Miyaura
 
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETCGREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETCGREE VR Studio Lab
 
Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)
Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)
Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)nullnuruo
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議Kaoru NAKAMURA
 
TAと歩くGDC2013報告会資料
TAと歩くGDC2013報告会資料TAと歩くGDC2013報告会資料
TAと歩くGDC2013報告会資料fumoto kazuhiro
 
無料で始めるVTuber
無料で始めるVTuber無料で始めるVTuber
無料で始めるVTuberKatsuyaENDOH
 
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話Takahiro Miyaura
 
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~Web Technology Corp.
 
Kinect技術紹介20140407
Kinect技術紹介20140407Kinect技術紹介20140407
Kinect技術紹介20140407fukuoka-t
 

Similar to 20160126 jetson ps4eye_01 (20)

Azure Remote Renderingを試す
Azure Remote Renderingを試すAzure Remote Renderingを試す
Azure Remote Renderingを試す
 
Dev(ice)love デバイス祭り
Dev(ice)love デバイス祭りDev(ice)love デバイス祭り
Dev(ice)love デバイス祭り
 
NNKproject Japanese version
NNKproject Japanese versionNNKproject Japanese version
NNKproject Japanese version
 
NNKproject Japanese version2
NNKproject Japanese version2NNKproject Japanese version2
NNKproject Japanese version2
 
Tokyo Motion Network
Tokyo Motion NetworkTokyo Motion Network
Tokyo Motion Network
 
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
 
Kinect で power point 操作しよう!
Kinect で power point 操作しよう!Kinect で power point 操作しよう!
Kinect で power point 操作しよう!
 
Introduction of Leap Motion
Introduction of Leap MotionIntroduction of Leap Motion
Introduction of Leap Motion
 
IoTを支える(かもしれない)技術
IoTを支える(かもしれない)技術IoTを支える(かもしれない)技術
IoTを支える(かもしれない)技術
 
10年後のIT未来予想図 [センサー&デバイス編]_エフスタ!!TOKYO_20141205
10年後のIT未来予想図[センサー&デバイス編]_エフスタ!!TOKYO_2014120510年後のIT未来予想図[センサー&デバイス編]_エフスタ!!TOKYO_20141205
10年後のIT未来予想図 [センサー&デバイス編]_エフスタ!!TOKYO_20141205
 
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
 
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
 
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETCGREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
 
Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)
Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)
Chasing respect (リアルタイム追跡型恩義サポートIoTシステム)
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議
 
TAと歩くGDC2013報告会資料
TAと歩くGDC2013報告会資料TAと歩くGDC2013報告会資料
TAと歩くGDC2013報告会資料
 
無料で始めるVTuber
無料で始めるVTuber無料で始めるVTuber
無料で始めるVTuber
 
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
 
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
 
Kinect技術紹介20140407
Kinect技術紹介20140407Kinect技術紹介20140407
Kinect技術紹介20140407
 

20160126 jetson ps4eye_01

  • 1. Jetson TK1 + PlayStation Camera ROS package 2016/1/26(火) NVIDIA Jetson Meet-up #01 矢口裕明(@hyaguchijsk)
  • 3. Who am I  普段はロボットの研究をしております.  専門は視覚認識機能.ウェアラブルセンシン グ.各種人間支援・自動化タスクに向けたロ ボットシステム構築・運用.少しだけ拡張現実.  未踏スーパークリエータです.  マーカーを自力生成できるARソフトを作りまし た.
  • 5. PS4eye (PlayStation Camera)  2010- Kinect 3Dセンサが極めて安く手に入るようになる.  赤外線パターン投光方式.ステレオよりも密で手軽.  諸事情で入手困難に…  2014- PS4のカメラがステレオになる.  コネクタの形状が違うがUSB3.0規格.  ハックされる.(http://ps4eye.tumblr.com/)  ROS対応される.(https://github.com/longjie/ps4eye)  安い,軽い,小さい.  私が買った時は4000円でお釣りがきた!  解像度,フレームレートともに十分.  普段は1748 x 408, 60fpsで動作させている.  左右の画像が同期されている.
  • 6. ステレオカメラの特性  Pros:  計測可能範囲を計算機側が決められる.  赤外線パターン投光方式は近い方の計測範囲の狭さが問題になっ た.  直射日光下でも調整すれば動く.  赤外線パターン投光方式は直射日光下など,プロジェクタの出力を かき消してしまう条件では動かない.  Cons:  三次元復元は全て計算機側で行わなければいけない.しかも処理は重 い.  画像の歪み取り,平行化と左右のマッチング.  テクスチャが少ないものや繰り返しパターンは苦手.  三次元復元の密度は低くなる.
  • 7. ビジョンボード  画像処理は重い.専用の計算装置がほしい.  ただし,その性能はCPUの高速化によって追いつき追い越され…  cons: CPUがガンガン速くなる+マルチメディア処理の搭載.  pros: 専用ボードは軽く,小さく,消費電力を少なくできる. 富士通ステレオビジョンモジュール(2009) http://rraj.rsj-web.org/atcl/1071 日立高速画像処理ボードIP5000 (1999) http://www.hitachi.co.jp/New/cnews/9911/1130a.html Motion Estimation Processor on Transputer Inoue et al., Robot Vision System with a Correlation Chip for Real-Time Tracking, Optical Flow and Depth Map Generation, ICRA1992
  • 8. モチベーション  PS4eye + Jetson TK1なら,安価で小型軽量な ステレオビジョンシステムが実現できるのでは?  かつてのビジョンボードと同じことを最新のア イテムで実現する.  三次元センサ+αの処理ができるセンサユニッ トを構築する.  まずは,三次元復元を行い点群を返すようなシ ステムを作る.
  • 10. 動作確認  最初の問題:ps4eyeを開けるか?  amd64ではカーネルバージョン,チップセット の相性が問題になっていた.  結論:カーネルそのままで動いた!  次の問題:Jetson TK1ではROSが動くからそのま まps4eyeを動かせばいいだろう.  結論:重すぎて動きませんでした…
  • 11. Jetson TK1と ROSの組み合わせは不利  CPUはそんなに速くない.  ROSにおけるps4eyeのプログ ラム構成は複数のnodeletを用 いた分散構造になっている.  nodelet間で通信が発生す ると,たとえ同じマシン内で も,ものすごいCPU負荷が 発生する.  そもそも画像処理はやはり重 い.  特にステレオマッチングは 非常にリソースを食う. GSCam ImageCrop UndistortRectify CalcDisparity CameraInfo Reconstruct3D ImageCrop UndistortRectify
  • 12. 解決策  CPUの負荷を減らしてGPUを活用する.  ps4eyeの分散構造を一体構造に変更す る.  画像処理全般をGPU (OpenCV + CUDA) で行う.  適度なところで外部PCに投げられるようにする.  STEP1: Camera Image  STEP2: Disparity Image + Left Camera Image  STEP3: Point Cloud  どのみち,三次元点群にした時点で通信 負荷は激増してしまう…  視差+カラーに比べておおよそ二倍 以上の転送量になる.  この成果物が  https://github.com/hyaguchijsk/ps4eye _tegra Capture ImageCrop UndistortRectify CalcDisparity CameraInfo Reconstruct3D ImageCrop UndistortRectify Camera Image Disparity + Color Image Point Cloud GPU space
  • 13. パフォーマンス計測  第一案:カメラキャプチャと三 次元復元は別Nodeletにする.  6fps程度  画像の入力に12ms近くか かる.  視差画像,左目画像の出 力に20ms近くかかる.  実行時間の分散が大きす ぎる.  実用上10fpsは超えて欲しい. ちょっと遅すぎる.  やはり過負荷?
  • 14. パフォーマンス向上  第二案:三次元復元は別Nodelet にする.カメラキャプチャを埋め込 み入力画像分の通信をなくす.  11-12fps程度  画像の入力に10ms近くかか る.→やや短縮  視差画像,左目画像の出力に 20ms近くかかる.→同じ  ただし全体的に速度は向上し ている.分散も小さい.  Nodeletを減らし,通信負荷を下げ るだけでCPUに余裕が出ていると 考えられる.  GPUの負荷は変化していない
  • 15. (付録)Block Matching vs. CSBP  第2.5案:ステレオマッチングを CSBPにする.  3fps程度  画像の入力に10ms,視差画 像+左目画像の出力に20ms 近くかかるのは同じ  純粋にCSBPに時間がかかっ ている. 入力画像 CSBPBlock Matching
  • 16. まとめ  PS4eye + Jetson TK1で安価で小型軽量なステレオシステムを作りました.  改良点  速度向上:GPUにまかせている間にCPUで進められる処理を進められ るようにする.  応用:特徴点ベース・3Dフロー,ビジュアルオドメトリ,etc…  本システムにおいてはたくさんの方々の成果物を利用させていただい ております.  Jetson TK1: nVidia様  Playstation Camera: SCE様  ROS: OSRF様  OpenCV: itseez様  PS4eye hack: @ps4eye様, @longjie様