エッジコンピューティング(エッジAI、IoT)とは? 事例付きで紹介

公開 : 2021.03.10 
カテゴリー
タグ

こんにちは。シニアITコンサルタントの茨木です。

NCDCでは、サービス企画やUXデザイン、テクノロジーの分野でさまざまなサービス提供をしております。
テクノロジー領域では、先端的な技術を使って課題を解決する。新しいサービスを実現する。といった取り組みを得意としているのですが、その中でも今回は、私が関わったエッジコンピューティングのビジネス活用事例を、利用したエッジデバイス、プログラミング言語など技術面の解説付きで紹介したいと思います。

エッジコンピューティング(エッジAI、IoT)とは?

まず「エッジコンピューティング」とは何かと、一緒に語られることが多いエッジAI、IoTについて簡単に説明します(この項目が不要な方は読み飛ばして次に進んでください)。

エッジコンピューティング(Edge Computing)の「Edge」は「端」という意味を持ちます。
クラウドサーバにデータを集約してデータを処理するクラウドコンピューティング(Cloud Computing)に対して、ネットワークにおける端末機器(スマートフォンやIoTカメラなど)や、端末機器の近くに分散配置したサーバなどでデータ処理を行うモデルを「エッジコンピューティング」と呼びます。

なぜエッジコンピューティングを利用するのかというと、すべてクラウドで処理するのと比較して通信にかかる時間や費用を抑えられることが理由として挙げられます。動画などの大量のデータを扱う場合にインターネットに出す手前で(エッジで)データを処理することで、必要最小限のデータのみを送信することが可能になるのです。
(エッジコンピューティングのさまざまなメリットはまた後ほど解説します)

エッジデバイスに搭載されたAIのことをよく省略してエッジAI(edge AI)と呼びます。たとえばカメラで顔認証を行う際、クラウドにデータを送ってからAIで処理するのではなく、カメラを含む端末(たとえばスマホ)側に搭載したAIで処理する場合はエッジAIと呼ばれます。

さまざまな「モノ」のデータをインターネットにつなぐIoTにおいては、データをそのままサーバ(クラウド)に送信せず何らかの前処理を行う場合があるので、モノ(端末)や端末機器の近くに配置したサーバで行う処理はエッジコンピューティングにあたります。

次に、このエッジコンピューティングをビジネスに活用した事例をご紹介します。

事例1 エッジAIで車内カメラの動画解析

エッジAIによる動画解析で、シートベルト着用率の改善を図るサービスのPoCに取り組みました。
具体的には車内に取り付けたカメラの動画を解析し、人が乗車している際にシートベルトを着けているかどうかをリアルタイムで検知するアプリを作成しました。

車内映像を用いたシートベルト着用検知
エッジデバイス
  • RaspberryPi
主な使用技術
  • TensorFlow + Keras
プログラミング言語
  • Python
実施したこと
  1. 車内の動画を複数パターン撮影
    こちらのデータの収集は、役者さんを雇って撮影会を実施しました
  2. 約10,000枚の画像を教師データとしてAIに学習させシートベルトを検出するモデルを作成
    学習には高スペックのマシンが必要の為、AWSが提供する機械学習用のマシンを利用しました
  3. 作成したモデルを利用して、車内で撮影したカメラ画像をリアルタイムで解析。人とシートベルトを検知
苦労したこと
  • 教師データの画像1枚ずつに正解の情報(アノテーション)を設定するのが大変でした。
  • 通常のカメラでは夜間の画像が取れないため赤外線カメラを併用したのですが、両方のカメラに対応した学習モデルを作成するのに苦労しました


この事例について別の詳細記事もありますので併せてご覧ください。
百年以上の歴史を誇る老舗ハードウェアメーカーが挑む、AIを活用した新規事業開発

事例2 エッジAIで商業施設の人の流れや人数を検知

AIを用いた人流解析(お店の入店者数のカウントなど)の検証に取り組みました。
人流解析を使うシーンは環境が安定した屋内だけに限られず、カメラの設置条件はさまざまなパターンが考えられるため、まずエッジデバイスを用いて電源の問題をクリアしつつ、商用可能なレベルで動画解析のAIを動かせるかどうかを検証しました。

エッジデバイス
  • Coral Dev Board
    Googleが開発したAIプラットフォームを搭載したシングルボードコンピュータ
    EdgeTPUというエッジでのAI実行に特化した集積回路を搭載している
主な使用技術
  • TensorFlow Lite
  • OpenCV
プログラミング言語
  • Python
実施したこと
  1. 動作環境としてはGoogleのCoralというエッジAIに特化したシングルボードコンピュータを利用
  2. TensorFlow Liteというエッジデバイスやモバイルデバイス向けのAIライブラリを使用
    事例1のRaspberryPi+TensorFlowでは1秒あたりの処理枚数が1枚程度だったのに対して、Coral+TensorFlow Liteでは1秒あたり50枚程度の画像処理を実現
  3. 検知した人を追跡する機能と人数をカウントする機能をOpenCV(画像処理ライブラリ)を使用して実装
苦労したこと
  • TensorFlow Liteの取り扱いが難しい
    TensorFlow Liteのモデルは、まず1度TensorFlowのモデルを作った後に変換が必要ですが、TensorFlow Liteでは使える機能が限られており、それ以外の機能を使うとエラーになるなど制約が多かったです
  • Coral Dev Boardの取り扱いが難しい
    例えば公開されているビルド済のOpenCVは動作しないので、自分でソースコードからOpenCVをビルドする必要があるなど、環境面での苦労が多かったです

