一、前提知识

1. 图像分类 —— “这是什么?”

  • 任务:只看整张图片,判断图片的主要内容是什么。

  • 好比:你看了一眼照片,说:“这是一张猫的图片。”

  • 特点:只关心“是什么”,不关心“在哪里”或“有几个”。

2. 目标检测 —— “有什么?在哪里?”

  • 任务:不仅要找出图片里有哪些物体,还要用一个矩形框标出它们的具体位置。

  • 好比:你指着一张家庭聚会照片说:“这里有个杯子,那里有个人,桌子上还有个苹果。” 并且用方框把它们一个个框出来。

  • 特点:解决了“是什么”和“在哪里”的问题,但只用方框粗略定位。

3. 实例分割 —— “每一个的精确轮廓是什么?”

  • 任务:在目标检测的基础上更进一步,不再用方框,而是精确地勾勒出每个物体具体的像素轮廓

  • 好比:不再是画方框,而是拿一支笔,沿着照片里每个人的身体边缘,一丝不差地描一遍,让每个人都能被单独“抠”出来。

  • 特点:最精细,能区分开每一个独立的物体实例,并给出它们的精确形状。

一句话总结:

  • 分类:整张图是只猫。

  • 检测:图里有两只猫,分别用两个框标出来了。

  • 分割:精确地描出这两只猫的轮廓,连一根胡须都不放过。

二、分类任务评价指标剖析

1.混淆矩阵:基石概念​

混淆矩阵是理解其他评价指标的基础,对于二分类问题,它是一个 2x2 的矩阵,展示了模型预测结果和真实标签之间的四种关系 :​

  • 真正例(True Positive,TP):模型正确地将正类预测为正类。比如在判断图片是不是猫的任务中,把猫的图片正确判断为猫。​
  • 假正例(False Positive,FP):模型错误地将负类预测为正类,也就是把不是猫的图片误判成猫。​
  • 真负例(True Negative,TN):模型正确地将负类预测为负类,即把不是猫的图片正确判断为不是猫。​
  • 假负例(False Negative,FN):模型错误地将正类预测为负类,把猫的图片误判为不是猫。

比如(记住这个例子,后面会有联系),在一个有 100 张图片的测试集中,有 60 张猫的图片(正类)和 40 张非猫的图片(负类)。模型预测后,TP 为 50(正确识别出 50 张猫的图片),FP 为 10(把 10 张非猫图片误判为猫),TN 为 30(正确识别出 30 张非猫图片),FN 为 10(把 10 张猫的图片误判为非猫) ,从这个混淆矩阵中,我们能直观了解模型在猫和非猫图片判断上的对错数量。

2.准确率( Accuracy):简单却有局限​

准确率是最容易理解的指标,它表示模型预测正确的样本占总样本的比例,计算公式为:                                                            Accuracy=(TP+TN)/(TP+TN+FP+FN)

用上面的例子,准确率 =(50+30)/100 = 0.8,即模型的准确率为 80%。​

虽然准确率很直观,但它在样本不均衡的情况下有很大局限性。假设在一个极端的图片分类任务中,99% 的图片都是狗(负类),只有 1% 的图片是猫(正类)。如果一个模型简单地把所有图片都预测为狗,它的准确率会高达 99%,但实际上这个模型对于识别猫完全没有作用,所以在样本不均衡时,准确率不能准确反映模型性能。

3.精确率与召回率:不同侧重​

1)精确率(Precision):也叫查准率,衡量的是在模型预测为正类的样本中,实际为正类的样本比例,公式是:Precision=TP/(TP+FP)

在刚才猫图片分类例子中,精确率 = 50/(50+10)≈0.83,表示模型预测为猫的图片中,真正是猫的图片比例约为 83%。​精确率高,说明模型预测为正类的可靠性高。

2)召回率(Recall):也叫查全率,是指所有实际为正类的样本中,模型能够正确预测为正类的比例,公式为:Recall = TP/(TP+FN)

还是这个例子,召回率 = 50/(50+10)≈0.83 ,意味着在所有真正的猫图片中,模型成功识别出了 83%。召回率高,说明模型对正类样本的覆盖能力强。

