Recognize faces from Python or from the command line
Project description
Face Recognition
Features
Find faces in pictures
Find all the faces that appear in a picture:
import face_recognition
image = face_recognition.load_image_file("your_file.jpg")
face_locations = face_recognition.face_locations(image)
Find and manipulate facial features in pictures
Get the locations and outlines of each person’s eyes, nose, mouth and chin.
import face_recognition
image = face_recognition.load_image_file("your_file.jpg")
face_landmarks_list = face_recognition.face_landmarks(image)
Identify faces in pictures
Recognize who appears in each photo.
import face_recognition
known_image = face_recognition.load_image_file("biden.jpg")
unknown_image = face_recognition.load_image_file("unknown.jpg")
biden_encoding = face_recognition.face_encodings(known_image)[0]
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]
results = face_recognition.compare_faces([biden_encoding], unknown_encoding)
Installation
Step 1: Install the required machine learning models using pip3 (or pip2 for Python 2):
pip3 install git+https://github.com/ageitgey/face_recognition_models
Step 2: Install this module from pypi using pip3 (or pip2 for Python 2):
pip3 install face_recognition
How to install dlib from source
Usage
Command-Line Interface
Next, you need a second folder with the files you want to identify:
$ face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/
/unknown_pictures/unknown.jpg,Barack Obama
/face_recognition_test/unknown_pictures/unknown.jpg,unknown_person
$ face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/ | cut -d ',' -f2
Barack Obama
unknown_person
Python Module
API Docs: https://face-recognition.readthedocs.io.
Automatically find all the faces in an image
import face_recognition
image = face_recognition.load_image_file("my_picture.jpg")
face_locations = face_recognition.face_locations(image)
# face_locations is now an array listing the co-ordinates of each face!
Automatically locate the facial features of a person in an image
import face_recognition
image = face_recognition.load_image_file("my_picture.jpg")
face_landmarks_list = face_recognition.face_landmarks(image)
# face_landmarks_list is now an array with the locations of each facial feature in each face.
# face_landmarks_list[0]['left_eye'] would be the location and outline of the first person's left eye.
Recognize faces in images and identify who they are
import face_recognition
picture_of_me = face_recognition.load_image_file("me.jpg")
my_face_encoding = face_recognition.face_encodings(picture_of_me)[0]
# my_face_encoding now contains a universal 'encoding' of my facial features that can be compared to any other picture of a face!
unknown_picture = face_recognition.load_image_file("unknown.jpg")
unknown_face_encoding = face_recognition.face_encodings(unknown_picture)[0]
# Now we can see the two face encodings are of the same person with `compare_faces`!
results = face_recognition.compare_faces([my_face_encoding], unknown_face_encoding)
if results[0] == True:
print("It's a picture of me!")
else:
print("It's not a picture of me!")
Python Code Examples
All the examples are available here.
How Face Recognition Works
Caveats
The face recognition model is trained on adults and does not work very well on children. It tends to mix up children quite easy using the default comparison threshold of 0.6.
Thanks
Many, many thanks to Davis King (@nulhom) for creating dlib and for providing the trained facial feature detection and face encoding models used in this library. For more information on the ResNet that powers the face encodings, check out his blog post.
Thanks to everyone who works on all the awesome Python data science libraries like numpy, scipy, scikit-image, pillow, etc, etc that makes this kind of stuff so easy and fun in Python.
Thanks to Cookiecutter and the audreyr/cookiecutter-pypackage project template for making Python project packaging way more tolerable.
History
0.1.7 (2017-03-13)
First working release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file face_recognition-0.1.8.tar.gz
.
File metadata
- Download URL: face_recognition-0.1.8.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b81aec1f86449bf59e01c220707d6a6212056a7f8b6018038bf86c5439f2f233 |
|
MD5 | c27cd642f7bfa9a1b266e73a679411f3 |
|
BLAKE2b-256 | 10a800d65cc7e76865543cbe7f8bcfed34e49fe9d4a502e443800324696a7cb0 |
File details
Details for the file face_recognition-0.1.8-py2.py3-none-any.whl
.
File metadata
- Download URL: face_recognition-0.1.8-py2.py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c0a6de175e27a1be882e29348deae1ba4986c4889809380c6f60110b12a0692 |
|
MD5 | 67206d3a4cf10d3ad6f6b51f6c4e616b |
|
BLAKE2b-256 | 93a6109a682fcb59fe1529fb87fc9913ff15f8b9917857d1b020834e0f655bc0 |