事例3 工事機器が持つデータをIoTで即時クラウド連携

工事現場で使用している機器のデータをエッジデバイス経由でクラウド(AWS)に保存、グラフとして表示するアプリケーションを開発しました。
工事の記録を正確に残すことは現場の義務ですが、従来は機器の表示を見て人の手で報告書をつくるかたちが主流でした。この事例では、工事現場の装置から人手を介さず直接データをクラウドに送ることで、リアルタイムに行う正確かつ効率的な記録を実現しました。

エッジデバイス
  • RaspberryPi
主な使用技術
  • AWS IoT Greengrass
プログラミング言語
  • JavaScript(Node.js)
実施したこと
  1. 機器のデータをRaspberryPiで受け取る
  2. RaspberryPiで受け取った情報をGreengrassを利用して、AWS上のDBに保存
  3. DBに保存された情報をWebアプリでグラフとして表示
苦労したこと
  • エッジデバイスのセキュリティ(ネットワークや権限の設定)の配慮が必要でした
  • Webアプリへのリアルタイムなデータの反映の実現に苦労しました
  • 業務アプリとIoTの融合が必要であったため、単純なデータの収集だけではなく、業務で必要な情報をわかり易く画面に表示する必要がありました
構成図

事例4 iPadで撮影した画像をクラウド上でOCR解析

この事例は厳密にはEdgeではないのですが、タブレットで撮影した情報をクラウド(Azure)に保存し、クラウド上でOCR解析をするアプリを作りました。
たとえば、在庫管理のためにモノに表示されているIDを一旦手作業でメモして、後でエクセルを使ってテキストデータ化、報告するというような作業をしているようなシーンでは、こうしたアプリを用いることで大幅な業務効率化が図れます。

エッジデバイス
  • iPad
主な使用技術
  • Azure Cognitive Services (OCR)
  • OpenCV
プログラミング言語
  • Swift (iPad)
  • Python (サーバーサイド)
実施したこと
  1. タブレットで撮影した写真を、Azureに送信
  2. 送信された画像を画像処理でOCR処理に適した形に変換
  3. Azure Cognitive Services を利用してOCR
苦労したこと
  • iPad上での画像処理の実装
    標準のAzure functionsの機能だとOpenCV(画像処理ライブラリ)が動かないなどクラウド上での画像処理の実装に苦労しました
構成図

エッジコンピューティングのメリット

近年、さまざまな情報がデジタル化され収集・蓄積されるようになりました。また、IoTの普及に伴い、データを蓄積した端末からネットワークを通じてクラウドサービスにデータを転送し、クラウド上で処理する仕組みも容易に構築できるようになりました。

しかし、クラウド上で処理する仕組みがデメリットになる場合もあります。
たとえば、ネットワークの遅延や障害などが生じるとクラウドとの連携に影響が出て処理ができなくなるリスクがあります。リアルタイムのデータ処理が必要とされる場合は、クラウドにアクセスすることによる少しのタイムラグも問題になり得ます。
また、データ量が膨大な場合、データ転送の費用がかかりコストが高くなる可能性もあります。

セキュリティ面でも、クラウドにデータをすべて集めてしまうと外部からの攻撃によるデータ漏えいなどのリスクが高まりますが、エッジコンピューティングを用いることで「個人情報に関するデータはクラウドに転送せずローカルで安全に前処理をする」等の対応が可能となり、漏えいリスクを軽減することができます。

このように一部のデータ処理についてはエッジ側で行うことにより、処理の高速化や通信量削減、情報漏えい防止といったメリットを得られるのです。

その他のエッジデバイス

ここで紹介した事例ではRaspberryPi、Coral Dev Boardなどの具体例をあげましたが、その他にもエッジデバイスはたくさんあります。
一例として、NCDCがパートナー契約をしているPanasonic様のVieureka(ビューレカ)プラットフォームをご紹介します。

VieurekaはIoTカメラとクラウドがパッケージになっていて、ユーザーのニーズに合わせてアプリを開発し、カメラ内で画像解析や分散処理ができる製品です。
それぞれのIoTカメラは個別で管理ができ、稼働状況やアップデートが遠隔で行える点が特徴です。エッジデバイスを活用する際はこのように保守運用がしやすいかどうかも導入時に考慮したいポイントです。

エッジAI、IoTのご相談はNCDCへ

一口にエッジコンピューティングと言っても、実現したいこと次第で選ぶべきエッジデバイスも使用する技術も異なります。また、そもそもクラウドでの処理が適しているのかエッジでの処理が適しているのかの判断もさまざまな条件によって変わってきます。

NCDCなら、こうした初期要件の検討段階からご支援が可能です。また、実際にエッジコンピューティングを導入する際は、既存の製品を単純に当てはめるだけでなく、本当に実現したいことをヒアリングした上で最適な構成を提案させていただくことが可能です。

エッジAIやIoTの導入をご検討中の方は、こちらのフォームからお気軽にご相談ください

ページトップへ

お問い合わせ

NCDCのサービスやセミナー依頼などのお問い合わせは
下記のお電話 また、お問い合わせフォームよりお気軽にご連絡ください。

050-3852-6483