Git Product home page Git Product logo

yolokerasfacedetection's Introduction

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

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

http://www.abars.biz/keras/yolov2-tiny-one-class.cfg

http://www.abars.biz/keras/yolov2-tiny-train-one-class_32600.weights

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.

https://github.com/abars/YoloKerasFaceDetection/releases/download/1.10/yolov2_tiny-face.h5

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)

https://github.com/abars/YoloKerasFaceDetection/releases/download/1.10/agegender_age101_squeezenet_imdb.hdf5

Gender (IMDB) (EPOCHS=25)

https://github.com/abars/YoloKerasFaceDetection/releases/download/1.10/agegender_gender_squeezenet_imdb.hdf5

Related Work

https://github.com/dannyblueliu/YOLO-Face-detection

https://github.com/oarriaga/face_classification

https://github.com/yu4u/age-gender-estimation

yolokerasfacedetection's People

Contributors

abars avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.