Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

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

Masaaki Taguchi

August 02, 2019
Tweet

More Decks by Masaaki Taguchi

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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等を修正する必要があるかも


    View Slide

  10. ③GoogleCloudでやる理由
    3)GoogleCloudが個人的に好き
    AWS,Azure,Alibabaなども好きです...使ってるし

    View Slide

  11. ④構成と手順の超概要
    エッジAIカメラの標準構成
    カメラ 機械学習
    (ML)モデル
    (AI)
    RasPi3 B+
    エッジAIカメラ Google
    クラウド
    Cloud
    IoT Core
    とか
    Edge
    TPU
    データ
    制御
    データ
    エッジ管理 /
    セキュリティ/
    設定更新 /
    MLモデルの
    デプロイ

    View Slide

  12. ④構成と手順の超概要
    使ったもの
    上が学習用、下がテスト用

    View Slide

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

    View Slide

  14. ④構成と手順の超概要
    画像認識のMLモデルは誰でもつくれる
    ・使い方がわかれば、後は予算だけ
    AutoML
    Vision
    ● GoogleCloudのサービス
    ● ベータ版(2019/07/29時点)
    ● 独自に定義したラベルに従って
    画像を分類するよう
    MLモデルを自動トレーニングし作成
    ● EdgeTPUで動くMLモデル を指定可

    View Slide

  15. ④構成と手順の超概要
    MLモデル作成の流れ
    カメラ
    ML
    モデル
    (AI)
    RasPi3 B
    エッジAIカメラ Google
    クラウド
    学習用 画像データ
    MLモデルの
    デプロイ
    AutoML
    Vision
    データ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. ④構成と手順の超概要
    手順3:GoogleCloud
    AutoML VisionでEdgeTPU用MLモデル作成
    詳細:Cloud AutoML Vision Edge device model quickstart
       https://cloud.google.com/vision/automl/docs/edge-quickstart
    EdgeTPU用モデルを
    直接作成できる

    View Slide

  21. ④構成と手順の超概要
    手順3:GoogleCloud
    AutoML VisionでMLモデル作成
    5種☓10枚(サイズ320×250)で、今回は学習時間40分
    今回の費用 ¥533

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  26. まとめ
    エッジが得意な人

    クラウドが得意な人

    IoTの「制御」が実現する
    ⇢IoT LTがビジネスチャンス かも

    View Slide

  27. APPENDIX

    View Slide

  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/

    View Slide

  29. EOF

    View Slide