mirror of
https://github.com/serengil/deepface.git
synced 2025-06-10 05:17:08 +00:00
detectors moved below
This commit is contained in:
parent
b1245e7055
commit
0226ef49d9
44
README.md
44
README.md
@ -115,28 +115,6 @@ user
|
||||
│ │ ├── Bob.jpg
|
||||
```
|
||||
|
||||
**Face Detectors** - [`Demo`](https://youtu.be/GZ2p2hj2H5k)
|
||||
|
||||
Face detection and alignment are early stages of a modern face recognition pipeline. [OpenCV haar cascade](https://sefiks.com/2020/02/23/face-alignment-for-face-recognition-in-python-within-opencv/), [SSD](https://sefiks.com/2020/08/25/deep-face-detection-with-opencv-in-python/), [Dlib](https://sefiks.com/2020/07/11/face-recognition-with-dlib-in-python/) and [MTCNN](https://sefiks.com/2020/09/09/deep-face-detection-with-mtcnn-in-python/) methods are wrapped in deepface as a detector. You can optionally pass a custom detector to functions in deepface interface. MTCNN is the default detector if you won't pass any detector.
|
||||
|
||||
```python
|
||||
backends = ['opencv', 'ssd', 'dlib', 'mtcnn']
|
||||
for backend in backends:
|
||||
#face detection and alignment
|
||||
detected_face = DeepFace.detectFace("img.jpg", detector_backend = backend)
|
||||
|
||||
#face verification
|
||||
obj = DeepFace.verify("img1.jpg", "img2.jpg", detector_backend = backend)
|
||||
|
||||
#face recognition
|
||||
df = DeepFace.find(img_path = "img.jpg", db_path = "my_db", detector_backend = backend)
|
||||
|
||||
#facial analysis
|
||||
demography = DeepFace.analyze("img4.jpg", detector_backend = backend)
|
||||
```
|
||||
|
||||
[MTCNN](https://sefiks.com/2020/09/09/deep-face-detection-with-mtcnn-in-python/) seems to overperform in detection and alignment stages but it is slower than [SSD](https://sefiks.com/2020/08/25/deep-face-detection-with-opencv-in-python/).
|
||||
|
||||
**Ensemble learning for face recognition** - [`Demo`](https://youtu.be/EIBJJJ0ECXU)
|
||||
|
||||
A face recognition task can be handled by several models and similarity metrics. Herein, deepface offers a [special boosting and combination solution](https://sefiks.com/2020/06/03/mastering-face-recognition-with-ensemble-learning/) to improve the accuracy of a face recognition task. This provides a huge improvement on accuracy metrics. Human beings could have 97.53% score for face recognition tasks whereas this ensemble method passes the human level accuracy and gets 98.57% accuracy. On the other hand, this runs much slower than single models.
|
||||
@ -160,6 +138,28 @@ python api.py
|
||||
|
||||
The both face recognition and facial attribute analysis are covered in the API. You are expected to call these functions as http post methods. Service endpoints will be `http://127.0.0.1:5000/verify` for face recognition and `http://127.0.0.1:5000/analyze` for facial attribute analysis. You should pass input images as base64 encoded string in this case. [Here](https://github.com/serengil/deepface/tree/master/api), you can find a postman project.
|
||||
|
||||
**Face Detectors** - [`Demo`](https://youtu.be/GZ2p2hj2H5k)
|
||||
|
||||
Face detection and alignment are early stages of a modern face recognition pipeline. [OpenCV haar cascade](https://sefiks.com/2020/02/23/face-alignment-for-face-recognition-in-python-within-opencv/), [SSD](https://sefiks.com/2020/08/25/deep-face-detection-with-opencv-in-python/), [Dlib](https://sefiks.com/2020/07/11/face-recognition-with-dlib-in-python/) and [MTCNN](https://sefiks.com/2020/09/09/deep-face-detection-with-mtcnn-in-python/) methods are wrapped in deepface as a detector. You can optionally pass a custom detector to functions in deepface interface. MTCNN is the default detector if you won't pass any detector.
|
||||
|
||||
```python
|
||||
backends = ['opencv', 'ssd', 'dlib', 'mtcnn']
|
||||
for backend in backends:
|
||||
#face detection and alignment
|
||||
detected_face = DeepFace.detectFace("img.jpg", detector_backend = backend)
|
||||
|
||||
#face verification
|
||||
obj = DeepFace.verify("img1.jpg", "img2.jpg", detector_backend = backend)
|
||||
|
||||
#face recognition
|
||||
df = DeepFace.find(img_path = "img.jpg", db_path = "my_db", detector_backend = backend)
|
||||
|
||||
#facial analysis
|
||||
demography = DeepFace.analyze("img4.jpg", detector_backend = backend)
|
||||
```
|
||||
|
||||
[MTCNN](https://sefiks.com/2020/09/09/deep-face-detection-with-mtcnn-in-python/) seems to overperform in detection and alignment stages but it is slower than [SSD](https://sefiks.com/2020/08/25/deep-face-detection-with-opencv-in-python/).
|
||||
|
||||
**Passing pre-built face recognition models**
|
||||
|
||||
You can build models once and pass to deepface functions as well. This speeds you up if you are going to call deepface several times.
|
||||
|
Loading…
x
Reference in New Issue
Block a user