SlideShare a Scribd company logo
1 of 24
Download to read offline
How to use scikit-image
for data augmentation
@tereka114
自己紹介
1. 山本 大輝(@tereka114)
2. のんびりしているエンジニアの日記(Blog)
1. http://nonbiri-tereka.hatenablog.com/
3. Acroquest Technology株式会社
4. データ分析のお仕事しています。
1. 画像処理、自然言語処理
Outline
1. Scikit-imageとは何か
2. Data Augmentationとは何か
3. Data Augmentationで使える関数の紹介
1. 画像の読み込み
2. アフィン変換
3. ヒストグラム正規化
4. Numpyの便利関数紹介
Outline
1. Scikit-imageとは何か
2. Data Augmentationとは何か
3. Data Augmentationで使える関数の紹介
1. 画像の読み込み
2. アフィン変換
3. ヒストグラム正規化
4. Numpyの便利関数紹介
Scikit-imageとは何か?
1. Scikit-imageは画像処理のライブラリ。
2. 因みにscikitとは、scipy toolkitを示していて、
特にこのライブラリは広く使われている。
3. 実は気にしていないだけで、案外バックエン
ドでは動いていることがある。
CaffeのData Augmentation
Scikit-imageの良い点
1. Installが簡単
1. Sudo pip install scikit-image
2. 基本的な操作はNumpyの関数で可能
1. 簡単に行列演算を実施することができる。
Scikit-imageでできること
1. 画像の入出力(当たり前)
2. 画像の変換
1. Histogram normalization、Affine Transform
3. 特徴量抽出
1. Local Binary Pattern, Histogram of Orientation
Scikit-imageでできること
1. 画像の入出力(当たり前)
2. 画像の変換
1. Histogram normalization、Affine Transform
3. 特徴量抽出
1. Local Binary Pattern, Histogram of Orientation
Outline
1. Scikit-imageとは何か
2. Data Augmentationとは何か
3. Data Augmentationで使える関数の紹介
1. 画像の読み込み
2. アフィン変換
3. ヒストグラム正規化
4. Numpyの便利関数紹介
Data Augmentation
1. データに対して情報を加えること。
2. 画像に対しては、元画像に対して回転、平
行移動、スケール変更などの情報を加える。
3. Kaggleではよく使われる方法
4. AlexNetの元論文でも使われている。
Example of Data Augmentation
引用元:https://cesarlaurent.wordpress.com/2015/02/19/29/
Example of Data Augmentation
引用元:https://cesarlaurent.wordpress.com/2015/02/19/29/
Outline
1. Scikit-imageとは何か
2. Data Augmentationとは何か
3. Data Augmentationで使える関数の紹介
1. 画像の読み込み
2. アフィン変換
3. ヒストグラム正規化
4. Numpyの便利関数紹介
画像の読み込み
1. skimage.io.imreadでファイル名を第一引数
に使うと可能です。
2. 読みこんだ画像はnumpy.arrayなので行列
計算はそのまま可能
3. OpenCVと併用する場合は注意、行列の並び
順はRGB。(OpenCVはBGR)
画像の読み込み
1. Scikit-imageでの画像を読み込み
アフィン変換
1. 平行移動を伴う線形変換のこと
1. 「並行移動」・「回転」・「拡大・縮小」が可能
2. パラメータを与えるだけで簡単にできる。
1. Scale:スケールの変換
2. Rotate:回転
3. Translated:平行移動
アフィン変換
Affine変換の行列を作成
rotateはradian
線形変換
ヒストグラム正規化
1. ヒストグラムを平滑化することによって、コン
トラストを調整することができる。
1. このコントラスト調整によって、精度がよくな
ることも・・・
ヒストグラム正規化
ヒストグラム正規化
Numpyの便利関数紹介
1. np.random.randomとnp.random.binomialを
組み合わせると、ノイズが作れる。
2. Transpose関数で転置できる。
1. 多くのDeepLearningライブラリでは、
channel,height,widthの順番を求められる。
2. scikit-imageの画像はheight,width,channel
3. img.transpose(2,0,1)とすると期待する入力にな
る。
Numpyの便利関数紹介
1. whereを使うと一定以上の値を抽出して、定
数に変換など可能
1. 値が0.5より高い箇所を1とする。
1. x[np.where(x > 0.5)] = 1
2. 画像自体はnumpyの行列の為、以下の方法
で、画像を切り取ることが可能
1. img = img[10:10 + 224]
まとめ
1. scikit-imageでData Augmentationをやってみ
ようの紹介です。
2. Data Augmentationは画像処理(特に認識)
で使われ、成果をあげている。
3. Scikit-imageで、簡単にできる。

