This project provides a docker image which offers a web service to recognize known faces on images. It's based on the great ageitgey/face_recognition project and just add a web service using the Python face_recognition-library.
Start by building the docker image with a defined name. This can take a while.
docker build -t facerec_service .Start the image and forward port 8080. Optionally bind a local directory to /root/faces to provide a location for predefined images which will be registered at start time.
docker run -d -p8080:8080 -vfaces:/root/faces facerec_serviceSimple POST an image-file to the /faces endpoint and provide an identifier.
curl -X POST -F "file=@person1.jpg" http://localhost:8080/faces?id=person1
Simple GET the /register endpoint.
curl http://localhost:8080/faces
Simple POST an image-file to the web service.
curl -X POST -F "file=@person1.jpg" http://localhost:8080/
In the examples-directory there is currently only one example that shows how to use the Raspberry Pi-Camera module to capture an image and POST it to the Face Recognition - Docker image to check for known faces.
I'm not a Python expert, so I'm pretty sure you can optimize the Python code further :) Please feel free to send PR's or open issues.
