astrotomic/php-deepface

A PHP adapter for the python deepface framework.

0.3.0 2024-06-24 14:13 UTC

This package is auto-updated.

Last update: 2024-10-24 15:08:20 UTC


README

Latest Version MIT License Offset Earth Larabelles

PHP Version Symfony Version

pint Total Downloads Trees Carbon GitHub Sponsors

Welcome to PHP DeepFace, a powerful face recognition and facial attribute analysis package for PHP. With PHP DeepFace, you can effortlessly integrate cutting-edge deep learning models into your PHP applications for a wide range of face-related tasks. Here's how you can get started:

Installation

To get started, you'll need to install the deepface Python framework. You can do this using pip:

pip install deepface

Once you've installed deepface, you can then install the PHP adapter via Composer:

composer require astrotomic/php-deepface

Configuration

Configuring PHP DeepFace is a breeze. Simply instantiate the Astrotomic\DeepFace\DeepFace class, and it will automatically detect your local Python executable:

$deepface = new \Astrotomic\DeepFace\DeepFace();

If you have a specific Python version you'd like to use, you can provide the path to the Python executable as an argument:

$deepface = new \Astrotomic\DeepFace\DeepFace(
    python: '/usr/bin/python3',
);

Usage

PHP DeepFace provides a wide range of functionalities for face recognition and facial attribute analysis. Here are some key features:

Build Model

You can build a deepface face recognition or facial attribute model with ease:

$deepface->buildModel(\Astrotomic\DeepFace\Enums\FaceRecognitionModel::VGGFACE);

Face Detection

Perform face detection and alignment using this function:

$deepface->extractFaces(
  img_path: '~/test.png',
);

Face Verification

Verify whether two images belong to the same person or different persons. This function calculates the similarity between facial image vectors:

$deepface->verify(
  img1_path: '~/test.png',
  img2_path: '~/id.jpg',
);

Face Recognition

Find identities in a database by applying verification multiple times:

$deepface->find(
  img_path: '~/test.png',
  db_path: '~/db',
);

Face Embeddings

Generate vector embeddings for facial images using convolutional neural networks models:

$deepface->represent(
  img_path: '~/test.png',
);

Facial Attribute Analysis

Analyze facial attributes including age, gender, emotion, and race. This function builds convolutional neural network models to classify these attributes:

$deepface->analyze(
  img_path: '~/test.png',
);

Testing

Run tests to ensure everything is working as expected:

composer fix

Contributing

We welcome contributions! Please see our CONTRIBUTING guidelines for details. You may also want to review our CODE OF CONDUCT.

Security

If you discover any security-related issues, please follow the steps outlined in our SECURITY guidelines to report them.

Credits

License

PHP DeepFace is released under the MIT License. Please see the License File for more information.

Treeware

You're free to use this package, but if it makes it to your production environment, we kindly request that you contribute to a greener world by planting a tree. Trees play a vital role in combating climate change and preserving our environment. You can buy trees at offset.earth/treeware. Help us make a positive impact! 🌳