目标检测中的常见指标

目标检测中的常见指标

1、TP、FP、TN、FN基本概念

  • TP:被模型预测为正类的正样本
  • TN:被模型预测为负类的负样本
  • FP:被模型预测为正类的负样本
  • FN:被模型预测为负类的正样本
    • 记忆方法,前边TF是分类正确或者错误,后面的PN是预测结果是正例或负例

在这里插入图片描述

以西瓜数据集为例,我们来通俗理解一下什么是TP、TN、FP、FN。

  • TP:被模型预测为好瓜的好瓜(是真正的好瓜,而且也被模型预测为好瓜)
  • TN:被模型预测为坏瓜的坏瓜(是真正的坏瓜,而且也被模型预测为坏瓜)
  • FP:被模型预测为好瓜的坏瓜(瓜是真正的坏瓜,但是被模型预测为了好瓜)
  • FN:被模型预测为坏瓜的好瓜(瓜是真正的好瓜,但是被模型预测为了坏瓜)

2、查准率P、查全率R

  • 查准率(Precision):模型预测的所有目标中,预测正确的比例
  • 查全率(Recall):在所有真实目标中,模型预测正确的目标比例

查准率用P来表示:

P r e c i s i o n = T P T P + F P = T P N Precision = \frac{TP}{TP+FP}=\frac{TP}{N} Precision=TP+FPTP=NTP

其中 N 为模型预测此类(Class)的样本数

查全率用R来表示:

R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP

通俗理解:

  • 查准率(Precision):模型挑出来的西瓜中有多少比例是好瓜
  • 查全率(Recall):所有的好瓜中有多少比例是被模型挑出来的

TP(true positive):IoU > 0.5(并不一定是0.5,根据情况设定) 的边界框数量(同一Ground Truth只计算一次) ;

在这里插入图片描述

  • 例如图中绿色框为人为标注的真实框,0.9的红色框则可视为检测成功的。

FP(False Positive,假阳性):IoU <= 0.5 的边界框数量(或者是检测到同一个GT的多余检测框的数量),上图中0.3的红色框即可视为假阳性

FN(False Negative):漏检的GT的数量。右下角的猫即为漏检的对象

Precision = TP/(TP+FP),即模型预测的所有目标中,预测正确的比例。(查准率)

在这里插入图片描述

但是仅凭此并不能准确评判网络的好坏,例如上图,FP=0,那么套入公式Precision就等于1了,查准率为100%,但是实际还有未检测的对象,所以仅凭此不能评判网络的好坏。

Recall = TP/(TP+FN),即所有真实目标中,预测到且预测正确的比例。(召回率、查全率)

在这里插入图片描述

​ 同样如上图所示,当检测框的数量很多时,把所有对象都包含,且此时FN=0,没有漏检,此时recall是等于100%的,但是实际图中还有很多FP,所以仅凭此也不能表达网络的好坏。

所以据此有了如下评判标准:

AP: P-R曲线下面积

P-R曲线: Precision-Recall曲线

mAP: mean Average Precision, 即各类别AP的平均值

3、P-R曲线、AP、mAP

如何按照模型置信度对候选框进行排序?

举例:下图中,逐渐降低置信度Confidence到0.66,此时左边五个都是满足的,TP=4,FP=1,FN=3(漏检3个 7-4=3),计算此时的PR值,加入排序中

在这里插入图片描述

在介绍AP之前,首先理解PR曲线,**以检测为例,假设数据集中共有1个待检测物体,模型预测出7个候选框,**按照模型置信度对候选框进行排序:

在这里插入图片描述

以Recall值为横轴,Precision值为纵轴,我们可以得到PR曲线:

在这里插入图片描述

AP(Average Precision)

AP就是对PR曲线求积分:

实际上,需要对PR平滑处理,对其每个点Precision对值取右侧最大的Precision:

  • 计算方式:对于第i个点寻找第i个点及其以下点最大的P值,然后乘上当前区间

在COCO数据集中,在PR曲线中采样100个点进行计算,即:

  • A P = 1 100 ∑ r 1 , r 2 , ⋯   , r 100 P s m o o t h ( i ) AP=\frac{1}{100}\sum_{r_{1},r_{2},\cdots,r_{100}}P_{smooth}( i) AP=1001r1,r2,,r100Psmooth(i)

mAP所有类别的平均AP值:

  • m A P = 1 k ∑ i = 1 k A P i mAP=\frac{1}{k}\sum_{i=1}^{k}AP_{i} mAP=k1i=1kAPi

4、IOU

IOU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率,即它们的交集和并集的比值。最理想情况是完全重叠,即比值为1。

IoU等于“预测的边框”和“真实的边框”之间交集和并集的比值。IoU计算如下图,B1为真实边框,B2为预测边框。

在这里插入图片描述

一般约定,在计算机检测任务中,如果loU≥0.5,就说检测正确,如果预测器和实际边界框完美重叠,loU就是1,因为交集就等于并集。但一般来说只要loU≥0.5,那么结果是可以接受的,看起来还可以。一般约定,0.5是阈值,用来判断预测的边界框是否正确。一般是这么约定,但如果你希望更严格一点,你可以将loU定得更高,比如说大于0.6或者更大的数字,但loU越高,边界框越精确。

IOU计算的Python实现

def iou(box1, box2):
    '''
    两个框(二维)的 iou 计算
    
    注意:边框以左上为原点
    
    box:[x1,y1,x2,y2],依次为左上右下坐标
    '''
    h = max(0, min(box1[2], box2[2]) - max(box1[0], box2[0]))
    w = max(0, min(box1[3], box2[3]) - max(box1[1], box2[1]))
    area_box1 = ((box1[2] - box1[0]) * (box1[3] - box1[1]))
    area_box2 = ((box2[2] - box2[0]) * (box2[3] - box2[1]))
    inter = w * h
    union = area_box1 + area_box2 - inter
    iou = inter / union
    return iou

