APP下载

YOLO算法在目标检测中的研究进展

2022-10-14宋品德曹立佳

兵器装备工程学报 2022年9期
关键词:尺度精度图像

耿 创,宋品德,曹立佳

(1.四川轻化工大学 自动化与信息工程学院, 四川 宜宾 644000; 2.桥梁无损检测与工程计算四川省高校重点实验室, 四川 宜宾 644000; 3.四川轻化工大学 计算机科学与工程学院, 四川 宜宾 644000; 4.人工智能四川省重点实验室, 四川 宜宾 644000)

1 引言

目标检测是计算机视觉领域重要的研究方向之一,主要任务是根据用户感兴趣目标信息找出输入图像中所有符合要求的目标,并对目标所属类别和所处位置进行分析。在实际生活中,输入图像往往因为目标在外观、颜色、姿态上的差异,加上采集图像数据时光照、遮挡、抖动、辐射等外界因素的干扰或拍照要求的限制,导致成像质量不佳,严重影响目标检测算法的定位精度,使得定位精度问题一直是目标检测领域极具挑战性的焦点问题。

传统的目标检测方法借助机器学习算法,通过不同尺度的滑动窗口确定目标候选区域,对区域内目标特征如梯度直方图特征(histogram of oriented gradients,HOG)、尺度不变特征(scale invariant feature transform,SIFT)、局部二值化特征(local binary pattern,LBP)、哈尔特征(haar-like features,Haar)等进行提取,接着将提取到的图像特征输入到如支持向量机(support vector machine,SVM)、最近邻(K-Nearest-Neighbor,KNN)、决策树(Decision Tree)、迭代器(AdaBoost)等的分类器中对候选目标进行分类。基于传统的目标检测方法有其固有缺陷:基于滑窗的区域选择算法对不同特征目标的针对性弱,时间复杂度高且窗口大量冗余;所提取到的图像特征本质上是一种手工设计的特征,针对不同的图像检测任务,特征好坏对检测性能有着重大直接的影响,需要研究人员针对所要解决的任务领域设计针对性的特征。此外,基于机器学习的目标检测方法从图像底层特征提取到表现特征提取的流程相对复杂,对人工特征的设计依赖性强。因此,传统基于机器学习的目标检测方法遇到瓶颈,需要一种更加高效精确的方法完成图像特征的提取。

与传统的机器学习相比,基于深度学习的目标检测算法通过多层神经网络直接对图像进行卷积和池化操作来提取图像的本质特征,在图像识别领域优势明显。

深度学习的发展,特别是基于深度学习的卷积神经网络(convolutional neural network,CNN)的出现,为图像特征提取带来全新的解决方法。CNN是局部连接网络,在CNN中,选取图像中小块区域作为底层输入数据,信息通过前向传播经过网络中各个层,每一层都由过滤器构成,以便能获得观测数据的一些显著特征,其层次间的紧密联系和空间信息使其特别适用于图像特征提取工作。

在实际工程应用中,部分场景对于模型精度要求非常高,部分场景对于模型检测速度要求非常高,但更多的是对速度和精度都有很高要求的情况。所以亟需一种能够在满足检测精度要求的同时达到实时检测的检测算法。

2 目标检测算法

2014年,Girshick等在CVPR(IEEE conference on computer vision and pattern recognition)大会上提出了R-CNN(region with CNN feature)网络,He K等在网络的全连接层前加了一个空间金字塔(spatial pyramid polling)层,使得该网络在全连接层输入不需要归一化图像尺寸,提取的特征有更好的尺度不变性,降低了过拟合的可能,在VOC(visual object classes)2012数据集上,将平均准确率(mean average precision,mAP)提升到53.3%。2015年Girshick等和Ren等又相继提出了Fast R-CNN和Faster R-CNN模型,在提高模型检测精度的同时优化了检测速度。2016年Redmon等提出的YOLO(You Only Look Once)V1以45FPS(frames per second)真正达到了实时检测视频的速度,这为实时检测视频运动目标指明了方向;Liu等提出了SSD(Single Shot MultiBox Detector)物体检测模型,在实时性和准确率都高于YOLO V1,在VOC数据集测试,mAP达到了74.3%,检测速度也达到了46FPS;随后,Redmon等又提出了YOLO V2,在VOC数据集上测试,将mAP提升至78.6%,并且大幅提高了检测速度,达到了67FPS的实时检测效果。同时,基于区域建议的CNN目标检测和基于耦合CNN的弱监督学习方法也被提出来,使得标记成本大幅降低。

