Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to use scikit-image for data augmentation
Search
tereka114
March 16, 2022
Programming
0
290
How to use scikit-image for data augmentation
第33回コンピュータビジョン勉強会の資料です。内容は、scikit-imageを使ったData Augmentationの方法です。
tereka114
March 16, 2022
Tweet
Share
More Decks by tereka114
See All by tereka114
トラブルがあったコンペに学ぶデータ分析
tereka114
2
1.7k
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.7k
KDD2023学会参加報告
tereka114
2
620
Prompting Large Language Models with Answer Heuristics for Knowledge-based Visual Question Answering
tereka114
0
410
Mobile-Former: Bridging MobileNet and Transformer
tereka114
0
1.1k
DER: Dynamically Expandable Representation for Class Incremental Learning
tereka114
0
220
Jupyter Notebookを納品した話
tereka114
0
490
Multi Scale Recognition with DAG-CNNs
tereka114
0
160
面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜
tereka114
0
280
Other Decks in Programming
See All in Programming
Serena MCPのすすめ
wadakatu
4
900
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
690
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
620
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
340
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
Swift Concurrency - 状態監視の罠
objectiveaudio
2
470
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.1k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
390
明日から始めるリファクタリング
ryounasso
0
120
Advance Your Career with Open Source
ivargrimstad
0
360
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Rails Girls Zürich Keynote
gr2m
95
14k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Transcript
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で、簡単にできる。