box1 = [0,0,2,2]
box2 = [1,1,3,3]
IoU = iou(box1,box2)
print(IoU)

COCO评价数据中每条数据的含义

拓展:通过pycocotools获取每个类别的COCO指标

在目标检测任务中,我们常用的评价指标一般有两种,一种是使用Pascal VOC的评价指标,一种是更加严格的COCO评价指标,一般后者会更常用点。在计算COCO评价指标时,最常用的就是Python中的pycocotools包,但一般计算得到的结果是针对所有类别的,例如:

 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.512
 # !!
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.798
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.573
# 检测small medium large目标时的AP
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.191
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.397
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.565
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.443
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.625
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.632
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.319
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.531
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.677

COCO官网上含义解释:https://cocodataset.org/#detection-eval

比较重要的指标:

(AP) @[ IoU=0.50 标准

(AP) @[ IoU=0.50:0.95是对coco数据集的评价指标

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
弱视是儿童常见的眼病。在学龄前及学龄儿童弱视的患病率3%左右。弱视的发生与儿童视觉系统的发育成熟过程密切相关。在幼儿和学龄前视觉发育敏感期内,由于各种原因如:斜视、 双眼屈光不正或差别过大、白内障、上睑下垂等影响在儿童视网膜黄斑处形成清晰的物像而发生形觉剥夺,异常的两眼相互作用等可以产生不同类型的弱视。弱视的病变原因在视网膜、视神经和大脑视觉神经枢,因而在儿童发生弱视后,用光学矫正方法不能提高视力。 弱视的疗效与年龄有密切关系,年龄越小治疗效果越好。然而,年龄越小,患者的表达能力越差,弱视就越难发现。往往是小儿到入学检查视力时才发现。特别当儿童患不伴有斜视的弱视父母更不易发现,一旦发现儿童视力异常时,其弱视已经发展至相当程度。弱视儿童不仅视力低下,而且不可能有完善的立体视觉,对其生长发育以及成人后的学习和工作都会产生严重影响。因此, 及时检查儿童视力, 了解掌握儿童视力的发育情况,防止儿童弱视的发生。儿童弱视的早期发现应当引起社会和家长的高度重视。 通过大量临床观察和实验弱视动物模型研究证实:儿童产生弱视的主要原因是,在视觉发育的早期(视觉敏感期)内发生视觉系统发育阻碍所引起的。视觉图形刺激信号对于正在成长发育的视觉系统来说是极为重要的。首先在视网膜上要有视觉信号刺激持续地存在,如果没有图像刺激信号作用于视网膜,就等于剥夺了视网膜接受视觉信号的机会, 形成形觉剥夺使大脑视觉皮层枢得不到视觉信号刺激而停止发育;另外在视网膜上形成清晰的图像也是形成正常视力的必需条件,异常的两眼相互作用(如斜视和屈光参差等)影响在视网膜形成高质量的图像。由于视网膜与视皮层的感受神经细胞和处理分析神经细胞的联系是有对应关系的, 因而在视网膜上形成的图像信号清晰与否对于视皮层的处理光线信息的神经细胞的发育形成具有重要作用。模糊不清的劣质图像信号输入到大脑视皮层将对视皮层感受野神经细胞的正常发育产生不良影响,时间长了将产生枢性的视觉不良即弱视。 在儿童患弱视时,主要的临床症状有:1. 低照度视力下降;绝大多数弱视患者观看弱对比视力表时,视力都相应减退几行。2. 对视标识别的拥挤现象:弱视眼对单个视标的识别能力远高于相同大小但排列成行的视标。 单个视标的检测不能测出弱视者的真实视力,而行视力的检查才能发现弱视。3.对比敏感性功能( Contrast Sensitivity Funation,CSF)改变:通过辨别空间频率不同及对比度不同的正弦光栅来评价视功能,能够精确地反映视觉器官对细小以及粗大目标的分辨能力,较视力表更为敏感。 在弱视时,视力与CSF具有很好的相关性,视力低下时CSF也低下,在全频率段或者高、 频率段明显降低,曲线高峰向低空间频率方向移动。在排除眼部器质性病变后,充分矫正视力的情况下,测定对比敏感度,表示的是视网膜-大脑的视觉调制传递函数。与正常视力人群曲线进行对比就可以在早期发现弱视。 年龄小的儿童尤其是婴幼儿是诊断和治疗弱视的最重要时期。 而目前对小儿使用的各种主客观测定方法,有的仪器价格昂贵(如视觉诱发电位测定 VEP), 有的准确性不高(如各种主观视力表),而且所取得的数据不能进行自动处理、分析和存贮。 不便于跟踪观察视力发育情况。 我们的科技人员经过长期研究,在国内首次开发成功应用计算机技术的视力检查系统(Computerized Amblyopia Screening System )简称(CASS)。该系统应用现代视觉理论结合计算机技术,通过个人 PC 可以自动测试和记录儿童的视力情况。该系统将多种仪器和视力表的功能集成一体, 可以完成儿童视力、视力拥挤、视动性眼球震颤、视觉对比敏感度和视觉调制传递函数等多种主客视力指标的自动测量、数据处理分析和存贮。较好地解决了视力检查各种客观测定设备存在的数据不能自动处理、分析和长期存贮及不易标准化的缺点。CASS 经过与常规弱视检查方法的对比测试取得了良好的效果,适合用于医疗机构和家庭内的弱视检查。 Tel: (024) 81898050 Email: [email protected]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值