Face Recognition
Simple library to recognize faces from given images
Face Recognition pipeline
Below the pipeline for face recognition:
- Face Detection: the MTCNN algorithm is used to do face detection
- Face Alignement Align face by eyes line
- Face Encoding Extract encoding from face using FaceNet
- Face Classification Classify face via eculidean distrances between face encodings
How to install
pip install git+https://github.com/paoloripamonti/face-recognition
How to train custom model
Initialize model
from face_recognition import FaceRecognition
fr = FaceRecognition()
Train model with pandas DataFrame:
fr = FaceRecognition()
fr.fit_from_dataframe(df)
where 'df' is pandas DataFrame with column person (person name) and column path (image path)
Train model with folder:
fr = FaceRecognition()
fr.fit('/path/root/')
the root folder must have the following structure:
root\
Person_1\
image.jpg
...
image.jpg
Person_2\
image.jpg
...
image.jpg
...
Save and load model
you can save and load model as pickle file.
fr.save('model.pkl')
fr = FaceRecognition()
fr.load('model.pkl')
Predict image
fr.predict('/path/image.jpg')
Recognize faces from given image. The output is a JSON with folling structure:
{
"frame": "image data", # base64 image with bounding boxes
"elapsed_time": time, # elapsed time in seconds
"predictions": [
{
"person": "Person", # person name
"confidence": float, # prediction confidence
"box": (x1, y1, x2, y2) # face bounding box
}
]
}
Example
For more details you can see: https://www.kaggle.com/paoloripamonti/face-recogniton
Metadata
Release files for facenet-face-recognition 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| facenet-face-recognition-0.1.tar.gz | 5.5 kB | Details |
Release files / facenet-face-recognition-0.1.tar.gz
| Download URL | facenet-face-recognition-0.1.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf741943552be03b87acb8c15cc14d3ade4ca491a93de56981100a98d9e59398
|
|
BLAKE2b-256 checksum How to use checksums |
eb6066bbdea11f97e9d39c2df91d57c6b7ae4f748ccb95206d60a32722f0d550
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.0
|