0 引言
随着科技的发展,目标检测成为计算机视觉研究热门课题,可应用于无人驾驶、视频监控、行人检测、海面舰船检测等多个方面。目标检测传统方法通常采用机器学习方法,即特征工程结合分类器。首先使用算子(如HO(G]、SHIFT]、Haarl)提取特征,然后选择合适的分类器(如SVM[9]、Fisher-]、Adaboosting”)依据特征进行分类,得到目标检测结果。但是传统方法存在两个致命缺点:①选择的算子不适应所有特征的提取,即提取的部分特征没有很强的代表性;②算子选择依赖于大量人工经验。随着硬件和大数据的发展,基于深度学习的目标检测算法克服了以上两个缺点,逐渐替代了传统方法,并且提升了目标检测精度和鲁棒性,使学得的特征更丰富、表达能力更强。
目前,基于深度学习的目标检测方法主要分为两类:一类是基于建议框+分类的目标检测方法,典型代表有R-CNN系列(R-CNN]、SPPnet:]、Fast R-CNN0]以及Fast-eR-CNN]),其检测效果佳,但是在速度方面还远不能满足实时检测需求。因此在提高平均精度均值(mean Aver-age Precision,mAP)的同时兼顾速度逐渐成为目标检测研究方向;另一类是基于回归思想的深度学习目标检测模型,典型代表有YOLO]、SSD]。YOLO虽然能够达到实时效果,但是其mAP与第一类方法的结果存在较大差异,且YOL0存在两个缺点:①只用到最后的特征层,所以对于多尺度目标检测效果较差;②YOL0仍然使用全连接层进行最后分类,准确性较差。相比而言,SSD网络采用图像金字塔结构,多尺度目标检测效果较好,适合本文多目标数据集。另外SSD使用卷积层替代了最后全连接层,故定位更准确,在具有较好实时性的同时mAP更高,其速度可与YOLO媲美,mAP与Faster RCNN保持在相同水平,但是以上方法都存在正负样本失衡问题。
本文综合考虑检测速度和精度,采用SSD网络进行研究,并引入Focal Loss损失函数设计新的损失函数,替换原有在线难分样本挖掘(Online Hard Example Mining,OHEM)机制,更高效地解决了正负样本失衡问题,提高了整体检测平均精度。
1 SSD目标检测网络
SSD是目前综合性能最好的网络。它使用3×3的卷积核替换VGGNet最后全连接层进行分类回归,可利用目标周围信息进行预测,而不是利用全局信息,使定位更加准确。另外其使用特征金字塔结构,将不同特征层用于最后结果预测,可涵盖不同维度、保证特征丰富性,并且使用浅层特征层负责小目标检测,深层特征层负责大目标检测,可进一步提高检测效果。特征金字塔设计如图1所示。另外,SSD 在多个特征层上生成不同尺度、不同长宽比的锚框,产生良好的多尺度目标检测效果。
1.1 网络架构
SSD 模型思想仍然延续了传统目标检测思想,前面的卷基层用于特征提取,后面的 Softmax 层用于分类。SSD模型采用 VGG16 基础网络结构。SSD 网络有两种架构,一种适合于图片分辨率为 300×300 的输入(SSD300),另一种适合于分辨率为 512×512 的输入图(SSD512),结构如图2 所示。
暂无评论内容