1. 数据集和评价指标

792 阅读2分钟

1.PASCAL VOC2012数据集

PASCAL VOC2012数据集简介

PASCAL VOC挑战赛是一个世界级的计算机视觉挑战赛,PASCAL全称:Pattern Analysis,Statical Modeling and Computational Learning,是一个欧盟资助的网络组织。PASCAL VOC挑战赛主要包括以下几类:图像分类、目标检测、目标分割、动作识别等。

文件结构

图片.png

图1-1 PASCAL VOC数据集文件结构

  • Annotations:每个图片的标注信息,.xml文件的形式,里面有:是否被截断位置信息(segmented),左上角x,y坐标(xmin,ymin),右下角的x,y坐标(xmax,ymax)。
  • train.txt:训练集的名称。

2.COCO数据集

COCO数据集简介

MS COCO是一个非常大型且常用的数据集,其中包括了目标检测,分割,图像描述等。MS COCO 通常进行预训练。

图片.png

图2-1 MS COCO数据集特性

stuff类别:没有明确边界的材料和对象。 object80类是stuff91类的子集。目标检测任务object80类足够了。

图片.png

图2-2 PASCAL VOC数据集和MS COCO数据集类别对比

有些论文会用MS COCO预训练,再用PASCAL VOC再训练。

文件结构

目标检测需要下载的COCO的三个文件:

  • 2017 Train images[118K/18GB]:训练过程中使用到的所有图像文件。
  • 2017 Val images[5K/1GB]:验证过程中使用到的所有图像文件。
  • 2017 Train/Val annotations[241MB]:对应训练集和验证集的标注json文件。

图片.png

图12-3 MS COCO数据集文件结构

3.目标检测评价标准

评价指标

  • TP(True Positive):Iou>0.5的检测框数量(同一Ground Truth只计算一次)。被预测成正样本,并且预测对了
  • FP(False Positive):IoU<=0.5的检测框(或者是检测到同一个GT的多余检测框的数量)。被预测成正样本,但是预测错了
  • FN(False Negative):没有检测到的GT的数量。本来是正样本,没有被预测出来是正样本
  • TN(True Negative):没有检测到的GT的数量。本来是负样本,没有被预测成正样本

图片.png

图3-1 评价标准图示

  • Precision=TP/(TP+FP)Precision=TP/(TP+FP)模型预测的所有目标中,预测正确的比例。查准率
  • Recall=TP/(TP+FN)Recall=TP/(TP+FN)所有真实目标中,模型预测正确的目标。查全率

图片.png

图3-2 查准率和召回率图示

例子

图片.png Tp=1:IoU>0.5,0.9的检测框1个,即被预测成正样本,并且预测对了的框框。

FP=1:IoU<=0.5,0.3的检测框1个,即被预测成正样本,但是预测错了。

FN=1:右下角的猫猫未被检测出来,1个,即本来是正样本,但是没有被预测出来。

  • AP:P-R曲线下面积,某个类别在整个数据集下的Average Precision
  • P-R曲线:Precision-Recall曲线。
  • mAP:mean Average Precision,即各类别AP的平均值
  • Confidence:置信度,每个边框都有一个置信度,其与置信度门槛比较,低于置信度阈值的,我们把这些boxes当做负的(框);反之,高于置信度阈值的,当做正的(框)。

注:对于置信度,不同论文对其定义是不同的,一般用到比较多的是分类置信度,分类置信度confidence是介于0和1(或100%)之间的数字,它描述模型认为此预测边界框包含某类别目标的概率,一般多分类的话,最后一层输出接softmax函数,会输出n个前景和1个背景的概率分数,预测框属于哪一类看哪个的分数最高。还有新的一些论文,在预测边界框时还预测了预测框与GT的IoU,以此IoU作为置信度分数,这种称为定位置信度。

计算mAP的步骤:

检测数据集中所有的某A类别:

  1. 根据IOU计算TP,FP。
  2. 将每个预测框框的confidence从高到低排序。
  3. 在不同的confidence阈值下获取Precision和Recall。
  4. 绘制P-R曲线。曲线面积即AP值。

AP=10.33+0.670.330.55AP=1∗0.33+0.67∗0.33≈0.55

图片.png

  1. 计算mAP值。 AP衡量的是对一个类检测好坏,mAP就是对多个类的检测好坏。就是简单粗暴的把所有类的AP值平均就好了。比如有两类,类A的AP值是0.5,类B的AP值是0.2,那么mAP=(0.5+0.2)/2=0.35。

COCO数据集评价指标

图片.png

APIoU=0.5AP^{IoU=0.5}:指IoU=0.5时对应的AP值。

APsmall/medium/largeAP^{small/medium/large}:不同面积的目标的AP值。比如想要关注小目标,就看APsmallAP^{small}

ARmax=1/10/100AR^{max=1/10/100}:指的是查全率。每张图片提供最多1/10/100个预测边界框。

ARsmall/medium/largeAR^{small/medium/large}:不同面积的目标的AR值.

常看指标:APIoU=0.5AP^{IoU=0.5}APIoU=0.5:0.95AP^{IoU=0.5:0.95}ARmax=1/10/100AR^{max=1/10/100},如果说ARmax=10/100AR^{max=10/100}差不多那就不需要设定那么多的检测框