Using conv network to classify gender and age.
In paper Age and Gender Classification using Convolutional Neural Networks, author come up a model of conv netowrk to estimate gender and age.
I reproduce their work in tensorflow and make some improvment.
Dataset: Adience Benchmark. About 20k images, 2 categories in gender, 8 categories in age.
- reproduce their work(called model_origin later)
- using other networks, such as inception-like, resnet-like
- using bathnormalization, change activation function
- using pre-trained VGG face network and fine tune fully connected layers
model_origin get 85.9% accuracy in gender and 49.5% in age.
Replacing the model_origin with inception-like/resnet-like netowork don't get significant improvement. Using selu as the activation function can get 2% improvement in gender estimation.
VGG face network is a network for face recogniton, I use it as a face feature extractor. It is a good base model. Using pre-trained conv layers of VGG face network and fine-tuning fully connected layers gets 91% accuracy in gender and 55% in age.
You get get pre-trained VGG face network weight here
Multi-cropping can get a little improvement but consuming more time.
- merge gender and age estimation to one graph
- upload yolo-face detection code