Hello AWS - Amazon Rekognition を使用して独自のカスタムラベルを検出する | Mendix

メインコンテンツへスキップ

こんにちは AWS – Amazon Rekognition を使用して独自のカスタムラベルを検出する

このブログでは、Amazon Rekognitionコネクタを見て、カスタムラベルの検出アクションをいかに簡単に使用できるかを見ていきます。 Mendix.
Amazon Rekognition は、わずか数枚の画像を使用して独自のモデルをトレーニングできるディープラーニング画像分析サービスです。
Mendix コネクタを使用すると、アプリでの設定が非常に簡単になります。顔認識から独自のカスタム ラベルの作成まで、画像内の必要なものをすべて検出するようにトレーニングできます。
それで、もちろん、私は日常生活にとても実用的で役立つものを思いつきました。画像からさまざまな種類の犬種を検出するアプリを作成したのです。これは、私の愛犬ビーンからヒントを得たものです。ビーンはいつも「この犬は何犬?」と質問されます。もし「この犬は何犬?」と尋ねたことがあれば、そのためのアプリがあります!
冗談はさておき、Rekognition モデルをトレーニングして、必要なものをすべて検出することがいかに簡単かを示すものを作りたかったのです。さまざまな種類の犬を検出できるようにすることは、楽しい例のように思えました。

始める前に

このブログでは、前回の記事で説明したセッションベースの資格情報を使用します。まだ読んでいない、または視聴していない場合は、下のリンクをクリックして戻って今すぐ読んでください。今日は、前回の記事の続きをやっていきます。

S3バケットの設定

Rekognition プロジェクトを作成する最初のステップは、モデルをトレーニングするデータセットを作成することです。つまり、Amazon S3 バケットを作成し、その後、画像をアップロードしてモデルをトレーニングする必要があります。S3 バケットを作成するには、次の手順に従います。
  1. AWS マネジメントコンソールにサインインし、 AmazonS3コンソール. 次に、 バケットを作成する.
  2. バケットの名前を入力します。ここでは「HelloRekognition」という名前を付けます。
  3. [リージョン] で、バケットを配置する AWS リージョンを選択します。
    • レイテンシーとコストを最小限に抑え、規制要件に対応するために、お近くのリージョンを選択してください。
  4. 他はすべてデフォルトのままにして、下にスクロールして バケットを作成する
5 写真をバケットにアップロードしますが、まず、写真にフォルダ構造があり、フォルダ名が正しいことを確認します。これらのフォルダ名は、Amazon Rekognition が返すタグを作成するために使用されます。 
私の写真を見てみると、すべてのサブフォルダが親フォルダ内にあります。そして、各サブフォルダは犬の品種にちなんで名付けられています。モデルがトレーニングされると、Amazon Rekognition はこれらのフォルダ名をラベルとして、1 から 100 までの確実性スコアとともに返します。
https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/im-metrics-use.html

Amazon Rekognition モデルの作成

次に、Amazon Rekognitionモデルを作成してトレーニングする必要があります。これは非常に簡単なステップです。
  1. 以前にリージョンで Amazon Rekognition を使用したことがない場合は、S3 バケットを作成するように求められます。これは、先ほど作成したバケットとは別のもので、プロジェクトに必要な情報のみを保存します。
    • 詳しくはこちら S3バケットを作成する 続行します。
  2. 次に、プロジェクトを作成する必要があります。これにはカスタムラベルを使用します。カスタムラベルページで、「開始」をクリックします。
  3. 選択する プロジェクトを作成します。.
    • プロジェクト名にプロジェクトの名前を入力します。ここでは こんにちはAWS。 選択してください プロジェクトを作成する ここで仕上げを作成します。
  4. 新しく作成したプロジェクト用のデータセットを作成する必要があります。ここでは、作成して写真をアップロードした s3 バケットを指定する必要があります。
    • 選択する データセットを作成する.
    • 選択する 単一のデータセットから始める
    • Amazon S3 バケットからイメージをインポートを選択します。
    • S3 URIにAmazon S3バケットの場所とフォルダのパスを入力します。親フォルダのパスが必要です。
    • 次に、フォルダーに基づいて画像にラベルを自動的に添付することを選択できます。
    • 選択する データセットを作成するプロジェクトのデータセット ページが開きます。

