Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する | アマゾン ウェブ サービス

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する | アマゾン ウェブ サービス

ネスレの子会社であるピュリナ US には、人々がより簡単にペットを引き取れるようにするための長い歴史があります。 ペットファインダー、米国、カナダ、メキシコの 11,000 を超える動物保護施設と救助グループが参加するデジタル マーケットプレイスです。 ペットファインダーは、主要なペットの養子縁組プラットフォームとして、何百万ものペットが永遠の住処を見つけるのを支援してきました。

Purina は、ペットファインダー プラットフォームを避難所や救助グループ、ペットの引き取り手の両方にとってさらに優れたものにする方法を一貫して模索しています。 彼らが直面した課題の XNUMX つは、養子縁組の対象となる動物の特定の品種を適切に反映することでした。 保護施設の動物の多くは雑種であるため、ペットのプロフィールで品種と属性を正しく識別するには手作業が必要で、時間がかかりました。 Purina は人工知能 (AI) と機械学習 (ML) を使用して、動物の品種検出を大規模に自動化しました。

この投稿では、Purina の使用方法について詳しく説明します Amazon Rekognitionカスタムラベル, AWSステップ関数、およびその他の AWS サービスを使用して、アップロードされた画像からペットの品種を検出し、その予測を使用してペットの属性を自動入力する ML モデルを作成します。 このソリューションは、データの準備、モデルのトレーニング、モデルの評価、モデルのモニタリングという AI/ML アプリケーションのワークフローを開発する基本原則に焦点を当てています。

ソリューションの概要

画像から動物の品種を予測するには、カスタム ML モデルが必要です。 画像を分析するためのカスタム モデルの開発は、時間、専門知識、リソースを必要とする重要な作業であり、完了までに数か月かかることもよくあります。 さらに、モデルに正確な意思決定を行うための十分なデータを提供するには、多くの場合、手動でラベル付けされた何千または何万もの画像が必要になります。 要件への準拠を検証するためにモデルの予測を監査またはレビューするためのワークフローを設定すると、全体の複雑さがさらに増す可能性があります。

Rekognition Custom Labels を使用すると、既存の機能に基づいて構築されます。 Amazonの再認識を使用すると、ビジネス ニーズに固有の画像内のオブジェクトやシーンを識別できます。 すでに多くのカテゴリにわたる数千万の画像でトレーニングされています。 数千の画像の代わりに、ユースケースに固有のトレーニング画像の小さなセット (通常はカテゴリごとに数百以下の画像) をアップロードできます。

このソリューションでは次のサービスを使用します。

  • アマゾンAPIゲートウェイ は、開発者があらゆる規模の API を簡単に公開、保守、監視、保護できるようにするフルマネージド サービスです。
  •   AWSクラウド開発キット (AWS CDK) は、最新のプログラミング言語を使用してクラウド インフラストラクチャをコードとして定義し、それをデプロイするためのオープンソース ソフトウェア開発フレームワークです。 AWS CloudFormation.
  • AWS コードビルド は、クラウド上のフルマネージド継続的統合サービスです。 CodeBuild はソース コードをコンパイルし、テストを実行し、すぐにデプロイできるパッケージを生成します。
  • Amazon DynamoDB は、あらゆる規模に対応した高速かつ柔軟な非リレーショナル データベース サービスです。
  • AWSラムダ は、サーバーのプロビジョニングや管理を行わずに、事実上あらゆる種類のアプリケーションまたはバックエンド サービスのコードを実行できるイベント ドリブンのコンピューティング サービスです。
  • Amazonの再認識 は、画像やビデオから情報や洞察を抽出するための、事前トレーニング済みのカスタマイズ可能なコンピューター ビジョン (CV) 機能を提供します。 と Amazon Rekognitionカスタムラベルを使用すると、ビジネス ニーズに固有の画像内のオブジェクトやシーンを識別できます。
  • AWSステップ関数 は、視覚的なワークフローを使用して、分散アプリケーションとマイクロサービスのコンポーネントの調整を容易にするフルマネージド サービスです。
  • AWS システム マネージャー は、AW​​S およびマルチクラウドおよびハイブリッド環境のリソースに対する安全なエンドツーエンド管理ソリューションです。 パラメータストアSystems Manager の機能の XNUMX つであり、構成データ管理とシークレット管理のための安全な階層ストレージを提供します。

