论文部分内容阅读
目标检测主要用来解决图像或视频中的物体是什么以及在哪里的综合问题,它是目标分割、目标跟踪、行为识别等更复杂的计算机视觉任务的基石。目标检测在交通、安防、军事、医疗、家居生活等诸多领域被广泛的应用。近年来,巨大的互联网数据量,不断提升的计算机运算性能使得深度学习技术以强大的自动提取特征的能力在计算机视觉、自然语言处理等诸多领域取得了卓越的成绩,基于深度学习的目标检测算法也逐渐取代了基于手工特征的传统目标检测算法。YOLO(You Only Look Once)是一种基于深度回归模型的目标检测算法,其实现了实时检测同时有着令人满意的检测精度。到目前为止,YOLO共有四个版本,YOLO、YOLOv2、YOLOv3和YOLOv4。本文主要通过研究YOLO系列算法的原理,以YOLOv2和YOLOv3的小模型版本Tiny-YOLOv2和Tiny-YOLOv3为基础改进算法,针对算法存在的精度不高,召回率不高等问题,在锚框选取策略、网络结构等方面进行改进,开展了以下工作:(1)YOLO算法存在检测精度不高的问题,与基于区域提名(Region Proposal)的目标检测模型相比召回率更低。YOLOv2中用K-means聚类方法选取先验框的方式使YOLOv2相较于YOLO获得了更高的召回率。本文采用K-means++聚类方法继续优化Tiny-YOLOv2中锚框选取策略,提高真实框与预测框之间的Avg IOU,从而提高模型的召回率。接着在Tiny-YOLOv2加入改进的空间金字塔池化(Spatial Pyramid Pooling,SPP)模块,区别于经典的为全连接层设计的SPP模块,本文的SPP模块适用于全卷积神经网络,其包含三个不同尺寸的最大池化层。SPP模块对网络的包含复杂语义特征的高层特征图进行多尺度变换,最后将多尺度的特征图合并为一个特征图,实现了对局部特征的多尺度利用。本文从PASCAL VOC 2007和PASCAL VOC 2012整理出包含儿童的图片,标注图片中目标的类别和位置信息,最终得到一个符合PASCAL VOC格式的儿童数据集。改进后的模型在自制的儿童数据集上,与原模型相比小幅度增加了模型运算量,提升了召回率和检测精度。(2)目标检测算法中用来特征提取的主干网络对算法的准确率及速度等性能影响很大,YOLO系列算法在改进过程中,特征提取网络也在不断优化。Tiny-YOLOv3特征提取网络简单的叠加卷积层,各层级之间的特征没有较多的信息交流,此外TinyYOLOv3的特征提取网络最后一层使用的卷积核数量较大,占据模型模型大部分的参数量和运算量。DenseNet有着区别于传统卷积神经网络的密集连接模式,本文借鉴DenseNet中的密集连接模式,实验对比包含不同子模块数量的密集连接块对模型性能的影响,构建一个包含五个子模块的密集连接模块对Tiny-YOLOv3的特征提取网络进行改进。密集连接模块能在不引入额外参数量和运算量的情况下,加强模型网络层之间的特征交流,实现特征复用。本文在PASCAL VOC数据集和MS COCO数据集上对TinyYOLOv2,Tiny-YOLOv3和Dense-Tiny-YOLO三个模型实验,并对比三种模型在参数量,运算量,检测速度,平均检测精度和平均召回率五个指标上的数值。实验和结果分析表明,Dense-Tiny-YOLO相对于其他两个模型整体表现更优。