目标检测:YOLO和SSD简介

作为计算机视觉的三大任务(图像分类、目标检测和图像分割)之一,目标检测的任务是从图像中定位并分类感兴趣的目标。传统的视觉方案涉及霍夫变换、滑动窗口、特征提取、边界检测、模板匹配、Hal特征、DPM、BoW、传统机器学习(如随机森林、AdaBoost)等技术或方法。在卷积神经网络的支持下,目标检测的任务近年来取得了很大的进展。应用广泛,例如在自动驾驶领域,目标检测用于无人车检测其他车辆、行人或交通标志。

常用的目标检测框架可以分为两类。一种是两阶段/两次触发方法,其特征在于将感兴趣区域的检测和分类分开。比较有代表性的有R-CNN,FAST R-CNN,Fast R-CNN。另一种是一阶段/一次法,用一个网络同时检测和分类感兴趣区域,以YOLO(v1,v2,v3)和SSD为代表。

两阶段的出现比较早,因为它需要把感兴趣区域的检测和分类分开。虽然准确率比较高,但是实时性比较差,不适合自动驾驶、无人车感知等应用场景。所以这次我们主要介绍SSD和YOLO系列框架。

SSD和2016是W. Liu等人在《SSD:单次多盒探测器》一文中提出的。虽然它比YOLO(v1)同年提出的时间稍晚,但它更快、更精确。

SSD的框架在一个基本的CNN网络上增加了一些附加的结构(作者使用VGG-16,但也可以用其他网络代替),使网络具有以下特点:

多尺度特征图检测

作者在VGG-16后面添加了一些特征层,这些层的大小逐渐减小,让我们可以在不同的尺度上进行预测。特征图越深越小,可以预测的物体越大。

卷积网络预测

与YOLO的全连通层不同,对于每个用于预测的通道特征图,SSD分类器都使用卷积进行预测,其中每个单元中放置的先验帧数就是预测类别数。

集合超越盒

对于特征图上的每个单元,我们放置一系列先前的框。然后,对于对应于特征图上每个细胞的每个先前帧,我们预测先前帧的维度偏移和每个类别的置信度。例如,对于一个新的特征映射,如果每个特征映射对应于一个先前的框,并且要预测的类别被分类,则输出大小为。(体现在培训过程中)

其中,如果用前一帧的中心位置和宽高来表示预测帧的中心位置和宽高,则实际预测的维度偏移量分别为:

下图是SSD的一帧。先用一个VGG-16卷积前五层,然后级联一系列卷积层,其中六层分别卷积(或者最后一层的平均池化)进行预测,得到一个的输出,再通过最大抑制(NMS)得到最终结果。

图中有四个用于网络检测的特征图,大小分别是、、、和;这些特征图的每个单元对应有、、、和预置的先验框,所以网络* * *预测一个边界框,输出维数(最大抑制前)为。

待续

参考:

chenxp2311的CSDN博客:论文阅读:SSD:单次多盒探测器。

小江之虎专栏:目标检测|SSD原理与实现

LittleYii的CSDN博客:目标探测论文阅读:YOLOv1-YOLOv3 (1)

作者的其他相关文章:

图像分割:全卷积神经网络(FCN)详解

PointNet:基于深度学习的3D点云分类分割模型详解

基于视觉的机器人室内定位