对于目标检测算法,无论是基于图像处理和计算机视觉的传统方法,还是现如今的结合深度学习的方法,其作为计算机领域的主要研究方向之一,一直备受研究者们的青睐。经过长时间的发展与研究,目标检测算法已经可以应用于无人机、无人驾驶、医学影像、疫情下口罩佩戴情况检测等。
基于深度学习的目标检测算法作为目前的研究主流大致可以分为单阶段和双阶段两类。其中单阶段的目标检测算法以SSD(Single Shot MultiBox Detector)系列[1-2]、YOLO(You Only Look Once)系列[3-5]、CornerNet[6]等为代表,该类算法不需要进行区域候选来获取候选目标的信息,可以直接输出位置信息和类别信息,因此相比较双阶段的算法拥有更高的运行效率;双阶段算法以R-CNN(Region-Convolutional Neural Network)系列[7-8]、R-FCN[9](Region-based Fully Convolutional Networks)等为代表,该类算法在输出预测的位置和类别结果前需要利用区域候选网络来获得目标的信息,及将检测步骤分为两步来完成,因此相对于单阶段的算法精确度更高,但是运行效率也较低甚至有可能达不到实时性的要求。以上的基于深度学习的目标检测网络作为通用型的网络框架都各有优缺点,但是这些网络都少有考虑实际环境下的目标检测。因此本文针对道路场景下的目标检测,采用改进后的YOLOV4-Tiny网络完成该场景下的目标检测,考虑提高在该场景下对恶劣雨雾天气条件下的检测率以及对小目标的检测率。
针对恶劣雨雾天气条件下的目标检测,需要对图像进行去雾处理。常见的去雾算法可以分为基于图像增强的去雾算法和基于图像复原的去雾算法。图像增强的去雾算法以Retinex、直方图均衡化和同态滤波等为代表,图像复原的去雾算法以基于深度信息的方法、基于偏振特性的方法和基于先验信息的方法为代表。另外,还有利用深度学习进行去雾的算法,比如DehazeNet[10]、AOD-Net[11](All-in-One Dehazing Network)以及DCPDN[12](Densely Connected Pyramid Dehazing Network)等,基于深度学习的去雾算法虽然效果相比较传统方法有一定提升,但是其耗时比较长,对于真实场景下的目标检测任务而言往往不能满足要求。在上述算法中,He等人根据暗通道先验理论[13],在大气散射模型的基础上提出的基于暗通道先验的算法效果好而且运行效率相对较高,能够满足本文的设计需求,所以本文将该方法融入YOLOV4-Tiny网络以达到去雾的效果。
针对小目标的检测,需要加强对小目标特征信息的提取。施赛楠等人[14]在多域多维特征融合的基础上来构建高维特征空间以提高海面小目标的检测率;鞠默然等人[15]在YOLOV3网络的基础上将8倍降采样得到的特征图结果进行2倍的上采样然后再进行拼接,以提高对小目标的特征提取能力;任坤等人[16]利用多尺度像素特征融合的方法实现实时的小交通标志检测。本文将大特征图上采样获得更加丰富的小目标位置信息,然后采用特征金字塔结构对获得的不同尺度信息进行融合,克服原有的YOLOV4-Tiny网络只包含13×13和26×26两个预测尺度的缺点,消除其对小目标位置信息提取的局限性。
YOLO网络是单阶段的目标检测网络代表之一,其直接将检测任务作为回归问题来进行快速检测,相比较区域候选网络拥有更快的检测速度,可以完成端到端的预测。去年4月份YOLOV4在YOLOV3的基础上提出[17],其检测速度和检测率都得到了提升。另外,YOLOV4的轻量级版本YOLOV4-Tiny,网络结构更加简单,检测速度更快,在目标检测算法中也表现不俗,其网络结构如图1所示。
从图1中看出,YOLOV4-Tiny由骨干网络(CSPDarknet53-Tiny)、特征金字塔(Feature Pyramid Network,FPN)和YOLO检测头(YOLO Head)组成。CSPDarknet53-Tiny主要用于前期的特征提取,它由卷积块(Conv)和跨阶段连接块(CSPBlock)组成;Conv中除了包含正常的卷积步骤,还包含批量标准化与激活函数步骤,其中激活函数采用的是Leaky ReLU(Leaky Rectified Linear Unit);CSPBlock参考跨阶段局部网络(Cross Stage Partial Network,CSPNet)的结构特点,将基础层(Base Layer)的特征划分为两个部分,第一部分直接构建为残差边,第二部分通过卷积块的操作再和第一部分合并形成最终的输出,这种结构可以在保证网络准确率的前提下降低计算复杂度。FPN结构可以融合不同网络层之间的特征,这样既可以保证深层网络丰富的语义信息,又可以获得低层网络的几何细节信息,以此来加强对特征的提取能力。YOLO Head利用得到的特征结果进行最后的预测,最终形成13×13和26×26两个预测尺度。
图1 YOLOV4-Tiny网络结构
Fig.1 The structure of YOLOV4-Tiny network
针对复杂道路场景下的目标检测,本文在YOLOV4-Tiny网络模型中将ReBlur算法和暗通道先验算法相结合以加强网络对恶劣天气环境的适应能力。另外,在原网络的基础上添加小目标检测头以克服小目标检测效果不佳的问题。
为了提高网络在恶劣天气下的检测性能,先利用ReBlur[18]算法判断图像质量受损程度,然后再利用基于导向滤波的暗通道先验算法进行图像复原。
ReBlur算法认为:对于模糊的原图,如果再对该图像进行模糊处理,经处理后的图像高频分量不应出现较大的变化;但是对于清晰的原图,如果再对其进行模糊处理,得到图像的高频分量会产生较大变化。通过上述观点,ReBlur算法对原图执行一次高斯模糊获得退化后的图像,最后通过考察原图与高斯模糊后图像的相邻像素之间的变化大小情况来确定原图的清晰值,该算法流程如图2所示。
图2 ReBlur算法流程图
Fig.2 The flow chart of ReBlur algorithm
在使用ReBlur算法进行模糊度判断后,对清晰度较低的图像进行图像复原。利用大气散射模型:
I(x,y)=J(x,y)t(x,y)+A(1-t(x,y))
(1)
上式中,I(x,y)表示带雾的图像;J(x,y)为复原后的图像;A和t(x,y)分别代表大气光值和透射率。根据上式,那么在已知带雾图像的情况下,通过求解大气光值和透射率就可以得到最终的复原图像。
结合上述的大气散射模型,本文对基于图像增强的算法Retinex、基于导向滤波的暗通道先验算法以及基于深度学习的算法DehazeNet进行对比。其中,经Retinex算法处理后的图像效果比较差,而DehazeNet效果最好,但是DehazeNet耗时较长,其平均运行时间为1.13 s,Retinex算法与基于导向滤波的暗通道先验算法平均运行时间均小于0.5 s,因此结合道路目标检测场景本文采用基于导向滤波的暗通道先验算法进行图像复原。暗通道先验原理认为[13]:在晴朗的天气下获取的清晰图像,其很大一部分像素里的RGB三通道中至少会出现一个通道具有比较低的值。根据上述原理,首先可以得到暗通道图,然后利用暗通道图对大气光值和透射率进行估计,另外加上导向滤波或者软抠图等方法优化透射率值,最终将得到的结果代入大气散射模型就能够得到复原图像,该算法的步骤如图3。
图3 暗通道先验算法流程图
Fig.3 The flow chart of dark channel prior algorithm
对于恶劣的雨雾天气下的目标检测,通过ReBlur算法和暗通道先验算法相结合的方法来消除因为图像质量下降造成的影响,但是另一方面YOLOV4-Tiny网络只包含13×13和26×26两个预测尺度,对被检测图像中的大物体和中等物体的检测效果较好,对小目标而言检测效果较差,所以需要在该网络中添加小目标的检测头。本文结合道路目标检测场景,在考虑算法运行效率的前提下对网络框架进行改进,改进后的网络结构如图4所示。
从图4中可以看出,对于小目标而言,更加深层次的采样会使得其特征信息缺失,为了获得更多的小目标位置信息,本文将第一次的CSPBlock循环两次,然后利用YOLOV4-Tiny中的4倍降采样得到的特征图进行预测。另外,在保证小目标位置信息的同时使其能够充分利用语义信息以此来区分检测目标和背景信息,本文将8倍降采样得到的特征图上采样再与4倍降采样的特征图融合,最终形成包含充分的位置信息和语义信息的特征层。得到融合的特征图后,添加步长为1的3×3卷积层作为特征提取,然后添加批量标准化处理与激活函数,再加上步长为1的1×1卷积作为最终的特征映射,完成小目标检测头的构建。
图4 改进后的网络结构
Fig.4 Improved network structure
除了利用有丰富小目标位置信息的4倍降采样特征图进行预测以外,还需要对数据集进行聚类得到合适的先验框。对于网络原有的先验框是在VOC数据集上聚类得到的,而VOC数据集包含的种类较多,情况复杂。对道路目标的检测而言,只包含Car、Truck、Bicycle、Motorbike以及Person五类目标,和VOC数据集相比差异较大,所以本文利用K均值聚类(K-Means)方式对所获得数据集的宽和高进行聚类得到新的先验框,步骤如下:
步骤1 分析所获得的样本,在给定k个聚类数目的情况下,随机划分k个聚类中心;
步骤2 利用相似性度量函数进行迭代,计算每个数据到每个聚类中心点的欧式距离,其计算公式为:
(2)
上式中,Ci表示第i个聚类的中心点;n表示样本维度,及X=(x1,x2,…,xn),Ci=(ci1,ci2,…,cin);xj和cij表示样本X和聚类中心Ci的第j个属性;
步骤3 把数据分到最近的聚类中心所在的簇类中;
步骤4 更新聚类中心并计算准则函数,其公式为:
(3)
式(3)中,φi表示第i个聚类,而准则函数的计算结果SSE代表了k个聚类得到的总误差平方和;
步骤5 判断准则函数是否达到最小,如果达到则聚类结束,如果没有则继续从步骤2开始循环。
本文首先筛选满足条件的VOC数据集和COCO数据集作为清晰图像的数据集,带雨雾的图像由RTTS数据集和网上的图像组成,然后在LabelImage平台将未标注的数据集进行标注,最终得到训练和验证数据集共19035张,测试集共3500张,然后将训练集和验证集按照0.8: 0.2进行划分。每一张图像中可能同时包含多个被检测目标类别,最终可以得到每一个类别的具体数量情况如表1。
表1 数据集情况
Tab.1 The information of data set
数据集类别清晰/张雨雾/张小目标/张Person486427192505Bicycle398310031534Motorbike372117141002Car348413711717Truck394915211642
本实验平台采用的操作系统为Windows 10,处理器为Intel(R)Core(TM)i5-9300HF CPU @ 2.40 GHz,运行内存16 GB,GPU为NVIDIA GeForce GTX 1660Ti,并行计算框架版本为cuda10.2。
本文实验流程图如下图5所示,首先将包含清晰和模糊图像的原始数据集划分为训练集和测试集,然后模型一直接利用原始数据集进行训练和测试,以便于和后面的模型进行对比。模型二在模型一的基础上利用ReBlur算法进行模糊判断,然后将判断为模糊的图像利用暗通道算法进行图像复原,最后将复原后的训练集和原始清晰图像的训练集用于训练,但是仍然使用原始数据的测试集进行测试,如果模型二能够达到不错的效果,那么网络在用于推理时就不用加上模糊判断和图像复原算法,以减少不必要的开销。最终模型三将模糊判断和复原后的图像进行训练和预测。下面的4.2小节将对上述三个模型进行实验和对比,得到针对雨雾条件下最好的模型,然后在完成上述的模型评估后,将在下面的4.3小节中将把评估为最好的模型针对小目标的检测进一步加强,得到最终的Improved YOLO模型。
图5 实验流程图
Fig.5 Experiment flow chart
4.2.1 网络训练
本文先利用ReBlur算法判断图像清晰度,然后将不清晰的图像进行图像复原。判断结果和复原后效果如图6所示,其中(a)是清晰的图像,(b)是不清晰的图像,(c)是不清晰图像经过复原后的效果。由图6可以看出,一方面ReBlur算法可以准确的判断图像是否清晰,另一方面对不清晰的图像利用基于导向滤波的暗通道先验算法进行图像复原使物体的细节更加清晰丰富,目标辨识度更高。
图6 图像清晰度判断结果和图像复原效果
Fig.6 The result of image definition judgment and the effect of image restoration
训练时将图像大小设置为(416,416),输入批量大小设置为16,然后采用Mosaic数据增强和标签平滑的方式进行训练。前50次采用预热训练的方式对参数进行前期的调整,学习率设置为0.001;后面采用余弦退火学习方式,将学习率逐渐从0.001降低为0.0001。
4.2.2 模型评估
平均精度值(Average Precision,AP)和mAP值作为目标检测领域常用的评价指标能够综合反映模型的性能。AP值由准确率(Precision)和召回率(Recall)形成的PR曲线和横纵两轴组成的面积计算而来,mAP值则表示所有AP值的平均值。Recall和Precision的计算方式如下:
(4)
上式中,TP为被正确检测的数目,及判为正类的正类样本数;FP为被错误检测的数目,及判为正类的负类样本数;FN为未被检测的数目,及判为负类的正类样本数。
本实验采用AP值和mAP值这两个指标进行评价,表2列出了上述三个模型的AP值和mAP值。
表2 三个模型的AP值与mAP值
Tab.2 AP value and mAP value of three models
模型名称CarTruckBicycleMotorbikePersonmAP模型一63.0665.6865.9863.4365.6164.75模型二63.3065.5863.8862.8567.5664.63模型三64.4267.2867.6465.2869.0066.72
由上面的表2中可以看出,模型一的效果稍好于模型二,但是在总体的检测性能上并没有太大的差距。模型三相比较模型一和模型二而言mAP值高2左右,也就是说利用清晰图像和复原后图像进行训练和测试在整体检测效果上是最优的。相比于模型一和模型二,模型三中对于所有的目标,其检测性能都有稳定的提升,由此可见YOLOV4-Tiny网络中加入图像受损判断步骤和图像复原步骤能够加强网络对复杂雨雾天气条件下的目标检测能力。
4.3.1 网络训练
本小节采用实验4.2中去雨雾效果最好的模型即模型三进行进一步实验,针对模型三进一步加强小目标的检测,对改进前后的网络进行实验并完成相关性能评估。训练时采用K-means聚类得到的新的先验框,分别为:(9,14),(13,17),(19,22),(27,80),(34,38),(56,137),(66,66),(128,183),(291,296),其他设置和实验3.2相同。经过上面的设置进行训练和比较,可以得到网络改进前后的损失值随迭代次数变化的曲线如图7所示。在图7中,yolo_loss曲线表示YOLOV4-Tiny改进前损失值随迭代次数变化的曲线,my_loss曲线表示改进后损失值随迭代次数变化的曲线。通过对比可以看出:前200次迭代中my_loss曲线比yolo_loss曲线收敛更快,及YOLOV4-Tiny网络改进后损失值曲线收敛更快。另外,在达到500次左右损失值达到稳定,而且改进后损失值比改进前低3左右,及通过改进后网络的收敛性更好。
图7 改进前后损失值变化曲线
Fig.7 The curve of loss value before and after improvement
4.3.2 模型评估
本次实验的数据集中包含Car、Truck、Bicycle、Motorbike、Person五类目标,先用一致的数据集将改进前后的网络进行训练和测试,然后用AP值和mAP值以及每秒传输帧数(Frames Per Second,FPS)三个指标进行评价。改进前后的结果如表3所示。
由表3可知,Improved-YOLO模型由模型三进行改进后得到,改进后其检测效果更好:其中Bicycle的AP值提高了5.05,Motorbike的AP值提高了5.64,Person的AP值提高了1.99,都有较大的提升,总体的mAP值由66.72提高到了68.88。Truck由于目标较大,导致用于训练的图像在含有Truck目标的同时经常伴随着其他小目标的检测。Improved-YOLO模型进行高层特征融合以后对小目标的位置特征提取更加准确,但是也在一定程度上导致了Truck的语义细节信息有所缺失,所以检测效果有一定的下降。虽然Truck的检测率有一定的下降,但是在用于实际的检测中Truck目标同时伴随小目标检测的情况出现的较少。另外,模型添加小目标检测头以后FPS虽然有一定的下降,但是总体的FPS仍然能够达到213,具备了较高的实时性。
表3 改进前后的AP值与mAP值
Tab.3 AP value and mAP value before and after improvement
模型名称CarTruckBicycleMotorbikePersonmAPFPS模型三64.4267.2867.6465.2869.0066.72234Improved YOLO64.7665.0172.6970.9270.9968.88213
图8对比了上述两个实验的结果:其中(a)对应模型一,为利用清晰图像和带雨雾图像进行训练,清晰图像和带雨雾图像进行测试;(b)对应模型三,为利用清晰图像和复原后图像进行训练,清晰图像和复原后图像进行测试;(c)对应Improved-YOLO模型,其在模型三的基础上改进后得到。由图8中(a)组可以看出,模型一在没有进行图像复原的情况下进行目标检测,其目标辨识度比较低,导致第一张图像中Car的目标会误判为Truck,而第二张图像中虽然没有出现误判,但是由于图像细节不够丰富导致检测到的Car的目标数量比较少;在(b)组中,模型三利用复原后图像进行训练和测试,其图像细节明显,但是由于其缺乏更小的目标检测头导致其在图像中能检测到的小目标较少;在模型三的基础上改进的Improved-YOLO模型不仅进行了图像复原使得图像细节更加丰富,目标辨识度得到提高,而且添加了小目标检测头使得其对小目标具有更好的检测能力,从图8中(c)组可以看出,相比较模型一和模型三,Improved-YOLO模型能够更加准确的检测到目标,虽然对于所有的目标不能全部检测,但是总体检测效果得到了较大的提升。
图8 三种模型检测效果对比
Fig.8 Comparison of three models detection effects
当然本文对于目标检测方面仍然存在一定的不足。下图9列出了在特征比较缺少的情况下进行检测时,出现检测不出或者检测错误的情况。第一张图由于特征缺少而且特征混淆错将Car识别成了Motorbike,另外由于特征缺少导致第二张图只识别出了Person而没有将Truck识别出来,第三张图同样没有将另一个Car识别出来。上述识别结果都是在图片中给定的特征较少的情况下出现的问题,还需要进一步的改进,为了更好地权衡识别准确率和识别效率,对于每一种环境情况应该做出不同的取舍,需要进一步加强针对性的设计。
图9 差的识别结果
Fig.9 Poor recognition results
本文从常见的道路场景下的目标检测出发,考虑在该场景下,通过利用ReBlur算法添加图像受损判断步骤,利用基于导向滤波的暗通道先验算法添加图像复原步骤来加强恶劣雨雾天气条件下的检测能力;然后在此基础上利用K-Means聚类得到适用于道路目标的先验框,另外添加4倍降采样的特征图进行预测,然后利用特征金字塔结构融合不同网络层之间的特征以克服原网络缺乏小目标检测能力的缺点。通过上述改进得到的Improved-YOLO网络模型提升了整体的检测性能,相比较改进前的网络模型,Improved-YOLO网络模型最终的mAP值由64.75提高到了68.88,保证实时性的前提下在恶劣雨雾天气条件下的检测能力和小目标检测能力得到了明显的提高。
[1] LIU Wei, ANGUELOV D, ERHAN D, et al.SSD: single shot MultiBox detector[M]∥Computer Vision-ECCV 2016.Cham: Springer International Publishing, 2016: 21-37.
[2] FU C Y, LIU W, RANGA A, et al.DSSD: Deconvolutional single shot detector[EB/OL].arXiv: 1701.06659, 2017.https:∥arxiv.org/abs/1701.06659.
[3] REDMON J, DIVVALA S, GIRSHICK R, et al.You only look once: Unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Las Vegas, NV, USA.IEEE, 2016: 779-788.
[4] REDMON J, FARHADI A.YOLO9000: better, faster, stronger[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Honolulu, HI, USA.IEEE, 2017: 6517-6525.
[5] JOSEPH Redmon, ALI Farhadi.YOLOV3: An incremental improvement[J].arXiv: Computer Vision and Pattern Recognition, 2018.
[6] LAW H, DENG Jia.CornerNet: detecting objects as paired keypoints[J].International Journal of Computer Vision, 2020, 128(3): 642-656.
[7] GIRSHICK R.Fast R-CNN[C]∥2015 IEEE International Conference on Computer Vision(ICCV).Santiago, Chile.IEEE, 2015: 1440-1448.
[8] REN Shaoqing, HE Kaiming, GIRSHICK R, et al.Faster R-CNN: Towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[9] DAI Jifeng, LI Yi, HE Kaiming, et al.R-FCN: Object detection via region-based fully convolutional networks[EB/OL].2016: arXiv: 1605.06409[cs.CV].https:∥arxiv.org/abs/1605.06409.
[10] CAI Bolun, XU Xiangmin, JIA Kui, et al.DehazeNet: an end-to-end system for single image haze removal[J].IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198.
[11] LI Boyi, PENG Xiulian, WANG Zhangyang, et al.AOD-net: All-In-one dehazing network[C]∥2017 IEEE International Conference on Computer Vision(ICCV).Venice, Italy.IEEE, 2017: 4780-4788.
[12] ZHANG He, PATEL V M.Densely connected pyramid dehazing network[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City, UT, USA.IEEE, 2018: 3194-3203.
[13] HE Kaiming, SUN Jian, TANG Xiaoou.Single image haze removal using dark channel prior[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(12): 2341-2353.
[14] 施赛楠, 杨静, 王杰.基于多域多维特征融合的海面小目标检测[J].信号处理, 2020, 36(12): 2099-2106.
SHI Sainan, YANG Jing, WANG Jie.Detection of sea-surface small target based on multi-domain and multi-dimensional feature fusion[J].Journal of Signal Processing, 2020, 36(12): 2099-2106.(in Chinese)
[15] 鞠默然, 罗海波, 王仲博, 等.改进的YOLO V3算法及其在小目标检测中的应用[J].光学学报, 2019, 39(7): 0715004.
JU Moran, LUO Haibo, WANG Zhongbo, et al.Improved YOLO V3 algorithm and its application in small target detection[J].Acta Optica Sinica, 2019, 39(7): 0715004.(in Chinese)
[16] 任坤, 黄泷, 范春奇, 等.基于多尺度像素特征融合的实时小交通标志检测算法[J].信号处理, 2020, 36(9): 1457-1463.
REN Kun, HUANG Long, FAN Chunqi, et al.Real-time small traffic sign detection algorithm based on multi-scale pixel feature fusion[J].Journal of Signal Processing, 2020, 36(9): 1457-1463.(in Chinese)
[17] BOCHKOVSKIY A, WANG C Y, LIAO H Y M.YOLOv4: Optimal speed and accuracy of object detection[EB/OL].arXiv: 2004.10934, 2020.https:∥arxiv.org/abs/2004.10934.
[18] 李祚林, 李晓辉, 马灵玲, 等.面向无参考图像的清晰度评价方法研究[J].遥感技术与应用, 2011, 26(2): 239-246.
LI Zuolin, LI Xiaohui, MA Lingling, et al.Research of definition assessment based on no-reference digital image quality[J].Remote Sensing Technology and Application, 2011, 26(2): 239-246.(in Chinese)
Reference format: ZHOU Jie, XU Guanghui, ZHU Donglin, et al.A fast target detection algorithm in severe road environment based on improved YOLOV4-Tiny[J].Journal of Signal Processing, 2021, 37(8): 1550-1558.DOI: 10.16798/j.issn.1003-0530.2021.08.023.
周 捷 男,1997年生,重庆人。陆军工程大学硕士在读,主要研究方向为计算机视觉、智能信号处理。
E-mail: 582025369neu@sina.com
徐光辉 男,1973年生,四川人。陆军工程大学教授,硕士生导师,主要研究方向为智能信号处理。
E-mail: 154673129@qq.com
朱东林 男,1997年生,山西人。陆军工程大学硕士在读,主要研究方向为信息感知与智能信号处理。
E-mail: 1072008053@qq.com
狄恩彪 男,1993年生,浙江温岭人。陆军工程大学硕士在读,主要研究方向为人工智能。
E-mail: 1918279002@qq.com