SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
OpenCVの新機能
UMatを先取りしよう
関東GPGPU勉強会#3
2013/11/30
@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/
本日のアジェンダ
•
•
•
•
•
•
•

OpenCVとは?
前置き
OpenCVのデータ構造
UMatとは?
サンプルコード
UMatを使うには
UMatのTips

本題に入る前の前準備

本日のメイン
OpenCVとは?
Intelが開発・公開したOpen SourceのComputer Vision
ライブラリ。現在はWillow Garageが開発を行っている。
http://opencv.org/
• 公式サポートOS
– Windows/Linux/Mac OS/Android/iOS

• 公式サポート言語
– C/C++/Python/Java
※有志による非公式ラッパーは以下のサイトにまとめています。
http://www.atinfinity.info/wiki/index.php?OpenCV%2FOpenCV%20wrapper%20list
前置き
ある日OpenCV MeetingNotesで以下の記載を見かける
– 3.0 will do a lot more work on this. But OpenCL will vanish
and be put into automatic acceleration in the other modules
• It will accelerate automatically if you use "umat" (Universal Matrix).
• Tests often show 10 to 100x acceleration on GPU

– If user casts to umat and pass to functions, it will use GPU
acceleration if available achieving the speedup.
• Data is not copied in conversion back and forth between mat and
umat. Use mat if you want pixel access.

http://code.opencv.org/projects/opencv/wiki/2013#2013-11-05 から抜粋
前置き
ある日OpenCV MeetingNotesで以下の記載を見かける
– 3.0 will do a lot more work on this. But OpenCL will vanish
and be put into automatic acceleration in the other modules
• It will accelerate automatically if you use "umat" (Universal Matrix).
• Tests often show 10 to 100x acceleration on GPU

– If user casts to umat and pass to functions, it will use GPU
acceleration if available achieving the speedup.
• Data is not copied in conversion back and forth between mat and
umat. Use mat if you want pixel access.

なんか凄そう!
(小並感)

