Enable thumbor to use AWS rekognition to run face detection
thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images. It also features a smart detection of important points in the image for better cropping and resizing, using opencv face detection algorithms.
AWS Rekognition can quickly detect faces in image using sophisticated deep learning-based visual search and image classification.
thumbor_rekognition helps to use AWS Rekognition service to do face detection in thumbor easily.
pip install thumbor_rekognition
Add thumbor_rekognition
to your thumbor.conf
. Do not include thumbor's out-of-box face detector.
DETECTORS = [
# Do not use out-of-box face detector
# 'thumbor.detectors.face_detector',
# Include thumbor_rekognition
'thumbor_rekognition',
'thumbor.detectors.feature_detector',
]
The above configuration tells thumbor that it should run both the facial detection and the feature detection. These are mutually exclusive, meaning that if a face is detected, the feature detector won’t be run.
Authentication is handled by botocore, see Boto3 documentation.
To set the region to use Rekognition service, add REKOGNITION_REGION
to your thumbor.conf
. Default is us-east-1
.
# AWS region for the Rekognition service
REKOGNITION_REGION = 'us-west-2'
After installing thumbor_rekognition, you can test it by using the following URL.
http://<thumbor>:<port>/unsafe/300x300/smart/my.domain.com/picture.png
If you need to see what thumbor is seeing in your image, prepend /debug
to all the parameters.
http://<thumbor>:<port>/unsafe/debug/300x300/smart/my.domain.com/picture.png