tjy/AgeAndGender/README.md

33 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

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