FaceDoorLock System implemented with AWS IoT Things, Amazon S3, and DynamoDB. Face detection was performed by using Multi-task Cascaded Convolutional Networks (MTCNN) and face recognition by using FaceNet and Support Vector Machine (SVM).
- Get people photos from Amazon S3 [done!]
- Get Embedding face (using MTCNN and FaceNet) and save to DynamoDB [done!]
- Detect face in realtime using MTCNN [done!]
- Recognize face in realtime using FaceNet according to embedding face in DynamoDB [done!]
- Publish the name of detected face to the topic using AWS IoT Things and MQTT [done!]
- Create Log and save to DynamoDB (on subscriber) [done!]
- python 3.6
- awscli 1.16
- boto3 1.9
- keras 2.2
- mtcnn 0.0.9
- numpy 1.17
- scikit-learn 0.20
- AWSIoTPythonSDK 1.4
You can find pre-trained weights of 30 hours training with GPU and work on keras here.
You can extract embedding from face images with embedding.py by the following script:
python embedding.py --email=dinda@isi.co.id
where email is the name of AWS S3 folder also index key of saved data in DynamoDB.
Realtime face detection and recognition with realtime.py:
python realtime.py