http://code.opencv.org/projects/opencv/wiki/2013#2013-11-05 から抜粋
前置き
という残念な理由からUMatについて説明することに
しました。
ただし、あくまでOpenCV 3.0で入る予定の機能なので、正式な
導入時は本発表時と内容が変わっている可能性がある点
ご了承ください。
前置き
というか、そもそも、最新コード
(https://github.com/Itseez/opencv/)に
UMat実装されているんでしょうか?
前置き
というか、そもそも、最新コード
(https://github.com/Itseez/opencv/)に
UMat実装されているんでしょうか?

あった!
modules/core/src/umatrix.cpp
前置き
じゃあ、開発版ドキュメント読んでみようかな?
http://docs.opencv.org/trunk/modules/core/doc/core.html
前置き
じゃあ、開発版ドキュメント読んでみようかな?
http://docs.opencv.org/trunk/modules/core/doc/core.html

「UMatのドキュメントはまだ無い」
(※2013/11/29時点)
ご清聴ありがとうございました
前置き
ドキュメントが無いので、しぶしぶソースを
読んで使い方を調べることにしました。
というわけで、本編に戻ります。
OpenCVの画像データ構造
OpenCVで画像を格納するために使うデータ構造は
おおまかに以下の4つ。
•
•
•
•

cv::Mat
gpu::GpuMat
ocl::oclMat
cv::UMat

画像データの入れ物(CPU版)
画像データの入れ物(CUDA版)
画像データの入れ物(OpenCL版)
画像データの入れ物(CPU/OpenCL版)
OpenCVの画像データ構造
OpenCVで画像を格納するために使うデータ構造は
おおまかに以下の4つ。
•
•
•
•

cv::Mat
gpu::GpuMat
ocl::oclMat
cv::UMat

画像データの入れ物(CPU版)
画像データの入れ物(CUDA版)
画像データの入れ物(OpenCL版)
画像データの入れ物(CPU/OpenCL版)

oclMatについては前回勉強会の発表資料を参照ください。
http://www.slideshare.net/YasuhiroYoshimura/gpgpu2opencvopencloclmat
※上記資料は2013年6月時点のものなので最新版ではAPI仕様が少し変わっています。
OpenCVの画像データ構造
OpenCVで画像を格納するために使うデータ構造は
おおまかに以下の4つ。
•
•
•
•

cv::Mat
gpu::GpuMat
ocl::oclMat
cv::UMat

画像データの入れ物(CPU版)
画像データの入れ物(CUDA版)
画像データの入れ物(OpenCL版)
画像データの入れ物(CPU/OpenCL版)

今日のお話はこの部分がメイン
UMatとは?
• Mat/oclMat間の差異を隠蔽したデータ構造
• UMatに画像データを入れて画像処理の関数
を実行すると、OpenCLが使える環境なら自動
でOpenCL実装を使ってくれる
• UMatを使って実装しておけばCPU/OpenCLの
コードを共通化できる
UMatとは?
• Mat/oclMat間の差異を隠蔽したデータ構造
• UMatに画像データを入れて画像処理の関数
を実行すると、OpenCLが使える環境なら自動
でOpenCL実装を使ってくれる
• UMatを使って実装しておけばCPU/OpenCLの
コードを共通化できる
UMatとは?
UMatに画像データを格納
OpenCV内部で
勝手にやってくれる

OpenCVの画像処理関数をコール

OpenCLが使える
実行環境?

No

Yes

oclMatの実装を使う

Matの実装を使う
UMatとは?
• Mat/oclMat間の差異を隠蔽したデータ構造
• UMatに画像データを入れて画像処理の関数
を実行すると、OpenCLが使える環境なら自動
でOpenCL実装を使ってくれる
• UMatを使って実装しておけばCPU/OpenCLの
コードを共通化できる
サンプルコード(グレースケール化)
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui.hpp>
using namespace cv;

int main(int argc, char** argv)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);
Mat dst;
cvtColor(src, dst, COLOR_BGR2GRAY);
imwrite (“lena_gray.jpg", dst);
return 0;

#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);
Mat dst;
ocl::oclMat oclsrc (src );
ocl::oclMat ocldst;
ocl::cvtColor(oclsrc, ocldst, COLOR_BGR2GRAY);
ocldst.download(dst);

}
imwrite (“lena_gray.jpg", dst);
return 0;
}

Mat(CPU版)のコード

oclMat(OpenCL版)のコード

点線で囲った部分が共通化できていないコード部分
サンプルコード(グレースケール化)
#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);
UMat usrc = src.getUMat(ACCESS_READ);
UMat udst;
cvtColor(usrc, udst, COLOR_BGR2GRAY);
imwrite (“lena_gray.jpg", udst);
return 0;
}

UMat(CPU/OpenCL版)のコード

UMatを使って実装するとCPU/OpenCLのコードを共通化できる!
UMatのサンプルコードを使って
各処理をもう少し詳しく説明します
サンプルコード(グレースケール化)
#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);

②画像読み込み
③UMat初期化

UMat usrc = src.getUMat(ACCESS_READ);
UMat udst;

④画像処理

cvtColor(usrc, udst, COLOR_BGR2GRAY);

⑤画像書き込み

imwrite (“lena_gray.jpg", udst);
return 0;
}

グレースケール化
サンプルコード(グレースケール化)
#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);

UMatを使うにはocl.hppの
インクルードが必要

②画像読み込み
③UMat初期化

UMat usrc = src.getUMat(ACCESS_READ);
UMat udst;

④画像処理

cvtColor(usrc, udst, COLOR_BGR2GRAY);

⑤画像書き込み

imwrite (“lena_gray.jpg", udst);
return 0;
}

OpenCVのヘッダをインクルード
サンプルコード(グレースケール化)
#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);

③UMat初期化

UMat usrc = src.getUMat(ACCESS_READ);
UMat udst;

④画像処理

cvtColor(usrc, udst, COLOR_BGR2GRAY);

⑤画像書き込み

imwrite (“lena_gray.jpg", udst);
return 0;
}

②画像読み込み
画像ファイルを読みこんで
Mat形式で格納する。
サンプルコード(グレースケール化)
#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);
UMat usrc = src.getUMat(ACCESS_READ);
UMat udst;

④画像処理

cvtColor(usrc, udst, COLOR_BGR2GRAY);

⑤画像書き込み

imwrite (“lena_gray.jpg", udst);
return 0;
}

③UMat初期化
srcに入れたデータをもとに
UMatのインスタンスを作る
サンプルコード(グレースケール化)
#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);
UMat usrc = src.getUMat(ACCESS_READ);
UMat udst;

cvtColor(usrc, udst, COLOR_BGR2GRAY);

⑤画像書き込み

imwrite (“lena_gray.jpg", udst);
return 0;
}

④画像処理
グレースケール化する
サンプルコード(グレースケール化)
#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)
{
Mat src = imread(“lena.jpg ", IMREAD_UNCHANGED);
UMat usrc = src.getUMat(ACCESS_READ);
UMat udst;

cvtColor(usrc, udst, COLOR_BGR2GRAY);
imwrite (“lena_gray.jpg", udst);
return 0;
}

⑤画像書き込み
グレースケール化した画像を
ファイルに書き込む
UMatを使うには

■開発版OpenCVコード入手
2.4.xにはUMat実装が入っていないので
git or githubから開発版のコードを取得
する必要があります
https://github.com/Itseez/opencv/

■OpenCL環境導入
PCにOpenCLのSDKをインストールして
おく必要がある

■CMake
CMakeで以下の手順を行うことで
ソリューションファイルが生成される
①「WITH_OPENCL」にチェックを入れる
②「Configure」ボタンを押す
③「Generate」ボタンを押す
④生成されたソリューションを使って
OpenCVのライブラリを生成
UMatのTips
• 今の実行環境でOpenCL環境が使えるかどう
かを調べるユーティリティ関数があります
– ocl::haveOpenCL()

• UMatの処理でOpenCL実装を使うかを知るた
めのユーティリティ関数があります
– ocl::useOpenCL()
ただし、#include <opencv2/core/ocl.hpp> を追加する必要あり!
UMatのTips
• ユーザによってはUMatの処理で勝手に
OpenCL側の処理に入って欲しくない場合もあ
るのでは?
– ocl::setUseOpenCL関数にtrue/falseを指定すること
でUMatでOpenCLを使う/使わないを決められます。

ただし、#include <opencv2/core/ocl.hpp> を追加する必要あり!
まとめ
• OpenCV 3.0あたりからUMatというデータ構造が追
加される予定
• UMatを使うとCPU/OpenCLの実装コードを共通化で
きる
• UMatを使った実装を行うとき、CPUモードでアルゴリ
ズムを検証してから、OpenCLモードに切り替えるの
も容易そう
• 「UMatのドキュメントはまだ無い」(※2013/11/29時
点)
• 正式発表を楽しみに待ちましょう!
おわり

Contenu connexe

Tendances

2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
智啓 出川
 

Tendances (20)

最適化超入門
最適化超入門最適化超入門
最適化超入門
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
 
Marp入門
Marp入門Marp入門
Marp入門
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
 
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation
[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation
[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
 
バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
 
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
 
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 

En vedette

130329 04
130329 04130329 04
130329 04
openrtm
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
智啓 出川
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
takaya imai
 

En vedette (17)

【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
 
ステレオカメラ作成の道
ステレオカメラ作成の道ステレオカメラ作成の道
ステレオカメラ作成の道
 
130329 04
130329 04130329 04
130329 04
 
NuGetの社内利用のススメ
NuGetの社内利用のススメNuGetの社内利用のススメ
NuGetの社内利用のススメ
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
 
PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 
有名論文から学ぶディープラーニング 2016.03.25
有名論文から学ぶディープラーニング 2016.03.25有名論文から学ぶディープラーニング 2016.03.25
有名論文から学ぶディープラーニング 2016.03.25
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
C#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめC#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめ
 
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組みフーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組み
 
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
 
OpenCV 3.0 on iOS
OpenCV 3.0 on iOSOpenCV 3.0 on iOS
OpenCV 3.0 on iOS
 
PyCharm入門
PyCharm入門PyCharm入門
PyCharm入門
 

Similaire à 【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう

もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
Yasumasa Suenaga
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用
Yasutomo Kawanishi
 
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiJavaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapi
Ken'ichi Sakiyama
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
Takeshi Komiya
 

Similaire à 【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう (20)

20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03
 
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
 
Open modeler
Open modelerOpen modeler
Open modeler
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
 
OpenCLに触れてみよう
OpenCLに触れてみようOpenCLに触れてみよう
OpenCLに触れてみよう
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiJavaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapi
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析
 
OSC2013 Tokyo/Spring JOSUG
OSC2013 Tokyo/Spring JOSUGOSC2013 Tokyo/Spring JOSUG
OSC2013 Tokyo/Spring JOSUG
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
Driverについて
DriverについてDriverについて
Driverについて
 
20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回
 

Dernier

Dernier (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう