目标检测(Object Detection)
目标检测任务说明
在动手学习深度学习中对目标检测任务有如下的描述。
图像分类任务中,我们假设图像中只有一个主要物体对象,我们只关注如何识别其类别。 然而,很多时候图像里有多个我们感兴趣的目标,我们不仅想知道它们的类别,还想得到它们在图像中的具体位置。 在计算机视觉里,我们将这类任务称为目标检测(object detection)或目标识别(object recognition)
在给定的一张目标检测的图片中,我们可以看到几个重要的元素,彩色的框,类别标签,及其它的预测值。从而引出了目标检测中几个重要的概念信息的说明
- 类别标签( Category label):在图中指的是car person dog horse等几个类别的说明。
- 置信度得分 (Confidence score):在图中指的是对于每个类别标签的预测分数。
- 边界框(Bounding box):是指对于每个类别的物体所框选的位置。
通过边界框给出了物体的相关位置信息
我们通常使用边界框(bounding box)来描述对象的空间位置。 边界框是矩形的,由矩形左上角的以及右下角的x和y坐标决定。 另一种常用的边界框表示方法是边界框中心的轴坐标(x,y)以及框的宽度和高度。
一个边缘框可以通过4个数字定义
- (左上x, 左上y,右下x,右下y)
- (左上x, 左上y,宽,高)
(60,65,378,579):在图中对应向右为x轴正方向,向下为y轴正方向
下面的四个图依次介绍了计算机视觉中常见的四个任务,依次包括了
- Classification
- Classification+ Localization
- Object Detection
- instance segmetation(实例分割)
定位和检测:
- 定位是找到检测图像中带有一个给定标签的单个目标
- 检测是找到图像中带有给定标签的所有目标
目标检测常用数据集
PASCAL VOC数据集
PASCALVOC挑战赛在2005年至2012年间展开。
PASCAL VOC 2007:9963张图像, 24640个标注; PASCAL VOC 2012:11530 张图像,27450个标注。
该数据集有20个分类:
-
Person: person
-
Animal: bird, cat, cow, dog,horse, sheep
-
Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train
-
Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor
官网地址:http://host.robots.ox.ac.uk/pascal/VOC/
MS COCO数据集
MS COCO的全称是Microsoft Common Objects in Context,起源于是微软于2014年出资标注的MicrosoftCOcO数据集,与lmageNet 竞赛一样,被视为是计算机视觉领域最受关注和最权威的比赛之一。
在lmageNet竞赛停办后,COcO竞赛就成为是当前目标识别、检测等领域的一个最权威、最重要的标杆,也是目前该领域在国际上唯一能汇集Google、微软 Facebook以及国内外众多顶尖院校和优秀创新企业共同参与的大赛。
COCO ( Common Objects in Context) 数据集包含20万个图像: 11.5万多张训练集图像,5千张验证集图像,2万多张测试集图像,80个类别中有超过50方个自标标注。平均每个图像的目标数为7.2
官网地址:https://cocodataset.org/#home
目标检测的性能指标
检测精度
- Precision,Recall,F1score
- loU (Intersection over Union)
- P-R curve (Precison-Recall curve)
- AP(AveragePrecision)
- mAp(mean Average Precision)
在引入检测精度相关的概念的时候,首先引入混淆矩阵(confusion matrix)的概念
- 第一位T/F:表示预测的对错
- 第二位P/N:表示预测的结果
同时结合给定的示意图进行更好的理解
Precision:精度Precision(查准率)是评估预测的准不准(看预测列)
precision = T P T P + F P \text { precision }=\frac{T P}{T P+F P} precision =TP+FPTP
召回率Recall(查全率)是评估找的全不全(看实际行)
recall = T P T P + F N \text { recall }=\frac{T P}{T P+F N} recall =TP+FNTP
Accuracy: 精准度,划分正确的所占的比例
Accuracy = T P + T N T P + F P + F N + T N \text { Accuracy }=\frac{T P+T N}{T P+F P+F N+T N} Accuracy =TP+FP+FN+TNTP+TN
F1 score:
F 1 s c o r e = 2 × Precision × Recall Precision + Recall { F1 score }=\frac{2 \times \text { Precision } \times \text { Recall }}{\text { Precision }+ \text { Recall }} F1score= Precision + Recall 2× Precision × Recall
loU (lntersection over Union ):交并比
在说明交并比的概念之前首先要先说明两个概念:Ground truth(真实的框) Prediction(模型预测的框)
通俗的说两个概念的比即为交并比(确定一个IOU假设为0.5根据IOU的值来进行划分,从而确定划分的是否正确)
AP衡量的是学习出来的模型在每个类别上的好坏(Average Precision)
举一个简单的例子:在图中Ap是指人,羊等每个类别的值,而Map是综合去平均值
下面说明Ap的计算方法:
AP (Average Precision) in PAsCAL VOC challenge
对于PASCALVOC挑战,如果IoU>O.5,则预测为正样本(TP)。但是,如果检测到同一目标的多个检测,则视第一个检测为正样本(TP),而视其余检测为负样本(FP)。
mAP衡量的是学出的模型在所有类别上的好坏。是去所有类别上AP的均值
检测速度
- 前传耗时
- 每秒帧数FPS(FramesPerSecond)
- 浮点运算量(FLOPS)