モジュール 1: 準備ガイド
学習モジュール
概要
Amazon Rekognition と .NET ワークロードのバッジは、Amazon Rekognition サービスと .NET ワークロードに習熟していることを示します。この準備ガイドでは、評価に合格するために知っておくべきことをトピックごとに説明しており、復習用のリソースも用意されています。また、独自のアプリケーションまたは AWS チュートリアルのいずれかで、サービスを実際に使用する経験も必要です。
準備が整ったら、モジュール 2 に進んで評価試験を受けましょう。
目的
Amazon Rekognition は、画像と動画から情報と洞察を抽出するために、事前にトレーニングされたカスタマイズ可能なコンピュータビジョン (CV) 機能を提供します。Amazon Rekognition では、画像分析と動画分析をアプリケーションに簡単に追加できます。画像や動画を Amazon Rekognition API に提供するだけで、物、人、テキスト、シーン、アクティビティが自動的に識別されます。また、不適切なコンテンツも検出できます。Amazon Rekognition には、非常に正確な顔分析、顔比較、顔検索機能も用意されています。顔の検出、分析、比較は、ユーザー検証、カタログ作成、人数計数、公共安全など、多岐にわたって活用できます。
メリット
Rekognition を使用すると、機械学習を使用して画像認識と動画分析を自動化し、コストを削減できます。
料金
Amazon Rekognition の料金モデルと無料利用枠について理解しておきましょう。Amazon Rekognition では、4 種類の使用法があり、それぞれ独自の料金の詳細が定められています。
ユースケース
Rekognition のユースケースには以下が含まれます。ユースケースの詳細なリストは、Amazon Rekognition デベロッパーガイドに記載されています。
- 不適切なコンテンツを検出: Amazon Rekognition コンテンツモデレーション
- メディア分析を効率化: メディア分析向けの Amazon Rekognition Video
- コネクテッドホームのスマートアラートを送信: コネクテッドホーム向けの Amazon Rekognition ストリーミングビデオイベント
Amazon Rekognition 製品詳細ページ - ユースケース
機能
次の機能を理解しておきましょう。
1.ラベル検出: Rekognition は画像や動画中のラベルを検出できます。ラベルとは、オブジェクト (花、木、テーブルなど)、イベント (結婚式、卒業式、誕生日会など)、コンセプト (風景、夜、自然など)、アクティビティ (降車など) のいずれかを指します。
2.カスタムラベル は、機械学習モデルをトレーニングすることで、ビジネスニーズに固有の画像内のオブジェクトやシーンを識別できます。例えば、組立ラインでロゴを検出したり、エンジニアリングマシンの部品を検出したりするようにモデルをトレーニングできます。
Amazon Rekognition Custom Labels デベロッパーガイド- Custom Labels ガイド
3.顔認識 は、顔ベースの本人確認を行うユーザーがカメラの前に物理的に存在し、ユーザーの顔になりすましている悪者ではないことを確認するのに役立ちます。カメラの前でのなりすまし攻撃やカメラをバイパスする攻撃を検出します。
4.顔の検出と分析により、画像や保存されている動画内の顔を検出できます。画像や動画内のどこで顔が検出されたか、目の位置などの顔の特徴的な部分、喜びや悲しみなどの検出した感情に関する情報を取得できます。性別や年齢などの人口統計情報も取得できます。画像内の顔を別の画像で検出した顔と比較できます。
5 つの顔検索で顔を検索します。顔情報は、コレクションと呼ばれるコンテナにインデックス化されます。コレクション内の顔情報を、画像、保存されている動画、ストリーミング動画内で検出した顔と照合できます。
6.人物の動線の検出、保存された動画内で検出された人物の動線を追跡します。Amazon Rekognition Video は、動画内で検出された人物の動線追跡、顔の詳細、フレーム内の位置情報を提供します。
7.個人用保護具: Rekognition は、画像に写っている人物が着用している PPE を検出できます。フェイスカバー、ハンドカバー、ヘッドカバーを検出し、PPE が適切な身体部位を覆っているかどうかを予測します。
8.有名人の認識: Rekognition では、画像や保存されている動画に含まれる何千もの有名人を認識できます。有名人の顔が画像上のどこにあるか、顔の特徴的な部分、有名人の顔のポーズに関する情報を取得できます。保存されている動画にわたって登場する有名人の追跡情報を取得できます。さらに、表現された感情や性別の表現など、認識した有名人に関する詳細情報を入手することもできます。
9.テキスト検出では、画像内のテキストを検出し、機械で読み取り可能なテキストに変換できます。例えば、車両のナンバープレート番号は交通カメラの画像から検出できます。
10.コンテンツモデレーションにより、不適切または不快なコンテンツを検出できます。Rekognition では、画像や保存されている動画を分析して、成人向けコンテンツや暴力的なコンテンツがないか調べることができます。コンテンツがアプリケーションに適しているかどうかを判断します。例えば、暗示的な性質の画像は許容されますが、ヌードを含む画像は許容されない可能性があります。
AWS SDK for .NET
AWS SDK for .NET を使用して、.NET コードから Rekognition とやり取りします。上記の「機能」に記載されている機能をサポートするために使われる主な SDK クラスとメソッドを知っておきましょう。
- SDK を使用するには、AWSSDK.Rekognition NuGet パッケージを C# プロジェクトに追加します。
- Rekognition を操作するには、AmazonRekognitionClient のインスタンスをインスタンス化し、そのメソッドを呼び出します。
- ほとんどの SDK メソッドは、C# await キーワードを使用して非同期で呼び出されます。
- メソッドに渡すリクエストオブジェクトを作成し、返されたレスポンスオブジェクトを処理します。リクエストオブジェクトとレスポンスオブジェクトは、サポートするメソッドと同じルート名を持ちます。例えば、DetectLabelsAsync メソッドのリクエストオブジェクトとレスポンスオブジェクトには、DetectLabelsRequest と DetectLabelsResponse という名前が付いています。
var rekognitionClient = new AmazonRekognitionClient(RegionEndpoint.USWest2);
DetectLabelsRequest detectlabelsRequest = new DetectLabelsRequest()
{
Image = image,
MaxLabels = 10,
MinConfidence = 75F
};
var detectLabelsResponse = await _rekognitionClient.DetectLabelsAsync(detectlabelsRequest);
Console.WriteLine($"Detected labels for {filename}");
foreach (var label in detectLabelsResponse.Labels) {
Console.WriteLine($"{label.Name}, {label.Confidence}");
}
信頼スコア
Rekognition メソッドの中には、レスポンスに信頼スコアを含むものがあります。信頼スコアは 0 から 100 までの数字で、特定の予測がどの程度正確であるかを示します。例えば、画像の物体とシーンの検出プロセスが、「水」のラベルに信頼スコア 99、「ヤシの木」のラベルに 35 を返した場合、画像には水は含まれるもののヤシの木は含まれない可能性が高いということになります。検出エラー (誤検出) の影響が大きいアプリケーションでは、信頼スコアが特定のしきい値を下回る結果を破棄する必要があります。最適なしきい値は、アプリケーションによって異なります。
機械学習モデルをデプロイする
Rekognition のほとんどの機能は事前トレーニング済みのモデルを使用しており、深層学習の経験は必要ありません。ただし、カスタムラベル機能を使用するには、カスタムモデルをトレーニングする必要があります。Rekognition は、さまざまなカテゴリの何千万もの画像で既にトレーニングされている既存の機能を活用して、手間のかかる作業をお客様に代わって処理します。ユースケースに合わせた少量のトレーニング画像セット (通常は数百枚以下) をアップロードしてラベルを付けるだけです。AWS コンソールでトレーニングすることも、SDK を使ってプログラムでトレーニングすることもできます。
実践的な体験をする
Rekognition を使用して画像や動画を分析した経験が必要です。使用するアプリケーションがない場合は、以下のチュートリアルとデモを使用できます。
AWS の使用経験
初心者 - 中級
.NET の使用経験
中級
所要時間
以前の経験にもよりますが、最長 3 時間
完了までのコスト
オプションのワークショップは 10 USD
使用するサービス
AWS App Runner、Amazon Elastic Container Registry (ECR)、Amazon Elastic Container Service (ECS)、Amazon Elastic Kubernetes Service (EKS)
最終更新日
2022 年 5 月 5 日
モジュール
このチュートリアルは次の短いモジュールに分かれています。これまでの経験や準備状況に基づいて、モジュールをすべて確認することも、ざっと読んで復習することもできます。
- 準備ガイド (3 時間)。
- スキル評価 (16 問、時間制限なし): AWS App2Container ツールの .NET ワークロードスキルについて評価します。