Skip to main content

Compare if two faces are from the same person.

Project description

face-comparison

AI Face comparison using FaceNet, compare two photos and see if they are the same person.

Installation

pip install face-compare

Usage

Use compare_faces.py to compare two images of people to see if they are the same person.

compare_faces.py --image-one /path/to/image_one.png --image-two /path/to/image_two.png

Optionally output the cropped image output to a directory (useful for inspecting input to AI model)

compare_faces.py --image-one /path/to/image_one.png --image-two /path/to/image_two.png -s /path/to/outputs/

Steps Involved

  1. A cascade classifier is used to detect the face within the input images.
  2. The bounding box of this segmentation is then used to crop the images, and fed into the AI model.
  3. The FaceNet model then calculates the image embeddings for the two cropped images.
  4. Finally the second embedding is subtracted from the first, and the Euclidean norm of that vector is calculated.
  5. A threshold of 0.7 is used to determine whether they are the same person or not.

Known Issues

CPU Only runtime issue

If you are trying to run the module without a suitable GPU, you may run into the following error message:

tensorflow.python.framework.errors_impl.InvalidArgumentError:  Default MaxPoolingOp only supports NHWC on device type CPU

To fix this issue with Intel CPU architecture, you can install the TensorFlow Intel Optimization package via

pip install intel-tensorflow

References

This module uses the AI model FaceNet, which can be found here, and the journal article here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

face-compare-1.1.4.tar.gz (13.9 MB view details)

Uploaded Source

Built Distribution

face_compare-1.1.4-py3-none-any.whl (13.9 MB view details)

Uploaded Python 3

File details

Details for the file face-compare-1.1.4.tar.gz.

File metadata

  • Download URL: face-compare-1.1.4.tar.gz
  • Upload date:
  • Size: 13.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for face-compare-1.1.4.tar.gz
Algorithm Hash digest
SHA256 d497ebe79d71b34a06d68ee4559f6e6566567b74d80bf85ed1919c7a250d26b9
MD5 9dedf20bdd20bd5a4f01560d3868b1c1
BLAKE2b-256 9db56e1f1b2f29763ad2c5fd7d5de6bde19e0a049ce5771134205fb5b73b1738

See more details on using hashes here.

File details

Details for the file face_compare-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: face_compare-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 13.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for face_compare-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ea923cafc2cc8ca1c4a23594a299d5a4d3575f7bc5feceac216e133246bf2f74
MD5 853771b70867f37f9fea54360480437f
BLAKE2b-256 a27fd07c502e362ee57d73059fdddacd2784557769782b7cb7b4aa1f6d56f75c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page