年龄性别识别调研

1. 论文和代码

1.0. DEX: Deep EXpectation of apparent age from a single image

paper: https://www.cv-foundation.org/openaccess/content_iccv_2015_workshops/w11/html/Rothe_DEX_Deep_EXpectation_ICCV_2015_paper.html
贡献:开源 IMDB-WIKI 数据集;将年龄估计的结果由分类改进为 一个回归值,即 概率*类别 求和,该结果比单独分类、回归精度高很多;提出了一种新的人脸矫正方法。
来源:苏黎世联邦理工学院 ICCV 2015
参考:https://blog.csdn.net/hanjiangxue_wei/article/details/79718833
image

1.1. Rude Carnie: Age and Gender Deep Learning with TensorFlow

paper:https://talhassner.github.io/home/projects/cnn_agegender/CVPR2015_CNN_AgeGenderEstimation.pdf
贡献:使用 CNN 来做年龄性别预测。
time: 2015
来源:以色列开放大学
dataset: Adience
开源:https://github.com/dpressel/rude-carnie (Tensorflow)
模型:inception_v3、levi_hassner_bn、levi_hassner(CNN)
原理:基于人脸,需要先做人脸检测。Do face detection and age and gender classification on pictures.

paper 中的网络架构图:

image

2015 年的模型确实很早。论文中采用的方法是把年龄划分为多个年龄段,每个年龄段相当于一个类别,然后转化成一个多分类的问题。对于年龄的识别,论文中仅仅有8个年龄段,相当于一个 8分类模型 。上图是论文中方法的网络结构,网络包含3个卷积层,还有2个全连接层。

在训练网络的过程中,作者还应用了两种额外的方法来进一步限制过度拟合的风险。第一个是 dropout (即随机设置网络神经元的输出值为零)。该网络包括两个 dropout 层,丢失率为 0.5(将神经元的输出值设为零的几率为 50%)。

第二个是使用数据增强技术,从 256×256 的输入图像中随机抽取 227×227 个像素,并在每个前后训练过程中随机镜像。这与使用的多种裁剪和镜像变体类似。

1.2. FairFace: Face Attribute Dataset for Balanced Race, Gender, and Age

paper:https://openaccess.thecvf.com/content/WACV2021/papers/Karkkainen_FairFace_Face_Attribute_Dataset_for_Balanced_Race_Gender_and_Age_WACV_2021_paper.pdf
贡献:提出了一个新的平衡种族、性别和年龄的人脸图像数据集。
time: 2021
来源:加州大学洛杉矶分校
dataset: 提出的新的数据集 FairFace,种族平衡。
开源:https://github.com/dchen236/FairFace (Pytorch)
模型:resnet34
原理:基于人脸,需要先做人脸检测。

1.3. DAGER: Deep Age, Gender and Emotion Recognition Using Convolutional Neural Network

paper:https://arxiv.org/pdf/1702.04280v2.pdf
贡献:提出了一个年龄、性别和情感识别系统。
time: 2017
来源:Sighthound Inc.
dataset: 自己的 large datasets for age, emotion and gender recognition。
开源:https://github.com/CVxTz/face_age_gender (Tensorflow),该开源使用 Adience 数据集,包含该论文的模型。
模型:开源代码包含:上面的模型1、https://www.openu.ac.il/home/hassner/Adience/EidingerEnbarHassner_tifs.pdf 以及 该论文的模型。还是 Resnet。
原理:基于人脸,需要先做人脸检测。

[Male, Female]

(0–2, 4–6, 8–13, 15–20, 25–32, 38–43, 48–53, 60-)

1.4. agegenderLMTCNN

paper:https://arxiv.org/pdf/1806.02023v1.pdf
贡献:轻量级多任务CNN,用于同时进行年龄和性别分类。使用 Depthwise Separable Convolution。主要是用到移动端。
time: 2018
来源:中央研究院信息科学研究所,台北
dataset: Adience
开源:https://github.com/ivclab/agegenderLMTCNN (tensorflow)
模型:Depthwise Separable Convolution
原理:基于人脸,需要先做人脸检测。

paper 架构图:

image

1.5. RetinaFace + ArcFace + MLP + Skip connections

paper:https://arxiv.org/pdf/2108.08186v2.pdf
贡献:MLP with IC layers 来进行 年龄分类。
time: 2021
来源: 阿姆斯特丹自由大学
dataset: IMDB-WIKI(用于调整超参数和模型预训练)、Adience(最终的数据集)
开源:https://github.com/tae898/age-gender (pytorch )
模型:改进的 MLPs。
原理:使用 Retinaface 得到 bbox 和 five facial landmarks,使用仿射变换(减小数据大小和噪音),图像变成: 112 × 112 × 3 pixel 人脸(对齐的),然后使用 Arcface 获得 512-d 特征,送到 MLPs 中性别和年龄分类。

pretrain three MLPs with the IMDB-WIKI dataset:

  1. 2-class gender classification.
  2. 8-class age classification(The 101 age categories are converted to the 8 categories by projecting them to the nearest numbers of the Adience dataset.)
  3. 101-class age classification.

fine-tune the models on the Adience dataset。

image

1.6. Moving Window Regression: A Novel Approach to Ordinal Regression

