AmazonRekognitionカスタムラベルを使用したバッチ画像処理 

ソースノード: 1204425

Amazonの再認識 は、機械学習(ML)の専門知識を必要としない、実績のある高度にスケーラブルなディープラーニングテクノロジーを使用して、アプリケーションに画像とビデオの分析を簡単に追加できるコンピュータービジョンサービスです。 Amazon Rekognitionを使用すると、画像や動画内のオブジェクト、人物、テキスト、シーン、アクティビティを識別したり、不適切なコンテンツを検出したりできます。 Amazon Rekognitionは、さまざまなユースケースの顔を検出、分析、比較するために使用できる、非常に正確な顔分析および顔検索機能も提供します。

Amazon Rekognitionカスタムラベル ビジネスニーズに固有の画像内のオブジェクトやシーンを識別できます。 たとえば、ソーシャルメディアの投稿でロゴを見つけたり、店の棚で製品を識別したり、組立ラインで機械部品を分類したり、健康な植物と感染した植物を区別したりできます。 ブログ投稿 独自のブランド検出を構築する は、Amazon Rekognitionカスタムラベルを使用して、画像や動画のブランドロゴを検出するためのエンドツーエンドのソリューションを構築する方法を示しています。

Amazon Rekognition Custom Labelsは、データセットにラベルを付けることから始めるシンプルなエンドツーエンドのエクスペリエンスを提供し、Amazon Rekognition Custom Labelsは、データを検査して適切なMLアルゴリズムを選択することにより、カスタムMLモデルを構築します。 モデルがトレーニングされたら、すぐに画像分析に使用できるようになります。 イメージをバッチで処理する場合(XNUMX日またはXNUMX週間にXNUMX回、またはXNUMX日のスケジュールされた時間など)、スケジュールされた時間にカスタムモデルをプロビジョニングできます。

この投稿では、Amazon Rekognitionカスタムラベルを使用してコスト最適なバッチソリューションを構築する方法を示します。このソリューションは、スケジュールされた時間にカスタムモデルをプロビジョニングし、すべての画像を処理し、リソースをプロビジョニング解除して、余​​分なコストが発生しないようにします。

ソリューションの概要

次のアーキテクチャ図は、Amazon Rekognitionカスタムラベルを使用して画像をバッチで処理するための、費用効果が高くスケーラブルなワークフローを設計する方法を示しています。 次のようなAWSサービスを利用します アマゾンイベントブリッジ, AWSステップ関数, Amazon シンプル キュー サービス (Amazon SQS)、 AWSラムダ, Amazon シンプル ストレージ サービス (Amazon S3)。

このソリューションはサーバーレスアーキテクチャとマネージドサービスを使用しているため、オンデマンドで拡張でき、サーバーのプロビジョニングと管理は必要ありません。 Amazon SQSキューは、画像の取り込みを画像処理から切り離し、取り込まれた各画像のメッセージを確実に配信できるようにすることで、ソリューションの全体的なフォールトトレランスを向上させます。 ステップ関数を使用すると、Amazon Rekognitionカスタムラベルプロジェクトの状態ライフサイクルの処理と管理に画像が利用できるかどうかの確認など、一連の個別のタスクを調整するための視覚的なワークフローを簡単に構築できます。 次のアーキテクチャは、AWSLambdaを使用してAmazonRekognitionカスタムラベルのバッチ処理ソリューションを構築する方法を示していますが、次のようなサービスを使用して同様のアーキテクチャを構築できます。 AWSファーゲート.

次の手順では、ワークフロー全体について説明します。

  1. 画像がAmazonS3バケットに保存されると、メッセージがトリガーされ、AmazonSQSキューに保存されます。
  2. Amazon EventBridgeは、特定の頻度(デフォルトでは1時間)でAWS StepFunctionsワークフローをトリガーするように設定されています。
  3. ワークフローが実行されると、次のアクションが実行されます。
    1. AmazonSQSキュー内のアイテムの数をチェックします。 キューに処理するアイテムがない場合、ワークフローは終了します。
    2. キューに処理するアイテムがある場合、ワークフローはAmazonRekognitionカスタムラベルモデルを開始します。
    3. このワークフローにより、AmazonSQSとAWSLambda関数を統合して、これらの画像を処理できます。
  4. AmazonSQSキューとAWSLambdaの統合が有効になると、次のイベントが発生します。
    1. AWS Lambdaは、AmazonSQSからの画像の詳細を使用してメッセージの処理を開始します。
    2. AWS Lambda関数は、Amazon Rekognition CustomLabelsプロジェクトを使用して画像を処理します。
    3. 次に、AWS Lambda関数は、推論されたラベルを含むJSONファイルを最終バケットに配置します。 画像もソースバケットから最終バケットに移動されます。
  5. すべての画像が処理されると、AWS StepFunctionsワークフローは次のことを行います。
    1. AmazonRekognitionカスタムラベルモデルを停止します。
    2. トリガーを無効にすることで、AmazonSQSキューとAWSLambda関数間の統合を無効にします。