Purina のソリューションは、 APIゲートウェイHTTP エンドポイント。ペット属性を取得するリクエストをルーティングします。 Rekognition Custom Labels を使用してペットの品種を予測します。 ML モデルは、一次品種ラベルが真のラベルであると仮定して、ピュリナのデータベースから取得したペット プロファイルからトレーニングされます。 ペットの属性を保存するために DynamoDB が使用されます。 Lambda は、API Gateway、Amazon Rekognition、DynamoDB の間で調整してペット属性リクエストを処理するために使用されます。

アーキテクチャは次のように実装されています。

  1. Petfinder アプリケーションは、API ゲートウェイ経由でペット属性を取得するリクエストをルーティングします。
  2. API Gateway は Lambda 関数を呼び出してペットの属性を取得します。
  3. Lambda 関数は、Rekognition Custom Label 推論エンドポイントを呼び出して、ペットの品種を予測します。
  4. Lambda 関数は、予測されたペットの品種情報を使用して、DynamoDB テーブルでペット属性の検索を実行します。 ペットの属性を収集し、Petfinder アプリケーションに送り返します。

次の図は、ソリューションのワークフローを示しています。

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

Purina の Petfinder チームは、最小限のメンテナンスで導入できる自動化ソリューションを望んでいます。 これを実現するために、Step Functions を使用して、最新のデータでモデルをトレーニングし、ベンチマーク セットでパフォーマンスをチェックし、改善された場合はモデルを再デプロイするステート マシンを作成します。 モデルの再トレーニングは、プロフィール情報を送信したユーザーによって行われた品種修正の数に基づいてトリガーされます。

モデルトレーニング

画像を分析するためのカスタム モデルの開発は、時間、専門知識、リソースを必要とする重要な作業です。 さらに、モデルに正確な意思決定を行うための十分なデータを提供するには、多くの場合、手動でラベル付けされた何千または何万もの画像が必要になります。 このデータの生成には収集に数か月かかる場合があり、機械学習で使用するためにデータにラベルを付けるには多大な労力が必要です。 と呼ばれるテクニック 転移学習 事前トレーニングされたモデルのパラメーターを借用することで高品質のモデルを生成するのに役立ち、より少ない画像でモデルをトレーニングできるようになります。

私たちの課題は、データが完全にラベル付けされていないことです。プロファイル データを入力する人間は間違いを犯す可能性があり、実際に間違いを犯します。 ただし、十分に大きなデータ サンプルの場合、誤ってラベル付けされた画像が占める割合は十分に小さく、モデルのパフォーマンスは精度において 2% 以上の影響を受けないことがわかりました。

ML ワークフローとステート マシン

Step Functions ステートマシンは、Amazon Rekognition モデルの自動再トレーニングを支援するために開発されました。 フィードバックはプロフィールの入力中に収集されます。画像から推定された品種がユーザーによって別の品種に変更されるたびに、修正が記録されます。 このステート マシンは、構成可能な補正のしきい値と追加データによってトリガーされます。

ステート マシンは、ソリューションを作成するためにいくつかのステップを実行します。

  1. のリストを含むトレーニングおよびテストのマニフェスト ファイルを作成します。 Amazon シンプル ストレージ サービス Amazon Rekognition で使用する (Amazon S3) イメージ パスとそのラベル。
  2. マニフェストファイルを使用して Amazon Rekognition データセットを作成します。
  3. データセットの作成後に、Amazon Rekognition モデルのバージョンをトレーニングします。
  4. トレーニングが完了したら、モデル バージョンを開始します。
  5. モデルを評価し、パフォーマンス指標を生成します。
  6. パフォーマンス メトリックが満足できる場合は、パラメーター ストアのモデル バージョンを更新します。
  7. 新しいモデルのバージョンが Lambda 関数に反映されるまで (20 分) 待ってから、以前のモデルを停止します。

モデル評価

データ サンプルから取得したランダムな 20% ホールドアウト セットを使用してモデルを検証します。 検出する品種は構成可能なため、トレーニング中の検証に固定データセットは使用しませんが、統合テストには手動でラベル付けされた評価セットを使用します。 手動でラベル付けされたセットとモデルの検出可能な品種の重複は、メトリクスの計算に使用されます。 モデルの品種検出精度が指定されたしきい値を超えている場合、モデルがエンドポイントで使用されるように昇格します。

以下は、Rekognition Custom Labels のペット予測ワークフローのスクリーンショットのいくつかです。

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

AWS CDK を使用したデプロイメント

