计算机视觉模型常用评价指标

目录

1、概述

2、常用评价指标

2.1 分类任务

2.2 检测任务

2.3 分割任务


1、概述

        计算机视觉基础任务可分为4大类:分类、定位、检测、分割。分类任务就是判断图像中物体的所属类别,一般来说一张图像中只包含一类物体,对图像进行特征描述是图像分类任务的主要研究内容;定位任务就是确定图像中目标的具体位置,通常以边界框(bounding box)等形式表示;检测任务通常是输出图像中各个目标的边界框及标签。分类和定位通常是单目标的,而目标检测是多目标的,具体区别如下图所示。

计算机视觉模型常用评价指标_第1张图片

分割任务是指将图像分成若干语义区域的过程,它可以细分为语义分割、实体分割、全景分割3个研究方向,图像分割这3个研究方向的区别如下图所示。

计算机视觉模型常用评价指标_第2张图片

语义分割(semantic segmention),也就是通常理解的图像分割,它是一个逐像素的图像分类问题,每个像素预测类别唯一,可数目标与不可数目标都要分类; 实例分割(Instance Segmentation),不仅要预测可数目标的语义标签,还要区分个体的ID,语义标签指的是物体的类别,而实例ID则对应同类物体的不同编号,注意不可数目标不需要预测,实例分割相当于目标检测+语义分割;全景分割(Panoptic Segmentation),它要求图像中的每个像素点都必须被分配一个语义标签和一个实例ID,全景分割相当于语义分割+实例分割。

2、常用评价指标

2.1 分类任务

        分类任务常用准确率、精确率、召回率、F1_scores、ROC曲线等指标来评价模型的优劣,当然这些基础指标也可以用来评价分割模型或检测模型,它们基本上是可以通用的。混淆矩阵是对分类问题预测结果的总结,也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法。混淆矩阵中含有4个分类问题的基础指标,如下表所示。

混淆矩阵 真实值
True False
预测值 Positive TP FP
Negative FN TN

TP:被模型预测为正类的正样本,即真实标签为1,预测也为1的样本。

TN:被模型预测为负类的负样本,即真实标签为0,预测也为0的样本。

FP:被模型预测为正类的负样本,即真实标签为0,但预测为1的样本。

FN:被模型预测为负类的正样本,即真实标签为1,但预测为0的样本。

        预测性分类模型肯定要求越准越好,也就是在混淆矩阵中,TP和TN的数量越多越好,FP和FN的数量越少越好。但一个模型仅仅使用混淆矩阵中几个简单的基本指标是远远不够的,因此还需要用下面几种指标来进一步评估模型的好坏。

①准确率(Accuracy)

Accuracy=\frac{TP+TN}{TP+TN+FP+FN}

②精确率或查准率(Precision):指在模型预测为1的样本中实际为1的概率

P=\frac{TP}{TP+FP}

③召回率或查全率(Recall):指在实际为1的样本中预测为1的概率。也叫真阳率、灵敏度,简称TPR。

R=\frac{TP}{TP+FN}

注意:精确率和召回率是比较容易混淆的两个概念,很多人不清楚什么场景下该用精确率,什么时候该用召回率。举个例子(正样本一般是更关注的样本表现,比如地震、肿瘤、垃圾邮件等):在肿瘤判断和地震预测等场景下,要求模型有更高的召回率,只要是个肿瘤或者地震就不能放过;在垃圾邮件判断等场景下,要求模型有更高的精确率,必须确保放进回收箱的都得是垃圾邮件,千万不能有正常邮件。

④F1_score:兼顾了分类模型的精确率和召回率,可以看作是模型精确率和召回率的调和平均数,最大值是1,最小值是0,1代表模型效果最好,0代表模型效果最坏。

F1=\frac{2}{\frac{1}{P}+\frac{1}{R}}=\frac{2PR}{P+R}=\frac{2TP}{2TP+FN+FP}

⑤P-R曲线

        P-R曲线以召回率Recall为横坐标,以精确率Precision为纵坐标,曲线越往右上凸说明该模型效果越好。如下图所示,图中有黑、橙、蓝三条曲线,它们分别代表三个模型的P-R曲线,其中黑、橙这两条曲线一直在蓝曲线的上方,则说明黑、橙曲线对应模型的效果比蓝曲线对应模型的效果要更好;而黑、橙两条曲线有交点,无法判别这两个模型的好坏,这需要视情况而定。还有一点需要注意的就是P-R曲线的两个指标都只关注正样本。

