tjy/AgeAndGender/README.md

1.9 KiB
Raw Permalink Blame History

基于视觉的年龄性别预测系统

该项目是一个基于图像的年龄和性别预测系统。它使用ResNet50模型在MegaAge-Asian数据集上进行训练,然后可以从摄像头输入的视频中检测人脸,并为每个检测到的人脸预测年龄、性别和年龄组。

文件结构

  • AgeGenderPredictor.py: 包含年龄性别预测模型的加载、预处理和推理逻辑。
  • megaage_model_epoch99.pth: 在MegaAge-Asian数据集上训练的模型权重文件。

使用方法

  1. 确保已安装所需的Python库,包括opencv-pythontorchtorchvisionPillow
  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. 可视化: 在视频帧上绘制人脸矩形框,并显示预测的性别、年龄和年龄组信息。