FastFace: Lightweight Face Detection Framework
Easy-to-use face detection framework, developed using pytorch-lightning.
Checkout documentation for more.
Key Features
- 🔥 Use pretrained models for inference with just few lines of code
- 📈 Evaluate models on different datasets
- 🛠️ Train and prototype new models, using pre-defined architectures
- 🚀 Export trained models with ease, to use in production
Contents
Installation
From PyPI
pip install fastface -U
From source
git clone https://github.com/borhanMorphy/fastface.git
cd fastface
pip install .
Pretrained Models
Pretrained models can be accessable via fastface.FaceDetector.from_pretrained(<name>)
| Name | Architecture | Configuration | Parameters | Model Size | Link |
|---|---|---|---|---|---|
| lffd_original | lffd | original | 2.3M | 9mb | weights |
| lffd_slim | lffd | slim | 1.5M | 6mb | weights |
Demo
Using package
import fastface as ff
import imageio
from pytorch_lightning.utilities.model_summary import ModelSummary
# load image as RGB
img = imageio.imread("<your_image_file_path>")[:,:,:3]
# build model with pretrained weights
model = ff.FaceDetector.from_pretrained("lffd_original")
# model: pl.LightningModule
# get model summary
ModelSummary(model, max_depth=1)
# set model to eval mode
model.eval()
# [optional] move model to gpu
model.to("cuda")
# model inference
preds, = model.predict(img, det_threshold=.8, iou_threshold=.4)
# preds: {
# 'boxes': [[xmin, ymin, xmax, ymax], ...],
# 'scores':[<float>, ...]
# }
Using demo.py script
python demo.py --model lffd_original --device cuda --input <your_image_file_path>
sample output;
Benchmarks
Following results are obtained with this repository
WIDER FACE
validation set results
| Name | Easy | Medium | Hard |
|---|---|---|---|
| lffd_original | 0.893 | 0.866 | 0.758 |
| lffd_slim | 0.866 | 0.854 | 0.742 |
Tutorials
References
Citations
@inproceedings{LFFD,
title={LFFD: A Light and Fast Face Detector for Edge Devices},
author={He, Yonghao and Xu, Dezhong and Wu, Lifang and Jian, Meng and Xiang, Shiming and Pan, Chunhong},
booktitle={arXiv:1904.10633},
year={2019}
}
Metadata
Release files for fastface 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastface-0.1.4.tar.gz | 44.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastface-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.1 kB
Release files / fastface-0.1.4.tar.gz
| Download URL | fastface-0.1.4.tar.gz |
|---|---|
| Size | 44.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf44d824d5ea7a70d1b7bc87392639102d15f02d72ee14f80f25d51a65a4b45d
|
|
BLAKE2b-256 checksum How to use checksums |
f4c0308be676e50dc851da85fa9f5d4c4d496951a678c166daf5b3ec882487d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.17
|
Release files / fastface-0.1.4-py3-none-any.whl
| Download URL | fastface-0.1.4-py3-none-any.whl |
|---|---|
| Size | 63.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
98e7ba635d7d546c6a589c97f6c3e4cb8144cdaf0b53023cef05afe18d39564a
|
|
BLAKE2b-256 checksum How to use checksums |
64c084054047450efec76960884512223766f378f006b2f29967d4d15ae18444
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.17
|