姚群力等系统综述了深度学习在目标检测中的研究进展,着重介绍了基于R-CNN算法的改进优化算法,对无区域建议的基于回归的YOLO算法和SSD算法等进行了简单介绍,提出了一些深度学习在目标检测领域遇到的难点问题以及研究趋势。肖雨晴等就非机动车、机动车和行人3个方面对目标检测在交通场景中的应用做了系统综述,介绍了几个目标检测算法的优化方向与经典算法。员娇娇等针对目标检测领域遇到的小目标检测问题做了系统综述,分别就多尺度、提高特征分辨率、上下文语义信息、数据增强和优化网络这五个方面的多种算法进行介绍,并对算法的特点和网络进行了对比研究。

基于区域建议的两步检测算法在精度上有很好的表现,但是在检测速度上无法达到实时检测的要求。基于回归的算法与基于区域建议的算法相比,在精度上做了让步,但是在检测速度上却有很大提高,完全可以达到实时检测的要求。YOLO算法相比SSD算法,在YOLO V3时期与SSD算法性能不相上下,但是随后推出的YOLO V4和YOLO V5,已在性能上远超SSD算法。

3 对YOLO V2算法的改进算法

YOLO V2算法的基础模型为Darknet-19,包含19个卷积层和5个最大值池化层。其中,卷积层主要采用3×3卷积,2×2池化层,可以将特征图中的通道数增加两倍。最后由全局平均池化层进行结果预测,并在3×3卷积之间添加1×1卷积对特征图通道进行压缩,以降低模型计算量和参数。YOLO V2的Darknet-19模型相比YOLO V1模型,主要在计算量上减少了约33%,Darknet-19结构如图1所示。

图1 Darknet-19网络结构Fig.1 Darknet-19 net structure

3.1 基于多尺度分辨率优化网络的小目标检测

海上船舶目标的检测问题在海事搜救、交通管理和无人船只等领域具有重大意义,船舶目标具有目标小,特征点少和易受环境影响等特点。周薇娜等针对海上船舶目标检测问题提出了一种改进的网络结构,结合SELU(scaled exponential linear units)激活函数,有效提高了YOLO V2算法的检测精度和YOLO V3算法训练过程的冗余问题,但是在检测精度上还有待提高。

针对船舶目标检测任务,于洋等基于YOLO V2网络,使用-Means算法对自制船舶数据集中的目标框重聚类,优化船舶检测问题的anchor数据。对输入图像的尺寸进行调整,使之每10 epoch改变一次图像的尺寸,提高网络对不同尺度目标的检测能力。考虑到直通层可以将相邻特征堆叠到不同通道,即把高分辨率的特征映射成低分辨率的特征映射,通过将特征细粒度化,可以达到增强小目标定位问题的特性。于洋等在原YOLO V2的基础上又增加了一个直通层,以增强对小目标物体的定位能力,同时删减了网络中冗余的卷积层和池化层,提升网络的检测速度。在与原YOLO V2做对比试验发现结果如表1所示。

表1 改进算法与原算法结果Table 1 Comparing the improved algorithm with the original one

尽管模型的检测速度在不影响实时性的基础上略有降低,但是检测精度相比原YOLO V2算法有所提高。而且改进网络在船舶的小目标定位问题上精度更高,针对同一张图片中出现不同分辨率大小的船舶时,改进网络的检测效果更好。

3.2 基于改进NMS的复杂条件下目标检测

复杂气象条件下采集到的船舶目标信息具有多种复杂的噪声,周薇娜等从新加坡海事数据库(singapore maritime dataset,SMD)数据集中选取了传感器噪声、干扰物噪声、大尺度变化噪声和恶劣天气背景噪声4种极具代表性的噪声作为检测对象,验证改进算法的有效性。试验结果表明改进算法针对复杂气象条件下的船舶目标检测有一定效果,但是检测精度还有待提高。

