Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
お茶の子さいさいおすすめ超最短物体検出
Search
SIOSTech
November 30, 2020
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
お茶の子さいさいおすすめ超最短物体検出
SIOSTech
November 30, 2020
More Decks by SIOSTech
See All by SIOSTech
福岡のシーサイドで医療情報システムの最前に立つ
sios
0
320
【転職エントリ】インフラエンジニア→サポートエンジニア
sios
0
400
これからの時代の認証
sios
0
400
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
Producing Creativity
orderedlist
PRO
348
41k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
A Tale of Four Properties
chriscoyier
163
24k
The browser strikes back
jonoalderson
0
1.7k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Designing for humans not robots
tammielis
254
26k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
The Limits of Empathy - UXLibs8
cassininazir
1
680
Transcript
© SIOS Technology, Inc. All rights Reserved. ~洗濯表示で洋服仕分けの巻~ お茶の子さいさいおすすめ 超最短
物体検出 PSSL Tech Event 2020 エンジニア・クリエイターCoE PS SL 萩原奈苗 サイオステクノロジー株式会社
© SIOS Technology, Inc. All rights Reserved. 自己紹介 萩原奈苗
2019年4月入社 2年目 エンジニア・クリエイターCoE PS サービスライン 普段のお仕事 アプリケーション開発エンジニア 現在はTypeScript, Reactを使った医療システムの開発チームに参加 2
© SIOS Technology, Inc. All rights Reserved. 弊社は原則リモートワーク コロナ禍がきっかけで弊社は原則リモートワーク
3
© SIOS Technology, Inc. All rights Reserved. リモートワークの弊害 リモートワークでおうち時間が増えて家事をする機会UP
家事で唯一、外出が減ったため洗濯をする機会DOWN 家庭科で習った洗濯表示を忘れていった 久々に着た服を洗濯機に回していいのかわからない 4
© SIOS Technology, Inc. All rights Reserved. 洋服のタグをカメラに写して 特定の洗濯表示を識別して洗えるか判断するシステムがほしい
理想 イメージ図 OR
© SIOS Technology, Inc. All rights Reserved. 洋服のタグをカメラに写して 特定の洗濯表示を識別して洗えるか判断するシステムがほしい
理想 イメージ図 OR その洋服が洗えるのかどうかを判断する 洗濯表示を動的に検出する (物体検出) プログラムを作成
© SIOS Technology, Inc. All rights Reserved. 物体検出とは 一枚の画像から任意の物体の位置やカテゴリーを抽出する仕組み
深層学習の一つ 7
© SIOS Technology, Inc. All rights Reserved. 物体検出の仕組みを作るのは大変そう… 8 学習モデルの構築って
どうやるの? 物体検出って深層学習でしょ? 深層学習って難しそう… 精度を上げるには 膨大なデータが必要なんでしょ?
© SIOS Technology, Inc. All rights Reserved. そんな時は転移学習 転移学習なら学習データを自分で用意するだけで そこまで知識が無くてもオリジナルの物体検出モデルを作成可能
転移学習(Transfer Learning) ある領域で学習したこと(学習済みモデル)を別の領域に役立たせ、効率的に学 習させる機械学習の手法 転移学習のメリット モデルの構築・学習時間短縮 少ない学習データでも高い精度 9
© SIOS Technology, Inc. All rights Reserved. 転移学習対象モデル・ライブラリ 物体検出を行うYOLOv3の学習モデルを
PythonのライブラリKerasで実装したGitHubリポジトリ(keras-yolo3)を使用 GitHub:https://github.com/sleepless-se/keras-yolo3 参考資料:https://sleepless-se.net/2019/06/21/how-to-use-vott/ Python・主要ライブラリのバージョン 10 実装した環境 推奨環境 Python 3.8.5 3.5.2 tensorflow 2.3.1 1.6.0 Keras 2.4.3 2.1.5
© SIOS Technology, Inc. All rights Reserved. 作成手順 1. 学習用データ画像の収集
2. 学習用データ画像のアノテーション 3. 既存の学習済モデルのダウンロード 4. 学習プログラムの実行 5. 自作推論モデルを使った物体検出 参考資料:https://sleepless-se.net/2019/06/21/how-to-use-vott/ 11
© SIOS Technology, Inc. All rights Reserved. プロセス概要 12 アノテーション済の
学習用データ画像 プログラムA 既存の学習済モデル (学習済み重みファイル) オリジナルの 推論モデルを作成 PCのカメラでタグを認識 プログラムB オリジナルの 推論モデルを使って 物体検出 洗濯できない
© SIOS Technology, Inc. All rights Reserved. 洗濯できる/できないの判定 13 4種のマークを覚えられたらわざわざ物体検出するまでもない
この4種類の洗濯表示を物体検出するのが目標 液温は30 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 手洗いができる 家庭での洗濯禁止 洗える 手洗いならOK 洗えない
© SIOS Technology, Inc. All rights Reserved. 1. 学習用データ画像の収集
1ラベルにつき大量の学習用データ画像を手作業で集めるのは大変 OpenCVを用いたプログラムを使ってデータ拡張を行う 現実ではきれいに整った画像ファイルを用いることは稀のため、 意図的に画像加工をして、学習用データ画像を水増しする 各種画像加工を組み合わせて 202枚 × 4ラベル = 1008枚 の画像データを作成 14 元画像 回転 ぼかし ノイズ 暗転
© SIOS Technology, Inc. All rights Reserved. 2. 学習用データ画像のアノテーション
画像のここにこの物体があるよと指定してあげる (アノテーション) 作業が必要 VOTTというアプリケーションを使用 15 洗濯表示の 範囲を指定 各ラベル (ラベル:指定した範囲内の物体の名前) ▪Yes-30 ▪Yes-40 ▪no ▪hand
© SIOS Technology, Inc. All rights Reserved. 3. 既存の学習済モデルのダウンロード
YOLOv3用の学習済モデルをダウンロードし、今回の学習用プログラムで使えるように ファイル変換を行う ダウンロード先:https://pjreddie.com/media/files/yolov3.weights 16 アノテーション済の 学習用データ画像 プログラムA 既存の学習済モデル (学習済み重みファイル) オリジナルの 推論モデルを作成 これ $ python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5
© SIOS Technology, Inc. All rights Reserved. 4. 学習プログラムの実行
GitHabからダウンロードした学習プログラムtrain.pyを実行して、 オリジナルの推論モデル(trained_weights_final.h5)を作成 第一引数は画像サイズ, 第二引数はバッチサイズを指定することが可能 画像サイズ:128 x 128 バッチサイズ:8 17 $ python train.py 128 8 $ ls ./logs/000 (前略) trained_weights_final.h5 アノテーション済の 学習用データ画像 プログラムA 既存の学習済モデル (学習済み重みファイル) オリジナルの 推論モデルを作成 これ
© SIOS Technology, Inc. All rights Reserved. 5. 自作推論モデルを使った物体検出
yolo_video.pyを用いて自作推論モデル (trained_weights_final.h5) で物体検出を行う PC内蔵カメラを使用する場合 1. yolo_video.pyに一部コードを追加する 2. 以下を実行 18 71 parser.add_argument( 72 "--camera", nargs='?', type=int, required=False, default=0, 73 help="Web camera input path" 74 ) (中略) 87 elif "camera" in FLAGS: 88 detect_video(YOLO(**vars(FLAGS)), FLAGS.camera, FLAGS.output) $ python yolo_video.py --camera 0
© SIOS Technology, Inc. All rights Reserved. デモ動画 PC内蔵カメラでタグを判定してみた
20
© SIOS Technology, Inc. All rights Reserved. まとめ 洗濯機で洗えるかどうかはタライのマークで判断できる
21 液温は30 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 手洗いができる 家庭での洗濯禁止 洗える 手洗いならOK 洗えない わざわざ物体検出しなくても判断可能なので 覚えて帰ってください
© SIOS Technology, Inc. All rights Reserved. まとめ2 keras-yolo3を用いた転移学習で推論モデルを自作して物体検出できた
洗濯表示はちゃんと識別したが、任意の洗濯表示以外のものにも反応してし まった 1008枚の学習データ画像を用意したけど足りなかったのが原因 沢山画像を用意して精度を高められるか試したい 22