Step Functions ステート マシンと関連インフラストラクチャ (Lambda 関数、CodeBuild プロジェクト、Systems Manager パラメータを含む) は、Python を使用して AWS CDK でデプロイされます。 AWS CDK コードは CloudFormation テンプレートを合成し、これを使用してソリューションのすべてのインフラストラクチャをデプロイします。

Petfinder アプリケーションとの統合

Petfinder アプリケーションは、画像への Amazon S3 パスと返される結果の数のフィールドを含む JSON ペイロードを含む POST リクエストを使用して、API Gateway エンドポイント経由で画像分類エンドポイントにアクセスします。

影響を受けるKPI

画像推論エンドポイントの実行にかかる追加コストを正当化するために、エンドポイントが Petfinder に追加する価値を決定するための実験を実行しました。 エンドポイントを使用すると、主に次の XNUMX 種類の改善が得られます。

  • ペット保護施設がペットのプロフィールを作成する労力を軽減
  • ペットのプロフィールがより完全になり、検索の関連性が向上することが期待されます。

労力とプロファイルの完全性を測定するための指標には、修正された自動入力フィールドの数、入力されたフィールドの合計数、ペット プロフィールのアップロードにかかる時間が含まれます。 検索の関連性の向上は、採用率に関連する主要業績評価指標の測定から間接的に推測されます。 Purina 氏によると、ソリューションの運用開始後、Petfinder アプリケーションでペットのプロフィールを作成する平均時間が 7 分から 4 分に短縮されました。 2022 年には 4 万件のペットのプロフィールがアップロードされたため、これは大幅な改善と時間の節約です。

セキュリティ

アーキテクチャ図内を流れるデータは、次の規則に従って、転送中および保存中に暗号化されます。 AWS Well-Architected のベストプラクティス。 AWS のすべての取り組み中、セキュリティ専門家がソリューションをレビューして、安全な実装が提供されていることを確認します。

まとめ

Rekognition Custom Labels に基づくソリューションにより、Petfinder チームはペット保護施設のペット プロフィールの作成を加速し、保護施設職員の管理負担を軽減できます。 AWS CDK に基づくデプロイメントでは、Step Functions ワークフローをデプロイして、トレーニングとデプロイメントのプロセスを自動化します。 Rekognition カスタム ラベルの使用を開始するには、以下を参照してください。 AmazonRekognitionカスタムラベル入門。 また、いくつかをチェックすることができます ステップ関数の例 および AWS CDK を使ってみる.


著者について

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。メイソン・ケイヒル は、AW​​S プロフェッショナル サービスのシニア DevOps コンサルタントです。 彼は組織がビジネス目標を達成できるよう支援することに喜びを感じており、AWS クラウド上で自動化されたソリューションを構築して提供することに情熱を注いでいます。 仕事以外では、家族と時間を過ごしたり、ハイキングしたり、サッカーをしたりすることが大好きです。

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。マシュー・シャッセ 彼はアマゾン ウェブ サービスのデータ サイエンス コンサルタントであり、顧客によるスケーラブルな機械学習ソリューションの構築を支援しています。 マシューは数学の博士号を取得しており、自由時間にはロック クライミングと音楽を楽しんでいます。

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。ルシケシ ジャグタップ は、AW​​S Analytics サービスで 5 年以上の経験を持つソリューションアーキテクトです。 彼は、顧客がデータから洞察を得るためにスケーラブルで最新のデータ分析ソリューションを構築できるよう支援することに情熱を注いでいます。 仕事以外では、F1 の観戦、バドミントン、ゴーカートのレースが大好きです。

Amazon Rekognition カスタム ラベルと AWS Step Functions を使用して、Purina の Petfinder アプリケーションのペット プロファイルを最適化する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。タヨ・オラジデ は、クラウド環境でのデータ ソリューションの設計と実装において XNUMX 年以上の経験を持つ、経験豊かなクラウド データ エンジニアリングのジェネラリストです。 Tayo は、生データを貴重な洞察に変換することに情熱を持っており、金融、ヘルスケア、自動車業界を含むさまざまな業界のデータ パイプラインの設計と最適化において重要な役割を果たしてきました。 この分野の思想的リーダーとして、Tayo はデータの力は情報に基づいた意思決定を促進する能力にあると信じており、クラウド時代に企業がデータの可能性を最大限に活用できるよう支援することに尽力しています。 データ パイプラインを作成していないときは、Tayo がテクノロジーの最新トレンドを調査したり、大自然の中でハイキングしたり、ガジェットやソフトウェアをいじったりしている様子が見られます。

タイムスタンプ:

より多くの AWS機械学習