针对同样复杂气象条件下的目标检测任务中采集到的图像数据不清晰等问题,熊咏平等以YOLO V2网络模型为基础,针对复杂气象条件下海上舰船目标的检测任务,对非极大值抑制算法进行改进,通过将暗通道先验去雾算法的基本物理特征和图像亮度值的差异相结合形成的显著性特征对图像是否清晰进行判别,不清晰图像采用去雾算法处理后再进行目标检测任务。考虑到传统非极大值抑制算法存在只能对同类目标进行抑制,非同类目标不抑制的问题,以及试验所用数据集中检测对象分布稀疏的特点,熊咏平等对所有检测到的类别进行统一NMS处理,不再单独处理,以提高模型检测精度。针对检测框与真实区域重叠度低的问题,熊咏平等采用基于上下文感知的显著性算法对检测结果中显著性特征进行提取,使用自适应阈值分割方法使得检测框大小与真实区域更为接近。在2017年中国计算机学会大数据与计算智能大赛使用的数据集上与Faster R-CNN和原YOLO V2算法目标检测结果如表2所示。

根据表2可以看出,经过熊咏平等的改进之后,模型的检测速度略微降低,但检测精度上大幅提高。为复杂气象条件下遥感图像目标检测任务提出一种可行性方案。

表2 复杂气象条件下目标检测结果Table 2 Comparison of target detection of performance under complex weather conditions

3.3 基于位置关系的骑行者目标检测

YOLO网络中的anchor参数是在VOC数据集上聚类得到的,识别目标种类多但是针对特种对象的目标检测效果不佳,在面对群簇小目标检测时即便加入了细粒度特征依旧存在检测效果不佳的问题。

胡超超等针对道路上自行车与骑行者群簇小目标的目标检测问题,在YOLO V2的基础上使用了细粒度特征和残差网络对网络进行改进,提出了YOLO-R网络模型。并使用聚类算法中类内相似度最大差异和类间差异度最大相似度最小的原则对聚类过程进行优化,提出了基于IOU的评价函数F。

在区分行人与骑行者时,胡超超等通过比较行人框与自行车框的中心坐标距离与位置关系判断是否为骑行者。实现多目标跟踪则是根据Kalman滤波与匈牙利匹配算法相结合实现。在同一个行人与骑行者数据集上与原YOLO V2算法进行对比试验发现结果如表3所示。

表3 YOLO V2与YOLO-R对比试验结果Table 3 Test results of YOLO V2 and YOLO-R

根据表3不难看出,改进后的YOLO-R算法不管是检测精度还是检测速度上都相比较原算法有了很大提高,而且为多物体综合检测问题提出了一种基于位置关系的可行性方案。

4 基于YOLO V3的改进算法

YOLO V3算法相比YOLO V2,主要有分类层、多尺度融合和骨干网络架构的改进。这3个方面的改进使得YOLO V3算法相比较YOLO V2算法在不影响速度的情况下,大幅度提高了检测精度,同时在不提高输入图片分辨率的情况下大大提高了对于小目标物体的检测性能。

YOLO V2的网络结构在分类时采用的是单标签多分类的Softmax层,而YOLO V3则改进为适用于多标签多分类的logistic层。主要是针对实际生后中复杂场景下,同一张图片中有多个类别物体重叠在一起,影响检测网络的性能。同时因为Softmax层可由多个logistic分类器取代且不会对模型分类准确率产生影响。

多尺度方面的改进则是主要借鉴了SSD算法,采用Multi-Scales策略,通过3个不同尺度的特征层进行预测,大大提高了对尺度变换特征明显的图片中小目标对象的识别,提高了在遥感目标检测领域的适用范围。

骨干网络的改进主要有加深网络层,使用残差网络模块,卷积代替池化,使用金字塔池化。网络层数的加深可以大大提高模型的检测精度;残差模块的加入可以防止因网络层数过深引起的梯度下降;步长为2的卷积核代替原本的池化操作可以防止因池化导致的信息丢失;金字塔池化的使用则可以实现模型的多尺寸输入和相同尺寸的输出。YOLO V3的骨干网络Darknet-53结构如图2所示。

