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
お茶の子さいさいおすすめ超最短物体検出
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
SIOSTech
November 30, 2020
310
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
310
【転職エントリ】インフラエンジニア→サポートエンジニア
sios
0
390
これからの時代の認証
sios
0
390
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Ethics towards AI in product and experience design
skipperchong
2
310
How to Ace a Technical Interview
jacobian
281
24k
Agile that works and the tools we love
rasmusluckow
331
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How GitHub (no longer) Works
holman
316
150k
The Spectacular Lies of Maps
axbom
PRO
1
810
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Scaling GitHub
holman
464
140k
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