astrotomic / php-deepface
A PHP adapter for the python deepface framework.
Fund package maintenance!
Gummibeer
SarahSibert
Issuehunt
forest.astrotomic.info
Requires
- php: ^8.1
- ext-json: *
- ext-spl: *
- symfony/process: ^6.0|^7.0
Requires (Dev)
- laravel/pint: ^1.13
- pestphp/pest: ^3.7
README
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
- Tom Herrmann
- Sefik Ilkin Serengil, the creator of deepface
- All Contributors
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! 🌳