4.F1 - score:综合考量​

F1 - score 是精确率和召回率的调和平均数,公式为:

                                 F1 - score = 2*(Precision*Recall)/(Precision+Recall) 

它综合了精确率和召回率,能更全面地评估模型性能。在样本不均衡或对精确率和召回率都有要求的任务中,F1 - score 非常有用。

还是以刚才的例子计算,F1 - score = 2*(0.83*0.83)/(0.83+0.83)=0.83 ,F1 - score 越高,说明模型在精确率和召回率之间的平衡越好。

5.ROC 曲线与 AUC 值:应对样本不平衡​

1)ROC 曲线:全称是受试者工作特征曲线(Receiver Operating Characteristic Curve),它以假正率(False Positive Rate,FPR)为横坐标,真正率(True Positive Rate,TPR)为纵坐标绘制而成。

其中,TPR = Recall = TP/(TP+FN) ,FPR = FP/(FP+TN)

在逻辑回归等模型中,通过改变分类阈值,可以得到不同的 TPR 和 FPR 组合,将这些组合点绘制在二维平面上就形成了 ROC 曲线。ROC 曲线可以帮助我们直观地了解模型在不同阈值下的分类性能,曲线越靠近左上角,模型的性能越好。​

2)AUC 值:即 ROC 曲线下的面积(Area Under Curve) ,取值范围在 0 到 1 之间。AUC 值越接近 1,说明模型的性能越好;当 AUC 值为 0.5 时,模型性能相当于随机猜测;AUC 值小于 0.5 时,模型性能比随机猜测还差。AUC 值的一个重要意义是,它综合考虑了模型在所有可能阈值下的表现,对于样本不均衡的问题有很好的适应性,在比较不同模型性能时是一个很有效的指标。

比如,有两个图像分类模型 A 和 B,模型 A 的 AUC 值为 0.85,模型 B 的 AUC 值为 0.7,说明模型 A 的性能优于模型 B。

三.目标检测评价指标解读

1.IoU:预测框与真实框的契合度​

交并比(Intersection over Union,IoU)是目标检测中一个基础且重要的指标,用于衡量预测边界框(predicted bounding box)和实际标注的真实边界框(ground truth bounding box)的重叠程度 。计算 IoU 时,先求出预测框和真实框的交集面积,再求出它们的并集面积,然后用交集面积除以并集面积,公式为:IoU = 交集面积 / 并集面积 。​

比如,在一张图片中,真实框标注的汽车位置是一个矩形区域,模型预测出的汽车位置也是一个矩形框。如果两个框完全重合,IoU 的值就是 1,这是最理想的情况,表示模型预测的位置非常准确;如果两个框没有任何重叠部分,IoU 的值就是 0,说明模型预测的位置完全错误;一般情况下,IoU 的值在 0 到 1 之间,值越大,说明预测框和真实框的重叠程度越高,模型对物体位置的预测就越准确 。在实际应用中,通常会设定一个 IoU 阈值(如 0.5),当预测框和真实框的 IoU 大于这个阈值时,就认为这次检测是正确的;小于阈值则认为检测错误 。

2.AP 与 mAP:综合评估指标​

1)平均精度(Average Precision,AP)是针对某一个类别而言的评估指标,它的计算是基于精确率 - 召回率(Precision - Recall)曲线。首先,将模型对某一类别的预测结果按照置信度从高到低排序,然后依次选取不同的置信度阈值,计算在每个阈值下的精确率(Precision)和召回率(Recall) 。以不同阈值下的召回率为横坐标,精确率为纵坐标,就可以绘制出精确率 - 召回率曲线,AP 就是该曲线下的面积 ,它综合反映了模型在不同置信度阈值下对该类别的检测性能。​

2)平均平均精度(mean Average Precision,mAP)则是用于评估模型在多类别目标检测任务中的整体性能,它是所有类别 AP 值的平均值。比如在一个包含人、车、自行车三个类别的目标检测任务中,分别计算出 “人” 类别的 AP、“车” 类别的 AP 和 “自行车” 类别的 AP,然后将这三个 AP 值相加再除以 3,得到的就是 mAP。mAP 值越高,说明模型在多类别目标检测中的综合性能越好,在比较不同目标检测模型的优劣时,mAP 是一个非常重要的指标。