S3 バケットのポリシーを変更する

下にスクロールして、提供されているポリシーをコピーします。新しいタブで S3 コンソールを開き、イメージを含むバケットを選択します。
ソフトウェア設定ページで、下図のように 権限 タブを下にスクロール バケット ポリシーとクリック 編集 ポリシーを貼り付けます。
バケット制限を貼り付けた後は、先頭の空白を必ず削除してください。
プリンシパルを amazonaws.com より 各インスタンスで作成されたロールの ARN へのサービス:
"Principal": {
  "Service" : "rekognition.amazonaws.com"
}
 
"Principal": {
  "AWS" : "arn:aws:iam::"
}
すべての出現箇所を置き換えることが非常に重要です。置き換える必要があるインスタンスは 4 つあります。
詳しくはこちら 変更を保存します ポリシーの更新を保存します。
Amazon Rekognitionの設定に戻り、 データセットを作成 Amazon Rekognition コンソールで。画像の数によっては、データセットの作成に数分かかる場合があります。
最後に、データセットを作成したら、それを開いてモデルをトレーニングする必要があります。データセットのサイズによっては、これには少し時間がかかる場合があります。
最後にやるべきことは モデルを開始するつまり、実際にモデルをオンにして、使用できるようにするということです。
https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/rm-start.html

あなたの設定 Mendix アプリ

Studio Pro からマーケットプレイス パネルを開いて、「Rekognition」を検索できます。
Amazon Rekognition のページには、画像アップローダー ウィジェットを使用して写真をアップロードできるシンプルなインターフェイス設定があります。また、カスタム マイクロフローを介して Amazon Rekognition を呼び出すマイクロフロー ボタンもあります。
ツールボックスから Amazon Rekognition アクションのカスタム ラベルの検出をドラッグし、残りのパラメータを設定することで、ツールボックスから直接カスタム ラベルの検出を使用できます。ラベルをページに表示できるように、データを保存して Amazon Rekognition 画像にリンクする簡単なループがあります。
以下のスクリーンショットで行ったように、必要なすべてのパラメータを指定してアクションを設定することを忘れないでください。

Amazon Rekognition定数の設定

Amazon Rekognition Connector の設定を完了するには、モジュールにいくつかの定数を設定する必要があります。これは、AWS プロジェクトから ARNS をコピーして行います。ファイル定数とセッション認証情報を確認すると、Amazon Rekognition コネクタに入力する必要があるすべての定数が見つかります。
これらの定数はセッション資格情報の取得アクション用ですが、必要に応じて静的資格情報の取得アクションも使用できるフォルダーもあります。その場合は、static の下の定数が構成されていることを確認する必要があります。静的資格情報を使用することもできますが、推奨される認証方法はセッションベースの資格情報です。
ここからこれらすべての設定が完了したら、コネクタは基本的にアプリ内の使用したい場所にドラッグ アンド ドロップするだけです。
マイクロフロー「POST_v1_DetectCustomLabels」内で、小さな変更を XNUMX つ加える必要がありました。リクエストに「X-amz-security-token」というヘッダーを追加しました。これにより、資格情報エンティティに接続されたセッション トークンが値として取得されます。

Amazon Rekognitionを呼び出す

すべて完了しました。ここまでの手順を踏んだら、アプリを実行してテストすることができます。
私がテストしている様子を見たい場合は、ビデオを見て、# ビデオタイムスタンプ # にスキップしてください。
私のアプリのアイデアがちょっとばかげていることは承知していますが、私が本当にお見せしたかったのは、Amazon Rekognition をトレーニングして、非常に小さなデータセットを使用して、ほとんど何でも検出できるということです。写真に写っているパグを識別できるようにトレーニングできるのであれば、検査アプリや画像処理アプリケーションを作成するのがいかに簡単か想像してみてください。
行き詰まったら、AWSワークショップに参加してコースを受講してください。 AWSでのローコードアプリケーション開発 Mendix. 先ほど行ったことはすべて、より詳細に説明されています。また、コネクタとその使用方法についての詳細な説明については、ドキュメント ページをご覧ください。

言語を選択してください