Submit Search
Upload
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
•
10 likes
•
9,566 views
Yasuhiro Yoshimura
Follow
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
Read less
Read more
Technology
Report
Share
Report
Share
1 of 34
Download now
Download to read offline
Recommended
Tensorflow Liteの量子化アーキテクチャ
Tensorflow Liteの量子化アーキテクチャ
HitoshiSHINABE1
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
SSII2019TS: Shall We GANs? ~GANの基礎から最近の研究まで~
SSII2019TS: Shall We GANs? ~GANの基礎から最近の研究まで~
SSII
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
Kensho Hara
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
Deep Learning JP
Recommended
Tensorflow Liteの量子化アーキテクチャ
Tensorflow Liteの量子化アーキテクチャ
HitoshiSHINABE1
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
SSII2019TS: Shall We GANs? ~GANの基礎から最近の研究まで~
SSII2019TS: Shall We GANs? ~GANの基礎から最近の研究まで~
SSII
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
Kensho Hara
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
Deep Learning JP
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
Deep Learning JP
TVM の紹介
TVM の紹介
Masahiro Masuda
モデル高速化百選
モデル高速化百選
Yusuke Uchida
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
Takahiro Kubo
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
cvpaper. challenge
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
Fumihiko Takahashi
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
Toru Tamaki
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
Deep Learning JP
Vision and Language(メタサーベイ )
Vision and Language(メタサーベイ )
cvpaper. challenge
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
takaya imai
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
Fixstars Corporation
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
Deep Learning JP
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
Kuninobu SaSaki
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
Deep Learning JP
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
Yasuhiro Yoshimura
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
将 高野
More Related Content
What's hot
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
Deep Learning JP
TVM の紹介
TVM の紹介
Masahiro Masuda
モデル高速化百選
モデル高速化百選
Yusuke Uchida
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
Takahiro Kubo
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
cvpaper. challenge
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
Fumihiko Takahashi
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
Toru Tamaki
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
Deep Learning JP
Vision and Language(メタサーベイ )
Vision and Language(メタサーベイ )
cvpaper. challenge
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
takaya imai
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
Fixstars Corporation
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
Deep Learning JP
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
Kuninobu SaSaki
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
Deep Learning JP
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
What's hot
(20)
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
TVM の紹介
TVM の紹介
モデル高速化百選
モデル高速化百選
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
Vision and Language(メタサーベイ )
Vision and Language(メタサーベイ )
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
Similar to 【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
Yasuhiro Yoshimura
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
将 高野
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Shinya Nakajima
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
node-webkit
node-webkit
Takuji Shimokawa
20161022 Linux on Azureの世界
20161022 Linux on Azureの世界
Takayoshi Tanaka
Visual Studio を使わず .NET する
Visual Studio を使わず .NET する
m ishizaki
Intel OpenVINO™ ツールキットのご紹介
Intel OpenVINO™ ツールキットのご紹介
Hiroshi Ouchiyama
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward
Naoki Shimizu
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
irix_jp
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
Masaya Tahara
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
Etsuji Nakai
Java in the World of Container by David Buck
Java in the World of Container by David Buck
オラクルエンジニア通信
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
Takamasa Maejima
Windows serverとインフラ関連アップデート
Windows serverとインフラ関連アップデート
Tsukasa Kato
Qlik Sense Extension開発 - Extensionの概要から実際の開発詳細まで
Qlik Sense Extension開発 - Extensionの概要から実際の開発詳細まで
QlikPresalesJapan
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組み
Shinichiro Arai
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
decode2016
Similar to 【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
(20)
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
node-webkit
node-webkit
20161022 Linux on Azureの世界
20161022 Linux on Azureの世界
Visual Studio を使わず .NET する
Visual Studio を使わず .NET する
Intel OpenVINO™ ツールキットのご紹介
Intel OpenVINO™ ツールキットのご紹介
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
Java in the World of Container by David Buck
Java in the World of Container by David Buck
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
Windows serverとインフラ関連アップデート
Windows serverとインフラ関連アップデート
Qlik Sense Extension開発 - Extensionの概要から実際の開発詳細まで
Qlik Sense Extension開発 - Extensionの概要から実際の開発詳細まで
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組み
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
Recently uploaded
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(7)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
1.
OpenVX、 NVIDIA VisionWorks使ってみた 第33回コンピュータビジョン勉強会@関東 2016/4/17 @dandelion1124
2.
自己紹介 Twitter ID:@dandelion1124 webpage: http://atinfinity.github.io/ •
学生時代は画像処理、VRの研究に従事 • 現在は都内勤務エンジニア • Build InsiderにてOpenCV入門 (http://www.buildinsider.net/small/opencv)を連載中
3.
本日のアジェンダ • OpenVX – OpenVXとは –
サンプルコード – OpenVX Implementation • NVIDIA VisionWorks – NVIDIA VisionWorksとは
4.
OpenVXとは • クロノス・グループが仕様策定しているコンピュータビジョン アプリケーション向けのライブラリ、フレームワーク • ターゲットは低消費電力、リアルタイムのアプリケーション •
様々なヘテロジニアスプロセッサ間の移植性 – DSP、GPU、マルチコアCPU etc… • 目的の処理を連結グラフで記述(詳細は後述) https://www.khronos.org/openvx/
5.
OpenVXで定義されるデータ構造 • vx_image – 画像データを格納する型 •
vx_array – arrayデータを格納する型 • vx_matrix – 行列データを格納する型
6.
OpenVXで定義されるデータ構造 • vx_status – ステータスを表すenum値 •
VX_SUCCESS • VX_ERROR_NO_MEMORY • VX_ERROR_INVALID_VALUE etc... – 詳細はOpenVX仕様書、vx_status_eのenum値を参照の こと。
7.
OpenVXで定義されるデータ構造 • vx_node – 目的の処理を記述するための処理単位 –
OpenVXではプリミティブな処理(フィルタ処理、色変換 etc…)を規定 • vx_graph – vx_nodeによって処理とデータの流れを記述した連結グラ フ
8.
• Sobelフィルタの処理を記述したグラフ構成例 OpenVXで定義されるデータ構造 Sobel3x3 Magnitude dx dy Convert Depth mag
dstsrc 画像データ ノード
9.
OpenVXで定義されるデータ構造 • グラフのライフサイクル Graph Construction Graph
Verification Graph Execution Graph Deconstruction data updates reference changes OpenVX specification v1.0.1から引用
10.
OpenVXで処理時間を測る • graphの処理時間を測る • nodeの処理時間を測る vx_perf
perf; vxQueryGraph(graph1, VX_GRAPH_ATTRIBUTE_PERFORMANCE, &perf, sizeof(perf)); std::cout << (perf.tmp / 1000000.0) << “[ms]” << std::endl; vx_perf perf; vxQueryNode(node1, VX_NODE_ATTRIBUTE_PERFORMANCE, &perf, sizeof(perf)); std::cout << (perf.tmp / 1000000.0) << “[ms]” << std::endl;
11.
サンプルコード(OpenVX) • context生成 • image生成 •
graph生成 • node生成 • graph検証 • graph実行 • node破棄 • graph破棄 • image破棄 • context破棄 初期化 Vision処理 後処理
12.
サンプルコード(OpenVX) vx_context context =
vxCreateContext(); vx_image src; vx_image dst; vx_graph graph = vxCreateGraph(context); vx_node node = vxColorConvertNode(graph, src, dst); vxVerifyGraph(graph); vxProcessGraph(graph); vxReleaseNode(&node); vxReleaseGraph(&graph); vxReleaseImage(&vx_src); vxReleaseImage(&vx_dst); vxReleaseContext(&context); ①初期化 ②Vision処理 ③後処理
13.
サンプルコード(OpenVX) vx_context context =
vxCreateContext(); vx_image src; vx_image dst; vx_graph graph = vxCreateGraph(context); vx_node node = vxColorConvertNode(graph, src, dst); vxVerifyGraph(graph); vxProcessGraph(graph); vxReleaseNode(&node); vxReleaseGraph(&graph); vxReleaseImage(&vx_src); vxReleaseImage(&vx_dst); vxReleaseContext(&context); ②Vision処理 ③後処理 context生成 image生成 画像データをコピーする 処理は時間の都合上割愛。
14.
サンプルコード(OpenVX) vx_context context =
vxCreateContext(); vx_image src; vx_image dst; vx_graph graph = vxCreateGraph(context); vx_node node = vxColorConvertNode(graph, src, dst); vxVerifyGraph(graph); vxProcessGraph(graph); vxReleaseNode(&node); vxReleaseGraph(&graph); vxReleaseImage(&vx_src); vxReleaseImage(&vx_dst); vxReleaseContext(&context); ②Vision処理 ③後処理 graph生成 node生成 このサンプルは 色変換のnode graph検証 graphが正しく作られて いればVX_SUCCSESSが 返ってくる
15.
サンプルコード(OpenVX) vx_context context =
vxCreateContext(); vx_image src; vx_image dst; vx_graph graph = vxCreateGraph(context); vx_node node = vxColorConvertNode(graph, src, dst); vxVerifyGraph(graph); vxProcessGraph(graph); vxReleaseNode(&node); vxReleaseGraph(&graph); vxReleaseImage(&vx_src); vxReleaseImage(&vx_dst); vxReleaseContext(&context); ③後処理 graph実行 graphの記述に沿った 処理が実行される
16.
サンプルコード(OpenVX) vx_context context =
vxCreateContext(); vx_image src; vx_image dst; vx_graph graph = vxCreateGraph(context); vx_node node = vxColorConvertNode(graph, src, dst); vxVerifyGraph(graph); vxProcessGraph(graph); vxReleaseNode(&node); vxReleaseGraph(&graph); vxReleaseImage(&vx_src); vxReleaseImage(&vx_dst); vxReleaseContext(&context); 後処理
17.
OpenVX Implementation OpenVX Implementationとして有名どころは以下の2つ。 •
AMD OpenVX (AMDOVX) – http://gpuopen.com/compute-product/amd-openvx/ • NVIDIA VisionWorks – https://developer.nvidia.com/embedded/visionworks 参考URL:https://www.khronos.org/openvx/resources
18.
AMD OpenVX(AMDOVX) • AMD
APP SDKを使ったOpenVX Implementation – OpenCL v2.0以降の機能を用いて実装されている • C++11以降をサポートしているコンパイラが必要 • オープンソース!(なのでソースコードが読める) – https://github.com/GPUOpen-ProfessionalCompute- Libraries/amdovx-core • Windows上での環境構築方法をまとめました https://github.com/atinfinity/lab/wiki/AMD-OpenVX- %28AMDOVX%29%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%A F%89
19.
NVIDIA VisionWorks • CUDAを使ったOpenVX
Imprementation • 2016/4/8時点で最新のVisionWorks v1.0を使うには CUDA Toolkit v7.0のインストールが必要 • Jetson TK1、TX1でも動作する! – JetPack(https://developer.nvidia.com/embedded/jetpack)をイ ンストールすることでVisionWorksが使える • Webinarも用意されている https://developer.nvidia.com/embedded/learn/tutorials#collapseVisionWork s
20.
OpenVX Implementation OpenVX Implementationとして有名どころは以下の2つ。 •
AMD OpenVX (AMDOVX) – http://gpuopen.com/compute-product/amd-openvx/ • NVIDIA VisionWorks – https://developer.nvidia.com/embedded/visionworks 参考URL:https://www.khronos.org/openvx/resources (主に宗教上の理由で)今回はこちらを使ってみました
21.
NVIDIA VisionWorks VisionWorksの構成はざっくりとこんな感じらしい。 CUDA VisionWorks Toolkit VisionWorks Primitives VisionWorks Framework Application
Code http://on-demand.gputechconf.com/gtc/2014/presentations/S4714-nvidia-vision-toolkit-adas- photography.pdf
22.
NVIDIA VisionWorks VisionWorksの構成はざっくりとこんな感じらしい。 CUDA VisionWorks Toolkit VisionWorks Primitives VisionWorks Framework Application
Code OpenVX API NVIDIA Extension OpenVX Framework NVIDIA Extension http://on-demand.gputechconf.com/gtc/2014/presentations/S4714-nvidia-vision-toolkit-adas- photography.pdf
23.
NVIDIA VisionWorks OpenVX Node OpenVX Node VisionWorks Node VisionWorks Node http://on-demand.gputechconf.com/gtc/2014/presentations/S4714-nvidia-vision-toolkit-adas-photography.pdf OpenVX Graph VisionWorks
Node(CUDAを使って実装されたNode)を 使うことでGPUの恩恵を受けることができる ※VisionWorks NodeはOpenVX Nodeとして扱える
24.
NVIDIA VisionWorksの機能 • Image
Arithmetic – Add/Subtract/Multiply – Not/Or/And/Xor – LUT – Color Convert etc… • Flow – Median Flow – Optical Flow etc… • Depth – Stereo Block Matching – Semi-Global Matching etc… • Geometric Transform – Affine Warp – Flip Image – Remap – Scale Image etc… https://developer.nvidia.com/embedded/visionworks から抜粋
25.
NVIDIA VisionWorksの機能 • Filters –
Box Filter – Convolution – Gaussian Filter – Laplacian Filter etc… • Features – Fast Corners – Harris Corners – Hough Circles – Hough Lines etc… • Analysis – Histogram – Histogram Equalization – Integral Image – Min Max Locations etc… https://developer.nvidia.com/embedded/visionworks から抜粋
26.
NVIDIA VisionWorks使ってみた • Semi-Global
Matching left image right image depth image 入力はDaimler Urban Segmentation Dataset 2014(http://www.6d-vision.com/scene-labeling)の画像データ。
27.
速度計測してみた • 計測環境 – OS:Windows
10 Pro 64bit – CPU:Intel Core i7-3930K@3.20GHz – メモリ:32GB – GPU:NVIDIA GeForce GTX 680 – VisionWorks:NVIDIA VisionWorks v1.0.25 – CUDA:CUDA Toolkit v7.0 – OpenCV:OpenCV 3.1 – コンパイラ:Visual Studio 2013 Update5
28.
速度計測してみた 0 1 2
3 4 5 6 7 8 9 2160p 4320p 処理時間[ms] 画像サイズ グレースケール化 VisionWorks cuda::GpuMat Mat
29.
速度計測してみた 0 5 10
15 20 25 30 35 40 45 50 2160p 4320p 処理時間[ms] 画像サイズ box filter VisionWorks cuda::GpuMat Mat
30.
速度計測してみた 0 2 4
6 8 10 12 1024x440 処理時間[ms] 画像サイズ stereoBM VisionWorks cuda::GpuMat Mat
31.
速度計測してみた 0 20 40
60 80 100 120 140 1024x440 処理時価[ms] 画像サイズ stereoSGBM VisionWorks Mat ※OpenCV 3.1時点でGpuMatにSGBMの関数が未実装なのでGpuMatは比較対象から除外
32.
OpenVXを使ってみた所感 • OpenCVに比べてまだまだ対応関数が少ない – OpenVX
v1.0ではプリミティブな関数のみの提供に留まっ ているが以降のバージョンで追加していく予定らしい – AMDはOpenCVを使った追加モジュールを公開している • https://github.com/GPUOpen-ProfessionalCompute- Libraries/amdovx-modules • GraphやNodeの概念がちょっと独特 – UIでデータフローを作ってプログラミングをするツール (http://www.adaptive-vision.com/en/software/ みたいな の)とは相性が良さそう
33.
OpenVXを使ってみた所感 • 画像データ入出力にちょっと一苦労 – OpenVX仕様書としばらくにらめっこしたりした・・・ –
特にメモリのalignmentあたりをきちんとわかってないと詰 む • エラー処理はかなり大事 – vx_statusのエラーコードだけだと具体的なエラー箇所、エ ラー原因の絞り込みがしづらいのでエラー処理はしっかり 書いた方がよさそう • VisionWorksが思ったよりも高速(な場合もある) – 機能によっては部分的に使ってみるのもアリかも
34.
OpenVX参考サイト • 個人wikiにまとめました – https://github.com/atinfinity/lab/wiki/OpenVX%E5%8F%82%E8%80% 83%E3%83%AA%E3%83%B3%E3%82%AF •
個人的にはAMD OpenVXのコードを重宝しています – 特にcv::Mat、vx_image間の相互変換処理等のユーティリ ティ周りが参考になる
Download now