ディープラーニングでマスクつけている人を見つけてみた
by
KMiura
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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