PEAandDA ff11a09b8b | ||
---|---|---|
.. | ||
AgeGenderPredictor.py | ||
README.md |
README.md
基于视觉的年龄性别预测系统
该项目是一个基于图像的年龄和性别预测系统。它使用ResNet50模型在MegaAge-Asian数据集上进行训练,然后可以从摄像头输入的视频中检测人脸,并为每个检测到的人脸预测年龄、性别和年龄组。
文件结构
AgeGenderPredictor.py
: 包含年龄性别预测模型的加载、预处理和推理逻辑。megaage_model_epoch99.pth
: 在MegaAge-Asian数据集上训练的模型权重文件。
使用方法
- 确保已安装所需的Python库,包括
opencv-python
、torch
、torchvision
和Pillow
。 - 运行
AgeGenderPredictor.py
脚本。 - 脚本将打开默认摄像头,开始人脸检测和年龄性别预测。
- 检测到的人脸周围会用矩形框标注,并显示预测的性别、年龄和年龄组信息。
- 按
q
键退出程序。
模型介绍
该项目使用ResNet50作为基础模型,对MegaAge-Asian数据集进行训练,以预测人脸图像的年龄和性别。最终模型输出包含3个值,分别对应男性概率、女性概率和估计年龄值。
MegaAge-Asian数据集
MegaAge-Asian是一个大规模的人脸图像数据集,由商汤发布,总数有40000张图像。数据集中的图像包含了不同年龄和性别的亚洲人脸,年龄范围从1岁到70岁。
算法流程
- 人脸检测: 使用OpenCV内置的Haar级联人脸检测器在视频帧中检测人脸。
- 预处理: 对检测到的人脸图像进行缩放、裁剪和标准化等预处理,以满足模型的输入要求。
- 推理: 将预处理后的图像输入到预训练的ResNet50模型中,获得性别概率和年龄值的预测结果。
- 后处理: 根据性别概率确定性别标签,将年龄值映射到具体的年龄组。
- 可视化: 在视频帧上绘制人脸矩形框,并显示预测的性别、年龄和年龄组信息。