复杂背景下的目标检测是计算机视觉领域中一个十分重要的课题. 传统的目标检测方法面临以下两个问题: 一是基于滑动窗口的区域选择策略容易产生窗口冗余; 二是手工设计的特征对于目标多样性的变化并没有好的鲁棒性. 因此, 基于深度学习的目标检测方法开始受到人们的广泛关注. 深度学习方法能克服传统人工选取特征的缺点, 自适应地学习表征目标的最佳特征, 且抗干扰性能优异, 可以有效提高目标识别的准确性和鲁棒性[1].
在深度学习目标检测模型中, 具有代表性的是Girshick等[2]提出的一系列目标检测算法, 其开山之作是R-CNN (region-convolutional neural network). 针对R-CNN训练时间过长的问题, Girshick[3]又提出了Fast R-CNN. 与R-CNN类似, Fast R-CNN依然采用selective search[4]生成候选区域, 但是, 与R-CNN提取出所有候选区域并使用SVM分类的方法不同, Fast R-CNN在整张图片上使用CNN, 然后使用特征映射提取感兴趣区域(region of interest, RoI); 同时, 利用反向传播网络进行分类和回归. 该方法不仅检测速度快, 而且具有RoI集中层和全连接层, 使得模型可求导, 更容易训练. Ren等[5]又提出了Fast R-CNN的升级版本Faster R-CNN算法. Faster R-CNN是第一个真正意义上端到端的、准实时的深度学习目标检测算法. Faster R-CNN最大的创新点在于设计了候选区域生成网络(region proposal network, RPN), 并设计了anchor机制. 从R-CNN到Fast R-CNN再到Faster R-CNN, 候选区域生成、特征提取、候选目标确认以及边界框坐标回归被逐渐统一到同一个网络框架中.
同样是基于深度学习的目标检测方法, 另一个发展分支是基于回归的目标检测方法. 华盛顿大学的Redmon等[6]提出了YOLO (you only look once)算法, 其核心思想是使用整张图像作为网络输入, 直接在输出层中输出边界框的位置及其所属的类别. 它的训练和检测均在单独的网络中进行, 取得了较好的实时检测效果. YOLO方法舍弃了区域备选框阶段, 加快了速度, 但是定位和分类精度较低, 尤其对小目标以及比较密集的目标群检测效果不够理想, 召回率较低. 2017年, Redmon等[7]又提出了具有检测速度更快、检测精度更高和稳健性更强的YOLO v2. Ju等[8]则以YOLO v3[9]为基础, 提出了一种改进的多尺度目标检测算法, PASCAL VOC和KITTI数据集上的实验结果均表明了该算法的有效性. 针对现有网络模型在实时性方面存在的不足, He等[10]提出了实时的目标检测模型TF-YOLO (tiny fast YOLO), 仿真结果表明, 该算法在多种设备上都可实现实时目标检测.
针对YOLO算法定位精度低的问题, Liu等[11]提出了SSD算法, 该算法先根据锚点(anchor)提取备选框, 然后再进行分类. SSD算法将YOLO的回归思想与Faster R-CNN的锚点机制相结合, 一次即可完成网络训练, 并且定位精度和分类精度相比YOLO都有大幅度提高. Bosquet等[12]提出了一种基于改进SSD模型的SAR (synthetic aperture radar)目标检测算法, 仿真结果表明, 该算法可以实现复杂背景下SAR目标的检测.
尽管SSD算法在特定数据集上已经取得了较高的准确率和较好的实时性, 但是, 该算法损失函数的设计未考虑正负样本不均衡所带来的问题, 也存在因网络结构的缺陷而引起的小目标检测精度不高的问题. 针对模型中出现的正负样本失衡问题, 本文基于困难样本挖掘原理, 在损失函数中引入调制因子; 针对因低层语义信息缺乏所导致的小目标检测结果欠佳的问题, 采取多层特征融合的结构加以解决, 即进行预测之前先进行浅层特征图的融合, 增强其低层的语义信息, 以期能够提高小目标的检测精度.