システム設計の方針

システム設計の方針 #

Actcast を用いてエッジ端末で深層学習モデルの推論を実行する IoT システムを設計するにあたり、 事前に実現可能性を検討することが重要です。 この章では画像処理を行う AI タスク を IoT システムで行う際に、 どのようなことを事前に検討するべきなのか紹介します。

深層学習を用いた画像処理システムの特性 #

ポイント

  • 従来実現できなかったタスクが自動化出来るようになった
  • ヒューリスティックな処理に基づいており、精度を保証することが出来ない
  • タスクの精度は学習に用いたデータの質に依存しており、システムを運用しながら改善するべき
  • 環境の変化(光量・撮像角度・処理対象の性質の変化など)で精度が悪化する場合がある

深層学習の発達により、従来の方法よりも精度良く画像処理タスクをコンピュータを用いて実現できるようになりました。 しかし依然としてヒューリスティックな方法に頼っているため、認識や識別の精度は 100%にはなりません。 したがってこのタスクに依存する業務は間違いを許容するものでなくてはなりません。 機械学習タスクは、例えばセキュリティゲートでの個人識別を画像認識だけで行うことはリスクが大きいですが、 マーケティングのために従来数えられてなかった来店人数を数える、と言ったような業務には向きます。

機械学習を用いた画像処理システムは、通常教師あり学習によって作成されます。 そのためタスクの精度は学習に用いるデータの品質に依存します。 行いたいタスクに適したデータがシステムを稼働し始める際に手に入るとは限らず、 機械学習を用いたシステムを稼働させながらデータを集め精度を向上させる必要があるでしょう。

機械学習を用いた画像処理システムの精度は、学習データに依存するため 現実世界の対象の性質が変化した場合精度が落ちる場合があります。 例えば人物の顔を認識するシステムを考えたとき、2020 年以降急速に人々がマスクを着用するようになりました。 このような変化に追従するため常にタスクの精度を確認し、精度が落ちている場合には改善をし続ける必要があります。 それが自社で改善が出来ない場合には開発・運用が可能なベンダを探し 長期に渡った関係を築く必要があります。

人物を対象に機械学習タスクを行い情報を集め処理する場合、各国での個人情報保護のための法令により規制を受ける場合があります(後述)。

深層学習モデルにおける精度と計算量のトレードオフ #

自前でアプリを作成する場合、どの深層学習モデルを用いるのか決定する際に精度と実行時間のトレードオフがあることを 踏まえなければなりません。

一般に計算量が多いモデルほど精度が向上する傾向があり、計算量を削減した軽量モデルでは精度が落ちることがあります。 エッジ端末で用いられる軽量なモデルは例えば画像を分類する Classification を行う場合、MobileNetV3 などがありますが、 モデルの精度と実行時間はトレードオフであり、応答時間といったシステムの要件に応じて使い分けるべきでしょう。

例えば応答速度が 1 秒で良いのであれば精度の良い巨大なモデルを用いることが出来ます。 一方で要求される応答速度が 0.1 秒であれば精度は下がってもより軽量なモデルを用いるべきです。

IoT システムの特性 #

ポイント

  • 安価なデバイスが多数インターネットに接続
    • インターネットの不安定さを許容する必要がある
    • デバイスが壊れることを許容する必要がある

IoT システムは多数の安価なデバイスをインターネットに接続し情報処理を行うシステムです。 IoT システムを考える上で、インターネットは定期的に小さな不具合が起きていることを考慮すべきでしょう。 例えば小規模な瞬断はどこかしらで常に発生しています。 一時的にでも停止すると多大な影響がある業務には不向きです。

安価なデバイスが多数システムに参加することも特徴です。 そのためデバイスが故障することを想定した業務フローを定義する必要があります。

デバイスの調達選定に関しては デバイスの調達・選定 を参照ください。

Actcast アプリの特性 #

ポイント

  • Actcast アプリは制約のある Linux アプリケーション
  • 高速化技術を活用するには制約あり
  • Actcast アプリは IoT システムとしてスケールするため制約あり

Actcast アプリケーションは 制約のある Linux アプリケーションです。 デバイスが常時インターネットに接続することを前提にしています。

Actcast のオンラインコンパイラにより深層学習モデルはエッジ端末上で高速に実行されます。 Actcast の高速化技術を活用するために、開発ベンダは機械学習モデルは計算グラフと呼ばれる汎用の深層学習モデルを記述する フォーマットに従う必要があります。 詳細は モデルの変換と制限 を参照ください。

Actcast アプリケーションの代表的な制約は以下のとおりです。

  • デバイスから サーバ (Actcast) への通信は可能、逆は許可されない
  • ローカルにデータを保存することはできない
  • すべてのデバイスが使えるわけではない
    • OS イメージを書き換える必要があるようなデバイスは使えない
      • 特別なドライバを入れる必要がある等
    • Bluetooth で接続されるデバイスは利用できない

設置環境の確認 #

ポイント

  • 安定稼働のためには周辺環境の事前調査が欠かせない
    • どのようにネットワークに接続するのか
    • 安定電源は取れるか
  • カメラは望ましい画角をとれるか
  • 設置工事・保守を円滑に行えるか

設置する場所を検討する際に IoT デバイスを安定して稼働させられるのか確認が必要です。 Actcast を利用するためには以下のものが必要です。

  • 安定したネットワーク環境
  • 安定した電源

有線接続を用いるやり方は最も安定します。

無線接続を用いる場合、無線の性質に気を配る必要があります。 利用可能な帯域に 2.4 GHz / 5 GHz 帯の 2 つがありますが、それぞれ利点・欠点があります 2.4 GHz を用いたほうがのほうが壁などの干渉に強いと言われますが、電子レンジに干渉します。 雑居ビルのような環境では 2.4 GHz の混線の影響は深刻です。 いずれの帯域を用いるにせよ、ルータからの距離が離れると転送速度が低下するため 接続しようとしても思ったようなパフォーマンスが出せない場合があります。 また無線接続は Raspberry Pi 製品によっては利用出来ないものがあります。 不特定多数が利用可能な Free Wi-Fi のように、構築しようとしているシステム以外の要因による影響で安定性が損なわれる可能性のあるアクセスポイントは避けたほうがよいでしょう。

従量課金性の SIM 通信を用いる方法もあります。 アプリの通信頻度などを鑑みて、通信量を事前に見積もるべきでしょう。

カメラ付きのデバイス設置の際には、望ましい角度から撮影が可能なのか事前の検討が必要です。 角度・光量等の条件によって期待した精度がでないこともあります。

設置工事・保守を円滑に行うため、設置環境がコントール可能なのか事前に確認が必要です。 例えばレンタルオフィスやフランチャイズ店に設置を行う場合、設置工事の時間・日程・設置位置がオーナーの意向で制限される場合があります。 また事前に故障対応フローなどを定義し、関係者の協力を仰げるようにしておくべきでしょう。

法的な要請 #

カメラなどセンシングデバイスを用いて、個人を識別できることが出来る情報(個人情報)を収集する場合、 法的な規制を受けます。

日本 #

カメラ画像を活用する場合に留意するべきことが以下の資料にまとまっています。

EU #


運用 に戻る