图2 Darknet-53网络结构示意图Fig.2 Darknet-53 net structure

4.1 基于改进目标函数的安全帽检测

YOLO V3算法中目标函数是基于误差平方和建立,存在目标函数和评价函数不统一的问题,容易出现目标局部最优不一定是IOU局部最优的问题,Rezatofighi等提出了GIOU指标,为解决该问题提供了新的可行性方案。但是针对在模型训练开始时出现真实框与预测框不相交的问题,原YOLO V3算法进行了优化,随着训练过程的进行,这种情况的次数会不断降低,而Rezatofighi等提出的GIOU-YOLO V3并未考虑这种情况,直接对目标函数进行了替换,这会对模型的训练过程造成一定影响。

王兵等基于YOLO V3网络,融合IOU与GIOU的优点,提出一种将包含真实框和预测框的最小框减去两框相交区域的目标函数,同时修改模型的IOU计算方法,降低预测框中负样本对训练过程的影响。在VOC2007和自制施工现场安全帽佩戴检测数据集中试验结果如表4所示。

表4 改进算法结果Table 4 Performance comparison of improved algorithms

根据表4可知,改进后的YOLO V3算法相比较GIOU-YOLO V3、原YOLO V3算法和SSD算法在检测精度上最佳。王兵等自己采集制作的安全帽数据集对安全帽目标的标注在精度上很高,针对真实情况下安全帽检测任务有很好的效果。

4.2 基于背景过滤的目标检测

YOLO V3算法属于单结构回归密集型检测,每个特征图上都预设有一定数量的锚框,每个锚框设定一个训练样本,根据单结构网络回归对预测锚框所属类别和相对于真实框的偏移量进行预测。但是锚框与真实框匹配后,数据集中属于背景的负样本数量就会远大于属于检测对象的正样本数量,导致正负样本比例不平衡。针对这种情况,基于回归的SSD算法在训练过程中选择只取一些损失比较大的负样本加入训练,但是对于YOLO V3算法,Lin等为了控制正负样本在损失函数中的权重使用改进的交叉熵损失函数(Focal Loss)代替原损失函数以减少数据集中负样本所占权重,但是试验发现模型的精度反而出现下降的情况。

赵琼等基于YOLO V3网络,在原YOLO V3网络中增加卷积模块对聚类结果锚框进行粗调,之后使用原预测网络进行细调。为了解决正负样本不均衡问题,在YOLO V3特征融合层后增加卷积模块对样本中的背景样本进行分类,设置阈值生成mask标签,对预测为负样本且高于阈值的区域,mask值设为0,其余为1。然后将其映射到预测层上,mask值为0的区域样本不参与训练和预测,解决了正负样本不均衡问题。同时对损失函数进行了部分改进,在其基础上添加了针对预测锚框的宽高损失和针对前景背景的类别损失两部分。在VOC数据集上与原算法试验结果如表5所示。

表5 算法结果Table 5 Algorithmic performance comparison

可见,改进后的算法相较原算法在精度上略有提高,并未出现精度下降问题。

4.3 基于修改特征图分辨率的遥感建筑物检测

在实际工程应用中针对遥感图像建筑物的目标检测很难达到实时检测的任务要求,而且遥感图像中目标建筑物小也对检测任务造成很大困难。张曼等基于YOLO V2目标检测算法,对算法的特征维度和卷积过程进行改进,略微提升了检测精度,但是在检测速度上有所降低。同时提供了一种大幅遥感图像的通用处理框架,有效解决了遥感图像分辨率过大导致检测网络无法识别的问题。

董彪等基于YOLO V3网络,对算法的特征提取网络方面进行了改进,提高了模型的性能。考虑到原YOLO V3算法中采取的3个尺度(13×13、26×26、52×52)融合的方法对遥感图像中小目标检测的不利影响,董彪等将其修改为26×26和52×52两个较大尺度的分辨率,并对特征图进行修改。将原网络的26×26特征图作为第一尺度,将61层结果进行5次卷积操作后使用1×1卷积操作降维,通过上采样与36层融合,结果用3×3卷积核消除混叠得到52×52的特征图作为第二尺度特征。考虑到基于原YOLO V3算法中的聚类结果是在COCO数据上得到的,对于特种目标检测任务效果较差,于是使用-Means算法对遥感建筑物数据集进行重聚类。与原YOLO V3和SSD算法在自制遥感建筑物数据集上试验结果如表6所示。