3.精确率与召回率的沿用​

在目标检测中,精确率(Precision)和召回率(Recall)的定义与图像分类任务中有相似之处,但也结合了目标检测的特点。精确率指的是在模型预测出的所有目标中,真正正确的目标所占的比例;召回率是指在所有实际存在的目标中,被模型正确检测出来的目标所占的比例 。​

例如在一个行人检测任务中,模型预测出了 100 个行人,其中有 80 个确实是行人,那么精确率就是 80 / 100 = 0.8 ;而实际上图片中共有 120 个行人,模型检测出了 80 个,召回率就是 80 / 120 ≈ 0.67 。精确率和召回率在目标检测中同样反映了模型不同方面的能力,精确率高说明模型预测的目标可靠性高,误检少;召回率高表示模型能够检测出更多实际存在的目标,漏检少 。但在实际中,精确率和召回率往往相互制约,提高精确率可能会降低召回率,反之亦然。

四、实例分割评价指标解析​

1.AP 与 AR 在实例分割中的应用​

在实例分割里,平均精度(AP)和平均召回率(AR)同样是重要的评价指标,它们的计算原理和目标检测中有相似之处,但又结合了实例分割像素级分割的特点 。​

AP 的计算基于精确率 - 召回率曲线,对于每个类别,先把模型预测结果按照置信度从高到低排序 。在实例分割中,不仅要考虑预测框和真实框的位置匹配(通过 IoU 衡量),还要考虑预测掩码和真实掩码的像素级重叠情况 。计算不同 IoU 阈值下的精确率和召回率,最后使用分步积分法得到精确率 - 召回率曲线下的面积,这个面积就是 AP,它综合反映了模型在不同置信度阈值下对该类别的实例分割性能 。​

平均召回率(AR)表示的是在给定最大检测数目的前提下能够达到的最大召回率 。在实例分割中,核心思想在于控制每张图片最多允许提交多少个掩码预测结果 。比如通常会设定不同的 maxDets 参数来观察变化趋势,当 maxDets = 1 或者更少时,考察的是单次最佳猜测能力,即模型能否一次性准确分割出最有可能的那个实例;如果增加至 maxDets = 10,则反映前十个最可能对象被成功定位和分割的比例;而当提升到 maxDets = 100 后,则接近无限制情况下的整体覆盖程度,看模型能在多大程度上把图片中的所有实例都正确分割出来 。通过 AR 指标,可以了解模型在不同条件下对实例的覆盖能力和检测数量的准确性。​

2.掩码 IoU:像素级的精准度量​

掩码交并比(Mask IoU)是实例分割中一个非常关键的指标,用于衡量预测掩码和真实标签之间的重叠程度,体现了像素级分割的准确性 。与目标检测中的 IoU 不同,掩码 IoU 计算的是两个掩码(即每个像素都有类别标记的图像)之间的重叠关系 。​

计算掩码 IoU 时,先将预测掩码和真实掩码看作是由像素组成的二值图像(0 表示背景,1 表示目标实例) 。然后求出它们的交集,即两个掩码中像素值都为 1 的部分,这部分的像素数量就是交集的面积;再求出它们的并集,通过将两个掩码的像素值进行逻辑或运算得到,即只要有一个掩码中对应像素为 1,该像素就属于并集,这部分的像素数量就是并集的面积 。最后用交集面积除以并集面积,得到的就是掩码 IoU,公式为:Mask IoU = 交集面积 / 并集面积 。​

掩码 IoU 的值在 0 到 1 之间,值越接近 1,表示预测掩码和真实掩码的重叠程度越高,模型对实例的分割就越准确;值越接近 0,则说明两者重叠程度低,模型分割效果差 。在实际应用中,通常会设定一个掩码 IoU 阈值(如 0.5),当预测掩码和真实掩码的 IoU 大于这个阈值时,认为这次实例分割是正确的;小于阈值则认为分割错误 。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