Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Katsuhiro Morishita
PDF, PPTX
1,107 views
オトナの画像認識 2018年3月21日実施
オトナのプログラミング勉強会で実施した、ニューラルネットワークを利用した画像認識の資料です。kerasを利用したCNNの使い方について簡単に紹介しています。
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 39
2
/ 39
3
/ 39
4
/ 39
5
/ 39
6
/ 39
7
/ 39
8
/ 39
9
/ 39
10
/ 39
11
/ 39
12
/ 39
13
/ 39
14
/ 39
15
/ 39
16
/ 39
17
/ 39
18
/ 39
19
/ 39
20
/ 39
21
/ 39
22
/ 39
23
/ 39
24
/ 39
25
/ 39
26
/ 39
27
/ 39
28
/ 39
29
/ 39
30
/ 39
31
/ 39
32
/ 39
33
/ 39
34
/ 39
35
/ 39
36
/ 39
37
/ 39
38
/ 39
39
/ 39
More Related Content
PDF
深層学習 - 画像認識のための深層学習 ②
by
Shohei Miyashita
PDF
Pythonのパッケージ管理ツールの話@2020
by
Katsuhiro Morishita
DOCX
Twitter
by
yyyyppp
PDF
20130727 cv machine_learning@tokyo webmining
by
Masahiro Imai
PPT
Maverick az. rev01ppt
by
kazueda Kazueda
PPTX
Optim インターンシップ 機械学習による画像の領域分割
by
optim_internship
PDF
[MIRU2017 招待講演] 白黒写真の自動色付け (SIGGRAPH 2016)
by
Satoshi Iizuka
PDF
探究工学(12)「あそびまなび論」
by
Hirofumi Yamada
深層学習 - 画像認識のための深層学習 ②
by
Shohei Miyashita
Pythonのパッケージ管理ツールの話@2020
by
Katsuhiro Morishita
Twitter
by
yyyyppp
20130727 cv machine_learning@tokyo webmining
by
Masahiro Imai
Maverick az. rev01ppt
by
kazueda Kazueda
Optim インターンシップ 機械学習による画像の領域分割
by
optim_internship
[MIRU2017 招待講演] 白黒写真の自動色付け (SIGGRAPH 2016)
by
Satoshi Iizuka
探究工学(12)「あそびまなび論」
by
Hirofumi Yamada
Similar to オトナの画像認識 2018年3月21日実施
PDF
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太
by
Preferred Networks
PDF
オープンソースで作るスマホ文字認識アプリ
by
陽平 山口
PDF
Open dronemapハンズオン
by
Mizutani Takayuki
PDF
リクルートにおける画像解析事例紹介と周辺技術紹介
by
Recruit Technologies
PDF
先端技術とメディア表現 第4回レポートまとめ
by
Digital Nature Group
PPTX
Ocha 20191204
by
Atsushi Hashimoto
PDF
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
by
OSgeo Japan
PDF
画像認識における幾何学的不変性の扱い
by
Seiji Hotta
PDF
Opencv object detection_takmin
by
Takuya Minagawa
PDF
「きのこたけのこ戦争に学ぶ画像認識」 プロ生勉強会 第20回@品川
by
kirin_nico
PPTX
テーブルコンペと比べて分かる画像コンペ入門
by
ShinichiroSaito
PPTX
画像認識 第9章 さらなる話題
by
Shion Honda
PPTX
画像認識とIoT
by
Hiroyuki Miyamoto
PDF
ディープラーニング徹底活用 -画像認識編-
by
Hideki
PDF
第17回関西CVPRML勉強会 (一般物体認識) 1,2節
by
Yasutomo Kawanishi
PDF
画像認識について
by
yoshimoto koki
PPTX
ITコーディネーター沖縄: Microsoft 画像認識ツールハンズオン
by
Daiyu Hatakeyama
PPTX
001 image processing 基礎 (CNN)
by
Ryo Suzuki
PDF
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
by
Takahiro Kubo
PDF
深層学習 - 画像認識のための深層学習 ①
by
Shohei Miyashita
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太
by
Preferred Networks
オープンソースで作るスマホ文字認識アプリ
by
陽平 山口
Open dronemapハンズオン
by
Mizutani Takayuki
リクルートにおける画像解析事例紹介と周辺技術紹介
by
Recruit Technologies
先端技術とメディア表現 第4回レポートまとめ
by
Digital Nature Group
Ocha 20191204
by
Atsushi Hashimoto
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
by
OSgeo Japan
画像認識における幾何学的不変性の扱い
by
Seiji Hotta
Opencv object detection_takmin
by
Takuya Minagawa
「きのこたけのこ戦争に学ぶ画像認識」 プロ生勉強会 第20回@品川
by
kirin_nico
テーブルコンペと比べて分かる画像コンペ入門
by
ShinichiroSaito
画像認識 第9章 さらなる話題
by
Shion Honda
画像認識とIoT
by
Hiroyuki Miyamoto
ディープラーニング徹底活用 -画像認識編-
by
Hideki
第17回関西CVPRML勉強会 (一般物体認識) 1,2節
by
Yasutomo Kawanishi
画像認識について
by
yoshimoto koki
ITコーディネーター沖縄: Microsoft 画像認識ツールハンズオン
by
Daiyu Hatakeyama
001 image processing 基礎 (CNN)
by
Ryo Suzuki
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
by
Takahiro Kubo
深層学習 - 画像認識のための深層学習 ①
by
Shohei Miyashita
More from Katsuhiro Morishita
PDF
Pythonのmain関数
by
Katsuhiro Morishita
PDF
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
by
Katsuhiro Morishita
PDF
数ページの卒業論文作成のためのwordの使い方
by
Katsuhiro Morishita
PDF
シリーズML-03 ランダムフォレストによる自動識別
by
Katsuhiro Morishita
PDF
オトナのpandas勉強会(資料)
by
Katsuhiro Morishita
PDF
シリーズML-07 ニューラルネットワークによる非線形回帰
by
Katsuhiro Morishita
PDF
シリーズML-06 ニューラルネットワークによる線形回帰
by
Katsuhiro Morishita
PDF
Excelでのグラフの作成方法re
by
Katsuhiro Morishita
PDF
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
by
Katsuhiro Morishita
PDF
Pandas利用上のエラーとその対策
by
Katsuhiro Morishita
PDF
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
by
Katsuhiro Morishita
PDF
機械学習と主成分分析
by
Katsuhiro Morishita
PDF
マークシート読み込みプログラムを作ってみた@2018-04-04
by
Katsuhiro Morishita
PDF
Google Colaboratoryの使い方
by
Katsuhiro Morishita
PDF
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
by
Katsuhiro Morishita
PDF
機械学習(仮)in Mobile conference 2017
by
Katsuhiro Morishita
PDF
Pythonスクリプトの実行方法@2018
by
Katsuhiro Morishita
PDF
SIgfox触ってみた in IoTLT in 熊本市 vol.3
by
Katsuhiro Morishita
PDF
シリーズML-01 機械学習の概要
by
Katsuhiro Morishita
PDF
シリーズML-05 ニューラルネットワーク
by
Katsuhiro Morishita
Pythonのmain関数
by
Katsuhiro Morishita
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
by
Katsuhiro Morishita
数ページの卒業論文作成のためのwordの使い方
by
Katsuhiro Morishita
シリーズML-03 ランダムフォレストによる自動識別
by
Katsuhiro Morishita
オトナのpandas勉強会(資料)
by
Katsuhiro Morishita
シリーズML-07 ニューラルネットワークによる非線形回帰
by
Katsuhiro Morishita
シリーズML-06 ニューラルネットワークによる線形回帰
by
Katsuhiro Morishita
Excelでのグラフの作成方法re
by
Katsuhiro Morishita
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
by
Katsuhiro Morishita
Pandas利用上のエラーとその対策
by
Katsuhiro Morishita
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
by
Katsuhiro Morishita
機械学習と主成分分析
by
Katsuhiro Morishita
マークシート読み込みプログラムを作ってみた@2018-04-04
by
Katsuhiro Morishita
Google Colaboratoryの使い方
by
Katsuhiro Morishita
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
by
Katsuhiro Morishita
機械学習(仮)in Mobile conference 2017
by
Katsuhiro Morishita
Pythonスクリプトの実行方法@2018
by
Katsuhiro Morishita
SIgfox触ってみた in IoTLT in 熊本市 vol.3
by
Katsuhiro Morishita
シリーズML-01 機械学習の概要
by
Katsuhiro Morishita
シリーズML-05 ニューラルネットワーク
by
Katsuhiro Morishita
オトナの画像認識 2018年3月21日実施
1.
ver. 1.2 2018-03-21 19:00-21:00
未来会議室 森下功啓 1 オトナの画像認識入門
2.
改訂履歴 • 2018-03-21 ver.
1.0 release • 2018-03-22 ver. 1.1 再開時の処理について追記 • 2018-04-14 ver. 1.2 リンクの修正 2
3.
自己紹介 リリースしてきたもの • 鳴き声から鳥の種類を当てるソフトウェア • https://github.com/KatsuhiroMorishita/birdsong_project •
阿蘇の雲海予報を行う「うんかいったー」 • https://twitter.com/unkaitter 3 名前 専門 趣味の一つ SNS Facebook https://www.facebook.com/katsuhiro.morishita Github https://github.com/KatsuhiroMorishita SlideShare https://www.slideshare.net/katsuhiromorishita/ 衛星測位やセンサー使う方 森下功啓 @KatsuhiroKU 機械学習
4.
今日のゴール 機械学習 AI IoT データ分析 4 「画像認識やれそうだわい」 ってとこまで行けたら良いな
5.
本日の目次 • 画像認識の概要 • 画像データと特徴量 •
畳み込みニューラルネットワーク • ImageDataGeneratorによる教師データの水増し • 学習 • callback 5
6.
画像認識の分類 6 画像認識 物体認識 シーン認識 クラス認識 インスタンス認識 認識結果: 「桜島」 類似画像検索・顔認証など 認識結果:「山」 認識結果: 「海辺を観光」 http://www.kagoshima-kankou.com/guide/11813/ *それぞれアプローチが異なる
7.
画像認識の分類 7 画像認識 物体認識 シーン認識 クラス認識 インスタンス認識 今日取り組む内容 http://www.kagoshima-kankou.com/guide/11813/ 認識結果: 「桜島」 類似画像検索・顔認証など *それぞれアプローチが異なる 認識結果:「山」 認識結果: 「海辺を観光」
8.
画像認識の概要 画像データと特徴量 畳み込みニューラルネットワーク ImageDataGeneratorによる教師データの水増し 学習 callback 8
9.
画像データの構造 • 画素(ピクセル)毎に色がある • 色は3原色(RGB)で合成される •
RGBはそれぞれの明るさを0-255で表現 • RGBの3色で1枚のカラー画像 • プログラムで読み込むと3次元配列になる 9 データの並び方には色々ある [[r1, g1, b1], [r2, g2, b2], … [[g1, b1, r1], [g2, b2, r2], … [[r1, r2, r3, …] , [g1, g2, g3, …], [b1, b2, b3, …]] http://neareal.net/index.php?ComputerGraphics%2FImageProcessing%2FTheStructureOfImageData 画像とプログラムによっては透 過率を表すαチャンネルがつい てくるので注意
10.
画像データの座標系とサイズ • 左上が原点 • 画像には、横W
pixel 縦H pixelの様に、サイズがある 10 http://neareal.net/index.php?ComputerGraphics%2FImageProcessing%2FTheStructureOfImageData
11.
画像の特徴量 • 輝度勾配を基に、SIFTなどの特徴量が提案されている • 画像マッチングにはSIFTなどを使う •
分類に有効な特徴量は自明ではない • 畳み込みニューラルネットワークは、畳込み層で特徴量を獲得する 11 輝度勾配の例 http://gori-naru.blogspot.jp/2012/11/hog.html 抽出されたSIFT特徴点の例 http://lang.sist.chukyo-u.ac.jp/classes/OpenCV/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.html
12.
画像認識の概要 画像データと特徴量 畳み込みニューラルネットワーク ImageDataGeneratorによる教師データの水増し 学習 callback 12
13.
ニューラルネットワーク • 神経細胞を模したユニットを層状に結合したもの • 前段ユニットの出力に結合係数を掛けたものが次の入力となる •
入力データに合わせた非線形写像を実現する • 画像認識や画像生成などに使われる 13 https://qph.fs.quoracdn.net/main-qimg-330e8b2941bc0164211bbdc7d5c693f3 ニューラルネットワークの例 入力 ベクトル𝒙 出力 ベクトル𝒚
14.
代表的な層の種類 • 前後のユニットの結合の仕方にバリエーションがある 14 全結合層 畳み込み層
プーリング層 ドロップアウト層
15.
畳み込みフィルタ(カーネル) • Photoshopなどで使うフィルタが畳み込みである • 平滑化フィルタやエッジ強調フィルタなどがある •
フィルタをずらしながら、積和演算により新たな画像を作る • フィルタは特徴的な輝度勾配を強調できる • CNNでは、このフィルタを学習により獲得する 15 http://agnesmustar.com/tag/vgg16/ 3×3のフィルタで、左上の画素を生成 3×3のフィルタで、中心の画素を生成
16.
畳み込みの例 16 元画像 http://agnesmustar.com/tag/vgg16/ フィルタと畳み込みで生成された画像 • 畳み込みを実施した例を示す フィルタ
17.
畳み込みニューラルネットワーク(CNN) 17 畳み込み層 CNN (この図ではフィルタは1つ) 全結合層のみで構成 普通のニューラルネットワーク
18.
プーリング層 • プーリングでは、複数画素内から求めた最大値や平均を使って 新たな画像を生成する • 縮小画像を作ることで、データ量を減らす •
画像に写る物体の平行な位置ズレを吸収する効果がある 18 http://agnesmustar.com/tag/vgg16/ *stride(窓をずらす量)は指定できる
19.
ドロップアウト層 • ドロップアウト層は、学習時に、ある確率で抽出したユニットを一時的 にネットワーク上に存在しないものとして扱う • 無いものとされたユニットに繋がる結合係数は学習で更新されない •
抽出のやり直しは学習の度に行われる • ユニット数が減ることで学習が進みやすくり、且つ過学習を防止できる • ノイジーなユニットが確率的に不活性化され、学習が進む • また、一時的にユニット数が減ったことで写像能力が落ちる 19 学習段階では、一部のユニットを 無いものとして扱う 予測時には全ユニットが使われる
20.
VGG16 • VGGは画像認識で実績のあるモデル • VGG16がよく使われる •
1000クラス分類問題を学習したモデルが公開されている 20http://agnesmustar.com/tag/vgg16/ (全結合層) (畳み込み層)
21.
画像認識の概要 画像データと特徴量 畳み込みニューラルネットワーク ImageDataGeneratorによる教師データの水増し 学習 callback 21
22.
ImageDataGeneratorとは • 画像を水増しすることで教師データを増やす • 画像データの収縮拡大、回転、平行移動、正規化などを施す •
これで汎化能力を増す • 注意:入力する画像データの画素の値は0-1の範囲に変換しておく 22 Kerasによるデータ拡張 http://aidiary.hatenablog.com/entry/20161212/1481549365
23.
使い方 • サンプルコードで使い方を確認しましょう • jupyter
notebookを起動し、「ImageDataGeneratorを試 す.ipynb」を開いて下さい • セルを上から順次実行(再生ボタンを押す)し、結果を確認し てください 23 https://github.com/KatsuhiroMorishita/machine_leaning_samples/tree/master/keras_Image_classification/test_of_ImageDataGenerator
24.
画像認識の概要 画像データと特徴量 畳み込みニューラルネットワーク ImageDataGeneratorによる教師データの水増し 学習 callback 時間がないので、非常に単純な例を示します 24
25.
サンプルプログラムで学習 • 下記URLの学習用サンプルプログラムを動かします 25 https://github.com/KatsuhiroMorishita/machine_leaning_samples/tree/master/keras_Image_classification/flower これは、写真から花の種類を当てる例題です
26.
ファイルの説明 • learning.py:学習用のプログラム • prediction.py:学習済みの結合係数を読み込んで、未知画像を予測する •
label_dict.pickle:クラスの番号をクラス名に変換する辞書をシリアラ イズ化して保存したもの • model:保存されたモデルデータ • param.hdf5:保存された結合係数 • 1_train, 2_train:学習用の画像が入っているフォルダ • 1_test, 2_test:学習結果を評価するための画像が入っているフォルダ • 学習には利用しない • prediction_result.csv:prediction.pyが保存した予測結果 • validation_table*.csv: learning.pyが保存した、検証データに対する真 値と予測値とで作った分割表 26
27.
learning.pyの動作 • ソースコードで指定されたフォルダ内の画像を読み込み、学習する • フォルダ名から正解ラベルを取得する •
教師データの一部を、学習に用いずに、過学習の判定に利用 • 学習後に結合係数やモデルの情報を保存する 27
28.
Tips • Optimizerは結合係数を修正するアルゴリズム • Optimizerは学習の途中でadamからSGDに変えると良いらしい •
loss(損失)は小さい方が良い • acc(精度)は1.0に近い方が良い • lossとval_loss(またはaccとval_acc)が乖離していたら過学習 • batch_sizeは大きい方が母集団の勾配を表現できるが、大きいと勾配 が消失したり(学習が進まない)、GPUのメモリが不足したりする • 学習の結果が満足できるものかは、分割表で判断 28 ←恐らく学習に成功した例 縦軸がlossで、横はepoch 青色はloss、橙色はval_loss
29.
分割表の見方 • サンプルプログラムが作る分割表の例を以下に示す • この例では、1つのクラス1がクラス2に誤って識別されている 29 入力 出力
30.
画像認識の概要 画像データと特徴量 畳み込みニューラルネットワーク ImageDataGeneratorによる教師データの水増し 学習 callback 30
31.
学習時間を有効に使うためのcallback • 学習には時間がかかるため、定期的に学習係数を保存した方が良い • 保存していれば、一旦中断して再開することができる •
学習が進まなくなったら途中で処理を止めたい場合もある • kerasのcallbackの使い方 • https://keras.io/ja/callbacks/ • 下記URLのサンプルコードを例に説明します 31 https://github.com/KatsuhiroMorishita/machine_leaning_samples/tree/master/keras_Image_classification/flower_with_callback
32.
callbackの基本的な使い方 • kerasのドキュメントのコードをコピる • model.fit()の引数にオブジェクトをリストで渡す 32サンプルコードの実装例(抜粋) 上:学習が進まなくなったら止める 下:良い成績が出たらモデルを保存 リストで渡す
33.
サンプルコードにおける、 途中で処理を再開するための仕掛け • 学習に使うデータと検証に使うデータをそれぞれ保存 • フォルダ名とクラス番号などのヒモ付辞書も保存 •
モデルはOptimizerの状態や結合係数ごと保存 • callbackでsave_weights_only=Falseと設定 • 実行時に引数をチェックし、指示があれば途中から再開 33 読み込んだ画像データ等の保存 実行時の引数で"再開" or "最初から"の選択
34.
付録 34
35.
メモ • 画像内での物体の回転が考えられる場合は、それだけ畳み込みのフィ ルタが必要になる。ゆえに、野菜の等級判断などにおいて、画像の向 きを調整できるのであれば、調整した上で入力した方が学習コストを 下げることができる。 • 野菜などの形状判定にはCNNは向いていない。形状を表す特徴量設計 を行った方が断然性能が出ると思う。 35
36.
参考リンク集 ネット上に情報はあふれるようになったが、ゴミも多い。おス スメの書籍を以下に紹介する。 36 ゼロから作るDeep Learning 画像認識 https://goo.gl/d1vNZb https://goo.gl/fxMc5D
37.
参考リンク集 ネット上に情報はあふれるようになったが、ゴミも多い。書籍 を数冊用意した上で、下記もおススメする。 • KerasでVGG16を使う • http://aidiary.hatenablog.com/entry/20170104/1483535144 •
VGG16のFine-tuningによる犬猫認識 (2) • http://aidiary.hatenablog.com/entry/20170110/1484057655 • 勾配ブースティングについてざっくりと説明する • http://smrmkt.hatenablog.jp/entry/2015/04/28/210039 37
38.
告知:PyCon Kyushu 2018 •
connpassで告知が有ると思います • https://pycon-kyushu.connpass.com/ • もうすぐ講演募集開始です! • 日時:2018年6月30日(前夜祭と懇親会を企画中) • 場所:LINE福岡 • Web:http://kyushu.pycon.jp/ 38
39.
39 面白ツイート 個人的には、古き良き手法で精度が出るならそれでいいと思う・・・
Download