本篇博客的目的时介绍一些目标检测的入门知识,它们包括:目标检测任务的目的,目标检测的简要发展史,目标检测的主流方法以及目标检测任务的评价。
一.目标检测任务的目的
1.目标检测
在目标检测任务中,我们会输入一张图片,然后从整张图片中辨别出需要识别的目标,指出目标的类别,并且需要标注出目标的位置,并用外接矩形框标出。如下图所示(出自YOLO论文)。
2.目标检测与图像分类
目标检测时图像分类的进阶版本,图像分类只需要辨别图像中物体的类别即可,并不需要详细的坐标信息。下图展示了两者的区别,可以看到目标检测任务还给出了目标外接矩形框的对角顶点的横纵坐标。
二.目标检测的历史发展
1.特征工程阶段
在2012年以前,在目标检测领域,都是工程师自己手动设计目标类别的特征,然后对输入的图像用预先设计的算法进行处理(即进行特征工程),判断有没有感兴趣的目标,并分辨其位置。这个阶段比较著名的特征描述子有不变性特征SIFT,行人检测HOG等。
2.深度学习阶段
自2012年Alex Krizhevsky凭借Alex在ImageNet图像分类挑战赛中拿下冠军之后,深度学习在图像识别尤其是图像分类领域开始大放异彩,大众的视野也重新回到深度神经网络中。紧接着,不断有更深更复杂的网络出现,一再刷新ImageNet图像分类比赛的记录。
于是,大家开始考虑把深度网络引入目标检测领域中,这个阶段出现了RCNN,YOLO,SSD等经典的基于深度网络的模型,让深度学习在目标检测领域大放异彩,深度学习也逐渐成为了目标检测领域的主流。
三.一种目标检测任务思路
深度网络有优异的图像分类任务表现,但是其对于目标位置的预测表现却不佳。因此,一种可行的思路就是,人为的把图像分成坐标已知的区域,然后对这些坐标已知的区域进行图像分类任务。即锚框的生成,详见:https://blog.csdn.net/qq_46110834/article/details/111410923
这种方法被很多经典的模型所使用,如RCNN,YOLO,SSD等。所以弄懂这种方法的一些细节,讲有助于我们理解这些论文。
四.锚框的两种表达形式
定义一个锚框,需要指出两种信息,类别信息和位置信息。
而两种表达形式,主要是因为需要用两种方式表达锚框的位置信息,以适应不同情景的计算。
1.用锚框的对角顶点描述位置信息
如上图中的第一种表达,C是类别信息,x1,y1,x2,y2分别表示两个对角顶点的横纵坐标。
2.用锚框的中心点和锚框的宽高信息描述位置信息
如上图的第二种表达,C是类别信息,x_c,y_c,是锚框中心的横纵坐标,w,h是锚框的宽和高。
五.评价指标IOU
1.IOU定义
锚框预测了目标物体的类别信息和位置信息。对于类别信息预测的准确与否,我们可以很轻易的判断;但是位置信息预测的准确度,似乎就不那