Upgrade to Pro — share decks privately, control downloads, hide ads and more …

お茶の子さいさいおすすめ超最短物体検出

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for SIOSTech SIOSTech
November 30, 2020
300

 お茶の子さいさいおすすめ超最短物体検出

Avatar for SIOSTech

SIOSTech

November 30, 2020
Tweet

Transcript

  1. © SIOS Technology, Inc. All rights Reserved. ~洗濯表示で洋服仕分けの巻~ お茶の子さいさいおすすめ 超最短

    物体検出 PSSL Tech Event 2020 エンジニア・クリエイターCoE PS SL 萩原奈苗 サイオステクノロジー株式会社
  2. © SIOS Technology, Inc. All rights Reserved. 自己紹介  萩原奈苗

     2019年4月入社 2年目  エンジニア・クリエイターCoE PS サービスライン  普段のお仕事  アプリケーション開発エンジニア  現在はTypeScript, Reactを使った医療システムの開発チームに参加 2
  3. © SIOS Technology, Inc. All rights Reserved. リモートワークの弊害  リモートワークでおうち時間が増えて家事をする機会UP

     家事で唯一、外出が減ったため洗濯をする機会DOWN  家庭科で習った洗濯表示を忘れていった 久々に着た服を洗濯機に回していいのかわからない 4
  4. © SIOS Technology, Inc. All rights Reserved.  洋服のタグをカメラに写して 特定の洗濯表示を識別して洗えるか判断するシステムがほしい

    理想 イメージ図 OR その洋服が洗えるのかどうかを判断する 洗濯表示を動的に検出する (物体検出) プログラムを作成
  5. © SIOS Technology, Inc. All rights Reserved. 物体検出の仕組みを作るのは大変そう… 8 学習モデルの構築って

    どうやるの? 物体検出って深層学習でしょ? 深層学習って難しそう… 精度を上げるには 膨大なデータが必要なんでしょ?
  6. © SIOS Technology, Inc. All rights Reserved. そんな時は転移学習 転移学習なら学習データを自分で用意するだけで そこまで知識が無くてもオリジナルの物体検出モデルを作成可能

    転移学習(Transfer Learning)  ある領域で学習したこと(学習済みモデル)を別の領域に役立たせ、効率的に学 習させる機械学習の手法 転移学習のメリット  モデルの構築・学習時間短縮  少ない学習データでも高い精度 9
  7. © 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
  8. © SIOS Technology, Inc. All rights Reserved. 作成手順 1. 学習用データ画像の収集

    2. 学習用データ画像のアノテーション 3. 既存の学習済モデルのダウンロード 4. 学習プログラムの実行 5. 自作推論モデルを使った物体検出 参考資料:https://sleepless-se.net/2019/06/21/how-to-use-vott/ 11
  9. © SIOS Technology, Inc. All rights Reserved. プロセス概要 12 アノテーション済の

    学習用データ画像 プログラムA 既存の学習済モデル (学習済み重みファイル) オリジナルの 推論モデルを作成 PCのカメラでタグを認識 プログラムB オリジナルの 推論モデルを使って 物体検出 洗濯できない
  10. © SIOS Technology, Inc. All rights Reserved. 洗濯できる/できないの判定 13 4種のマークを覚えられたらわざわざ物体検出するまでもない

    この4種類の洗濯表示を物体検出するのが目標 液温は30 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 手洗いができる 家庭での洗濯禁止 洗える 手洗いならOK 洗えない
  11. © SIOS Technology, Inc. All rights Reserved. 1. 学習用データ画像の収集 

    1ラベルにつき大量の学習用データ画像を手作業で集めるのは大変  OpenCVを用いたプログラムを使ってデータ拡張を行う  現実ではきれいに整った画像ファイルを用いることは稀のため、 意図的に画像加工をして、学習用データ画像を水増しする 各種画像加工を組み合わせて 202枚 × 4ラベル = 1008枚 の画像データを作成 14 元画像 回転 ぼかし ノイズ 暗転
  12. © SIOS Technology, Inc. All rights Reserved. 2. 学習用データ画像のアノテーション 

    画像のここにこの物体があるよと指定してあげる (アノテーション) 作業が必要  VOTTというアプリケーションを使用 15 洗濯表示の 範囲を指定 各ラベル (ラベル:指定した範囲内の物体の名前) ▪Yes-30 ▪Yes-40 ▪no ▪hand
  13. © 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
  14. © 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 既存の学習済モデル (学習済み重みファイル) オリジナルの 推論モデルを作成 これ
  15. © 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
  16. © SIOS Technology, Inc. All rights Reserved. まとめ  洗濯機で洗えるかどうかはタライのマークで判断できる

    21 液温は30 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 洗濯機で洗濯出来る 液温は40 ℃を限度とし、 手洗いができる 家庭での洗濯禁止 洗える 手洗いならOK 洗えない わざわざ物体検出しなくても判断可能なので 覚えて帰ってください
  17. © SIOS Technology, Inc. All rights Reserved. まとめ2  keras-yolo3を用いた転移学習で推論モデルを自作して物体検出できた

     洗濯表示はちゃんと識別したが、任意の洗濯表示以外のものにも反応してし まった  1008枚の学習データ画像を用意したけど足りなかったのが原因  沢山画像を用意して精度を高められるか試したい 22