SlideShare uma empresa Scribd logo
1 de 57
OpenCVのOpenCL実装oclMat
関東GPGPU勉強会#2
2013/6/1
@dandelion1124
自己紹介(1/3)
Twitter:@dandelion1124
• 学生時代は画像処理の研究に従事。
• 現在は都内勤務エンジニア。
• 研究室向けOpenCVのTipsサイトを作っていたら
OpenCV関連の書籍を書くことになり今に至る。
blog: http://www.atinfinity.info/blog/
wiki: http://www.atinfinity.info/wiki/
自己紹介(2/3)
• 書籍執筆
– OpenCVプログラミングブック
• 和訳本の原稿チェック
– 詳解 OpenCV
– 実践 コンピュータビジョン
• 雑誌関連
– 日経ソフトウェア(2011年3月号)
特集記事担当
自己紹介(3/3)
• メインで活動している勉強会
– 関東コンピュータビジョン勉強会 #cvsaisentan
http://sites.google.com/site/cvsaisentan/
というわけで
ステマはここまで
本日のアジェンダ
• OpenCLとは?
• OpenCVとは?
• OpenCVのデータ構造
• oclMatとは?
• oclMatを使うには
• oclMatの内部処理
• oclMat性能評価
本日のメイン
本題に入る前の前準備
OpenCLとは?
• Open Computing Languageの略称。
• ヘテロジーニアスな環境でプロセッサ(GPU, DSP,
Cell/B.E., CPU )の違いを吸収した共通API等を用いて
並列処理を記述するためのフレームワーク。Apple社
にて提案後、Khronos Groupが仕様策定。
• C99ベースの「OpenCL C言語」でデバイス向けのプロ
グラム開発を行うことができる。
http://www.khronos.org/opencl/
OpenCVとは?
Intelが開発・公開したOpen SourceのComputer Vision
ライブラリ。現在はWillow Garageが開発を行って
いる。
• 公式サポートOS
– Windows/Linux/Mac OS/Android/iOS
• 公式サポート言語
– C/C++/Python/Java
※有志による非公式ラッパーは以下のサイトにまとめています。
http://www.atinfinity.info/wiki/index.php?OpenCV%2FOpenCV%20wrapper%20list
OpenCVのデータ構造
OpenCVで画像を格納するために使うデータ構造は
おおまかに以下の3つ。
• cv::Mat 画像データの入れ物(CPU版)
• gpu::GpuMat 画像データの入れ物(CUDA版)
• ocl::oclMat 画像データの入れ物(OpenCL版)
今日のお話はこの部分がメイン
oclMatとは?
• OpenCLデバイス上で画像処理を行うために用い
るデータ構造
• cv::Matとほぼ同じようにコーディングできる
→学習コストが少なくて済む
• CUDA版のgpu::GpuMatも基本的に使い方が同じ
※GpuMatの方がoclMatより対応関数が多い
本題に入る前に
ちょっと脱線します
oclMatをtwitterで検索すると・・・
oclMatをtwitterで検索すると・・・
oclMatをtwitterで検索すると・・・
自分しかいない\(^o^)/
布教しよう!(今回の主目的)
oclMatをtwitterで検索すると・・・
1週間前は凄い悲壮感が
というか色々ひどい・・・
というわけで
本題に戻ります
oclMatを使うには
■CMake
CMakeで以下の手順を行うことで
ソリューションファイルが生成される
①「WITH_OPENCL」にチェックを入れる
②「Configure」ボタンを押す
③「Generate」ボタンを押す
■OpenCL環境導入
PCにOpenCLのSDKをインストールして
おく必要がある
詳細なAPIは以下を参照。
http://docs.opencv.org/modules/ocl/doc/ocl.html
サンプルコード(グレースケール化)
#include <opencv2/core/utility.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/ocl/ocl.hpp>
using namespace cv;
int main(int argc, char** argv)
{
std::vector<ocl::Info> oclinfo;
int devnums =
ocl::getDevice(oclinfo, ocl::CVCL_DEVICE_TYPE_GPU);
Mat src = imread("lena.jpg", IMREAD_UNCHANGED);
Mat dst;
ocl::oclMat oclsrc(src), ocldst;
ocl::cvtColor(oclsrc, ocldst, COLOR_BGR2GRAY);
ocldst.download(dst);
imwrite(“output.jpg", dst);
return 0;
}
グレースケール化
①ヘッダ読み込み
②oclMat初期化
③画像読み込み
④oclMat処理
⑤画像書き込み
サンプルコード(グレースケール化)
#include <opencv2/core/utility.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/ocl/ocl.hpp>
using namespace cv;
int main(int argc, char** argv)
{
std::vector<ocl::Info> oclinfo;
int devnums =
ocl::getDevice(oclinfo, ocl::CVCL_DEVICE_TYPE_GPU);
Mat src = imread("lena.jpg", IMREAD_UNCHANGED);
Mat dst;
ocl::oclMat oclsrc(src), ocldst;
ocl::cvtColor(oclsrc, ocldst, COLOR_BGR2GRAY);
ocldst.download(dst);
imwrite(“output.jpg", dst);
return 0;
}
②oclMat初期化
③画像読み込み
④oclMat処理
⑤画像書き込み
oclMatを使うにはocl.hppの
インクルードが必要
①ヘッダ読み込み
OpenCVのヘッダをインクルード
サンプルコード(グレースケール化)
#include <opencv2/core/utility.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/ocl/ocl.hpp>
using namespace cv;
int main(int argc, char** argv)
{
std::vector<ocl::Info> oclinfo;
int devnums =
ocl::getDevice(oclinfo, ocl::CVCL_DEVICE_TYPE_GPU);
Mat src = imread("lena.jpg", IMREAD_UNCHANGED);
Mat dst;
ocl::oclMat oclsrc(src), ocldst;
ocl::cvtColor(oclsrc, ocldst, COLOR_BGR2GRAY);
ocldst.download(dst);
imwrite(“output.jpg", dst);
return 0;
}
③画像読み込み
④oclMat処理
⑤画像書き込み
OpenCLデバイスリストの取得
(※ここではGPUのみを取得)
以下のような指定も可能。
CVCL_DEVICE_TYPE_ALL
OpenCLデバイスを全て取得
CVCL_DEVICE_TYPE_CPU
CPUのみを取得
etc...
注意点
oclMatを使う前にocl::getDeviceを
必ず呼ばないといけない点に注意。
②oclMat初期化
サンプルコード(グレースケール化)
#include <opencv2/core/utility.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/ocl/ocl.hpp>
using namespace cv;
int main(int argc, char** argv)
{
std::vector<ocl::Info> oclinfo;
int devnums =
ocl::getDevice(oclinfo, ocl::CVCL_DEVICE_TYPE_GPU);
Mat src = imread("lena.jpg", IMREAD_UNCHANGED);
Mat dst;
ocl::oclMat oclsrc(src), ocldst;
ocl::cvtColor(oclsrc, ocldst, COLOR_BGR2GRAY);
ocldst.download(dst);
imwrite(“output.jpg", dst);
return 0;
}
④oclMat処理
⑤画像書き込み
画像ファイルを読みこんで
cv::Mat形式で格納する。
③画像読み込み
サンプルコード(グレースケール化)
#include <opencv2/core/utility.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/ocl/ocl.hpp>
using namespace cv;
int main(int argc, char** argv)
{
std::vector<ocl::Info> oclinfo;
int devnums =
ocl::getDevice(oclinfo, ocl::CVCL_DEVICE_TYPE_GPU);
Mat src = imread("lena.jpg", IMREAD_UNCHANGED);
Mat dst;
ocl::oclMat oclsrc(src), ocldst;
ocl::cvtColor(oclsrc, ocldst, COLOR_BGR2GRAY);
ocldst.download(dst);
imwrite(“output.jpg", dst);
return 0;
}
⑤画像書き込み
oclMatのコンストラクタを生成して、
cv::Matの画像データをOpenCL
デバイスに転送する
④oclMat処理
oclMatの画像データに対して
グレースケール化を行う
グレースケールにした結果を
ホスト側に転送する
サンプルコード(グレースケール化)
#include <opencv2/core/utility.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/ocl/ocl.hpp>
using namespace cv;
int main(int argc, char** argv)
{
std::vector<ocl::Info> oclinfo;
int devnums =
ocl::getDevice(oclinfo, ocl::CVCL_DEVICE_TYPE_GPU);
Mat src = imread("lena.jpg", IMREAD_UNCHANGED);
Mat dst;
ocl::oclMat oclsrc(src), ocldst;
ocl::cvtColor(oclsrc, ocldst, COLOR_BGR2GRAY);
ocldst.download(dst);
imwrite(“output.jpg", dst);
return 0;
}
⑤画像書き込み
グレースケール化した画像を
ファイルに書き込む
ねっ、簡単でしょう?
使う分には簡単なのは
わかったけど
内部でどんな処理が
動いてるんだろう?
oclMatの内部処理(初回実行)
OpenCLデバイス
カーネルバイナリ
(Map形式でキャッシュ)
OpenCL
ランタイムライブラリ
oclMatの画像処理関数
カーネル
ソース
①カーネル読み込み
②カーネルコンパイル
③キャッシュ
④カーネル実行
oclMatの内部処理(2回目以降)
OpenCLデバイス
カーネルバイナリ
(Map形式でキャッシュ)
OpenCL
ランタイムライブラリ
oclMatの画像処理関数
①キャッシュから必要なカーネルを探す
③カーネル実行
②カーネル
読み込み
カーネルコンパイルが
不要!
oclMatの内部処理(補足)
• OpenCL 1.1以上でないと使えない
• 2.4.5時点では同一環境に複数OpenCLデバイ
スがあっても同時に使えない
→Titan 2枚刺しフルに使えない\(^o^)/
• oclMatはbuffer objectとして処理される
( image objectではない)
http://docs.opencv.org/modules/ocl/doc/introduction.html
oclMatの内部処理(まとめ)
• 初回実行時はカーネルコンパイルが走る(の
でその分時間がかかる)
• 2回目以降はキャッシュから引っ張れるので
カーネルコンパイルは不要
• 良く使うカーネルは事前に(主にプログラムの
はじめ)にダミーとして呼んでおくと良い
oclMat性能評価
■計測方法
対応するMat、oclMatの関数を5回処理した処理時間
を計測。 oclMatはダミー処理を事前に呼んでおいて
計測。※ホスト、デバイスの転送時間は含まない。
oclMat性能評価
■計測関数
1. cvtColor
2. threshold
3. absdiff
4. Laplacian
5. matchTemplate
6. bilateralFilter
■入力画像
1~4、6:
512x512[pixel]
5:
探索画像:748x576[pixel]
テンプレート画像: 52x93[pixel]
Intel OpenCL編
oclMat性能評価(Intel OpenCL編)
■計測環境
CPU:Intel Core i7-3930K@3.20GHz (6コア)
メモリ:32.0GB
GPU:NVIDIA GeForce GTX 680
コンパイラ:Visual Studio 2010 Professional
■OpenCL
Intel OpenCL SDK 3.0
0
0.5
1
1.5
2
2.5
3
cvtColor threshold absdiff Laplacian
処理時間[ms]
計測結果(1)
Mat
oclMat
oclMat性能評価(Intel OpenCL編)
OpenCL(CPU版)
oclMat性能評価(Intel OpenCL編)
0
1000
2000
3000
4000
5000
6000
7000
matchTemplate bilateralFilter
処理時間[ms]
計測結果(2)
Mat
ocMat
OpenCL(CPU版)
oclMat性能評価(Intel OpenCL編)
0
0.5
1
1.5
2
2.5
3
cvtColor threshold absdiff Laplacian
処理時間[ms]
計測結果(1)
Mat
oclMat
OpenCL(GPU版)
oclMat性能評価(Intel OpenCL編)
0
1000
2000
3000
4000
5000
6000
7000
matchTemplate bilateralFilter
処理時間[ms]
計測結果(2)
Mat
oclMat
OpenCL(GPU版)
GpuMat編(おまけ)
GpuMat性能評価
■計測環境
CPU:Intel Core i7-3930K@3.20GHz (6コア)
メモリ:32.0GB
GPU:NVIDIA GeForce GTX 680
コンパイラ:Visual Studio 2010 Professional
■CUDA
NVIDIA CUDA5
GpuMat性能評価
0
0.5
1
1.5
2
2.5
3
cvtColor threshold absdiff Laplacian
処理時間[ms]
計測結果(1)
Mat
GpuMat
GpuMat性能評価
0
1000
2000
3000
4000
5000
6000
7000
matchTemplate bilateralFilter
処理時間[ms]
計測結果(2)
Mat
GpuMat
性能比較
性能比較
0
0.5
1
1.5
2
2.5
3
cvtColor threshold absdiff Laplacian
処理時間[ms]
計測結果(1)
Mat
oclMat(CPU)
oclMat(GPU)
gpuMat
性能比較
0
1000
2000
3000
4000
5000
6000
7000
matchTemplate bilateralFilter
処理時間[ms]
計測結果(2)
Mat
oclMat(CPU)
oclMat(GPU)
gpuMat
Titan+NVIDIA OpenCL編
(おまけ)
oclMat性能評価(Titan編)
■計測環境
CPU:Intel Xeon CPU E5-2630L@2GHz
(/proc/cpuinfoによると24コア?)
メモリ:32.0GB
GPU:NVIDIA GeForce GTX Titan
コンパイラ:gcc 4.4.7
■OpenCL
NVIDIA OpenCL(CUDA 5)
oclMat性能評価(Titan編)
0
0.5
1
1.5
2
2.5
3
cvtColor threshold absdiff Laplacian
処理時間[ms]
計測結果(1)
Mat
oclMat
oclMat性能評価(Titan編)
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
matchTemplate bilateralFilter
処理時間[ms]
計測結果(2)
Mat
ocMat
性能比較
(発表からの追加分)
oclMat性能評価(追加評価)
■計測関数
1. cvtColor
2. threshold
3. absdiff
4. Laplacian
5. matchTemplate
6. bilateralFilter
■入力画像
1~4、6:
2560x2560[pixel]
5:
探索画像:3840x2880[pixel]
テンプレート画像: 260x465[pixel]
最初の計測から
画像サイズを5倍にしてみると
Matとの速度差に違いが出る?
oclMat性能評価(Intel OpenCL編)
OpenCL(CPU版)
0
5
10
15
20
25
30
35
40
45
cvtColor threshold absdiff Laplacian
処理時間[ms]
計測結果(1)
Mat
oclMat
oclMat性能評価(Intel OpenCL編)
OpenCL(CPU版)
0
50000
100000
150000
200000
250000
matchTemplate bilateralFilter
処理時間[ms]
計測結果(2)
Mat
ocMat
oclMat性能評価(Intel OpenCL編)
OpenCL(GPU版)
0
5
10
15
20
25
30
35
40
45
cvtColor threshold absdiff Laplacian
処理時間[ms]
計測結果(1)
Mat
oclMat
oclMat性能評価(Intel OpenCL編)
OpenCL(GPU版)
0
50000
100000
150000
200000
250000
matchTemplate bilateralFilter
処理時間[ms]
計測結果(2)
Mat
ocMat
まとめ
• 自力でゴリゴリOpenCLカーネルを書かなくてもお手軽に
メニーコアの恩恵が得られる
• 既存のMatで書いていた処理をoclMatに置き換えるだ
けで簡単に高速化できる可能性がある(関数や画像サ
イズはMatより遅くなるものもあるので事前に確認した
方が良い)
• GPUで思ったより速くならないのはGPU向けに特化した
チューニング実装が足りないせい?(ただし、最近
oclMat関連のコミットが活発なので今後改善される可能
性あり)
おわり

Mais conteúdo relacionado

Mais procurados

【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative ModelDeep Learning JP
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Modelscvpaper. challenge
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII
 
物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417Masakazu Shinoda
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language ModelsDeep Learning JP
 
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)ARISE analytics
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)Preferred Networks
 
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)Deep Learning JP
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019Yusuke Uchida
 
Masked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision LearnersMasked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision LearnersGuoqingLiu9
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised LearningまとめDeep Learning JP
 
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object DetectionDeep Learning JP
 
[DL輪読会]End-to-End Object Detection with Transformers
[DL輪読会]End-to-End Object Detection with Transformers[DL輪読会]End-to-End Object Detection with Transformers
[DL輪読会]End-to-End Object Detection with TransformersDeep Learning JP
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat ModelsDeep Learning JP
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデルMasahiro Suzuki
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてRyutaro Yamauchi
 

Mais procurados (20)

【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
Point net
Point netPoint net
Point net
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
 
物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
 
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
 
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019
 
Masked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision LearnersMasked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision Learners
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
 
[DL輪読会]End-to-End Object Detection with Transformers
[DL輪読会]End-to-End Object Detection with Transformers[DL輪読会]End-to-End Object Detection with Transformers
[DL輪読会]End-to-End Object Detection with Transformers
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法について
 

Semelhante a 【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat

【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介Yasuhiro Yoshimura
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03ManaMurakami1
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用Yasutomo Kawanishi
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ陽平 山口
 
2012 kanemotolablecture1
2012 kanemotolablecture12012 kanemotolablecture1
2012 kanemotolablecture1ytanno
 
20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回Yusuke Yokozawa
 
2012 kanemotolablecture2
2012 kanemotolablecture22012 kanemotolablecture2
2012 kanemotolablecture2ytanno
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Nodejuku01 ohtsu
Nodejuku01 ohtsuNodejuku01 ohtsu
Nodejuku01 ohtsuNanha Park
 
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...de:code 2017
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析Akinori Abe
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜Megagon Labs
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
130710 02
130710 02130710 02
130710 02openrtm
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた徹 上野山
 
OpenCLに触れてみよう
OpenCLに触れてみようOpenCLに触れてみよう
OpenCLに触れてみようYou&I
 
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』H2O Space. Co., Ltd.
 

Semelhante a 【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat (20)

【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用
 
Open modeler
Open modelerOpen modeler
Open modeler
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
2012 kanemotolablecture1
2012 kanemotolablecture12012 kanemotolablecture1
2012 kanemotolablecture1
 
20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回
 
2012 kanemotolablecture2
2012 kanemotolablecture22012 kanemotolablecture2
2012 kanemotolablecture2
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Openshift 20191121
Openshift 20191121Openshift 20191121
Openshift 20191121
 
Nodejuku01 ohtsu
Nodejuku01 ohtsuNodejuku01 ohtsu
Nodejuku01 ohtsu
 
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
130710 02
130710 02130710 02
130710 02
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
 
OpenCLに触れてみよう
OpenCLに触れてみようOpenCLに触れてみよう
OpenCLに触れてみよう
 
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
 

Último

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

Último (8)

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

【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat