We were working on a serverless web application built with AWS Amplify, that required to blur workers and License Plates - for data protection regulations - from Images that some cameras produced. Images were produced every 5min from around 200 cameras. Between the options we had to build this solution, we found many third party solutions available for AI based face detection, but isn't there an easier and most importantly CHEAPER solution? Without SageMaker or any servers.. ? YES
Amazon Rekognition makes it easy to add image to your applications using proven, highly scalable, deep learning technology that requires no machine learning expertise to use.
Amazon Rekognition Custom Labels allow you to identify objects and scenes in images that are specific to your business needs. For our usecases the labels were : Persons and License Plates. The issue with Rekognition Custom Labels is its price : 4,44$ per hour for ireland region. That explains why we didn't use it for live blurring, but we used instead normal Rekognition, and once a day ( around 1h per day, depending of number of images ) we use Custom Labels with batch processing to improve our blurring.
After several testing for the pictures our cameras were producing, we faced a challenge that the persons ( actually workers in construction sites ) were not always recognized by Amazon rekognition because of their pose, equipment, etc... We had to train a new model with Amazon rekognition Custom Labels for workers but also License Plates ( since Rekognition don't offer License Plates in its default labels ):
In our solution's architecture we had the following components:
Depending on your usecase, Amazon Rekognition is often enough for your objects/scenes detections, but if you have a very specific Label you want to detect: You can use Rekognition Custom Labels by training the model for your exact Label, but watchout for the pricing : Use our solution! Blur pictures live with Amazon Rekognition and once a day, improve your blurring. I want to finish this post by saying that I was pleasantly surprised that without any previous Machine Learning knowledge I was able to implement such a solution. 🚀