ディープラーニングでマスクつけている人を見つけてみた
by
KMiura
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
ディープラーニングでマスクつけている人 を見つけてみた KMiura(@k_miura_io)
Slide 2
Slide 2 text
自己紹介 • 三浦 耕生(こうき) • 名古屋のゲーム会社 のサーバーエンジニア @k_miura_io koki.miura05
Slide 3
Slide 3 text
ディープラーニング • ディープラーニングはチュートリアル 止まり • せっかくGPU乗ったSurface買ったの に…(3年前) • 気づいたらChainerのサポートがオ ワタ • Pythonやってるならディープラーニ ングやらないと
Slide 4
Slide 4 text
2度目の緊急事態宣言 • 一向にコロナが収束しない • 会社も週5リモートに • リングフィットやらねば…
Slide 5
Slide 5 text
ディープラーニングを社会の役に立てたい (建前) • 外出するのにマスクを付けるのは当 たり前 • 百貨店行くとマスクつけても認識する サーモカメラを見かけるようになった • ワイも実装してドヤりたい(本音)
Slide 6
Slide 6 text
ほぼできてる • サーモカメラは実装した(IoTLT Vol.66より) • OpenCVのカスケードを使っている • マスクつけると認識しない • 詳しくは https://bit.ly/2M2wjzV
Slide 7
Slide 7 text
実行環境 • Python 3.9 • Pytorch(Tensorflowはベタすぎる) • NVIDIA GeForce GTX 965M(Surface Book内蔵GPU)
Slide 8
Slide 8 text
とりあえず動かしてみた • Mobile Net V2を転移学習 • データ数600枚ほど • 思ってたのと違う…
Slide 9
Slide 9 text
Why? • 逆伝搬の計算するとトレーニングをするたびに以前の勾配を加算する • トレーニングの度に勾配をゼロにする処理をいれてみた • ついでにデータも増やしたれ(各クラス600枚→900枚)
Slide 10
Slide 10 text
学習結果 • 悪くはないがノイズ結構のってる • Accuracyが1に到達してるものもある(収束しているのが理想)
Slide 11
Slide 11 text
さらに改善 • もっとデータ量を増やしてみた(各クラス900枚→1600枚) • ついでにエポック数増やしてみる(100エポック→150エポック)
Slide 12
Slide 12 text
学習結果 • 目立ったノイズも無くきれいな曲線(ディープラーニングでよくあるやつ) • Accuracyが1に到達せず収束している • やはりデータがものをいう
Slide 13
Slide 13 text
デモ
Slide 14
Slide 14 text
いざというときのための動画w https://youtu.be/VbBSG1Is3hY
Slide 15
Slide 15 text
まとめ • ディープラーニングはデータ量、アルゴリズムは二の次 • ようやくGPUを生かすことができた(Jetson Nanoも買える) • ディープラーニング完全に理解した
Slide 16
Slide 16 text
今回のソースコード&ブログ https://github.com/Miura55/deeplearning- face-mask-detection https://supernove.hatenadiary.jp/entry/ 2021/01/19/041445
Slide 17
Slide 17 text
次回予告 • 今日Seeedから届いた小さなLinuxボードを動かしてみた話 (仮) • 技適未取得のhogehugaはこれから申請予定
Slide 18
Slide 18 text
宣伝 • Node-REDでTelloを動かすノードライブラリを公開した話する予定 • 明日開催! https://iotlt.connpass.com/event/196674/
Slide 19
Slide 19 text
END