This project is based on MTCNN and pretend to work with Face Recognition, where faces might has oclusion of its parts.
- Detect faces
- Draw ROI in faces
- Save faces detected
- Calculate time of operations
- Augment face images (TensorFlow)
- Extract features(embeddings) from augmented images(FaceNet)
- Train classifier to recognize people(KNN CUDA)
- For Windows and Linux are used latest Python from Anaconda
- SO versions: Windows 10 x64 Pro and Linux Mint 19 x64
- Conda environment with commands:
# create environment conda create -n ai python=3.6 # activate environment Windows conda activate ai # activate environment in Linux source activate ai # install dependencies with environment activated - windows pip install -r requirements_windows.txt # windows # install dependencies with environment activated - linux pip install -r requirements_linux.txt # linux
- Clone this repository
- Create environment
- Install dependencies on environment
- Execute script mtcnn_demo.py
python mtcnn_demo.py
(load_detector) time: 0.89s
(load_image) time: 1.29s
(detect_faces) time: 0.40s
3468
(write_image) time: 0.00s
4800
(write_image) time: 0.00s
4107
(write_image) time: 0.00s
3675
(write_image) time: 0.00s
3888
(write_image) time: 0.00s
3468
(write_image) time: 0.00s
4332
(write_image) time: 0.00s
3072
(write_image) time: 0.00s
4107
(write_image) time: 0.00s
3888
(write_image) time: 0.00s
2700
(write_image) time: 0.00s
(crop_faces) time: 0.00s
(draw_faces) time: 0.00s
(write_image) time: 0.00s