Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

④構成と手順の超概要 手順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

Slide 24

Slide 24 text

④構成と手順の超概要 手順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

Slide 25

Slide 25 text

④構成と手順の超概要 手順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

Slide 26

Slide 26 text

まとめ エッジが得意な人 ☓ クラウドが得意な人 ↓ IoTの「制御」が実現する ⇢IoT LTがビジネスチャンス かも

Slide 27

Slide 27 text

APPENDIX

Slide 28

Slide 28 text

参考情報 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/

Slide 29

Slide 29 text

EOF