Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20190928 M5StickVではじめる軽量モデルの実世界への応用 #TFUG

3,276 views

Published on

TFUG KANSAI Meetup 2019 (2019/9/28) の発表資料です。PowerPoint 資料は https://onedrive.live.com/view.aspx?cid=5bfb28e03f325ed5&page=view&resid=5bfb28e03f325ed5!648669&parId=5bfb28e03f325ed5!648668&app=PowerPoint

Published in: Science
  • Get Paid $25 per hour to watch YouTube videos  http://t.cn/AieXiXbg
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

20190928 M5StickVではじめる軽量モデルの実世界への応用 #TFUG

  1. 1. M5StickVではじめる 軽量モデルの実世界への応用 ミクミンP @ksasao TFUG KANSAI Meetup 2019 2019/9/28
  2. 2. M5StickV って何? https://twitter.com/ksasao/status/1151984910703288321 M5Stack 社製の AIカメラ
  3. 3. M5StickV • Kendryte K210 • RISC-V プロセッサ (64bit x 2) • KPU (0.8TOPS) • 液晶モニタ (240x135px) • LED(RGBW) • スピーカー • ジャイロ・加速度センサ • TFカードスロット (microSD) •3000円 今後 WiFi, マイク搭載版も発売予定
  4. 4. Kendryte K210 https://kendryte.com/
  5. 5. 開発 • MaixPy (micropython ベース, NumPyなどは使えない) • カメラなどが簡単に使える。Tiny YOLO 向けの API あり • 統合開発環境 MaixPy IDE (Sipeed社製)
  6. 6. 推論の実行 https://bbs.sipeed.com/t/topic/682 カメラから画像取得 モデル読み込み 推論
  7. 7. Tiny YOLO で物体検出するコード https://bbs.sipeed.com/t/topic/683 YOLO用の初期化 推論
  8. 8. 推論は簡単っぽい 学習は?
  9. 9. どうやって学習するか • MaixPy では重みの更新はできない • NumPy, SciPy が使えない • アルゴリズムを手書きすると実行速度が遅い • ネイティブコードのモジュールを読み込む機能は(現在は)ない → MobileNet を特徴抽出器として利用して k-NN (k近傍法) で推論
  10. 10. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1161978500091301893
  11. 11. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1161978500091301893 入力 画像 特徴 抽出層 全結合 層 MobileNet v1 SoftMax 認識結果 1000クラス
  12. 12. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1161978500091301893 入力 画像 特徴 抽出層 全結合 層 MobileNet v1 SoftMax 認識結果 1000クラス kpu.set_layers(task,29) 29層目まで計算した結果を取り出す
  13. 13. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1161978500091301893 入力 画像 特徴 抽出層 特徴抽出層の出力 (768次元ベクトル) を保存 学習時 グー チョキ パー 768次元ベクトルを可視化 1x768
  14. 14. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1161978500091301893 入力 画像 特徴 抽出層 学習した特徴ベクトル群と 入力画像の特徴ベクトルの ユークリッド距離をもとめ 最も近いものを返す (k=1) 推論時 グー チョキ パー 768次元ベクトルを可視化 1x768
  15. 15. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1161978500091301893 入力 画像 特徴 抽出層 全結合 層 MobileNet v1 SoftMax k-NNの 距離に 応じて 結果を 選択 学習済みの結果との同時利用も可能 k-NN
  16. 16. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1162019912958672897
  17. 17. k-NN (k-Nearest Neighbor) を利用した オフライン転移学習 https://twitter.com/ksasao/status/1161978500091301893 良い点 • 学習にかかる時間がほぼゼロ (特徴ベクトルを保存するだけ) • 1枚学習するだけでも動く • 学習・推論が素早く試せる 悪い点 • 汎化性能が低い(今回の用途では十分) はじめて機械学習に触れる方におススメ!
  18. 18. 応用 • 既存のセンサを置き換えられる • ドア開閉センサ (磁気センサ) • お風呂センサ (水位センサ) • ボスが来たセンサ (光センサなど) • 盗難センサ (重量センサなど) • … • 人間がパッと見てわかる程度の違いがあればわりと認識可能 • 部屋の散らかり具合 • … M5StickVの 画像認識で 置き換え
  19. 19. ずんだもちを監視 6700mAh のモバイルバッテリーで 22時間動作 https://twitter.com/ksasao/status/1160532010856665089
  20. 20. 性能が物足りないと感じてきたら • M5Stack公式サイトが無料の転移学習サービスを提供 https://docs.m5stack.com/#/en/related_documents/v-training
  21. 21. もちろん自分でモデルを作ることも可能 Keras (*.h5) TensorFlow Lite (*.tflite) tflite_convert KPU (*.kmodel) NNCase (ncc) • 最終的なモデルサイズで 2.5MB 程度が上限値 • サポートしている Operator に制約があるので注意 https://github.com/kendryte/nncase
  22. 22. 試してみたい?
  23. 23. 入手先 スイッチサイエンスで売り切れていても、 他の電子パーツ店(マルツ、共立エレ ショップ)などでは在庫があることも https://eleshop.jp/shop/g/gJ7C314/ https://www.marutsu.co.jp/GoodsDetail.jsp?salesGoodsCode=1555934
  24. 24. M5StickV を始める前に • 動作確認済み microSD カードを入手 認識しない カードがかなり多い
  25. 25. M5StickV が届いたら • M5StickV Quick Start からファームウェアを最新に https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start
  26. 26. Browine https://github.com/ksasao/brownie Tiny YOLO v2 face detection + Tiny YOLO v2 object detection (20-class) MobileNet v1 (1000-class) MobileNet v1 (feature extraction) + k-Nearest Neighbor (offline training) Brownie Brownie 1000 Brownie Learn
  27. 27. まとめ • M5StickV は安価でプログラミングが可能なAIカメラ • MobileNet を特徴抽出器として利用した場合の素性は 意外に良好 • 既存センサの置き換えにもつかえそう ミクミンP @ksasao

×