Celebrity identifier

Identify known celebrities from an image file and write corresponding file and celebrity identification values to DynamoDB without custom code.

This express workflow executes when an image file is uploaded to the created S3 bucket, regardless of prefix path. Once the file is copied, the S3 EventBridge event notifications feature will send an event to the default bus.
An EventBridge rule filters for object created events specific to the S3 bucket and then triggers the workflow.
1. The initial payload containing the S3 object location information is sent to the Amazon Rekognition service for analysis.
2. Rekognition will scan the image file and output 2 arrays containing information for celebrity and non-celebrity faces detected.
3. The workflow will then check, via a 'choice state', to see if any celebrities were detected. If not, then the workflow ends in a success and is complete.
4. If there are celebrity faces detected, the array of celebrity faces is sent to a 'Map state' where each array object will be processed.
5. Each object in the array contains information specific to a celebrity face, including the match confidence level. As the 'Map state' iterates through the array, each object will be checked against a confidence score greater than 90% through a choice state. If less, then that object of the array is no longer processed.

< Back to all workflows

GitHub icon View this workflow on GitHub


Clone repo

git clone https://github.com/aws-samples/step-functions-workflows-collection/tree/main/celebrity-identifier-sam/cd step-functions-workflows-collection/celebrity-identifier-sam

Deploy

sam deploy --guided


Testing

See the GitHub repo for detailed testing instructions.

Cleanup

1. Empty the files from the created S3 bucket.
2. Delete the stack: sam delete.

Additional Resources

Created by:

Jesse Baker

Jesse Baker

Jesse is a Solutions Architect for Amazon Web Services with a passion for modern application design using serverless services. Prior to working for AWS, Jesse was a Cloud Operations engineer for a global life sciences company.

Follow on LinkedIn