尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

新手必懂:YOLOv7 中 mAP@0.5 与 mAP@0.5:0.95 两个指标该如何选

新手必懂:YOLOv7 中 mAP@0.5 与 mAP@0.5:0.95 两个指标该如何选 新手必懂YOLOv7 中 mAP0.5 与 mAP0.5:0.95 两个指标该如何选【免费下载链接】yolov7Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors项目地址: https://gitcode.com/GitHub_Trending/yo/yolov7在 YOLOv7 项目里跑 test.py 做目标检测评估结果总会同时给出 mAP0.5 和 mAP0.5:0.95 两个数值。新手到底该看哪个本文先给结论再拆原理最后带你完整跑一遍评估。两个 mAP 指标怎么选结论先行一句话白话结论两个数值度量的是同一个模型但标准不同——mAP0.5 管找没找到mAP0.5:0.95 管框得准不准。对比维度mAP0.5mAP0.5:0.95IoU 阈值仅 0.5 一个0.5 起、步长 0.05共 10 个计算方式单次 AP按类取平均10 个阈值各算一次 AP 再平均侧重点召回能力目标能否检出定位质量框是否贴紧数值特点偏高波动较大偏低更稳定适用场景快速验证、实时部署模型对比、论文评估、质检选型建议工程部署以 mAP0.5 为主论文与模型对比看 mAP0.5:0.95只盯一个数就盯后者。为什么一个是单科分、一个是平均分原理拆解用投靶比赛打比方IoU预测框与真实框的重合程度重合越多越算命中。AP单个类别的成绩单。把所有预测按置信度排序逐档看命中率精确率与覆盖率召回率PR 曲线下的面积就是这个类的 AP。mAP各类别 AP 的平均代表模型整体水平。两个指标的区别只在裁判松紧mAP0.5IoU≥0.5 即算命中好比只要求镖落在靶面附近门槛松、分数偏高主要反映找没找到。mAP0.5:0.95裁判从 0.5 到 0.95 按 0.05 递进把 10 档标准各打一轮再取 10 轮均分定位不准就会掉链子。# test.py L225-L226两个指标出自同一个 AP 矩阵 ap50, ap ap[:, 0], ap.mean(1) # 取第1列得 AP0.510列平均得 AP0.5:0.95 mp, mr, map50, map p.mean(), r.mean(), ap50.mean(), ap.mean()代码佐证两个 mAP 的诞生位置test.py 负责编排L78用iouv torch.linspace(0.5, 0.95, 10)生成 10 个 IoU 阈值匹配阶段预测框需逐一与各阈值比对超过才算 TPL202-L207L233一次打印mp, mr, map50, map四个值L237逐类别输出各自的 AP。utils/metrics.py 负责打分入口函数ap_per_class定义于L18L60得到精确率曲线L64-L65对 10 个阈值逐个调用compute_ap求出 APL81的compute_ap带有v5_metric参数决定积分口径走 YOLOv7 默认还是 YOLOv5 风格。按场景选型部署、论文、质检、迭代实时部署deploy/triton-inference-server/ 这类服务端在资源受限场景上线前用 mAP0.5 把关更务实分数上涨通常直接意味着路上少漏检。学术对比paper/yolov7.pdf 的评估表比的就是 mAP0.5:0.95 一列写论文时必须与对比对象同标准。工业质检零件缺陷检测要求框得精准高 IoU 阈值下的表现直接影响复检量以 mAP0.5:0.95 为主。模型快速迭代train.py 训练期拿 mAP0.5 当进度条快速感知趋势收敛后再看综合值定夺。实操标准评估命令与产物解读 项目根目录下执行python test.py --weights yolov7.pt --data data/coco.yaml --img 640 --iou 0.65注意--iou 0.65管的是 NMS 去重与评估用的 0.5-0.95 阈值不是一回事。产物落在runs/test/exp重点看三样confusion_matrix.png混淆矩阵一眼看出类别间误判PR_curve.png各类 PR 曲线曲线下面积越大越好results.txt数值指标日志。定位薄弱类别读 test.pyL237的逐类输出某类 mAP0.5 低说明没找到查数据量与锚框mAP0.5 尚可而 mAP0.5:0.95 明显偏低说明框不准查定位分支。避坑两个指标的对症改法mAP0.5 偏低漏检、误检多锚框用 autoanchor 重新拟合或改 cfg/training/yolov7.yaml 中的尺寸适配小目标NMS重复框多就适当调大测试命令的 iou被压没了就调小长尾类在 utils/datasets.py 调整采样权重给样本少的类加量。mAP0.5:0.95 偏低定位差损失函数把 models/yolo.py 中框回归换成 CIoU/GIoU多尺度train.py 开启可变尺寸输入增强尺度适应测试时增强test.py 加--augment做翻转推理小幅但稳赚。新手高频疑问问mAP0.5 为什么总比 mAP0.5:0.95 高出一截正常现象。后者是 10 档更严标准的平均健康模型通常高 10-20 个百分点差距远超这个范围说明定位能力偏弱。问--iou 改大改小会影响 mAP 吗会。它改变的是统计前的去重结果与评估 IoU 阈值是两码事与他人对比时保持默认一致即可。问两个数据集的 mAP 能直接比吗不能。mAP 只在同数据集、同口径下可比对外对比先用 scripts/get_coco.sh 拉取标准数据重跑。一句话收束mAP0.5 保底线mAP0.5:0.95 定上限两个一起看才是目标检测模型评估的完整姿势。【免费下载链接】yolov7Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors项目地址: https://gitcode.com/GitHub_Trending/yo/yolov7创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表