これは、TheBarcodeRegistryのソフトウェアエンジニアであるAndrewMasekとTheBarcodeRegistryのCEOであるErikQuislingによって作成されたゲスト投稿です。
製品の偽造は、世界で唯一最大の犯罪企業です。 過去10,000年間で1.7%を超えて成長し、現在、偽造品の売上高は世界中で年間合計XNUMX兆ドルに上り、これは麻薬や人身売買を上回っています。 独自のバーコードや製品検証などの従来の偽造防止方法は非常に効果的ですが、オブジェクト検出などの新しい機械学習(ML)テクノロジーは非常に有望であるように思われます。 オブジェクト検出を使用すると、製品の写真を撮って、その製品が合法であるか不正である可能性が高いかをほぼ瞬時に知ることができます。
バーコードレジストリ (そのパートナーと連携して Buyyabarcode.com)は、顧客が製品の詐欺や偽造を防ぐのに役立つフルサービスソリューションです。 これは、GS1に登録された独自のバーコードを販売し、製品の所有権を確認し、ユーザーの製品とバーコードを包括的なデータベースに登録することで実現します。 この投稿で説明する最新の製品は、 アマゾンセージメーカー 偽造品を即座に認識するのに役立つオブジェクト検出モデルを作成します。
ソリューションの概要
これらのオブジェクト検出モデルを使用するには、最初にデータを収集してトレーニングする必要があります。 企業は自社製品の注釈付き写真をバーコードレジストリにアップロードします ウェブサイト。 このデータがにアップロードされた後 Amazon シンプル ストレージ サービス (Amazon S3)およびによって処理されます AWSラムダ 関数を使用すると、SageMakerオブジェクト検出モデルをトレーニングできます。 このモデルはSageMakerエンドポイントでホストされ、Webサイトがエンドユーザーに接続します。
SageMakerでカスタムオブジェクト検出モデルを作成するために使用するバーコードレジストリを作成するには、次のXNUMXつの重要な手順があります。
- SageMakerを実行するためのトレーニングスクリプトを作成します。
- トレーニングスクリプトからDockerコンテナを構築し、AmazonECRにアップロードします。
- SageMakerコンソールを使用して、カスタムアルゴリズムでモデルをトレーニングします。
製品データ
オブジェクト検出モデルをトレーニングするための前提条件として、AWSアカウントと、オブジェクトの少なくとも100枚の高品質(高解像度で複数の照明条件)の画像で構成されるトレーニング画像が必要です。 他のMLモデルと同様に、高品質のデータが最も重要です。 オブジェクト検出モデルをトレーニングするには、次の例に示すように、関連する製品を含む画像と、製品が画像内のどこにあるかを示すバウンディングボックスが必要です。
効果的なモデルをトレーニングするには、背景や照明条件が異なる各ブランドの製品の写真が必要です。製品ごとに約30〜100個の固有の注釈付き画像が必要です。
画像がウェブサーバーにアップロードされた後、それらはを使用してAmazonS3にアップロードされます PHP 用 AWS SDK。 画像がアップロードされるたびにLambdaイベントがトリガーされます。 この関数は、画像からExifメタデータを削除します。これにより、後でモデルのトレーニングに使用されるMLライブラリによって画像が開かれたときに、画像が回転して表示される場合があります。 関連するバウンディングボックスのデータはJSONファイルに保存され、画像に添付するためにAmazonS3にアップロードされます。
オブジェクト検出モデル用のSageMaker
SageMakerは、クラウドでモデルを構築、トレーニング、ホスティングするためのさまざまなツールを含むマネージドMLサービスです。 特に、TheBarcodeRegistryは、SageMakerの信頼性が高くスケーラブルなMLモデルのトレーニングとホスティングサービスのために、オブジェクト検出サービスにSageMakerを使用しています。 これは、多くのブランドが独自のオブジェクト検出モデルをトレーニングしてホストできることを意味し、使用量が予期せず急増した場合でも、ダウンタイムは発生しません。
バーコードレジストリは、にアップロードされたカスタムDockerコンテナを使用します Amazon エラスティック コンテナ レジストリ (Amazon ECR)トレーニングと推論に使用されるオブジェクト検出アルゴリズムをよりきめ細かく制御し、 マルチモデルサーバー (MMS)。 MMSは、複数のブランドのモデルを同じサーバー上で費用効果の高い方法でホストできるため、偽造検出のユースケースにとって非常に重要です。 または、組み込みのを使用することもできます オブジェクト検出アルゴリズム AWSによって開発された標準モデルを迅速にデプロイします。
SageMakerを使用してカスタムオブジェクト検出モデルをトレーニングする
まず、オブジェクト検出アルゴリズムを追加する必要があります。 この場合、Yolov5オブジェクト検出モデルをトレーニングするスクリプトを備えたDockerコンテナをAmazonECRにアップロードします。
- SageMakerコンソールの[ ノート ナビゲーション ペインで、 ノートブックインスタンス.
- 選択する ノートブックインスタンスを作成します。
- ノートブックインスタンスの名前を下に入力します 権限と暗号化 を選択してください AWS IDおよびアクセス管理 (IAM)必要な権限を持つロール。
- Video Cloud Studioで Gitリポジトリ メニュー。
- 選択 パブリックGitリポジトリのクローンをこのノートブックインスタンスのみに 以下を貼り付けます GitリポジトリのURL: https://github.com/portoaj/SageMakerObjectDetection
- クリック ノートブックインスタンスを作成 インスタンスのステータスがから更新されるまで約XNUMX分待ちます 保留中 〜へ InService セクションに ノートブックインスタンス メニュー。
- ノートブックが InService、それを選択してクリックします & Jupyterを開く 新しいタブでノートブックインスタンスを起動します。
- 現在地に最も近い SageMakerオブジェクト検出 ディレクトリをクリックしてからクリックします
sagemakerobjectdetection.ipynb
Jupyterノートブックを起動します。 - 現在地に最も近い
conda_python3
カーネルをクリックします カーネルを設定する. - コードセルを選択し、
aws_account_id
AWSアカウントIDへの変数。 - クリック ラン Dockerコンテナーを構築し、それをAmazonECRにアップロードするプロセスを開始します。 このプロセスは、完了するまでに約20分かかる場合があります。
- Dockerコンテナがアップロードされたら、に戻ります。 ノートブックインスタンス メニューをクリックし、インスタンスを選択して、 & Force Stop ノートブックインスタンスをシャットダウンします。
アルゴリズムが構築されてAmazonECRにプッシュされたら、それを使用してSageMakerコンソールを介してモデルをトレーニングできます。
- SageMakerコンソールの[ トレーニング ナビゲーション ペインで、 トレーニングの仕事.
- 選択する トレーニングジョブを作成する.
- ジョブの名前を入力し、 AWS IDおよびアクセス管理 (IAM)必要な権限を持つロール。
- アルゴリズムソース選択 ECRの独自のアルゴリズムコンテナ.
- コンテナ、レジストリパスを入力します。
- Yolov2モデルをトレーニングするには、リソース構成で単一のml.p5.xlargeインスタンスを設定するだけで十分です。
- 入力データと出力パスの両方、およびVPCの設定などの他の設定にAmazonS3の場所を指定します。 アマゾン バーチャル プライベート クラウド (Amazon VPC)またはマネージドスポットトレーニングの有効化。
- 選択する トレーニングジョブを作成する.
SageMakerコンソールでモデルのトレーニングの進行状況を追跡できます。
自動モデルトレーニング
次の図は、自動化されたモデルトレーニングワークフローを示しています。
ユーザーがデータのアップロードを終了するとすぐにSageMakerがオブジェクト検出モデルのトレーニングを開始できるようにするために、ウェブサーバーは アマゾンAPIゲートウェイ ブランドが終了したことをLambda関数に通知し、トレーニングジョブを開始します。
ブランドのモデルが正常にトレーニングされると、 アマゾンイベントブリッジ トレーニング済みモデルをライブエンドポイントのS3バケットに移動するLambda関数を呼び出します。ここで、最終的に推論の準備が整います。 Amazon EventBridgeを使用して、検討する必要のあるMLOpsライフサイクルを通じてモデルを移動するための新しい代替手段は次のとおりです。 SageMakerパイプライン.
推論のためにモデルをホストする
トレーニング済みのモデルを使用するには、SageMakerで推論モデルをエンドポイントでホストする必要があります。 エンドポイントは、推論モデルを実際にホストするために使用されるサーバーまたはサーバーの配列です。 作成したトレーニングコンテナーと同様に、推論用のDockerコンテナーはAmazonECRでホストされます。 推論モデルは、そのDockerコンテナーを使用して、ユーザーが携帯電話で取得した入力画像を取得し、トレーニング済みのオブジェクト検出モデルを実行して、結果を出力します。
繰り返しになりますが、バーコードレジストリは、推論モデルにカスタムDockerコンテナを使用して、マルチモデルサーバーの使用を可能にしますが、必要なモデルがXNUMXつだけの場合は、組み込みのオブジェクト検出アルゴリズムを使用して簡単にホストできます。
まとめ
バーコードレジストリ(パートナーのBuyabarcode.comと連携)は、オブジェクト検出パイプライン全体にAWSを使用します。 WebサーバーはAmazonS3にデータを確実に保存し、APIGatewayおよびLambda関数を使用してWebサーバーをクラウドに接続します。 SageMakerは、MLモデルを簡単にトレーニングしてホストします。つまり、ユーザーは携帯電話で製品の写真を撮り、その製品が偽造品であるかどうかを確認できます。 この投稿では、SageMakerを使用してオブジェクト検出モデルを作成およびホストする方法と、プロセスを自動化する方法を示します。
テストでは、モデルは90枚の画像のトレーニングセットと62枚の画像のテストセットで32%以上の精度を達成できました。これは、人間の介入なしでトレーニングされたモデルとしては非常に印象的です。 自分でオブジェクト検出モデルのトレーニングを開始するには、公式をチェックしてください ドキュメント または方法を学ぶ AWSIoTGreengrassを使用してオブジェクト検出モデルをエッジにデプロイする.
この投稿の内容と意見はサードパーティの作成者のものであり、AWSはこの投稿の内容または正確性について責任を負いません。
著者について
- "
- 000
- 10
- 100
- 7
- 私たちについて
- アクセス
- アルゴリズム
- しかし
- Amazon
- API
- 自動化
- AWS
- 国境
- ボックス
- ブランド
- 建物
- 内蔵
- 原因となる
- 最高経営責任者(CEO)
- クラウド
- コード
- 収集する
- 企業
- 領事
- コンテナ
- コンテナ
- コンテンツ
- コントロール
- 偽造
- 作成
- 刑事上の
- カスタム
- Customers
- データ
- データベース
- 展開します
- 検出
- 発展した
- 異なります
- 話し合います
- デッカー
- ダウン
- ダウンタイム
- 薬物
- 簡単に
- エッジ(Edge)
- 効果的な
- 有効にする
- エンドポイント
- エンジニア
- Enterprise
- イベント
- 例
- 最後に
- 名
- フォロー中
- 詐欺
- function
- Gitの
- 商品
- 成長
- ゲスト
- ゲストのポスト
- 助けます
- ことができます
- 認定条件
- How To
- HTTPS
- 人間
- アイデンティティ
- 画像
- 重要
- IOT
- IT
- ジョブ
- キー
- 最新の
- 起動する
- LEARN
- 学習
- 場所
- 機械
- 機械学習
- マネージド
- ML
- モデル
- 他には?
- ナビゲーション
- ノート
- 提供すること
- 公式
- 意見
- 注文
- その他
- 所有権
- パートナー
- 画像
- かなり
- 防止
- プライベート
- プロセス
- プロダクト
- 製品
- 有望
- 公共
- すぐに
- 認識する
- 関連した
- 倉庫
- リソースを追加する。
- 責任
- ラン
- セールス
- ド電源のデ
- SDDK
- サービス
- サービス
- セッションに
- 同様の
- 簡単な拡張で
- スナップ
- ソフトウェア
- ソフトウェアエンジニア
- 溶液
- Spot
- start
- 開始
- Status:
- ストレージ利用料
- 店舗
- 首尾よく
- サポート
- テクノロジー
- テスト
- 世界
- サードパーティ
- 介して
- 時間
- 豊富なツール群
- 追跡する
- 伝統的な
- トレーニング
- 列車
- ユニーク
- アップデイト
- つかいます
- Verification
- バーチャル
- wait
- ウェブ
- ウェブサーバー
- ウェブサイト
- 無し
- 世界
- 年