表6 算法结果Table 6 Performance comparison

改进后的YOLO V3算法相比原YOLO V3算法和SSD算法在精度上有大幅度提高。

4.4 基于多尺度预测的小目标预测方法

目前目标检测算法中,利用高层特征的语义信息和底层特征的细节信息最多也是比较好的方式是FPN的架构方式。YOLO V3和RetinaNet采用的是concatenation和element-wise的直接衔接或者相加的架构方式,这种方式对FPN的多层不同尺度的特征的利用不够完善,而且多层特征尺度与待检测目标之间存在不一致的问题,比如大特征图识别小目标,小特征图识别大目标。同一个目标在不同特征层可能会出现分类完全相反的情况,这样的矛盾信息对于目标检测任务很不利。所以SongTao Liu等基于FPN架构,通过更新权重参数的方式将FPN的多层特征图融合在一起得到新的特征图进行最终预测,提出了一种基于自适应空间特征的融合方法。将ASFF这种架构方式应用到YOLO V3中验证ASFF的有效性,结果如表7所示。

根据表7可知,改进后的算法在不影响实时性的情况下在检测精度上有大幅提高。

表7 ASFF算法结果Table 7 ASFF algorithm comparison

4.5 基于改进聚类算法的小目标检测

YOLO V3算法中使用-Means算法作为聚类算法,该算法对噪声点和孤立点敏感,容易造成聚类结果出现偏差,进而影响模型训练效果。岳晓新等针对该聚类算法存在的问题,提出一种基于融合DBSCAN(density-based spatial clustering of applications with noise)算法和-Means算法的聚类算法,DBSCAN算法可以减弱噪声点和孤立点数据对试验的影响,为-Means算法提供准确的值或Anchor Box个数,提高-Means算法的聚类性能,达到优化小目标检测的Anchor Box的目的。岳晓新等还针对Sigmoid激活函数在输出较大时可能存在梯度消失,造成网络收敛速度变慢的情况,使用Focal Loss损失函数替代原YOLO V3算法中的损失函数。对KITTI数据集中行人类别识别进行消融试验结果如表8所示。

根据表8可知,改进聚类算法和优化损失函数都可以提高网络的检测精度,同时使用2种优化方法得到的试验结果最佳。

表8 算法结果Table 8 Algorithm performance comparison

4.6 基于多层特征图的轨道扣件缺陷检测

韦若禹等发现目前轨道线路养护工作自动化程度不高,大多依靠人工巡检的方式进行,准确率低而且效率不高。基于此问题,韦若禹等用高速工业相机采集了某地铁线路轨道的DTVI2型扣件的图像数据制作了轨道扣件缺陷检测专用数据集,并通过数据增强技术对缺陷样本数据进行扩展,解决了缺陷样本稀缺的问题。然后对YOLO V3网络的聚类算法和特征选取方面进行了改进,减少了算法的运算量,提高了检测速度,改进后的YOLO V3网络结构如图3所示。

图3 改进YOLO V3网络结构框图Fig.3 Improved YOLO V3 net structure

与Faster R-CNN、SSD和原YOLO V3算法试验结果如表9所示。

表9 改进YOLO V3算法试验结果Table 9 Comparing test results of improved YOLO V3 algorithm

根据表9可知,改进后的YOLO V3算法在检测精度和检测速度上均有大幅度提高。韦若禹等还针对轨道扣件检测任务制作了专用的数据集,大大提高了该领域目标检测任务的精度。

5 基于YOLO V4的改进算法

