GoogleCloudのサービスで エッジAIカメラを作ってみた

GoogleCloudのサービスで エッジAIカメラを作ってみた

大阪版IoT縛りの勉強会!IoT Osaka Vol.12(2019/08/02)
発表資料です。

78691e8db287a7eb2f1f239878ebdfd7?s=128

Masaaki Taguchi

August 02, 2019
Tweet

Transcript

  1. GoogleCloudのサービスで エッジAIカメラを作ってみた 田口 雅章 大阪版IoT縛りの勉強会! IoT Osaka Vol.12(2019/08/02)

  2. 発表者 田口 雅章 IT利活用、IT投資のご相談対応など

  3. 概要 GoogleCloudのサービスで  エッジAIカメラを作ってみた  ①エッジAIカメラとは  ②どうしてエッジAIカメラ?  ③GoogleCloudでやる理由  ④構成と手順の超概要

  4. データ分析 ①エッジAIカメラとは 既存のAIカメラ・ソリューション 取得 収集 蓄積 分析 データ活用(制御) ◯高度な分析 ☓データ転送大、制御時間大

  5. ①エッジAIカメラとは エッジAIカメラ・ソリューション 取得・分析 収集 蓄積 分析 ◯制御時間小、データ転送小、 データプライバシーの向上 データ分析 データ活用(制御)

    ☓エッジのコスト大 分析・活用
  6. リアルタイム情報の割合が増大 2025年に「世界のデータ量」の約30%がリアルタイム情報 ②どうしてエッジAIカメラ? IDC報告から引用 1Z(ゼタ)B=1,000E(エクサ)B=270バイト

  7. ヘススケアでデータが急増と予想 当面は製造業の割合が高い見込み ヘルスケア業界、医療現場やMRIなどの画像・映像データが急増 ②どうしてエッジAIカメラ? IDC報告から引用 1Z(ゼタ)B=1,000E(エクサ)B=270バイト

  8. ↓ここ、日本企業が得意なのでは? 現場のデータ取得・分析 ⇢ 現場の機器を制御 (データをクラウド転送しての利活用も大切!) ②どうしてエッジAIカメラ? 取得・分析 収集 蓄積 分析

    分析・活用 GAFA/メジャークラウド /巨大メーカー
  9. ③GoogleCloudでやる理由 1)エッジHW〜クラウドを全網羅 2)RaspberryPi4がUSB3搭載! RasPi4ではEdgeTPUが4倍早くなる(予想) RasPi3だとUSB2でのデータ転送で遅延が発生 Google Coral Edge TPU USB

    Accelerator ¥9,450 ・IoTエッジ用に開発されたチップ(TPU)を搭載 ・AIアクセラレーター(高速演算処理装置) ・RaspberryPi3でもUSB接続で使える ※RasPi2だとinstall.sh等を修正する必要があるかも 遅 延
  10. ③GoogleCloudでやる理由 3)GoogleCloudが個人的に好き AWS,Azure,Alibabaなども好きです...使ってるし

  11. ④構成と手順の超概要 エッジAIカメラの標準構成 カメラ 機械学習 (ML)モデル (AI) RasPi3 B+ エッジAIカメラ Google

    クラウド Cloud IoT Core とか Edge TPU データ 制御 データ エッジ管理 / セキュリティ/ 設定更新 / MLモデルの デプロイ
  12. ④構成と手順の超概要 使ったもの 上が学習用、下がテスト用

  13. ④構成と手順の超概要 大事な材料を忘れていました GoogleCloud初登録なら無料枠内で試せるかも(保証はしない)

  14. ④構成と手順の超概要 画像認識のMLモデルは誰でもつくれる ・使い方がわかれば、後は予算だけ AutoML Vision • GoogleCloudのサービス • ベータ版(2019/07/29時点) •

    独自に定義したラベルに従って 画像を分類するよう MLモデルを自動トレーニングし作成 • EdgeTPUで動くMLモデル を指定可
  15. ④構成と手順の超概要 MLモデル作成の流れ カメラ ML モデル (AI) RasPi3 B エッジAIカメラ Google

    クラウド 学習用 画像データ MLモデルの デプロイ AutoML Vision データ
  16. ④構成と手順の超概要 手順1:RaspberryPi 3B 画像データはデモなので5種類を10枚づつ 推奨は1種類100枚以上(ただし費用は増える) EBI IKURA MAGURO TAMAGO UNI

  17. ④構成と手順の超概要 手順2:GoogleCloud 登録し、ダッシュボードを開きます 詳細:Google Cloud Platform スタートガイド https://cloud.google.com/gcp/getting-started/?hl=ja AutoML Visonサービスを使用

  18. ④構成と手順の超概要 手順3:GoogleCloud 必要な方は課金を有効にします

  19. ④構成と手順の超概要 手順3:GoogleCloud AutoML VisionでEdgeTPU用MLモデル作成 詳細:Cloud AutoML Vision Edge device model quickstart

       https://cloud.google.com/vision/automl/docs/edge-quickstart GUI画面でアップロードした写真にタグ付け
  20. ④構成と手順の超概要 手順3:GoogleCloud AutoML VisionでEdgeTPU用MLモデル作成 詳細:Cloud AutoML Vision Edge device model quickstart

       https://cloud.google.com/vision/automl/docs/edge-quickstart EdgeTPU用モデルを 直接作成できる
  21. ④構成と手順の超概要 手順3:GoogleCloud AutoML VisionでMLモデル作成 5種☓10枚(サイズ320×250)で、今回は学習時間40分 今回の費用 ¥533

  22. ④構成と手順の超概要 手順3:GoogleCloud MLモデル(3つのファイル)のうち辞書ファイル models_edge_略_edgetpu-tflite_dict.txt の修正が必要でした 各行の先頭に 通し番号+[半角スペース] を追加

  23. ④構成と手順の超概要 手順4:RaspberryPi 3B Edge TPU環境を用意する 詳細:Coral Get started with the

    USB Accelerator    https://coral.withgoogle.com/docs/accelerator/get-started/ sudo apt-get update wget https://dl.google.com/coral/edgetpu_api/edgetpu_api_latest.tar.gz -O edgetpu_api.tar.gz --trust-server-names tar xzf edgetpu_api.tar.gz sudo edgetpu_api/install.sh #Python3.7のとき() cd /usr/local/lib/python3.7/dist-packages/edgetpu/swig/ sudo cp _edgetpu_cpp_wrapper.cpython-35m-arm-linux-gnueabihf.so _edgetpu_cpp_wrapper.cpython-37m-arm-linux-gnueabihf.so cd /usr/local/lib/python3.7/dist-packages/edgetpu/demo python3 classify_image.py \ --model ~/Downloads/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \ --label ~/Downloads/inat_bird_labels.txt \ --image ~/Downloads/parrot.jpg
  24. ④構成と手順の超概要 手順4:RaspberryPi 3B MLモデルをデプロイ(配置) 細:Coral Get started with the USB

    Accelerator   https://coral.withgoogle.com/docs/accelerator/get-started/ ML モデル (AI) RasPi3 B MLモデルの デプロイ AutoML Vision models_略_dict.txt models_略_model.tflite models_略_metadata.json
  25. ④構成と手順の超概要 手順5:RaspberryPi 3B MLモデルを動かしてみる pi@raspberrypi:~/dev/TPU/sushi $ ./sushi_TPU.sh INFO: Initialized TensorFlow

    Lite runtime. --------------------------- MAGURO Score : 0.9296875 pi@raspberrypi:~/dev/TPU/sushi $ ./sushi_TPU.sh INFO: Initialized TensorFlow Lite runtime. --------------------------- UNI Score : 0.81640625 pi@raspberrypi:~/dev/TPU/sushi $ ./sushi_TPU.sh INFO: Initialized TensorFlow Lite runtime. --------------------------- IKURA Score : 0.9296875
  26. まとめ エッジが得意な人 ☓ クラウドが得意な人 ↓ IoTの「制御」が実現する ⇢IoT LTがビジネスチャンス かも

  27. APPENDIX

  28. 参考情報 Cloud AutoML Vision Edge device model quickstart https://cloud.google.com/vision/automl/docs/edge-quickstart Cloud

    AutoML Vision Exporting Edge models https://cloud.google.com/vision/automl/docs/deploy#using_the_exported_model_4 Coral Get started with the USB Accelerator https://coral.withgoogle.com/docs/accelerator/get-started/ Coral Edge TPU Compiler(既にあるMLモデルを変換する場合) https://coral.withgoogle.com/docs/edgetpu/compiler/
  29. EOF