paper:https://arxiv.org/pdf/2203.13122.pdf
贡献:提出了一种新的有序回归算法——移动窗口回归(MWR)算法进行年龄估计
time: CVPR 2022
来源:韩国大学
dataset: MORPH II , FG-NET, CLAP2015 , UTK,
CACD, Adience, 和 IMDB-WIKI.
开源:https://github.com/nhshin-mcl/MWR (pytorch )
模型:ρ-regressor
原理:MTCNN 做人脸检测,然后人脸对齐,然后使用本文提出来的算法。

paper 架构图:

image

1.7. 一个新的损失函数:Balanced MSE

来源:CVPR 2022 (Oral)
开源:https://github.com/jiawei-ren/BalancedMSE
论文:https://arxiv.org/pdf/2203.16427.pdf
贡献:解决 MSE 无法处理不平衡回归问题,提出了 Balanced MSE 。

1.8. C3AE 轻量级年龄估计模型

来源:旷世,CVPR2019
开源:https://github.com/StevenBanama/C3AE(非官方)
论文:https://arxiv.org/pdf/1904.05059.pdf
论文翻译:https://blog.csdn.net/weixin_41770169/article/details/91975492
贡献:小模型性能不输大模型。使用 64*64 作为模型输入。
数据集:IMDB-WIKI(只用于模型预训练),Morph II 和 FG-NET

image

1.9. SSR-Net: 一个小型的 软分段回归网络 用于年龄估计

原始题目: SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation
中文名称: SSR-Net: 一个小型的 软分段回归网络 用于年龄估计
发表时间: 2018年7月13日
平台: IJCAI-18
来源: 台湾中央研究院、国立台湾大学
文章链接: https://www.ijcai.org/proceedings/2018/0150.pdf
开源代码: https://github.com/shamangary/SSR-Net (官方实现)
https://github.com/b02901145/SSR-Net_megaage-asian
https://github.com/oukohou/SSR_Net_Pytorch

image

1.10. DLDL-v2

原始题目: Age Estimation Using Expectation of Label Distribution Learning
paper:https://arxiv.org/pdf/2007.01771v1.pdf
贡献: 1. 分析了RankingCNN与DLDL(标签分布)的关系,证明了RankingCNN就是在隐式的学习DLDL,并将CNN统一到了DLDL;2. 提出了一种端到端的学习框架,在特征学习和分类器学习中,利用相邻标签间的相关信息联合学习标签分布,回归单个标签的基本真值;3. 设计了一个轻量级的网络体系结构,减少了参数量,加快了推理速度,提高了精度。
time: IJCAI 2018
来源:腾讯
dataset: ChaLearn
开源:https://github.com/gaobb/DLDL-v2 (pytorch)
论文解读: https://zhuanlan.zhihu.com/p/387454296

image

2. 开源库

2.1. deepface

image

image

开源:https://github.com/serengil/deepface
说明:Age model got ± 4.65 MAE; gender model got 97.44% accuracy, 96.29% precision and 95.05% recall as mentioned in its tutorial.
框架:keras
说明:https://sefiks.com/2019/02/13/apparent-age-and-gender-prediction-in-keras/
模型: VGG-Face model
思路:分为 101 类(0-100),数据清洗要把 大于100的限制到 100 内。

2.2. yu4u/age-gender-estimation

实现1:https://github.com/yu4u/age-gender-estimation(keras,多任务输出即同时输出年龄(分101类即0-100)和性别 2 类)
数据集:IMDB-WIKI dataset 和 UTKFace dataset 用于模型训练, APPA-REAL dataset 用于模型验证。
类似项目:https://github.com/tamnguyenvan/age-gender-estimation(Tensorflow)

features = base_model.output
pred_gender = Dense(units=2, activation="softmax", name="pred_gender")(features)
pred_age = Dense(units=101, activation="softmax", name="pred_age")(features)
model = Model(inputs=base_model.input, outputs=[pred_gender, pred_age])

最终的年龄结果同 deepface 的加权求和。

实现2:https://github.com/yu4u/age-estimation-pytorch
框架:pytorch
细节:只有年龄估计,输出为 101 类,最终年龄计算如上。
数据集:只支持APPA-REAL dataset,用于训练和验证,其他下载地址:https://www.kaggle.com/datasets/abhikjha/appa-real-face-cropped
The APPA-REAL database contains 7,591 images with associated real and apparent age labels. The total number of apparent votes is around 250,000. On average we have around 38 votes per each image and this makes the average apparent age very stable (0.3 standard error of the mean).

2.3. Insightface

开源:Insightface
数据集:CelebA
细节:只有年龄估计
模型:MobileNet-0.25


其他仓库

https://github.com/vladmandic/human

可以关注: DLDL 和 DLDL-v2 和 SSRNET 模型。

数据集:

Appa Real Face Cropped
https://www.kaggle.com/datasets/abhikjha/appa-real-face-cropped

其他参考资料:

【1】https://blog.csdn.net/zzccxx5/article/details/108111967

【2】https://www.zhihu.com/question/519236201

【3】年龄估计

【4】年龄估计文章合集

posted @ 2022-10-24 00:09  Zenith_Hugh  阅读(19)  评论(0)    收藏  举报