Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abars/YoloKerasFaceDetection
Face Detection and Gender and Age Classification using Keras
https://github.com/abars/YoloKerasFaceDetection
Last synced: 3 months ago
JSON representation
Face Detection and Gender and Age Classification using Keras
- Host: GitHub
- URL: https://github.com/abars/YoloKerasFaceDetection
- Owner: abars
- License: mit
- Created: 2017-12-30T04:48:02.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-25T23:31:46.000Z (almost 6 years ago)
- Last Synced: 2024-02-11T22:47:10.097Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 6.17 MB
- Stars: 203
- Watchers: 14
- Forks: 79
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-face-detection-and-recognition - abars/YoloKerasFaceDetection
- awesome-yolo-object-detection - abars/YoloKerasFaceDetection
- awesome-yolo-object-detection - abars/YoloKerasFaceDetection
README
# Yolo Keras Face Detection
Implement Face detection, and Age and Gender Classification using Keras.
![]()
(image from wider face dataset)# Overview
## Functions
Face Detection
Age and Gender Classification
## Requirements
Keras2 (Tensorflow backend)
OpenCV
Python 2.7
Darknet (for Training)
# Test
## Download Pretrained-Model
`python download_model.py`
## Predict from Camera Image
Here is a run using pretrained model .
`python agegender_demo.py`
# Train
## Install
### Keras
`pip install keras`
### Darknet
Download Darknet and put in the same folder.
https://github.com/pjreddie/darknet
## Face Detection (FDDB)
### Create dataset
Download fddb dataset (FDDB-folds and originalPics folder) and put in the dataset/fddb folder.
http://vis-www.cs.umass.edu/fddb/
Create dataset/fddb/FDDB-folds/annotations_darknet folder for darknet.
`python annotation_fddb_darknet.py`
Preview converted annotations.
`python annotation_view.py fddb`
[![FDDB dataset overview](https://img.youtube.com/vi/KGeY_PFhRYA/0.jpg)](https://www.youtube.com/watch?v=KGeY_PFhRYA&feature=youtu.be)
### Train using Darknet
Here is a training using YoloV2.
`cd darknet`
`./darknet detector train data/face-one-class.data cfg/yolov2-tiny-train-one-class.cfg`
### Test using Darknet
Here is a test.
`./darknet detector demo data/face-one-class.data cfg/yolov2-tiny-train-one-class.cfg backup-face/yolov2-tiny-train-one-class_32600.weights -c 0`
### Training Result
### Convert to Keras Model
Download YAD2K
https://github.com/allanzelener/YAD2K
This is a convert script.
`python3 yad2k.py yolov2-tiny-train-one-class.cfg yolov2-tiny-train-one-class_32600.weights yolov2_tiny-face.h5`
This is a converted model.
## Age and Gender classification
### Create Dataset
#### Use AdienceBenchmarkOfUnfilteredFacesForGenderAndAgeClassification dataset
Download AdienceBenchmarkOfUnfilteredFacesForGenderAndAgeClassification dataset and put in the dataset/adience folder.
https://www.openu.ac.il/home/hassner/Adience/data.html#agegender
Create dataset/agegender_adience/annotations for keras.
`python annotation_agegender_adience_keras.py`
#### Use IMDB-WIKI dataset
Download IMDB-WIKI dataset (Download faces only 7gb) and put in the dataset/imdb_crop folder.
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
Create dataset/agegender_imdb/annotations for keras.
`python annotation_imdb_keras.py`
#### Use UTKFace dataset
Download UTKFace dataset and put in the dataset/imdb_crop folder.
https://susanqq.github.io/UTKFace/
Create dataset/agegender_utk/annotations for keras.
`python annotation_utkface_keras.py`
#### Use AppaReal dataset
Download AppaReal dataset and put in the dataset/appa-real-release folder.
http://chalearnlap.cvc.uab.es/dataset/26/description/
Create dataset/agegender_appareal/annotations for keras.
`python annotation_appareal_keras.py`
### Train using Keras
Install keras-squeezenet
https://github.com/rcmalli/keras-squeezenet
Run classifier task using keras.
`python agegender_train.py age101 squeezenet imdb`
`python agegender_train.py gender squeezenet imdb`
### Test using Keras
Test classifier task using keras.
`python agegender_predict.py age101 squeezenet imdb`
`python agegender_predict.py gender squeezenet imdb`
### Training result
Age101 (IMDB) (EPOCHS=100)
Gender (IMDB) (EPOCHS=25)
# Related Work