YOLO V4模型的输入端借鉴了Sangdoo Yun等提出的CutMix数据增强方式,提出了Mosaic数据增强方法。Alexey Bochkovskiy等提出的Mosaic数据增强方式在CutMix的使用两张图片进行拼接的基础上,使用了四张图片以随机的缩放、裁切和排列等方式进行拼接,大大增强了模型针对大、中、小样本目标不均衡问题的鲁棒性。而且Mosaic数据增强提高了单GPU训练的效果,降低了训练成本。

YOLO V4主网络由YOLO V3的Darknet-53升级为CSP-Darknet-53,借鉴了Chien-Yao Wang等提出的CSPNet,CSPNet主要解决了模型卷积过程中出现的重复问题,减少了模型的参数和计算量。激活函数也由ReLU替换为Mish,Mish相比ReLU具有更加平滑的梯度,可以更好地保持模型准确度。

特征提取则采用了SPP和PANet两大改进,分别利用4个不同尺度的最大池化层对特征进行处理,最大化增大感受野面积,使图像上下文特征更加显著。YOLO V4的整体网络结构如图4所示。

图4 YOLO V4整体网络结构框图Fig.4 YOLO V4 overall structure

5.1 基于区域位置的安全帽佩戴检测

Li Kang等提出一种基于YOLO V4算法的安全帽佩戴检测方法,通过对运动对象目标进行图像分割定位人所在区域,根据人身体比例的五分之一判断头部所在位置。Aziz,Kheireddine等根据图像处理,筛选出工人肤色区域,通过设定骨架点对头部区域与身体夹角进行计算,识别出头部所在区域。上述2种方法只能检测直立状态下的施工人员,而且基于传统机器学习方法的目标检测算法在鲁棒性和适用性上不及基于深度学习的目标检测算法。

针对实际工程应用中施工人员在复杂姿态下的是否佩戴安全帽的目标检测问题,王雨生等基于YOLO V4网络,提出一种融合肤色特征提取和区域位置判断的安全帽佩戴检测方法。通过图像色彩变换、形态学处理筛选出疑似头部区域,与算法头部区域检测结果进行交叉验证确定头部区域。因为疑似头部区域的判断是通过肤色区域面积判定,考虑到存在工人手持安全帽的情况,王雨生等根据肤色区域空间位置判断头部所在区域,通过头部区域和安全帽中心点坐标的距离计算,判断工人是否安全佩戴安全帽,为安全帽佩戴检测提出一种基于位置的可行性方案。通过Li Kang和Aziz Kheireddine的安全帽检测,结果如表10所示。

表10 算法结果Table 10 Performance comparison

由表10可知,王雨生等的改进算法在安全帽佩戴检测上的精度远超Li Kang和Aziz Kheireddine的检测算法。而且Li Kang和Aziz Kheireddine的检测算法在面对施工人员复杂姿态下安全帽佩戴问题上存在严重的漏检情况。

5.2 基于多尺度的遥感图像飞机检测

小目标检测是遥感图像目标检测中的难点问题,针对小目标检测问题,目前常用的解决方法是采用多尺度特征融合的方法,提高对小目标对象检测的语义特征,进而提高小目标对象的检测精度。王银等以YOLO V4网络为基础,融合PANet-D特征网络提取到的4个尺度特征图,获取小目标的语义特征,增强对小目标对象的检测能力。

徐佰祺等基于YOLO V4网络模型提出一种基于多尺度特征和融合注意力机制的M-YOLO V4模型。考虑到图像特征金字塔底层特征图包含大量目标的特征信息,但是感受野小、缺乏目标语义信息的问题。徐佰祺等将104×104尺度的特征图通过下采样与52×52的特征图融合,对底层特征图的语义信息进行补充,将融合后的结果经过7次卷积后送入到注意力机制模块中达到更好的融合效果。考虑过多的背景信息会降低模型运行速度,徐佰祺等在模型中添加了注意力机制。SSD、YOLO V3、YOLO V4算法在RSOD-Dataset数据集下的试验结果如表11所示。

根据表11可知,改进后的M-YOLO V4算法在准确率和检测速度上均超越同类基于回归的检测算法。

表11 算法结果Table 11 Algorithm performance comparison

5.3 基于多尺度的红外弱目标检测

