forked from 170010011/fr
649 lines
21 KiB
Plaintext
649 lines
21 KiB
Plaintext
|
Metadata-Version: 2.1
|
||
|
Name: face-recognition
|
||
|
Version: 1.3.0
|
||
|
Summary: Recognize faces from Python or from the command line
|
||
|
Home-page: https://github.com/ageitgey/face_recognition
|
||
|
Author: Adam Geitgey
|
||
|
Author-email: ageitgey@gmail.com
|
||
|
License: MIT license
|
||
|
Keywords: face_recognition
|
||
|
Platform: UNKNOWN
|
||
|
Classifier: Development Status :: 4 - Beta
|
||
|
Classifier: Intended Audience :: Developers
|
||
|
Classifier: License :: OSI Approved :: MIT License
|
||
|
Classifier: Natural Language :: English
|
||
|
Classifier: Programming Language :: Python :: 2
|
||
|
Classifier: Programming Language :: Python :: 2.7
|
||
|
Classifier: Programming Language :: Python :: 3
|
||
|
Classifier: Programming Language :: Python :: 3.5
|
||
|
Classifier: Programming Language :: Python :: 3.6
|
||
|
Classifier: Programming Language :: Python :: 3.7
|
||
|
Classifier: Programming Language :: Python :: 3.8
|
||
|
Requires-Dist: face-recognition-models (>=0.3.0)
|
||
|
Requires-Dist: Click (>=6.0)
|
||
|
Requires-Dist: dlib (>=19.7)
|
||
|
Requires-Dist: numpy
|
||
|
Requires-Dist: Pillow
|
||
|
|
||
|
Face Recognition
|
||
|
================
|
||
|
|
||
|
| Recognize and manipulate faces from Python or from the command line
|
||
|
with
|
||
|
| the world's simplest face recognition library.
|
||
|
|
||
|
| Built using `dlib <http://dlib.net/>`__'s state-of-the-art face
|
||
|
recognition
|
||
|
| built with deep learning. The model has an accuracy of 99.38% on the
|
||
|
| `Labeled Faces in the Wild <http://vis-www.cs.umass.edu/lfw/>`__
|
||
|
benchmark.
|
||
|
|
||
|
| This also provides a simple ``face_recognition`` command line tool
|
||
|
that lets
|
||
|
| you do face recognition on a folder of images from the command line!
|
||
|
|
||
|
| |PyPI|
|
||
|
| |Build Status|
|
||
|
| |Documentation Status|
|
||
|
|
||
|
Features
|
||
|
--------
|
||
|
|
||
|
Find faces in pictures
|
||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
Find all the faces that appear in a picture:
|
||
|
|
||
|
|image3|
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
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.
|
||
|
|
||
|
|image4|
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
import face_recognition
|
||
|
image = face_recognition.load_image_file("your_file.jpg")
|
||
|
face_landmarks_list = face_recognition.face_landmarks(image)
|
||
|
|
||
|
| Finding facial features is super useful for lots of important stuff.
|
||
|
But you can also use for really stupid stuff
|
||
|
| like applying `digital
|
||
|
make-up <https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py>`__
|
||
|
(think 'Meitu'):
|
||
|
|
||
|
|image5|
|
||
|
|
||
|
Identify faces in pictures
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
Recognize who appears in each photo.
|
||
|
|
||
|
|image6|
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
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)
|
||
|
|
||
|
You can even use this library with other Python libraries to do
|
||
|
real-time face recognition:
|
||
|
|
||
|
|image7|
|
||
|
|
||
|
See `this
|
||
|
example <https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py>`__
|
||
|
for the code.
|
||
|
|
||
|
Installation
|
||
|
------------
|
||
|
|
||
|
Requirements
|
||
|
^^^^^^^^^^^^
|
||
|
|
||
|
- Python 3.3+ or Python 2.7
|
||
|
- macOS or Linux (Windows not officially supported, but might work)
|
||
|
|
||
|
Installing on Mac or Linux
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
First, make sure you have dlib already installed with Python bindings:
|
||
|
|
||
|
- `How to install dlib from source on macOS or
|
||
|
Ubuntu <https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf>`__
|
||
|
|
||
|
Then, install this module from pypi using ``pip3`` (or ``pip2`` for
|
||
|
Python 2):
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
pip3 install face_recognition
|
||
|
|
||
|
| If you are having trouble with installation, you can also try out a
|
||
|
| `pre-configured
|
||
|
VM <https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b>`__.
|
||
|
|
||
|
Installing on Raspberry Pi 2+
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
- `Raspberry Pi 2+ installation
|
||
|
instructions <https://gist.github.com/ageitgey/1ac8dbe8572f3f533df6269dab35df65>`__
|
||
|
|
||
|
Installing on Windows
|
||
|
^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
While Windows isn't officially supported, helpful users have posted
|
||
|
instructions on how to install this library:
|
||
|
|
||
|
- `@masoudr's Windows 10 installation guide (dlib +
|
||
|
face\_recognition) <https://github.com/ageitgey/face_recognition/issues/175#issue-257710508>`__
|
||
|
|
||
|
Installing a pre-configured Virtual Machine image
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
- `Download the pre-configured VM
|
||
|
image <https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b>`__
|
||
|
(for VMware Player or VirtualBox).
|
||
|
|
||
|
Usage
|
||
|
-----
|
||
|
|
||
|
Command-Line Interface
|
||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
| When you install ``face_recognition``, you get a simple command-line
|
||
|
program
|
||
|
| called ``face_recognition`` that you can use to recognize faces in a
|
||
|
| photograph or folder full for photographs.
|
||
|
|
||
|
| First, you need to provide a folder with one picture of each person
|
||
|
you
|
||
|
| already know. There should be one image file for each person with the
|
||
|
| files named according to who is in the picture:
|
||
|
|
||
|
|known|
|
||
|
|
||
|
Next, you need a second folder with the files you want to identify:
|
||
|
|
||
|
|unknown|
|
||
|
|
||
|
| Then in you simply run the command ``face_recognition``, passing in
|
||
|
| the folder of known people and the folder (or single image) with
|
||
|
unknown
|
||
|
| people and it tells you who is in each image:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
$ face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/
|
||
|
|
||
|
/unknown_pictures/unknown.jpg,Barack Obama
|
||
|
/face_recognition_test/unknown_pictures/unknown.jpg,unknown_person
|
||
|
|
||
|
| There's one line in the output for each face. The data is
|
||
|
comma-separated
|
||
|
| with the filename and the name of the person found.
|
||
|
|
||
|
| An ``unknown_person`` is a face in the image that didn't match anyone
|
||
|
in
|
||
|
| your folder of known people.
|
||
|
|
||
|
Adjusting Tolerance / Sensitivity
|
||
|
'''''''''''''''''''''''''''''''''
|
||
|
|
||
|
| If you are getting multiple matches for the same person, it might be
|
||
|
that
|
||
|
| the people in your photos look very similar and a lower tolerance
|
||
|
value
|
||
|
| is needed to make face comparisons more strict.
|
||
|
|
||
|
| You can do that with the ``--tolerance`` parameter. The default
|
||
|
tolerance
|
||
|
| value is 0.6 and lower numbers make face comparisons more strict:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
$ face_recognition --tolerance 0.54 ./pictures_of_people_i_know/ ./unknown_pictures/
|
||
|
|
||
|
/unknown_pictures/unknown.jpg,Barack Obama
|
||
|
/face_recognition_test/unknown_pictures/unknown.jpg,unknown_person
|
||
|
|
||
|
| If you want to see the face distance calculated for each match in
|
||
|
order
|
||
|
| to adjust the tolerance setting, you can use ``--show-distance true``:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
$ face_recognition --show-distance true ./pictures_of_people_i_know/ ./unknown_pictures/
|
||
|
|
||
|
/unknown_pictures/unknown.jpg,Barack Obama,0.378542298956785
|
||
|
/face_recognition_test/unknown_pictures/unknown.jpg,unknown_person,None
|
||
|
|
||
|
More Examples
|
||
|
'''''''''''''
|
||
|
|
||
|
| If you simply want to know the names of the people in each photograph
|
||
|
but don't
|
||
|
| care about file names, you could do this:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
$ face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/ | cut -d ',' -f2
|
||
|
|
||
|
Barack Obama
|
||
|
unknown_person
|
||
|
|
||
|
Speeding up Face Recognition
|
||
|
''''''''''''''''''''''''''''
|
||
|
|
||
|
| Face recognition can be done in parallel if you have a computer with
|
||
|
| multiple CPU cores. For example if your system has 4 CPU cores, you
|
||
|
can
|
||
|
| process about 4 times as many images in the same amount of time by
|
||
|
using
|
||
|
| all your CPU cores in parallel.
|
||
|
|
||
|
If you are using Python 3.4 or newer, pass in a
|
||
|
``--cpus <number_of_cpu_cores_to_use>`` parameter:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
$ face_recognition --cpus 4 ./pictures_of_people_i_know/ ./unknown_pictures/
|
||
|
|
||
|
You can also pass in ``--cpus -1`` to use all CPU cores in your system.
|
||
|
|
||
|
Python Module
|
||
|
^^^^^^^^^^^^^
|
||
|
|
||
|
| You can import the ``face_recognition`` module and then easily
|
||
|
manipulate
|
||
|
| faces with just a couple of lines of code. It's super easy!
|
||
|
|
||
|
API Docs:
|
||
|
`https://face-recognition.readthedocs.io <https://face-recognition.readthedocs.io/en/latest/face_recognition.html>`__.
|
||
|
|
||
|
Automatically find all the faces in an image
|
||
|
''''''''''''''''''''''''''''''''''''''''''''
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
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!
|
||
|
|
||
|
| See `this
|
||
|
example <https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py>`__
|
||
|
| to try it out.
|
||
|
|
||
|
You can also opt-in to a somewhat more accurate deep-learning-based face
|
||
|
detection model.
|
||
|
|
||
|
| Note: GPU acceleration (via nvidia's CUDA library) is required for
|
||
|
good
|
||
|
| performance with this model. You'll also want to enable CUDA support
|
||
|
| when compliling ``dlib``.
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
import face_recognition
|
||
|
|
||
|
image = face_recognition.load_image_file("my_picture.jpg")
|
||
|
face_locations = face_recognition.face_locations(image, model="cnn")
|
||
|
|
||
|
# face_locations is now an array listing the co-ordinates of each face!
|
||
|
|
||
|
| See `this
|
||
|
example <https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture_cnn.py>`__
|
||
|
| to try it out.
|
||
|
|
||
|
| If you have a lot of images and a GPU, you can also
|
||
|
| `find faces in
|
||
|
batches <https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_batches.py>`__.
|
||
|
|
||
|
Automatically locate the facial features of a person in an image
|
||
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
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.
|
||
|
|
||
|
| See `this
|
||
|
example <https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py>`__
|
||
|
| to try it out.
|
||
|
|
||
|
Recognize faces in images and identify who they are
|
||
|
'''''''''''''''''''''''''''''''''''''''''''''''''''
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
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!")
|
||
|
|
||
|
| See `this
|
||
|
example <https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py>`__
|
||
|
| to try it out.
|
||
|
|
||
|
Python Code Examples
|
||
|
--------------------
|
||
|
|
||
|
All the examples are available
|
||
|
`here <https://github.com/ageitgey/face_recognition/tree/master/examples>`__.
|
||
|
|
||
|
Face Detection
|
||
|
^^^^^^^^^^^^^^
|
||
|
|
||
|
- `Find faces in a
|
||
|
photograph <https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py>`__
|
||
|
- `Find faces in a photograph (using deep
|
||
|
learning) <https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture_cnn.py>`__
|
||
|
- `Find faces in batches of images w/ GPU (using deep
|
||
|
learning) <https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_batches.py>`__
|
||
|
|
||
|
Facial Features
|
||
|
^^^^^^^^^^^^^^^
|
||
|
|
||
|
- `Identify specific facial features in a
|
||
|
photograph <https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py>`__
|
||
|
- `Apply (horribly ugly) digital
|
||
|
make-up <https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py>`__
|
||
|
|
||
|
Facial Recognition
|
||
|
^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
- `Find and recognize unknown faces in a photograph based on
|
||
|
photographs of known
|
||
|
people <https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py>`__
|
||
|
- `Compare faces by numeric face distance instead of only True/False
|
||
|
matches <https://github.com/ageitgey/face_recognition/blob/master/examples/face_distance.py>`__
|
||
|
- `Recognize faces in live video using your webcam - Simple / Slower
|
||
|
Version (Requires OpenCV to be
|
||
|
installed) <https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam.py>`__
|
||
|
- `Recognize faces in live video using your webcam - Faster Version
|
||
|
(Requires OpenCV to be
|
||
|
installed) <https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py>`__
|
||
|
- `Recognize faces in a video file and write out new video file
|
||
|
(Requires OpenCV to be
|
||
|
installed) <https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_video_file.py>`__
|
||
|
- `Recognize faces on a Raspberry Pi w/
|
||
|
camera <https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_on_raspberry_pi.py>`__
|
||
|
- `Run a web service to recognize faces via HTTP (Requires Flask to be
|
||
|
installed) <https://github.com/ageitgey/face_recognition/blob/master/examples/web_service_example.py>`__
|
||
|
- `Recognize faces with a K-nearest neighbors
|
||
|
classifier <https://github.com/ageitgey/face_recognition/blob/master/examples/face_recognition_knn.py>`__
|
||
|
|
||
|
.. rubric:: How Face Recognition Works
|
||
|
:name: how-face-recognition-works
|
||
|
|
||
|
| If you want to learn how face location and recognition work instead of
|
||
|
| depending on a black box library, `read my
|
||
|
article <https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78>`__.
|
||
|
|
||
|
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.
|
||
|
|
||
|
Deployment to Cloud Hosts (Heroku, AWS, etc)
|
||
|
--------------------------------------------
|
||
|
|
||
|
| Since ``face_recognition`` depends on ``dlib`` which is written in
|
||
|
C++, it can be tricky to deploy an app
|
||
|
| using it to a cloud hosting provider like Heroku or AWS.
|
||
|
|
||
|
| To make things easier, there's an example Dockerfile in this repo that
|
||
|
shows how to run an app built with
|
||
|
| ``face_recognition`` in a `Docker <https://www.docker.com/>`__
|
||
|
container. With that, you should be able to deploy
|
||
|
| to any service that supports Docker images.
|
||
|
|
||
|
Common Issues
|
||
|
-------------
|
||
|
|
||
|
Issue: ``Illegal instruction (core dumped)`` when using
|
||
|
face\_recognition or running examples.
|
||
|
|
||
|
| Solution: ``dlib`` is compiled with SSE4 or AVX support, but your CPU
|
||
|
is too old and doesn't support that.
|
||
|
| You'll need to recompile ``dlib`` after `making the code change
|
||
|
outlined
|
||
|
here <https://github.com/ageitgey/face_recognition/issues/11#issuecomment-287398611>`__.
|
||
|
|
||
|
Issue:
|
||
|
``RuntimeError: Unsupported image type, must be 8bit gray or RGB image.``
|
||
|
when running the webcam examples.
|
||
|
|
||
|
Solution: Your webcam probably isn't set up correctly with OpenCV. `Look
|
||
|
here for
|
||
|
more <https://github.com/ageitgey/face_recognition/issues/21#issuecomment-287779524>`__.
|
||
|
|
||
|
Issue: ``MemoryError`` when running ``pip2 install face_recognition``
|
||
|
|
||
|
| Solution: The face\_recognition\_models file is too big for your
|
||
|
available pip cache memory. Instead,
|
||
|
| try ``pip2 --no-cache-dir install face_recognition`` to avoid the
|
||
|
issue.
|
||
|
|
||
|
Issue:
|
||
|
``AttributeError: 'module' object has no attribute 'face_recognition_model_v1'``
|
||
|
|
||
|
Solution: The version of ``dlib`` you have installed is too old. You
|
||
|
need version 19.7 or newer. Upgrade ``dlib``.
|
||
|
|
||
|
Issue:
|
||
|
``Attribute Error: 'Module' object has no attribute 'cnn_face_detection_model_v1'``
|
||
|
|
||
|
Solution: The version of ``dlib`` you have installed is too old. You
|
||
|
need version 19.7 or newer. Upgrade ``dlib``.
|
||
|
|
||
|
Issue: ``TypeError: imread() got an unexpected keyword argument 'mode'``
|
||
|
|
||
|
Solution: The version of ``scipy`` you have installed is too old. You
|
||
|
need version 0.17 or newer. Upgrade ``scipy``.
|
||
|
|
||
|
Thanks
|
||
|
------
|
||
|
|
||
|
- Many, many thanks to `Davis King <https://github.com/davisking>`__
|
||
|
(`@nulhom <https://twitter.com/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 <http://blog.dlib.net/2017/02/high-quality-face-recognition-with-deep.html>`__.
|
||
|
- 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 <https://github.com/audreyr/cookiecutter>`__
|
||
|
and the
|
||
|
`audreyr/cookiecutter-pypackage <https://github.com/audreyr/cookiecutter-pypackage>`__
|
||
|
project template
|
||
|
for making Python project packaging way more tolerable.
|
||
|
|
||
|
.. |PyPI| image:: https://img.shields.io/pypi/v/face_recognition.svg
|
||
|
:target: https://pypi.python.org/pypi/face_recognition
|
||
|
.. |Build Status| image:: https://travis-ci.org/ageitgey/face_recognition.svg?branch=master
|
||
|
:target: https://travis-ci.org/ageitgey/face_recognition
|
||
|
.. |Documentation Status| image:: https://readthedocs.org/projects/face-recognition/badge/?version=latest
|
||
|
:target: http://face-recognition.readthedocs.io/en/latest/?badge=latest
|
||
|
.. |image3| image:: https://cloud.githubusercontent.com/assets/896692/23625227/42c65360-025d-11e7-94ea-b12f28cb34b4.png
|
||
|
.. |image4| image:: https://cloud.githubusercontent.com/assets/896692/23625282/7f2d79dc-025d-11e7-8728-d8924596f8fa.png
|
||
|
.. |image5| image:: https://cloud.githubusercontent.com/assets/896692/23625283/80638760-025d-11e7-80a2-1d2779f7ccab.png
|
||
|
.. |image6| image:: https://cloud.githubusercontent.com/assets/896692/23625229/45e049b6-025d-11e7-89cc-8a71cf89e713.png
|
||
|
.. |image7| image:: https://cloud.githubusercontent.com/assets/896692/24430398/36f0e3f0-13cb-11e7-8258-4d0c9ce1e419.gif
|
||
|
.. |known| image:: https://cloud.githubusercontent.com/assets/896692/23582466/8324810e-00df-11e7-82cf-41515eba704d.png
|
||
|
.. |unknown| image:: https://cloud.githubusercontent.com/assets/896692/23582465/81f422f8-00df-11e7-8b0d-75364f641f58.png
|
||
|
|
||
|
|
||
|
|
||
|
History
|
||
|
=======
|
||
|
|
||
|
1.2.3 (2018-08-21)
|
||
|
------------------
|
||
|
|
||
|
* You can now pass model="small" to face_landmarks() to use the 5-point face model instead of the 68-point model.
|
||
|
* Now officially supporting Python 3.7
|
||
|
* New example of using this library in a Jupyter Notebook
|
||
|
|
||
|
1.2.2 (2018-04-02)
|
||
|
------------------
|
||
|
|
||
|
* Added the face_detection CLI command
|
||
|
* Removed dependencies on scipy to make installation easier
|
||
|
* Cleaned up KNN example and fixed a bug with drawing fonts to label detected faces in the demo
|
||
|
|
||
|
|
||
|
1.2.1 (2018-02-01)
|
||
|
------------------
|
||
|
|
||
|
* Fixed version numbering inside of module code.
|
||
|
|
||
|
|
||
|
1.2.0 (2018-02-01)
|
||
|
------------------
|
||
|
|
||
|
* Fixed a bug where batch size parameter didn't work correctly when doing batch face detections on GPU.
|
||
|
* Updated OpenCV examples to do proper BGR -> RGB conversion
|
||
|
* Updated webcam examples to avoid common mistakes and reduce support questions
|
||
|
* Added a KNN classification example
|
||
|
* Added an example of automatically blurring faces in images or videos
|
||
|
* Updated Dockerfile example to use dlib v19.9 which removes the boost dependency.
|
||
|
|
||
|
|
||
|
1.1.0 (2017-09-23)
|
||
|
------------------
|
||
|
|
||
|
* Will use dlib's 5-point face pose estimator when possible for speed (instead of 68-point face pose esimator)
|
||
|
* dlib v19.7 is now the minimum required version
|
||
|
* face_recognition_models v0.3.0 is now the minimum required version
|
||
|
|
||
|
|
||
|
1.0.0 (2017-08-29)
|
||
|
------------------
|
||
|
|
||
|
* Added support for dlib's CNN face detection model via model="cnn" parameter on face detecion call
|
||
|
* Added support for GPU batched face detections using dlib's CNN face detector model
|
||
|
* Added find_faces_in_picture_cnn.py to examples
|
||
|
* Added find_faces_in_batches.py to examples
|
||
|
* Added face_rec_from_video_file.py to examples
|
||
|
* dlib v19.5 is now the minimum required version
|
||
|
* face_recognition_models v0.2.0 is now the minimum required version
|
||
|
|
||
|
|
||
|
0.2.2 (2017-07-07)
|
||
|
------------------
|
||
|
|
||
|
* Added --show-distance to cli
|
||
|
* Fixed a bug where --tolerance was ignored in cli if testing a single image
|
||
|
* Added benchmark.py to examples
|
||
|
|
||
|
|
||
|
0.2.1 (2017-07-03)
|
||
|
------------------
|
||
|
|
||
|
* Added --tolerance to cli
|
||
|
|
||
|
|
||
|
0.2.0 (2017-06-03)
|
||
|
------------------
|
||
|
|
||
|
* The CLI can now take advantage of multiple CPUs. Just pass in the -cpus X parameter where X is the number of CPUs to use.
|
||
|
* Added face_distance.py example
|
||
|
* Improved CLI tests to actually test the CLI functionality
|
||
|
* Updated facerec_on_raspberry_pi.py to capture in rgb (not bgr) format.
|
||
|
|
||
|
|
||
|
0.1.14 (2017-04-22)
|
||
|
-------------------
|
||
|
|
||
|
* Fixed a ValueError crash when using the CLI on Python 2.7
|
||
|
|
||
|
|
||
|
0.1.13 (2017-04-20)
|
||
|
-------------------
|
||
|
|
||
|
* Raspberry Pi support.
|
||
|
|
||
|
|
||
|
0.1.12 (2017-04-13)
|
||
|
-------------------
|
||
|
|
||
|
* Fixed: Face landmarks wasn't returning all chin points.
|
||
|
|
||
|
|
||
|
0.1.11 (2017-03-30)
|
||
|
-------------------
|
||
|
|
||
|
* Fixed a minor bug in the command-line interface.
|
||
|
|
||
|
|
||
|
0.1.10 (2017-03-21)
|
||
|
-------------------
|
||
|
|
||
|
* Minor pref improvements with face comparisons.
|
||
|
* Test updates.
|
||
|
|
||
|
|
||
|
0.1.9 (2017-03-16)
|
||
|
------------------
|
||
|
|
||
|
* Fix minimum scipy version required.
|
||
|
|
||
|
|
||
|
0.1.8 (2017-03-16)
|
||
|
------------------
|
||
|
|
||
|
* Fix missing Pillow dependency.
|
||
|
|
||
|
|
||
|
0.1.7 (2017-03-13)
|
||
|
------------------
|
||
|
|
||
|
* First working release.
|
||
|
|
||
|
|