计算机视觉模型常用评价指标_第3张图片

        看到这里大家可能会有疑问,一条P-R曲线代表一个模型,而画P-R曲线首先得有多组(R,P)点,那么难道一个模型的召回率和精确率不是唯一的吗?首先,可以告诉大家一个确定的模型,其召回率和精确率肯定是唯一的,P-R曲线之所以有多组(P,R)点,是因为分类器有概率输出,0.5通常被作为阈值,大于0.5的属于一类,小于0.5的属于另一类,但基于不同的场景,可以通过控制概率输出的阈值来改变预测的标签,这样选择不同的阈值就会得到不同组(P,R)点,从而可以画出如上图所示的P-R曲线。

⑥ROC曲线

        ROC曲线是以FPR为横坐标,以TPR为纵坐标。其中TPR叫真阳率或灵敏度,就是召回率,指在实际为1的样本中预测为1的概率;FPR叫假阳率或特异度,是指实际为0的样本中预测为1的概率。

TPR=\frac{TP}{TP+FN}

FPR=\frac{FP}{FP+TN}

ROC曲线的走势如下图所示,曲线越往左上凸表明模型效果越好。ROC曲线和P-R曲线都是通过选择不同的阈值得到不同的点,从而画出曲线。

计算机视觉模型常用评价指标_第4张图片

P-R曲线和ROC曲线对比:当正负样本数量接近1:1时,P-R 曲线和 ROC 曲线都可以很好的用来评估模型的优劣,P-R曲线越往右上凸,表明该模型越好,ROC曲线越往左上凸,表明该模型越好。ROC曲线有个优势,就是当负样本数量很多时,如下图所示,ROC曲线依然能够保持趋势不变,而P-R曲线会变化很大,基本失去了对模型的评价能力。

计算机视觉模型常用评价指标_第5张图片

        P-R曲线之所以变化这么大,是因为负样本的数量远超正样本时,P-R曲线中的召回率R也即ROC曲线中的真阳率TPR基本不会发生变化,但是P-R曲线中FP的大量增幅会导致精确率P的大幅降低。而ROC曲线之所以依然能够保持趋势基本不变,是因为样本数量不平衡不会导致ROC曲线中TPR和FPR这两个指标发生大的变化,但这既是AUC曲线的优势同时也是AUC曲线的劣势,为什么这样说呢?这是因为负样本数量太多会导致FP大幅数量大幅增加,FP的大幅增长只能换来FPR的微小改变,结果是虽然大量负例被错判成正例,但在ROC曲线上却无法直观地看出来。所以为了弥补ROC曲线的这一劣势,常常使用ROC曲线+AUC指标一起来评价模型。而在实际应用中一般正样本为更加关注的表现,比如地震、肿瘤等,这类样本往往都很难采集,数量很少,数据集中类别不平衡,即正负样本比例差距较大的情况又是经常会发生的。

⑦AUC指标

        AUC指标被定义为ROC曲线下的面积,AUC=0.5对应的是分类器最差的情况,此时ROC曲线变成了一条y=x的直线,TPR一直等于FPR,这也就意味着不论样本真实类别是1还是0,分类器模型预测为1的概率是相等的,这就好比抛硬币,没有任何分类能力;AUC=1对应的是分类器最好的情况,意味着模型总能预测对。

        AUC的优势就是AUC的计算方法同时考虑了不同阈值下分类器对于正样本和负样本的分类能力,在样本不平衡的情况下,依然能够对分类器作出合理的评价,弥补了ROC曲线的缺点。总之AUC指标是分类模型比较好的评价指标之一。

2.2 检测任务

        目标检测任务除了可以使用分类任务的一些评价指标外,还有几个目标检测模型专门的评价指标,比如:mAP、FPS等。

 ①mAP(类平均精确率)

        目标检测问题中的每个图片都可能包含一些不同类别的物体,并且即使你的目标检测器在图片中检测到某类别目标,但如果你无法定位,它也没有用处,因此需要同时评估模型的物体分类和定位性能,而用于图像分类问题的标准指标精确率Precision不能直接应用于此,于是mAP评价指标就出来了。mAP是目标检测问题中最常用的评估指标,在讲解mAP之前,必须先弄明白AP的含义,AP的英文全称是Average Precision,它被定义为某类别P-R曲线下的面积,也就是说一个类别可以计算出一个AP值;mAP的英文全称是mean Average Precision,被定义为所有类别AP值的平均值。在实际计算过程中AP定义为10个Recall值([0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9])下Precision的平均值,它可以表征整个PR曲线下的面积,下面通过一个例子来说明如何计算mAP。

       在计算mAP评价指标的场景下,先明确几个定义:

1)交并比——IoU

        交并比(IOU)是度量两个检测框(对于目标检测来说)的交叠程度,公式如下:

IoU=\frac{area(B_{pre}\cap B_{gt})}{area(B_{pre}\cup B_{gt})}

