Giter Site home page Giter Site logo

workliulin / gender_age_estimation_mxnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wayen820/gender_age_estimation_mxnet

0.0 1.0 0.0 42.35 MB

This is a mxnet version implementation of SSR-Net for age and gender Estimation

Python 99.30% Shell 0.70%

gender_age_estimation_mxnet's Introduction

gender_age_estimation_mxnet

[IJCAI18] SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation

  • A real-time age estimation model with 170KB.
  • Gender regression is included
  • Megaage-Asian age regression is included

This is a mxnet version implementation of SSR-Net for age and gender Estimation,Keras version in here https://github.com/shamangary/SSR-Net ,but we get better accuracy.

Real-time webcam demo

Paper

PDF

https://github.com/wayen820/gender_age_estimation_mxnet/blob/master/ssr.pdf

Paper authors

Tsun-Yi Yang, Yi-Husan Huang, Yen-Yu Lin, Pi-Cheng Hsiu, and Yung-Yu Chuang

Abstract

This paper presents a novel CNN model called Soft Stagewise Regression Network (SSR-Net) for age estimation from a single image with a compact model size. Inspired by DEX, we address age estimation by performing multi-class classification and then turning classification results into regression by calculating the expected values. SSR-Net takes a coarse-to-fine strategy and performs multi-class classification with multiple stages. Each stage is only responsible for refining the decision of the previous stage. Thus, each stage performs a task with few classes and requires few neurons, greatly reducing the model size. For addressing the quantization issue introduced by grouping ages into classes, SSR-Net assigns a dynamic range to each age class by allowing it to be shifted and scaled according to the input face image. Both the multi-stage strategy and the dynamic range are incorporated into the formulation of soft stagewise regression. A novel network architecture is proposed for carrying out soft stagewise regression. The resultant SSR-Net model is very compact and takes only 0.32 MB. Despite of its compact size, SSR-Net’s performance approaches those of the state-of-the-art methods whose model sizes are more than 1500x larger.

Accuracy Comparisions

Platform

  • Python3
  • Mxnet
  • GTX-1080Ti
  • Ubuntu

Codes

There are three different section of this project.

  1. Data pre-processing
  2. Training
  3. Model modification and Test

We will go through the details in the following sections.

1. Data pre-processing

cd ./src/data
python3 ./process_data_wiki_imdb.py --rootpath ~/data/imdb_crop --outputpath ../../datasets/imdb
python3 ./process_data_wiki_imdb.py --rootpath ~/data/wiki_crop --outputpath ../../datasets/wiki
python3 ./process_data_mege_asia.py --rootpath ~/data/megaage/megaage_asian/train --agefile ~/data/megaage/megaage_asian/list/train_age.txt --namefile ~/data/megaage/megaage_asian/list/train_name.txt --saveprefix ../../datasets/megaage/train
python3 ./process_data_mege_asia.py --rootpath ~/data/megaage/megaage_asian/test --agefile ~/data/megaage/megaage_asian/list/test_age.txt --namefile ~/data/megaage/megaage_asian/list/test_name.txt --saveprefix ../../datasets/megaage/test

2. Training

For Age Train,first train on imdb ,then fine tune on wiki and megaage-asia

cd ./src
./train_ssr_adam.sh

For gender Train,train on imdb directly

cd ./src
./train_ssr_adam_gender.sh

3. Model modification and Test

Some inference frameworks like ncnn do not support arange ops,but we need stage_num parameter,so we use them as input. if you do not want deploy,you don't need do this. model modification please reference ./src/deploy/model_slim_gender.py and ./src/deploy/model_slim_age.py.I have provided pre-trained model in models directory,you can use it directly.

Test from web camera:

cd ./src/deploy/
python3 ./test.py

gender_age_estimation_mxnet's People

Contributors

wayen820 avatar

Watchers

James Cloos 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.