Building a Serverless Image Recognition Website with Machine Learning
The Code Examples team tells the story of how they created a serverless application that detects labels for images and lets the user download those images by label.
- Corey Pyle
- David Souther
- Ford Prior
- Scott Macdonald
Dan is a casual photographer (shooting in jpeg) who focuses on nature photography. He also takes some ad-hoc photos of his friends and family. He wants a website where he can upload all of his photos, store them indefinitely, and download bundles of images that match nature-related tags (such as “forest”, “lake”, and “mountain”). Dan is the end user of this application.
- Dan needs to upload a large number of 1024x768 .jpeg photos.
- Dan needs to see tags that were detected by the analyzer and a count of how many images meet that criteria.
- Dan needs to download a bundle of files by tag (“nature”, “lake”, “mountain”). We then approached designing the rest of the project from the inside out, starting with detecting tags by the analyzer.
1
2
3
4
5
6
7
8
9
10
(Upload images) (Import Bucket)
Tags
[ ] Mountain (32)
[ ] Lake (27)
[ ] Clouds (18)
[Phone Number|Email] (Download)
Select tags → Click (Download) → Start User Story 3
Upload Images → <input type=“file” multiple /> to select images & Upload over form
Import Bucket → [Bucket Name] (Copy) → Import jpegs from that button (User story 1)
- Hosting the images publicly
- Hosting the images privately
- Allowing users to provide their own source of images
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.