通常,把信噪比小于3的目标视为弱目标,空间领域的红外弱目标检测技术是重要的国防科技项目,目前国内针对弱目标的检测任务不多。因为弱目标信噪比低,导致目标纹理特征和结构形状模糊,给目标检测任务带来很大难度。相比可见光状态下的目标检测任务,红外图像的纹理单一、分辨率低,特征提取困难,而且红外图像下的目标和周围背景对比度低,几何轮廓模糊,难以提取有效的边缘信息。王国刚等针对红外弱小目标在高层感受野信息丢失问题提出了一种基于多通道多尺度特征融合的红外弱小目标检测算法(J-MSF)。

刘杨帆等基于YOLO V4网络,对原算法进行重聚类,使其适应红外弱目标检测任务。考虑到弱目标尺寸过小,特征金字塔中底层特征包含少量语义信息,上层特征包含特征信息过少,所以对52×52尺度特征进行上采样与104×104特征融合经过5次卷积后输出,即扩展原算法的3个尺度为4个尺度(13×13、26×26、52×52、104×104),提出一种基于多尺度融合的MY-YOLO V4模型。YOLO V3与YOLO V4在COCO数据集和自制红外数据集上试验结果如表 12所示。

表12 算法结果Table 12 Performance comparison

由表12可知,改进后的算法在满足实时性的前提下,准确度相比原算法有所提高。

6 目标检测数据集

通常,为了提高模型的性能,一般选择调整模型的网络结构、参数或者修改替换模型的某些计算公式,但是一个好的数据集也会对模型的性能产生一定影响。一个好的数据集中图像噪声不会太大,不存在冗余数据或者脏数据,对于训练结束后分析模型的收敛曲线等参数有很大帮助。下面介绍一些目标检测常用的数据集。

Pascal VOC:PASCAL VOC挑战赛(The PASCAL Visual Object Classes)专用数据集,属于公开数据集,全称Pattern Analysis,Statical Modeling and Computational Learning。自2005年起举办,2012年为最后一届,每年举办一次,最初只有4个类别,到2007年增至20个类别,目前使用最广的是VOC2007和VOC2012。

COCO:由微软团队发布,常用于目标检测、图像分割、关键点识别等任务,包含大量的小目标和日常场景中的常见物体类别,并提供像素级的实例标注,共计91类目标,328 000张图像和250万个标注框。

Open Images:由谷歌团队发布,常用于目标检测、语义分割等任务,包含600个类别,190万张标注图片,平均每张图片有8个标签,标签框由专业注释人员手动标注,确保标签的一致性和准确度,是现有的包含位置标注信息的最大数据集。

ImageNet:目前世界上最大的图像识别数据库。由专门的团队维护,常用于目标检测、分类和场景识别等方面,包含2万多个类别,约1 420万张图像。其中超过百万图像有精确类别和位置标注信息,并有200个类别可用于目标检测任务。

DOTA:常用于遥感图像目标检测,包含15个类别,2 806张航空遥感图像,188 282张标签框,图像尺寸为4k×4k。标注格式为四点确定的任意形状和方向的四边形。特点是图像的尺度变化性大,包含大量小目标。

NWPU-VHR-10:由西北工业大学发布,常用于遥感目标检测等方面,包括飞机、轮船、车辆等10个类别,800张高分辨率卫星拍摄图像,图像取自Google Earth和Vaihingen,专家手动标注,背景图150张。

UCAS-AOD:由中国科学院大学发布,常用于遥感图像的目标检测等方面,只包含汽车、飞机2类目标以及背景负样本。共有2个版本,其中包含1 000张飞机图像,7 482个飞机样本,以及510张汽车图像,7 114个汽车样本,和910张背景负样本图像。

RSOD-Dataset:由武汉大学发布,常用于航空遥感等方面,包含飞机、操场、立交桥、油桶4类目标。有976张图像,6 950个标签,飞机类别最多。

Tsinghua-Tencent100K:由清华大学和腾讯公司合作发布,常用于交通标志的目标检测任务,包含3万个交通标志类别,10万张交通标志的图像。

URPC 2018:水下图像的数据集,常用于小目标检测和重叠目标检测,包含海参、海胆、海星和扇贝4个类别,2901张训练图像和800张测试图像。