B_{gt}代表的是目标实际的边框(Ground Truth,GT),B_{pre} 代表的是预测的边框,通过计算这两者的 IOU,可以判断预测的检测框是否符合条件,IOU 用图片展示如下:

计算机视觉模型常用评价指标_第6张图片

 2)TP、FP、FN、TN

TP:满足IoU> threshold(阈值threshold根据实际情况取)的预测框数量(同一个Ground Truth只计算一次,也就是说如果有多个满足条件,只取IoU最大的那个)。

FP:满足IoU\leq threshold的预测框数量,或者是检测到同一个 GT 的多余检测框的数量。

FN:没有检测到的 GT 的数量。

TN:这个在目标检测问题中几乎不可能得到,所以mAP计算中没有用它。

3)精确率P和召回率R

        精确率P是指预测为1的样本中实际为1的概率,召回率是指实际为1的样本中预测为1的概率。所以它们的公式可以分别定义为如下所示,其中all ground truth代表所有GT的数量,这个值在数据集给定时就固定了。

P=\frac{TP}{TP+FP}

R=\frac{TP}{TP+FN}=\frac{TP}{all ground truth}

        下面开始讲这个例子,假设我们有 7 张图片(Images1-Image7),这些图片有 15 个目标(绿色的框,GT 的数量,上文提及的 all ground truths)以及 24 个预测边框(红色的框,A-Y 编号表示,并且有一个置信度值)。

计算机视觉模型常用评价指标_第7张图片

        根据上图以及说明,我们可以列出以下表格,其中 Images 代表图片的编号,Detections 代表预测边框的编号,Confidences 代表预测边框的置信度,TP or FP 代表预测的边框是标记为 TP 还是 FP(认为预测边框与 GT 的 IOU 值大于等于 0.3 就标记为 TP;若一个 GT 有多个预测边框,则认为 IOU 最大且大于等于 0.3 的预测框标记为 TP,其他的标记为 FP,即一个 GT 只能有一个预测框标记为 TP),这里的 0.3 是随机取的一个值

计算机视觉模型常用评价指标_第8张图片

        通过上表,我们可以绘制出 P-R 曲线(因为 AP 就是 P-R 曲线下面的面积),但是在此之前我们需要计算出 P-R 曲线上各个点的坐标,根据置信度从大到小排序所有的预测框,然后就可以计算 Precision 和 Recall 的值,见下表。(需要记住一个叫累加的概念,就是下图的 ACC TP 和 ACC FP

计算机视觉模型常用评价指标_第9张图片

        有了这24对P-R 值,就可以绘制出P-R曲线。

计算机视觉模型常用评价指标_第10张图片

        得到 P-R 曲线就可以计算 AP(P-R 曲线下的面积),要计算 P-R曲线下方的面积,为了计算方便,我们一般会先对曲线进行平滑锯齿操作,这个操作简单来说就是在Recall轴上选取n个点,看看它的右侧谁的Precision最大,然后这个区间都使用这个Precision值。比如假设在Recall轴上选取 [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]这10个点,每个Recall点对应的Precision值都取从该点开始P-R曲线右侧最大的Precision值,得到新曲线,如下图的红线所示,然后求取红线下的面积即是该类别的AP值。

 计算机视觉模型常用评价指标_第11张图片

  AP=0.1\times 1+0.1\times 0.6666+0.3\times 0.4285+0.5\times 0=\frac{1}{10}\times (1+0.6666+0.4285+0.4285+0.4285+0+0+0+0+0)=0.295

        如上式AP的计算过程所示,AP既可以看作是P-R曲线下的面积(即红线下的面积),也可以看作是所有选取的10个Recall点[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]所对应精确率Precision的平均值,这可能也是AP(Average Precision)名字真正的由来,即精确率的平均值。要计算 mAP,就得把所有类别的 AP 都计算出来,然后求取平均即可。 

②FPS

        FPS是目标检测模型又一重要的评价指标,它主要用来评价模型的检测速度,表示每秒内可以处理的图片数量,每秒处理图片的数量越多,模型越好。

2.3 分割任务

 ①MIoU(平均交并比)

        平均交并比是分割模型中最常用的评价指标,简称MIoU。交并比IoU表示的含义是模型对某一类别预测结果和真实值的交集与并集的比值,只不过对于目标检测而言是检测框和真实框之间的交并比,而对于图像分割而言是计算预测掩码和真实掩码之间的交并比。计算出所有类别的IoU之后,再求平均即可得到MIoU。

②MPA(类别平均像素准确率)

        类别平均像素准确率是分割模型又一评价指标,像素准确率PA的含义是某一类别预测正确的像素数占总像素数的比例,计算出所有类的PA,然后累加求平均,即可得到类别平均像素准确率MPA。

你可能感兴趣的:(#,深度学习必备知识,计算机视觉,目标检测,深度学习)