性别检测识别、年龄检测识别

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


有一组照片,分为男人和女人,让深度学习模型来学习这些样本,并能够找到其中的规律,完成模型的训练。接着可以使用该模型对图片中的人物进行识别,区分其性别是男还是女。 使用了一个NASNet_A_Mobile的模型来做二次训练。具体过程分为4步: (1)准备样本; (2)准备NASNet_A_Mobile网络模型; (3)编写代码进行二次训练; (4)使用已经训练好的模型进行测试。

下载CelebA数据集: 下载完之后,解压,并手动分出一部分男人与女人的照片。 在本例中,一共用了20000张图片用来训练模型,其中训练样本由8421张男性头像和11599张女性头像构成(在train文件夹下),测试样本由10张男性头像和10张女性头像构成(在val文件夹下)。部分样本数据如图:http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html

CelebA是CelebFaces Attribute的缩写,意即名人人脸属性数据集,其包含10,177个名人身份的202,599张人脸图片,每张图片都做好了特征标记,包含人脸bbox标注框、5个人脸特征点坐标以及40个属性标记,CelebA由香港中文大学开放提供,广泛用于人脸相关的计算机视觉训练任务,可用于人脸属性标识训练、人脸检测训练以及landmark标记等。

点击任何一个链接都会进入如下dropbox目录: Anno是bbox、landmark及attribute注释文件,Eval是training、validation及testing数据集的划分注释,Img则是存放相应的人脸图像,README.txt是CelebA介绍文件;

通过阅读README.txt了解到每一部分代表的含义: - In-The-Wild Images (Img/img_celeba.7z) 202,599张原始“野生”人脸图像,从网络爬取未有做任何裁剪缩放操作的人脸图像; - Align&Cropped Images (Img/img_align_celeba.zip & Img/img_align_celeba_png.7z) 202,599张经过人脸对齐和裁剪了的图像,视情况下载对应不同质量的图像即可,一般选择jpg格式才1G多的img_align_celeba.zip文件;

- Bounding Box Annotations (Anno/list_bbox_celeba.txt) bounding box标签,即人脸标注框坐标注释文件,包含每一张图片对应的bbox起点坐标及其宽高,如下:

- Landmarks Annotations (Anno/list_landmarks_celeba.txt & Anno/list_landmarks_align_celeba.txt)

5个特征点landmark坐标注释文件, list_landmarks_align_celeba.txt则是对应人脸对齐后的landmark坐标;

- Attributes Annotations (Anno/list_attr_celeba.txt)

40个属性标签文件,第一行为图像张数,第二行为属性名,有该属性则标记为1,否则标记为-1;

CelebA的40个属性的理解:

5_o_Clock_Shadow:刚长出的双颊胡须
Arched_Eyebrows:柳叶眉
Attractive:吸引人的
Bags_Under_Eyes:眼袋
Bald:秃头
Bangs:刘海
Big_Lips:大嘴唇
Big_Nose:大鼻子
Black_Hair:黑发
Blond_Hair:金发
Blurry:模糊的
Brown_Hair:棕发
Bushy_Eyebrows:浓眉
Chubby:圆胖的
Double_Chin:双下巴
Eyeglasses:眼镜
Goatee:山羊胡子
Gray_Hair:灰发或白发
Heavy_Makeup:浓妆
High_Cheekbones:高颧骨
Male:男性
Mouth_Slightly_Open:微微张开嘴巴
Mustache:胡子,髭
Narrow_Eyes:细长的眼睛
No_Beard:无胡子
Oval_Face:椭圆形的脸
Pale_Skin:苍白的皮肤
Pointy_Nose:尖鼻子
Receding_Hairline:发际线后移
Rosy_Cheeks:红润的双颊
Sideburns:连鬓胡子
Smiling:微笑
Straight_Hair:直发
Wavy_Hair:卷发
Wearing_Earrings:戴着耳环
Wearing_Hat:戴着帽子
Wearing_Lipstick:涂了唇膏
Wearing_Necklace:戴着项链
Wearing_Necktie:戴着领带
Young:年轻人
- Identity Annotations (available upon request)
10,177个名人身份标识,图片的序号即是该图片对应的标签;

- Evaluation Partitions (Eval/list_eval_partition.txt)
用于划分为training,validation及testing等数据集的标签文件,标签0对应training,标签1对应validation,标签2对应testing;
1. 下载models与部署TensorFlow slim模块
2. 下载NASNet_A_Mobile模型
 3. 整体代码文件部署结构及描述如下:
l mydataset.py:处理男女图片数据集的代码;
l model.py:加载预编译模型NASNet_A_Mobile,并进行微调的代码;
l train.py:训练模型的代码;
l test.py:测试模型的代码。 
1,分别为自选图片、测试数据集中的女人图片、测试数据集中的男人图片,每张图片下面显示了模型识别的结果,可以看到结果与图片内容一致。
2,年龄测试同样发现可以预计出年龄的大致情况,但是,后期提高准确率,可以以预测年龄区间为主。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

あずにゃん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值