Tiny Person:由中国科学院大学发布,常用于小目标检测等方面。该数据集在海上和海滩场景图像中人分辨率很小,包含sea person和earth person两个类别。在船上、躺在水里或者身体的一半以上在水里的为sea person,其他的是earth person。图像中人的识别有密集人群和水中倒影的影响,为长距离和大量背景的微小物体检测开辟了一个新的方向,包含794张训练图像和816张测试图像。

7 研究分析

YOLO目标检测算法是目标检测领域不可替代的经典算法,但是随着目标检测算法的发展,YOLO目标检测算法不可避免地在一些方面落后于其他算法,对此提出一些未来的研究趋势:

数学理论尚待完善进步。只有充分的数学理论支撑,才能研究出更加先进,更为优化的YOLO算法模型,同时因为缺乏一定的数学理论支撑,导致YOLO目标检测算法框架模型无法进一步提高性能。数学理论的发展可以为YOLO算法模型的改进提供原理性的指导,避免在改进模型时仅能依靠过往的经验和虚无缥缈的直觉。

无监督式的学习。因为随着社会的发展,人力成本越发昂贵,导致数据集的标注工作成为一个极度浪费人力、财力和时间的项目,而且数据的标注工作非常枯燥,标注过程中易出现误差或错误。神经网络模型是以人为模板进行研究的,而人的学习过程以无监督式学习为主导的,所以研究出融合无监督式学习的YOLO算法模型,对降低标注成本,丰富目标检测数据集有很好的效果。

融合图像细节信息和语义信息的结构。对于小目标检测而言,仅细节特征信息很难将检测精度提高到极限,但是加上图像语义信息,比如上下文关联信息和场景信息,结合细节信息构建出新的特征图,那么检测精度必定会有极大提高。目前已经有很多学者针对改进YOLO算法提取特征的过程进行改进,融合上下层语义信息和细节信息来提高YOLO算法针对小目标问题的检测精度。但是,目前关于这个方向的改进并没有很大的提高,亟需一种更好的特征融合提取结构来提高YOLO算法的性能。

提高复杂气象条件下YOLO目标检测算法的性能。随着时代的发展,在极端条件下与复杂气象条件下的人员搜救与目标检测逐渐成为一个新的研究方向。极端条件下的风沙遮挡,灰尘覆盖,海上飓风以及复杂气象条件下雨雾,阴云和雷暴等的种种不利条件,都会严重影响目标检测算法的性能。这些不利条件会导致数据采集过程中相机的记录失真或难以记录有效场景信息。YOLO算法还没有很好的改进措施来解决复杂气象条件下的目标检测任务。所以,针对复杂气象条件下的改进YOLO算法需要进一步创新发展。

更加先进的融合目标检测算法。比如说针对夜间的目标检测任务使用可见光与红外光融合的多模态检测,以提高模型检测精度;针对特定对象的目标检测任务使用融合注意力机制,可以减少计算量,提高检测速度。目前通过多类别传感器协同作用完成目标检测任务的例子很少,仿生的算法未来尚还需要努力。

8 结论

目标检测是计算机视觉热点问题,也是未来人工智能发展不可或缺的一部分。从传统基于机器学习的目标检测算法人工设计特征到基于深度学习的卷积神经网络自动选择特征,对于目标检测算法的要求始终都是为了提高检测算法的性能,提高精度、速度以及更加轻量化。基于区域的目标检测算法尽管精度很高,但是检测速度无法达到实时性要求,很难适应实际的社会需求,基于回归的目标检测算法则在满足实时性要求的前提下拥有足够的精度,但是未来的改进依旧是更高的精度以及实时性要求,YOLO算法自其提出以来不断,融合各种不同网络结构,不断提高检测性能,相信它未来的发展更好。

猜你喜欢

尺度精度图像
基于不同快速星历的GAMIT解算精度分析
A、B两点漂流记
近似边界精度信息熵的属性约简
尺度
电力系统短期负荷预测方法与预测精度
名人语录的极简图像表达
以长时间尺度看世界
9
一次函数图像与性质的重难点讲析
趣味数独等4则