次の図は、このソリューションのAWS StepFunctionsステートマシンを示しています。

前提条件

このソリューションを展開するには、次の前提条件が必要です。

  • を使用してソリューションをデプロイする権限を持つAWSアカウント AWS CloudFormation作成する AWS IDおよびアクセス管理 (IAM)役割およびその他のリソース。
  •  Amazon RekognitionカスタムラベルプロジェクトのAmazonリソース名(ARN)( プロジェクトアーン)およびモデルのトレーニング後に作成されたモデルバージョンのAmazonリソース名(ARN)( プロジェクトバージョンArn)。 これらの値は、モデルのステータスを確認したり、モデルを使用して画像を分析したりするために必要です。

モデルのトレーニング方法については、を参照してください。 AmazonRekognitionカスタムラベル入門.

展開

AWSアカウントでAWSCloudFormationを使用してソリューションをデプロイするには、 GitHubレポ。 次のリソースが作成されます。

  • Amazon S3バケット
  • AmazonSQSキュー
  • AWS StepFunctionsワークフロー
  • ワークフローをトリガーするAmazonEventBridgeルール
  • IAMの役割
  • AWSLambda関数

ソリューションによって作成されたさまざまなリソースの名前は、の出力セクションで確認できます。 CloudFormationスタック.

ワークフローをテストする

ワークフローをテストするには、次の手順を実行します。

  1. ソリューションによって作成された入力S3バケットにサンプルイメージをアップロードします(たとえば、xxxx-sources3bucket-xxxx)。
  2. ステップ関数コンソールで、ソリューションによって作成されたステートマシンを選択します(たとえば、CustomCVStateMachine-xxxx)。

ステートマシンがAmazonEventBridgeルールによってXNUMX時間ごとにトリガーされることがわかります。

  1. を選択して、ワークフローを手動で開始できます 実行を開始します.
  2. 画像が処理されると、出力S3バケット(たとえば、xxxx-finals3bucket-xxxx)に移動して、各画像のJSON出力を確認できます。

次のスクリーンショットは、Amazon Rekognitionカスタムラベルからの対応するJSON出力とともに、画像を含む最終的なS3バケットのコンテンツを示しています。

まとめ

この投稿では、Amazon Rekognitionカスタムラベルを使用してコスト最適なバッチソリューションを構築する方法を示しました。これにより、スケジュールされた時間にカスタムモデルをプロビジョニングし、すべての画像を処理し、リソースをプロビジョニング解除して、余​​分なコストが発生しないようにすることができます。 ユースケースに応じて、ソリューションがバッチを処理する予定の時間枠を簡単に調整できます。 画像内のオブジェクト、シーン、および概念を検出するモデルを作成、トレーニング、評価、および使用する方法の詳細については、を参照してください。 AmazonRekognitionカスタムラベルの使用を開始する.

この投稿で説明されているソリューションは、Amazon Rekognitionカスタムラベルを使用してバッチ画像を処理する方法を示していますが、ソリューションを簡単に調整して、バッチ画像を処理することができます。 アマゾンルックアウトフォービジョン 欠陥や異常の検出用。 Amazon Lookout for Visionを使用すると、製造会社は、オブジェクトの画像の違いを大規模にすばやく特定することで、品質を向上させ、運用コストを削減できます。 たとえば、Amazon Lookout for Visionを使用して、製品の不足しているコンポーネント、車両や構造物の損傷、生産ラインの不規則性、シリコンウェーハの微小な欠陥、およびその他の同様の問題を特定できます。 Amazon Lookout for Visionの詳細については、を参照してください。 開発者ガイド.


著者について

ラウール・スリヴァスタヴァ アマゾンウェブサービスのシニアソリューションアーキテクトであり、英国を拠点としています。 彼は大企業の顧客と協力して幅広いアーキテクチャの経験があります。 彼は、アーキテクチャ、クラウドの採用、目的を持った製品の開発、AI / MLを活用して実際のビジネス上の問題を解決することで、お客様を支援しています。

カシフ・イムラン アマゾンウェブサービスのプリンシパルソリューションアーキテクトです。 彼は、AI / MLを利用して複雑なビジネス上の問題を解決しているAWSの最大の顧客の一部と協力しています。 彼は、コンピュータービジョンアプリケーションを大規模に実装するための技術ガイダンスと設計アドバイスを提供しています。 彼の専門知識は、アプリケーションアーキテクチャ、サーバーレス、コンテナ、NoSQL、機械学習に及びます。

ソース:https://aws.amazon.com/blogs/machine-learning/batch-image-processing-with-amazon-rekognition-custom-labels/

タイムスタンプ:

より多くの AWS機械学習ブログ