🎀个人主页: https://zhangxiaoshu.blog.csdn.net
📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️,如有错误敬请指正!
💕未来很长,值得我们全力奔赴更美好的生活!
前言
目标检测是计算机视觉领域中的一项重要任务,旨在从图像或视频中检测并定位图像中存在的目标物体,并识别它们属于哪个类别。而目标检测任务中的评价指标对于评估算法性能、比较不同方法以及指导模型优化具有重要性,因此本文对目标检测任务中的相关评价指标进行介绍。
文章目录
- 前言
- 一、IOU和GIOU
- 1. IOU
- 2. GIOU
- 二、Precision、Recall和F1分数
- 1. Precision
- 2. Recall
- 3. F1分数
- 三、AP和mAP
- 1. AP
- 2.mAP
- 总结
一、IOU和GIOU
1. IOU
IOU,即交并比(Intersection over Union)
,是目标检测中常用的一种评价指标,用于衡量检测框(bounding box)与真实目标框之间的重叠程度。它的计算方法如下:
假设有两个边界框,分别表示检测到的框(D)和真实目标框(G):
D:检测框,由左上角坐标 (x1, y1) 和右下角坐标 (x2, y2) 定义;
G:真实目标框,同样由左上角坐标 (x1’, y1’) 和右下角坐标 (x2’, y2’) 定义。
那么,交并比(IOU)的计算方法为:
- 计算两个边界框的交集面积(Intersection Area):
I n t e r s e c t i o n A r e a = m a x ( 0 , m i n ( x 2 , x 2 ′ ) − m a x ( x 1 , x 1 ′ ) ) × m a x ( 0 , m i n ( y 2 , y 2 ′ ) − m a x ( y 1 , y 1 ′ ) ) Intersection Area=max(0,min(x2,x2^{′})−max(x1,x1^{′} ))×max(0,min(y2,y2^{′} )−max(y1,y1^{′})) IntersectionArea=max(0,min(x2,x2′)−max(x1,x1′))×max(0,min(y2,y2′)−max(y1,y1′))
其中, m a x ( x 1 , x 1 ′ ) max(x1,x1^{′}) max(x1,x1′) 和 m a x ( y 1 , y 1 ′ ) max(y1,y1^{′}) max(y1,y1′)分别表示两个矩形框的左上角的横坐标和纵坐标的较大值,即交集区域的左上角的坐标。 m i n ( x 2 , x 2 ′ ) min(x2,x2^{′}) min(x2,x2′) 和 m i n ( y 2 , y 2 ′ ) min(y2,y2^{′}) min(y2,y2′)分别表示两个矩形框的右下角的横坐标和纵坐标的较小值,即交集区域的右下角的坐标。 m a x ( 0 , m i n ( x 2 , x 2 ′ ) − m a x ( x 1 , x 1 ′ ) ) max(0,min(x2,x2^{′})−max(x1,x1^{′} )) max(0,min(x2,x2′)−max(x1,x1′)) 和 m a x ( 0 , m i n ( y 2 , y 2 ′ ) − m a x ( y 1 , y 1 ′ ) ) max(0,min(y2,y2^{′} )−max(y1,y1^{′})) max(0,min(y2,y2′)−max(y1,y1′))分别表示交集区域的宽度和高度。这两个值都必须大于零,否则表示两个矩形框没有交集。两个宽度和高度相乘即为交集区域的面积。
- 计算两个边界框的并集面积(Union Area):
U n i o n A r e a = A r e a ( D ) + A r e a ( G ) − I n t e r s e c t i o n A r e a Union Area=Area(D)+Area(G)−Intersection Area UnionArea=Area(D)+Area(G)−IntersectionArea
其中, A r e a ( D ) Area(D) Area(D)和 A r e a ( G ) Area(G) Area(G)分别表示检测框和真是框的面积,通过将两个矩形框的面积相加,并减去它们的交集面积,得到它们的并集面积。这是因为两个矩形框的并集等于它们各自的面积之和减去它们的交集面积。
- 最后,将交集面积除以并集面积,即可得到 IOU 值:
I O U = U n i o n A r e a I n t e r s e c t i o n A r e IOU= \frac{ Union Area}{Intersection Are} IOU=IntersectionAreUnionArea
- IOU 值的范围在 0 到 1 之间,值越大表示检测框与真实目标框的重叠程度越高,检测效果越好。通常,IOU 值大于等于某个阈值(如 0.5 或 0.75)的检测框会被视为正确检测到了真实目标。
2. GIOU
GIOU(Generalized Intersection over Union)是一种改进的交并比(IOU)衡量方法,它考虑了检测框和真实目标框之间的包围框的大小和位置关系。GIOU 综合了 IOU 计算中对交集和并集的考虑,并添加了一个关于包围框的正则化项,使得 GIOU 更好地反映了检测框与真实目标框之间的重叠程度。
GIOU 的计算方法如下:
- 计算两个边界框的交集面积(Intersection Area)和并集面积(Union Area),与 IOU 计算方法相同。
- 计算两个边界框的包围框(Bounding Box):
令 B min = min ( x 1 , x 1 ′ ) , min ( y 1 , y 1 ′ ) , max ( x 2 , x 2 ′ ) , max ( y 2 , y 2 ′ ) 令B_{\min }=\min \left(x 1, x 1^{\prime}\right), \min \left(y 1, y 1^{\prime}\right), \max \left(x 2, x 2^{\prime}\right), \max \left(y 2, y 2^{\prime}\right) 令Bmin=min(x1,x1′),min(y1,y1′),max(x2,x2′),max(y2,y2′)
令 B max = max ( x 1 , x 1 ′ ) , max ( y 1 , y 1 ′ ) , min ( x 2 , x 2 ′ ) , min ( y 2 , y 2 ′ ) 令B_{\max }=\max \left(x 1, x 1^{\prime}\right), \max \left(y 1, y 1^{\prime}\right), \min \left(x 2, x 2^{\prime}\right), \min \left(y 2, y 2^{\prime}\right) 令Bmax=max(x1,x1′),max(y1,y1′),min(x2,x2′),min(y2,y2′)
- 计算包围框 B min B_{\min } Bmin和 B max B_{\max } Bmax的面积并计算包围框的面积差(Bounding Box Area Difference):
A B B D = A r e a ( B min ) − A r e a ( B max ) A_{BBD} = Area(B_{\min }) -Area(B_{\max }) ABBD=Area(Bmin)−Area(Bmax)
- 最后,使用交并比和包围框面积差来计算 GIOU:
G I O U = I O U − A B B D A r e a ( B min ) GIOU=IOU- \frac{ A_{BBD} }{Area(B_{\min })} GIOU=IOU−Area(Bmin)ABBD
- GIOU 的值范围也在 0 到 1 之间,与 IOU 相同。与 IOU 不同的是,GIOU 考虑了检测框和真实目标框之间的包围框,因此更全面地反映了两个边界框之间的重叠情况。
该处使用的url网络请求的数据。
二、Precision、Recall和F1分数
一些定义:
真正例(True Positives,TP)
:检测框与真实目标框的 IOU 大于等于阈值的检测框。假正例(False Positives,FP)
:检测框与真实目标框的 IOU 小于阈值的检测框,或者未能与任何真实目标框匹配的检测框。假反例(False Negatives,FN)
:未被检测到的真实目标框。
1. Precision
在目标检测任务中,准确率通常指的是检测框的准确率,即在所有检测到的框中,与真实目标框具有足够高的重叠度(例如IOU大于等于某个阈值)的检测框所占的比例。以下是目标检测中准确率的计算公式:
P r e c i s i o n = T P T P + F P Precision=\frac{ TP}{TP+ FP} Precision=TP+FPTP
准确率表示检测框中真实目标框的比例,即被检测到的目标中确实是真实目标的比例。一些时候会使用Pr@0.5、Pr@0.6、Pr@0.7
等来表示模型在不同的IOU阈值下的准确率
2. Recall
在目标检测任务中,召回率(Recall)是另一个重要的评估指标,用于衡量检测器检测到的目标数量占所有真实目标数量的比例。具体计算公式为:
P r e c i s i o n = T P T P + F N Precision=\frac{ TP}{TP+ FN} Precision=TP+FNTP
召回率表示所有真实目标中被正确检测到的比例。
- 在实际应用中,通常希望召回率尽可能高,以确保尽可能多的真实目标被检测到,即降低漏检率。然而,增加召回率可能会导致误报率增加,即错误检测的目标数量也增加,因此在召回率和准确率之间需要进行权衡。
- 此外,需要根据具体的需求和场景选择合适的 IOU 阈值来计算准确率和召回率。通常情况下,较高的 IOU 阈值可以提高准确率,但可能会降低召回率,因为更严格的匹配条件会导致一些真实目标框未被检测到。相反,较低的 IOU 阈值可以提高召回率,但可能会降低准确率,因为更宽松的匹配条件会导致更多的错误检测。
3. F1分数
在目标检测任务中,F1 分数是精确率和召回率的调和平均值,F1 分数综合了精确率(Precision)和召回率(Recall),用于综合衡量模型的准确性和全面性。计算公式为:
F 1 = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1=\frac{2\times Precision \times Recall}{Precision+Recall} F1=Precision+Recall2×Precision×Recall
F1 分数的取值范围在 0 到 1 之间,数值越高表示模型的性能越好。F1 分数是一个综合性的评价指标,它能够同时考虑到模型的准确性和全面性,因此在目标检测任务中得到了广泛的应用。
三、AP和mAP
1. AP
目标检测中的AP(Average Precision)是一种用于衡量模型性能的重要指标,它综合考虑了模型在不同类别上的检测准确率和召回率。AP的计算方法如下:
-
准备数据:首先,需要对模型的检测结果进行评估。每个检测结果通常包括检测框的坐标信息、置信度分数以及所属类别。
-
对检测结果排序:根据检测框的置信度分数,按照降序对所有检测结果进行排序。
-
计算精度和召回率:对于每个类别,根据排序后的检测结果,逐步降低置信度阈值,计算对应的精度(Precision)和召回率(Recall)。
- 精度(Precision):在当前置信度阈值下,被正确检测为正例的检测结果数量与总的检测结果数量之比。
- 召回率(Recall):在当前置信度阈值下,被正确检测为正例的检测结果数量与总的真实正例数量之比。
-
插值:对于每个类别的精度-召回率曲线,可以使用插值方法对精度值进行平滑处理,以减少曲线的抖动。
-
计算AP:计算精度-召回率曲线下的面积,即为该类别的平均精度(AP)。通常使用的方法是积分(如下式所示)或离散求和。
A P = ∫ 0 1 P ( R ) d R A P= \int_{0}^{1} P(R) d R AP=∫01P(R)dR
2.mAP
在目标检测中,mAP(mean Average Precision)是一种用于衡量模型在多个类别上的检测性能的平均精度。mAP的计算方法如下:
- 计算每个类别的AP:对于数据集中的每个类别,都计算其对应的AP,即该类别的平均精度。AP的计算方法已在前面提到过,通常通过计算精度-召回率曲线下的面积来得到。
2.计算mAP:将所有类别的AP进行平均,即可得到模型在整个数据集上的平均精度。
m A P = 1 C ∑ i = 1 C A P = 1 C ∑ i = 1 C ∫ 0 1 P i ( R i ) d R i m A P=\frac{1}{C} \sum_{i=1}^{C} A P=\frac{1}{C} \sum_{i=1}^{C} \int_{0}^{1} P_{i}\left(R_{i}\right) d R_{i} mAP=C1i=1∑CAP=C1i=1∑C∫01Pi(Ri)dRi
总结
-
IOU(Intersection over Union):是目标检测任务中常用的评价指标,用于衡量检测框与真实目标框之间的重叠程度。计算方法为目标检测框与真实目标框的交集面积除以它们的并集面积。
-
GIOU(Generalized Intersection over Union):是 IOU 的一种改进版本,考虑了检测框和真实目标框的位置关系。除了考虑交集和并集面积外,还考虑了两个框的外接矩形框之间的距离。这样可以更准确地衡量检测框与真实目标框的重叠情况。
-
精确率(Precision):是一个用于衡量分类模型或目标检测模型准确性的指标。它表示模型正确预测为正例的样本数量与所有被预测为正例的样本数量之比。
-
召回率(Recall):是一个用于衡量分类模型或目标检测模型的全面性的指标。它表示模型正确预测为正例的样本数量与所有真实正例的样本数量之比。
-
F1分数:F1 分数是精确率和召回率的调和平均值,用于综合衡量模型的准确性和全面性。
-
AP(Average Precision):是目标检测中常用的一个评价指标,用于衡量模型在单个类别上的检测准确度。它是精确率-召回率曲线下的面积,表示模型在不同置信度阈值下的平均精度。
-
mAP(mean Average Precision):是多个类别的平均精度,是目标检测任务中常用的评价指标之一。mAP考虑了模型在所有类别上的检测准确度,是衡量模型整体性能的重要指标。
文中图片大多来自论文和网络,如有侵权,联系删除,文中有不对的地方欢迎指正、补充。