本节课学习了目标检测项目,目标检测是计算机视觉领域的重要任务,主要是识别图片中有哪些物体并且找到物体的存在位置。

多任务:位置 + 类别

目标种类与数量繁多的问题

目标尺度不均的问题 遮挡、

声等外部环境干扰

目标检测的数据集

VOC数据集:

PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。

主要分为4大类,20小类;VOC 2007:9963图片/24640目标 ;VOC2012:23080图片/54900目标

COCO数据集

起源于微软2014年出资标注的MS COCO数据库。

包含20万个图像,80个类别,超过50万个目标标注,平均每个图像的目标数是7.2

目标检测的Ground Truth

在目标检测中,Ground Truth(真值)是非常重要的概念,Ground Truth指的是数据集中目标物体的真实位置、类别等信息,是评判目标检测模型准确性的基准。比如在一张包含汽车和行人的图像中,汽车和行人的准确位置、所属类别就是Ground Truth。

类别+真实边界框坐标(x,y,w,h) 假设左图尺寸为1000*800px

Class x y width height
Dog 100

600

150 100
Horse 700 300 200 250
Person 400 400 100 500

YOLO(TXT)格式: (x,y,w,h)

分别代表中心点坐标和宽、高 x,y,w,h均为归一化结果(为什么坐标最大为1)

VOC(XML)格式: (Xmin,Ymin,Xmax,Ymax)

分别代表左上角和右下角的两个坐标。

COCO(JSON)格式: (Xmin, Ymin, W, H)

其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高

目标检测的评估指标

IoU:Intersection over Union

生成的预测结果会非常多

首先过滤掉低类别置信度的检测结果

使用IoU作为边界框正确性的度量指标


(重合度越高,IoU值越接近1)

检测结果的类别

评价指标 解释 Ground Truth 检测结果 目标检测中的解释
TP 真的正样本 正样本 正样本 IoU>阈值
FP 假的正样本 负样本 正样本 IoU<阈值
TN 真的负样本 负样本 负样本
FN 假的负样本 正样本 负样本 漏检目标

Precision:准确率,查准率

Recall:召回率,查全率

P-R曲线

mean AP:每个类别所得到的AP的均值

Average Precision:11点法、近似面积法

 mean与average

mean:算数平均

average:包含其他的度量指标

Average P:P值需要设计度量规则让它均衡

mean AP:AP够均衡了,直接mean即可

AP计算方法:11点法

案例

1.根据IoU划分TP或者FP

A B C D
1 图片 候选框编号 置信度 TP or FP
2 1 A 0.88 FP
3 1 B 0.7 TP
4 1 C 0.8 FP
5 2 D 0.71 FP
6 2 E 0.54 TP
7 2 F 0.74 FP
8 3 G 0.18 TP
9 3 H 0.67 FP
10 3 I 0.38 FP
11 3 J 0.91 TP
12 3 K 0.44 FP

2.按置信度的从大到小,计算P和R

A B C D E F
1 图片 候选框编号 置信度 TP or FP Precision Recall
2 3 J 0.91 TP 1 0.1428
3 1 A 0.88 FP 0.5 0.1428
4 1 C 0.8 FP 0.3333 0.1428
5 2 F 0.74 FP 0.25 0.1428
6 2 D 0.71 FP 0.2 0.1428
7 1 B 0.7 TP 0.3333 0.2587
8 3 H 0.67 FP 0.2857 0.2587
9 2 E 0.54 TP 0.375 0.4285
10 3 K 0.44 FP 0.3333 0.4285
11 3 I 0.38 FP 0.3 0.4285
12 3 G 0.18 TP 0.3636

3.绘制P-R曲线,进行AP计算

目标检测的传统方法

滑动窗口法

目标检测的深度学习方法

anchor box

anchor box用ratio+scale描述

feature map的点来决定位置

scale来表示目标的大小(面积大小)

aspect ratio来表示目标的形状(长宽比)

anchor-base和anchor-free

anchor-base

        anchor-base是自顶向下的 类似于传统方法,滑动窗口法穷举出许多,然后再根据置信度之类的进行筛选

anchor-free

        anchor-free是自底向上的 想办法自动生成,不穷举

        free掉了anchor的预设过程

two stage算法流程

常见two stage算法

        经典发展线:R-CNN、SPP-Net、Fast R-CNN、 Faster R-CNN

        其他:Cascade R-CNN、Guided Anchoring

one stage算法流程

常见one stage算法

        YOLO系列:YOLO v1-v5

        SSD系列:SSD、DSSD、FSSD

        其他经典:RefineDet

非极大值抑制(Non-maximum suppression,NMS)

设定目标框的置信度阈值,常用的阈值是0.5左右

根据置信度降序排列候选框列表

选取置信度最高的框A添到输出列表,将其从候选框列表删除

候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框

重复上述过程,直到候选框列表为空,返回输出列表

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