エッジコンピューティングで実装Amazon Lookout for Visionによる外観異常検査

今回は、「Amazon Lookout for Vision」を用いて、エッジコンピューティングによる外観異常検査を実現したデモ事例について詳しくご紹介します。

エッジコンピューティングは、データをデバイス側で処理することでリアルタイム性を高める技術です。これにより、高画質な画像を用いて精度の高い異常検知が可能になります。この技術をアマゾン ウェブ サービス(AWS)の、「Amazon Lookout for Vision」と組み合わせることで、エッジデバイス上でのリアルタイムな画像分析が実現され、効率的な異常検知が可能になります。

このプロジェクトは、実際のお客様からのご相談をきっかけに始まりました。

お客様は工場のコンベアラインを流れる商品の異常(ラベル貼り忘れの有無等)を判定したいと考えていました。具体的には、目視確認ではミスが発生しやすく、これを自動化したいというニーズです。

ご提案にあたり、具体的な実現イメージをつかんでもらうために、列車模型を使ったデモを作成しました。

課題

  • 人的な目視確認では漏れが発生する:
    日常的に多くの製品を目視検査する現場では、どうしても見落としが発生します。
  • 工場用の外観検査装置の導入には膨大な費用が必要:
    高価な外観検査装置を導入するには、多大な初期投資が必要です。


お客様の課題を受けて、AWSの技術を活用して製造現場での人的リソースによる単調な目視検査を最適化することを目指しました。これにより、効率化とコスト削減を図ります。

ソリューション概要

全体外観

赤外線センサーによる物体検知からカメラによる撮影を行い、エッジデバイスにデプロイした機械学習モデルで異常検査を実施します。具体的には、通過する列車模型に積載されたコンテナの有無の異常をローカルで検出します。

エッジデバイスとして「NVIDIA Jetson nano」を利用しています。Jetson Nanoは、NVIDIAが提供する小型で低コストのエッジAIコンピュータです。主にロボティクスやAIプロジェクトに利用されることが多く、ディープラーニングやコンピュータビジョンのタスクに最適です。

また、赤外線センサーは「Raspberry Pi」で制御しており、そこからエッジデバイスへのトリガーを行っています。

ソリューション概要

モデルのトレーニング

Amazon Lookout for Visionを用いて外観異常検査のためのモデルを構築します。トレーニングには検査対象となる実際の車両の写真を使用し、アノテーション作業を行うことで精度の高いモデルを作成します。具体的には、『Amazon SageMaker Ground Truth』を使用した、GUI上で異常範囲をマークするといった作業に加えて、モデルの精度向上のために、約数百枚のアノテーション作業を実施するため、社内で呼びかけ(緊急クエストの発令)を行い、プロジェクト外のメンバーも交えて実施しました。

モデルのデプロイ:

JetsonデバイスにAWS IoT Greengrassを用いてトレーニング済みのモデルをデプロイします。具体的な手順としては、次の通りです。
 ①エッジデバイス(Jetson)をAWS IoT Greengrassのコアデバイスとして登録
 ②Amazon Lookout for Visionのモデルをパッケージング
 ③AWS IoT Greengrassを用いてマネジメントコンソールより登録済コアデバイスへのデプロイを実施

コアデバイス化においては、バージョンによる特定の問題(バグ)に出くわし、多大な労力がかかりました。(現在は上記対象の問題修正に対応する新しいバージョンのReleaseがされています。)

センサー検知と写真撮影:

センサー検知と写真撮影

Raspberry Piにセンサーを接続し、対象物を検知。センサーが物体を検知することで、Jetsonに電気信号を送信するように設定を行い、検知した対象物を撮影します。その画像をLookout for Visionで解析し、異常検査を行います。

結果の出力とデータ送信:

判定結果

検査結果をリアルタイムで画面に表示し、AWS IoT Coreを通じて結果データをクラウドに送信します。具体的には、AWS IoT CoreへのMQTTプロトコル通信を用いてデータを送信しました。

データの蓄積と可視化:

データの蓄積と可視化

送信されたデータはAmazon Timestreamに保存され、Amazon QuickSightで可視化されます。さらに、Amazon Bedrockを利用して生成AIによる傾向分析を行います。具体的な分析手法としては、Amazon Timestreamに対して直近の蓄積データをクエリし、その結果に対する分析を行うようなプロンプトを設定したAWS Lambdaから、Amazon Bedrock(Claude)にリクエストを送信する方法を用いました。


構成図

リアルタイム異常検知:

  • Jetson: 外観異常検査の実行基盤
  • Raspberry Pi: センサー制御
  • AWS IoT Greengrass: エッジデバイスへのモデルデプロイ
  • Amazon Lookout for Vision: 機械学習による外観異常検査

Amazon Lookout for Visionを使用し、エッジデバイス上で異常を即時検知。例えば、今回のモデルであれば、”車両にコンテナが積載されていない” という異常を検知することが可能です。

安全なデバイス管理:

  • AWS IoT Core: デバイスとクラウドのデータ送受信

AWS IoT Coreでデバイスの認証と通信を管理し、セキュアな運用を実現。例えば、AWS IoT Core ポリシーによるリソースやアクションの制限を使用しました。

累積データの可視化と傾向分析:

  • Amazon Timestream: 時系列データの保存
  • Amazon QuickSight: データの可視化
  • Amazon Bedrock: 生成AIによるデータ分析

AWS LambdaとAmazon Timestreamで効率的なデータ処理を行い、Amazon Bedrockで傾向分析を実施。Amazon QuickSightで可視化を行いました。

迅速な通知:

  • Amazon CloudWatch: システム監視とログ管理
  • Amazon SNS: リアルタイム通知
  • AWS Chatbot: チャットツールへの通知

Amazon CloudWatchとAmazon SNSでシステムを監視し、AWS Chatbotで迅速なトラブル対応を支援。例えば、AWS IoT ルールアクションによるデータ連携のエラーや、AWS Lambdaの実行エラーによる対応が可能です。

AWSのサービスを組み合わせることで、初期費用はエッジデバイス(マイコン、カメラ、センサー)のみで済み、最小限のコストで実現できました。また、今回の構成の大部分がサーバレスアーキテクチャであるため、固定費がほとんど発生せず、優れたスケーラビリティを持っています。

今回のプロジェクトは、実際のご相談をきっかけに少人数で発足した社内プロジェクトでしたが、クラウドの特性を活かしたスクラップ&ビルドの手法により、短期間で高品質な外観異常検査ツールを開発することができました。AWSの多彩なサービスを組み合わせることで、多くの課題を解決できることを改めて実感しました。