2301_77184645 2024-01-30 13:21 采纳率: 0%
浏览 27
已结题

yolo v5 人脸检测 Widerface数据集 map低

哥,您的这篇帖子《人脸与关键点检测:YOLO5Face实战》。我是就简单人脸检测,不带关键点的,然后数据集也是Wider face。我和您第二部分差不多,运行train.py之后,mAP@0.5还只有百分之75左右。

img

但您到第三部分测试的时候,到test部分直接hard百分之80多了,easy和medium部分甚至百分之90。

img

因为我看很多文献也是 和我一样也用的yolov5s,数据也是wider face,但是他们的map在hard上都百分之八九十的。

img

但我怎么跑都只有百分之75上下。

img


results.png

我个人想法是 会不会是在test部分 wider face数据有一个专门的测试方法,还是说专门测试的数据集变简单了,还是说评估模型的指标我看您写的是ap而不是mAP@0.5了,是不是指标也发生改变了。

实在是不能理解 ,全网如果有uu们方便的话,可以帮我看看嘛,我有偿支付您。实在是百思不得其解 困扰我的很。。

联系方式:Kj_water

  • 写回答

21条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-01-30 13:22
    关注
    获得0.60元问题酬金

    引自免费微信小程序:皆我百晓生

    根据您提供的信息,您在使用YOLOv5训练人脸检测模型时,在WiderFace数据集上遇到了mAP@0.5仅为71.5%的问题,而文献和一些案例中提到的性能要高得多。这里有几个可能的原因:

    1. 训练参数调整:YOLOv5在不同的训练配置下(如学习率、批次大小、训练轮数等)可能会有不同的收敛效果。确保您使用的超参数与文献中或其他高性能实现相匹配。

    2. 预训练权重:初始权重的选择对模型的最终性能有显著影响。某些研究者可能从COCO等大型数据集预训练的模型开始微调,这有助于提升在特定任务上的表现。

    3. 数据增强:有效的数据增强策略能够提高模型泛化能力。检查您的训练脚本是否采用了随机翻转、旋转、缩放等多种增强方式来增加训练样本多样性。

    4. Anchor尺寸优化:对于YOLOv5来说,Anchor boxes的尺寸和数量对目标检测准确性至关重要。文献中提到的YOLOv5s改进版本通过修改Anchor参数提升了性能。

    5. 注意力机制或其它改进:如SElayer这样的注意力模块可以提升特征表示能力。如果您未采用这些改进,模型性能可能会受限。

    6. 评估指标:确保在测试阶段使用了正确的平均精度平均值(mAP),且阈值设置正确。WiderFace数据集通常报告的是在不同IoU阈值下的mAP,包括mAP@0.5:0.95以及各个难度级别的mAP。

    7. 训练集/验证集划分:确认您使用的训练/验证集划分与文献中的实验保持一致,以免因数据分布不均导致结果差异。

    8. 代码实现问题:仔细检查训练和测试过程中的代码逻辑,确保损失函数计算、后处理(非极大值抑制NMS)、指标计算等环节无误。

    建议您可以按照以下步骤排查并尝试改进:

    • 确认训练参数和模型结构与文献所述一致。
    • 尝试使用预训练权重并在该基础上进行微调。
    • 强化数据增强策略。
    • 考虑优化Anchor参数或引入注意力机制。
    • 在评估阶段确保计算mAP的方式与基准一致。

    由于无法提供实际代码,但可以给出一个简化的示例来说明如何检查和调整训练参数:

    # 检查并设定训练参数
    cfg = yaml.safe_load(open('path/to/yolov5/config.yaml'))  # 加载配置文件
    cfg['model']['anchors'] = [...]  # 确保Anchor尺寸正确
    cfg['hyp']['lr0'] = ...  # 学习率初始化
    cfg['epochs'] = ...  # 训练轮数
    cfg['data']['augment'] = [...]  # 数据增强策略
    
    # 使用预训练权重启动训练
    weights = 'path/to/pretrained_weights.pt'
    !python train.py --cfg path/to/yolov5/config.yaml --weights {weights} --data data.yaml --img-size 640 --batch-size 16 --device 0
    
    # 测试模型性能
    weights_best = 'path/to/best_model.pt'  # 最优模型权重文件
    !python test.py --weights {weights_best} --data data.yaml --iou-thres 0.5 --task val --save-json
    
    

    请根据实际情况替换上述代码中的路径和参数。同时,查阅相关文献及GitHub项目中的源码和配置文件,以获得更具体的指导。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 2月7日
  • 创建了问题 1月30日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 ARIMA模型时间序列预测用pathon解决
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)