More Related Content

Similar to How to use scikit-image for data augmentation

Rancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みRancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みMichitaka Terada
 
Jupyter Notebookを納品した話
Jupyter Notebookを納品した話Jupyter Notebookを納品した話
Jupyter Notebookを納品した話Hiroki Yamamoto
 
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化Shinichi Nakagawa
 
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析Ryuichi Matsumoto
 
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~LINE Corporation
 
コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話ShunyoKawamoto
 
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことWatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことShuichi Tsutsumi
 
プロダクト中心のデータ駆動を推進していくために必要なこと
プロダクト中心のデータ駆動を推進していくために必要なことプロダクト中心のデータ駆動を推進していくために必要なこと
プロダクト中心のデータ駆動を推進していくために必要なことKazuhito Osabe
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術Unity Technologies Japan K.K.
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルRecruit Technologies
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learningRetrieva inc.
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようSalesforce Developers Japan
 
2017年度 AMG Solution 会社説明会資料
2017年度 AMG Solution 会社説明会資料2017年度 AMG Solution 会社説明会資料
2017年度 AMG Solution 会社説明会資料Tomoteru Sannomiya
 
DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類NVIDIA Japan
 
CycleGANで顔写真をアニメ調に変換する
CycleGANで顔写真をアニメ調に変換するCycleGANで顔写真をアニメ調に変換する
CycleGANで顔写真をアニメ調に変換するmeownoisy
 
Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729s. kaijima
 
Oisix勉強会 google analiticsapiを使用したサイト開発例
Oisix勉強会 google analiticsapiを使用したサイト開発例Oisix勉強会 google analiticsapiを使用したサイト開発例
Oisix勉強会 google analiticsapiを使用したサイト開発例oistudy
 
パフォーマンスに効く 画像実装のベストプラクティス
パフォーマンスに効く 画像実装のベストプラクティスパフォーマンスに効く 画像実装のベストプラクティス
パフォーマンスに効く 画像実装のベストプラクティスssuser595c7d1
 

Similar to How to use scikit-image for data augmentation (20)

Rancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みRancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組み
 
Jupyter Notebookを納品した話
Jupyter Notebookを納品した話Jupyter Notebookを納品した話
Jupyter Notebookを納品した話
 
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
 
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
 
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
 
コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話
 
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことWatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
 
プロダクト中心のデータ駆動を推進していくために必要なこと
プロダクト中心のデータ駆動を推進していくために必要なことプロダクト中心のデータ駆動を推進していくために必要なこと
プロダクト中心のデータ駆動を推進していくために必要なこと
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learning
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみよう
 
2017年度 AMG Solution 会社説明会資料
2017年度 AMG Solution 会社説明会資料2017年度 AMG Solution 会社説明会資料
2017年度 AMG Solution 会社説明会資料
 
DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類
 
CycleGANで顔写真をアニメ調に変換する
CycleGANで顔写真をアニメ調に変換するCycleGANで顔写真をアニメ調に変換する
CycleGANで顔写真をアニメ調に変換する
 
Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729
 
Oisix勉強会 google analiticsapiを使用したサイト開発例
Oisix勉強会 google analiticsapiを使用したサイト開発例Oisix勉強会 google analiticsapiを使用したサイト開発例
Oisix勉強会 google analiticsapiを使用したサイト開発例
 
パフォーマンスに効く 画像実装のベストプラクティス
パフォーマンスに効く 画像実装のベストプラクティスパフォーマンスに効く 画像実装のベストプラクティス
パフォーマンスに効く 画像実装のベストプラクティス
 
WebDB Forum 2013
WebDB Forum 2013 WebDB Forum 2013
WebDB Forum 2013
 
リクルート式AIの活用法
リクルート式AIの活用法リクルート式AIの活用法
リクルート式AIの活用法
 

How to use scikit-image for data augmentation