Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

4 396 vues

Publié le

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

Publié dans : Sciences
  • Identifiez-vous pour voir les commentaires

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

×