ap和map的计算,mAP@.5 mAP@.5:.95的含义

网络的输出有置信度和bbox的位置。根据这两个的综合评价得到一个准确的指标:ap,map。
参考:https://blog.csdn.net/qq_35916487/article/details/89076570

网络的输出按照置信度排序:
在这里插入图片描述根据不同的置信度阈值得到多组precision和recal序列。根据不同的p-r值画出pr曲线。
在这里插入图片描述这个曲线连接起来的面积就是ap值。
如果有多类目标,求一个平均值就是map值。
以上这种方法只根据置信度得到的多组p-r值。一般默认iou阈值是0.5.即大于0.5的认为是目标。这种方法得到的map称为mAP@.5

还有一种是mAP@.5:.95。是把iou从0.5~0.95,每隔0.05计算一个map,最后把这些map求平均得到的。

### 如何计算AP(Average Precision)mAP(Mean Average Precision) #### 计算AP的方法 在目标检测领域,AP通常通过精确率-召回率曲线下的面积来衡量模型的表现。具体来说,精确率(Precision)召回率(Recall)的关系可以通过一系列阈值点构建一条曲线[^1]。对于每一个类别,先按照置信度降序排列预测框,并逐步调整IoU(Intersection over Union)阈值以筛选有效预测结果。随后,在不同的召回率下记录对应的精确率值并连接这些点形成P-R曲线。 最终,AP可以表示为该曲线下方的总面积,采用积分形式或者离散化求的方式实现: \[ \text{AP} = \sum_{r=0}^{R}(R_i - R_{i-1}) P(R_i) \] 其中 \( R_i \) 表示第 i 个召回率水平,\( P(R_i) \) 是对应于这个特定召回率的最大精度。 #### mAP 的定义与计算方法 相比之下,mAP是对多个类别的平均精确率取均值得到的整体表现评价标准。其基本思路如下: 1. 针对每一类物体分别计算各自的AP; 2. 将所有类别的AP加总后再除以总的类别数获得最后的结果。 即如果存在N种类别,则有公式表达为: \[ \text{mAP} = \frac{\sum_{c=1}^{C}\text{AP}_c}{C} \] 这里 C代表类别总数目[\^2]. 这种策略使得即使某些难检出的小众对象也能影响整体得分,从而促使开发者更加关注全面优化而非仅仅提升常见物品识别效果。 #### 应用场景分析 在实际应用中, AP mAP 广泛应用于图像分类、目标定位等领域作为核心评估工具之一。例如 COCO 数据集挑战赛便采用了类似的指标体系去评判参赛队伍提交方案的质量高低。此外,在搜索引擎相关技术研究里也经常能看到基于此原理设计的各种变体版本用于衡量文档检索系统的效能优劣情况。 ```python def calculate_ap(precision_list, recall_list): ap_sum = 0. prev_recall = 0. for precision, recall in zip(reversed(precision_list), reversed(recall_list)): delta_r = recall - prev_recall ap_sum += (delta_r * precision) prev_recall = recall return round(ap_sum, 4) precision_values = [0.9, 0.87, 0.85, 0.83, 0.81] recall_values = [0.1, 0.2 ,0.3 ,0.4 ,0.5 ] print(f"The calculated AP is {calculate_ap(precision_values, recall_values)}") ``` 上述代码片段展示了一个简单的函数用来模拟计算给定数据序列上的AP数值过程。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值