Module 1: Preparation Guide
LEARNING MODULE
Overview
The Amazon Rekognition and .NET Workloads badge demonstrates proficiency with the Amazon Rekognition service and .NET workloads. This preparation guide explains what you need to know to pass the assessment, topic by topic, with resources you can review. You should also have hands-on experience using the service, either with your own applications or an AWS tutorial.
Once you have prepared, advance to Module 2 to take the assessment exam.
Purpose
Amazon Rekognition offers pre-trained and customizable computer vision (CV) capabilities to extract information and insights from your images and videos. Amazon Rekognition makes it easy to add image and video analysis to your applications. You just provide an image or video to the Amazon Rekognition API, and the service can identify objects, people, text, scenes, and activities. It can detect any inappropriate content as well. Amazon Rekognition also provides highly accurate facial analysis, face comparison, and face search capabilities. You can detect, analyze, and compare faces for a wide variety of use cases, including user verification, cataloging, people counting, and public safety.
Amazon Rekognition Product Detail Page
Amazon Rekognition Developer Guide - What is Amazon Rekognition?
Benefits
With Rekognition, you can automate and lower the cost of your image recognition and video analysis with machine learning.
Pricing
You should be familiar with the Amazon Rekognition pricing model and free tier. With Amazon Rekognition there are 4 different types of usage, each with their own pricing details.
Use Cases
Use cases for Rekognition include the following. You can find a more detailed list of use cases in the Amazon Rekognition Developer Guide.
- Detect inappropriate content : Amazon Rekognition Content Moderation
- Verify identity online : Identity Verification using Amazon Rekognition
- Streamline media analysis : Amazon Rekognition Video for Media Analysis
- Send connected home smart alerts : Amazon Rekognition Streaming Video Events for Connected Home
Amazon Rekognition Product Detail Page - Use cases
Features
You should understand these features:
1. Label detection: Rekognition can detect labels in images and videos. A label refers to any of the following: objects (for example, flower, tree, or table), events (for example, a wedding, graduation, or birthday party), concepts (for example, a landscape, evening, and nature) or activities (for example, getting out of a car).
Developer Guide - Detecting labels
2. Custom labels can identify the objects and scenes in images that are specific to your business needs by training a machine learning model. For example, you can train a model to detect logos or detect engineering machine parts on an assembly line.
Amazon Rekognition Custom Labels Developer Guide - Custom Labels guide
3. Face liveness detection can help you verify that a user going through face-based identity verification is physically present in front of the camera and isn’t a bad actor spoofing the user's face. It detects spoof attacks that are presented to a camera and attacks that bypass a camera.
Developer Guide - Detecting face liveness
4. Facial detection and analysis can detect faces in images and stored videos. You can get information about where faces are detected in an image or video, facial landmarks such as the position of eyes, and detected emotions such as happy or sad. You can also get demographic information such as gender or age. You can compare a face in an image with faces detected in another image.
Developer Guide - Detecting and analyzing faces
5 Face search searches for faces. Facial information is indexed into a container known as a collection. Face information in the collection can then be matched with faces detected in images, stored videos, and streaming video.
Developer Guide - Searching faces in a collection
6. People paths tracks the paths of people detected in a stored video. Amazon Rekognition Video provides path tracking, face details, and in-frame location information for people detected in a video.
Developer Guide - People pathing
7. Personal protective equipment: Rekognition can detect PPE worn by persons detected in an image. It detects face covers, hand covers, and head covers, and predicts if an item of PPE covers the appropriate body part.
Developer Guide - Detecting personal protective equipment
8. Celebrity recognition: Rekognition can recognize thousands of celebrities in images and stored videos. You can get information about where a celebrity's face is located on an image, facial landmarks, and the pose of a celebrity's face. You can get tracking information for celebrities as they appear throughout a stored video. You can also get further information about a recognized celebrity, like the emotion expressed, and presentation of gender.
Developer Guide - Recognizing celebrities
9. Text Detection can detect text in images and convert it into machine-readable text. For example, vehicle license plate numbers can be detected from traffic camera images.
Developer Guide - Detecting text
10. Content moderation can detect inappropriate or offensive content. Rekognition can analyze images and stored videos for adult and violent content. You determine the suitability of content for your application. For example, images of a suggestive nature might be acceptable, but images containing nudity might not.
AWS SDK for .NET
Use the AWS SDK for .NET to interact with Rekognition from .NET code. You should know the primary SDK classes and methods used to support the capabilities listed above under Features.
- To use the SDK, add the AWSSDK.Rekognition NuGet package to your C# project.
- To work with Rekognition, instantiate an instance of AmazonRekognitionClient and call its methods.
- Most of the SDK methods are called asynchronously with the C# await keyword
- Create request objects to pass to methods and process the response objects returned. Request and response object have the same root name as the method they support. For example, the request and response objects for the DetectLabelsAsync method are named DetectLabelsRequest and 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}");
}
Confidence Scores
Some Rekognition methods include confidence scores in the response. A confidence score is a number between 0 and 100 that indicates the probability that a given prediction is correct. For example, if the object and scene detection process for an image returns a confidence score of 99 for the label ‘Water’ and 35 for the label ‘Palm Tree’, then it is more likely that the image contains water but not a palm tree. Applications that are very sensitive to detection errors (false positives) should discard results associated with confidence scores below a certain threshold. The optimum threshold depends on the application.
Training Machine Learning Models
Most of Rekognition’s features use pre-trained models and don’t require you to have deep learning experience. However, the Custom Labels feature does require you to train a custom model. Rekognition takes care of the heavy lifting for you, building off of its existing capabilities, which are already trained on tens of millions of images across many categories. You simply need to upload a small set of training images (typically a few hundred images or less) that are specific to your use case and label them. You can train in the AWS console or programmatically using the SDK.
Hands-on Experience
You should have experience using Rekognition to analyze images and/or videos. You can use the tutorials and demos below if you don’t have an application to work with.
AWS Experience
Beginner or Intermediate
.NET Experience
Intermediate
Time to Complete
Up to 3 hours depending on prior experience
Cost to Complete
$10 USD for optional workshop
Services Used
AWS App Runner, Amazon Elastic Container Registry (ECR), Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS)
Last updated
May 5, 2022
Modules
This tutorial is divided into the following modules. You may go through the modules fully, or skim and review, based on your experience and readiness.
- Preparation Guide (3 hours).
- Skills Assessment (16 questions, not timed): Assess your AWS App2Container tool for .NET workloads skills.