All Projects → ivclab → agegenderLMTCNN

ivclab / agegenderLMTCNN

Licence: MIT license
Jia-Hong Lee, Yi-Ming Chan, Ting-Yen Chen, and Chu-Song Chen, "Joint Estimation of Age and Gender from Unconstrained Face Images using Lightweight Multi-task CNN for Mobile Applications," IEEE International Conference on Multimedia Information Processing and Retrieval, MIPR 2018

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to agegenderLMTCNN

NeuralMerger
Yi-Min Chou, Yi-Ming Chan, Jia-Hong Lee, Chih-Yi Chiu, Chu-Song Chen, "Unifying and Merging Well-trained Deep Neural Networks for Inference Stage," International Joint Conference on Artificial Intelligence (IJCAI), 2018
Stars: ✭ 20 (-48.72%)
Mutual labels:  multi-task-learning, efficient-inference
CPG
Steven C. Y. Hung, Cheng-Hao Tu, Cheng-En Wu, Chien-Hung Chen, Yi-Ming Chan, and Chu-Song Chen, "Compacting, Picking and Growing for Unforgetting Continual Learning," Thirty-third Conference on Neural Information Processing Systems, NeurIPS 2019
Stars: ✭ 91 (+133.33%)
Mutual labels:  multi-task-learning, age-gender-cnn
temporal-depth-segmentation
Source code (train/test) accompanying the paper entitled "Veritatem Dies Aperit - Temporally Consistent Depth Prediction Enabled by a Multi-Task Geometric and Semantic Scene Understanding Approach" in CVPR 2019 (https://arxiv.org/abs/1903.10764).
Stars: ✭ 20 (-48.72%)
Mutual labels:  multi-task-learning
OmiEmbed
Multi-task deep learning framework for multi-omics data analysis
Stars: ✭ 16 (-58.97%)
Mutual labels:  multi-task-learning
mtlearn
Multi-Task Learning package built with tensorflow 2 (Multi-Gate Mixture of Experts, Cross-Stitch, Ucertainty Weighting)
Stars: ✭ 45 (+15.38%)
Mutual labels:  multi-task-learning
Mask-YOLO
Inspired from Mask R-CNN to build a multi-task learning, two-branch architecture: one branch based on YOLOv2 for object detection, the other branch for instance segmentation. Simply tested on Rice and Shapes. MobileNet supported.
Stars: ✭ 100 (+156.41%)
Mutual labels:  multi-task-learning
deep recommenders
Deep Recommenders
Stars: ✭ 214 (+448.72%)
Mutual labels:  multi-task-learning
Pytorch-PCGrad
Pytorch reimplementation for "Gradient Surgery for Multi-Task Learning"
Stars: ✭ 179 (+358.97%)
Mutual labels:  multi-task-learning
emmental
A deep learning framework for building multimodal multi-task learning systems.
Stars: ✭ 93 (+138.46%)
Mutual labels:  multi-task-learning
PCC-Net
PCC Net: Perspective Crowd Counting via Spatial Convolutional Network
Stars: ✭ 63 (+61.54%)
Mutual labels:  multi-task-learning
MNIST-multitask
6️⃣6️⃣6️⃣ Reproduce ICLR '18 under-reviewed paper "MULTI-TASK LEARNING ON MNIST IMAGE DATASETS"
Stars: ✭ 34 (-12.82%)
Mutual labels:  multi-task-learning
DeepSegmentor
A Pytorch implementation of DeepCrack and RoadNet projects.
Stars: ✭ 152 (+289.74%)
Mutual labels:  multi-task-learning
torchMTL
A lightweight module for Multi-Task Learning in pytorch.
Stars: ✭ 84 (+115.38%)
Mutual labels:  multi-task-learning
multi-task-learning
Multi-task learning smile detection, age and gender classification on GENKI4k, IMDB-Wiki dataset.
Stars: ✭ 154 (+294.87%)
Mutual labels:  multi-task-learning
Mt Dnn
Multi-Task Deep Neural Networks for Natural Language Understanding
Stars: ✭ 1,871 (+4697.44%)
Mutual labels:  multi-task-learning
Multi-task-Conditional-Attention-Networks
A prototype version of our submitted paper: Conversion Prediction Using Multi-task Conditional Attention Networks to Support the Creation of Effective Ad Creatives.
Stars: ✭ 21 (-46.15%)
Mutual labels:  multi-task-learning
Fine-Grained-or-Not
Code release for Your “Flamingo” is My “Bird”: Fine-Grained, or Not (CVPR 2021 Oral)
Stars: ✭ 32 (-17.95%)
Mutual labels:  multi-task-learning
amta-net
Asymmetric Multi-Task Attention Network for Prostate Bed Segmentation in CT Images
Stars: ✭ 26 (-33.33%)
Mutual labels:  multi-task-learning
DS-Net
(CVPR 2021, Oral) Dynamic Slimmable Network
Stars: ✭ 204 (+423.08%)
Mutual labels:  efficient-inference
HyperFace-TensorFlow-implementation
HyperFace
Stars: ✭ 68 (+74.36%)
Mutual labels:  multi-task-learning

agegenderLMTCNN

Official implementation of Joint Estimation of Age and Gender from Unconstrained Face Images using Lightweight Multi-task CNN for Mobile Applications

Created by Jia-Hong Lee, Yi-Ming Chan,Ting-Yen Chen, Chu-Song Chen

Introduction

Automatic age and gender classification based on unconstrained images has become essential techniques on mobile devices. With limited computing power, how to develop a robust system becomes a challenging task. In this paper, we present an efficient convolutional neural network (CNN) called lightweight multi-task CNN for simultaneous age and gender classification. Lightweight multi-task CNN uses depthwise separable convolution to reduce the model size and save the inference time. On the public challenging Adience dataset, the accuracy of age and gender classification is better than baseline multi-task CNN methods.

Citing Paper

If you find our works useful in your research, please consider citing:

@inproceedings{lee2018joint,
title={Joint Estimation of Age and Gender from Unconstrained Face Images using Lightweight Multi-task CNN for Mobile Applications},
author={Lee, Jia-Hong and Chan, Yi-Ming and Chen, Ting-Yen and Chen, Chu-Song},
booktitle={2018 IEEE Conference on Multimedia Information Processing and Retrieval (MIPR)},
pages={162--165},
year={2018},
organization={IEEE}
}

Prerequisition

  • Python 2.7
  • Numpy
  • OpenCV
  • TensorFlow 1.2.0 ~ 1.5.0
$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.0-cp27-none-linux_x86_64.whl

Usage

  1. Clone the agegenderLMTCNN repository:
$ git clone --recursive https://github.com/ivclab/agegenderLMTCNN.git
  1. Download Adience Dataset:
$ python download_adiencedb.py
  1. Split raw data into training set, validation set and testing set per fold for five-fold cross validation. this project have been generated this txt files in DataPreparation/FiveFolds/train_val_test_per_fold_agegender. if you want to generate the new one, you can utilize the following command:
$ python datapreparation.py \
	--inputdir=./adiencedb/aligned \
	--rawfoldsdir=./DataPreparation/FiveFolds/original_txt_files \
	--outfilesdir=./DataPreparation/FiveFolds/train_val_test_per_fold_agegender
  1. Pre-process raw data to generate tfrecord files of training set, validation set and testing set in tfrecord directory:
$ python multipreproc.py \
	--fold_dir ./DataPreparation/FiveFolds/train_val_test_per_fold_agegender \
	--data_dir ./adiencedb/aligned \
	--tf_output_dir ./tfrecord \

or you can download tfrecord files which have been generated:

$ python download_tfrecord.py

or you can download the tfrecord files on OneDrive

  1. Train LMTCNN model or Levi_Hassner model. Trained models will store in models directory:
# five-fold LMTCNN model for age and gender tasks 
$ ./script/trainfold1_best.sh ~ $ ./script/trainfold5_best.sh 

# five-fold Levi_Hassner model for age task
$ ./script/trainagefold1.sh ~ $ ./script/trainagefold5.sh

# five-fold Levi_Hassner model for gender task
$ ./script/traingenderfold1.sh ~ $ ./script/traingenderfold5.sh

or you can download model files which have been generated:

$ python download_model.py

or you can download the model files on OneDrive

  1. Evalate LMTCNN model or Levi_Hassner models. Result will be store in results directory:
# five-fold LMTCNN model for age and gender tasks 
$ ./script/evalfold1_best.sh ~ $ ./script/evalfold5_best.sh 

# five-fold Levi_Hassner model for age task
$ ./script/evalagefold1.sh ~ $ ./script/evalagefold5.sh

# five-fold Levi_Hassner model for gender task
$ ./script/evalgenderfold1.sh ~ $ ./script/evalgenderfold5.sh
  1. Inference aligned facial image and generate frozen model files(.pb file) which model size are illustrated in the paper. The frozen model files(.pb file) are stored in model directory:
# five-fold LMTCNN model for age and gender tasks 
$ ./script/inference1_best.sh ~ $ ./script/inference5_best.sh 

# five-fold Levi_Hassner model for age task
$ ./script/inferenceage1.sh ~ $ ./script/inferenceage5.sh

# five-fold Levi_Hassner model for gender task
$ ./script/inferencegender1.sh ~ $ ./script/inferencegender5.sh
  1. Deploying frozen model (.pb file) in Android devices. please refer the androidversion directory.

Reference Resources

rude-carnie

Age and Gender Classification using Convolutional Neural Networks(https://www.openu.ac.il/home/hassner/projects/cnn_agegender/)

AgeGenderDeepLearning

MTCNN

Contact

Please feel free to leave suggestions or comments to Jia-Hong Lee([email protected]), Yi-Ming Chan ([email protected]), Ting-Yen Chen ([email protected]) ,Chu-Song Chen ([email protected])

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].