王鹏 王玉林 焦博文
摘要:针对智能驾驶车辆在雾天场景下行驶时,视野内的大量检测目标存在被烟雾遮挡而导致目标难以被检测的问题,本文提出了一种先去雾再检测的道路目标检测方法。对采集的雾天图像进行基于暗通道先验理论去雾处理,再将其送入训练好的YOLOv3目标检测模型进行推理检测,并在去雾算法中引入导向滤波方法。为使YOLOv3检测模型具有更好的检测性能,将目标框回归损失函数从原来的CIoU改进为SIoU,并在BBD100K数据集的部分标注图像下进行实验。实验结果表明,在YOLOv3网络模型下,使用CIoU损失函数时检测精度为45.8%,使用SIoU损失函数时检测精度为46.6%,提升了0.8%;将雾化图像经过去雾处理后再进行目标检测,其不同雾化程度图像的检测精度分别由28.7%,25.1%,19.0%和8.35%提高到43.1%,40.5%,36.1%和26.7%,检测精度得到了大幅提升。该方法对雾天道路目标检测具有较好的检测性能,既降低雾天道路目标的检测难度,又提高了驾驶的安全性。该研究具有一定的实际应用价值。
关键词:目标检测; 暗通道先验去雾算法; 导向滤波; YOLOv3; SIoU
中图分类号:TP391.4
文献标识码:A
文章编号:1006-9798(2023)02-0037-09; DOI:10.13306/j.1006-9798.2023.02.006
作者简介:王鹏(1996-),男,硕士研究生,主要研究方向为智能驾驶和目标检测。
通信作者:王玉林(1964-),男,博士,教授,主要研究方向为智能驾驶。 Email:wangyuln@163.com
近年来,随着人工智能技术的不断发展,各大企业和高校的研究学者们对汽车智能驾驶的自动化和智能化的发展做出了大量研究。目标检测作为计算机视觉和图像识别的重要研究领域[1-2],是车辆基于摄像头与激光雷达对周围环境感知的重要方法之一,也是智能驾驶汽车安全行驶的关键。各种智能驾驶汽车研究的视觉感知传感器主要有激光雷达和摄像头2种。其中,激光雷达具有高精度三维立体感知和不易受天气变化的影响,但价格昂贵,感知距离较近,因此在车辆智能化发展中,其适用范围具有一定的局限性。而摄像头具有视距远和价格经济实惠的特点,但基于摄像头视觉的目标检测易受天气状况影响,特别是在雾霾天气下,由于雾霾遮挡导致摄像头视野内目标不能清楚显示,对检测任务造成了巨大挑战,因此去雾算法研究成为计算机视觉研究的热点话题之一[3-4]。目前,主要的去雾算法主要有直方图均衡化[5]、基于暗通道先验理论去雾[6]、滤波方法以及基于深度学习算法去雾[7-8]等,而按照算法划分,去雾算法可以分为基于物理模型、基于非物理模型和基于深度学习算法3种。对于目标检测算法,主要分为二阶段检测算法和一阶段检测算法2种,二阶段检测算法主要以R-CNN[9]、Faster R-CNN[10]为代表,主要利用遍历的方法,在整个特征图区域内对目标候选框进行选取,并进行分类处理,由于其使用遍历整个特征图的方法,在整个推理计算过程中引入了大量计算,导致整个模型在检测速度较慢,难以确保实时性。为了提高目标检测速度,一些学者又提出了YOLO算法[11-16]和SSD算法(single shot multibox detector,SSD) [17]为代表的一阶段检测算法,其主要是基于端到端的目标框回归,对检测目标进行分类和定位。与二阶段检测算法相比,一阶段检测算法虽然检测精度稍有降低,但检测速度却大幅提升。基于此,为了提高道路目标检测中雾天场景下的检测精度,本文将暗通道先验去雾算法[6]与YOLOv3[13]相结合,将雾天图像通过暗通道理论生成暗通道图像,并以雾天图像为导向图像,结合暗通道图像作导向滤波[18]处理,同时对雾天图像基于暗通道先验去雾,将去雾后的图像送入YOLOv3目标检测模型进行检测,输出检测图像和检测目标。实验结果表明,该研究的检测精度得到了大幅提升。该方法对雾天道路目标检测具有较好的检测性能。
1 雾天目标检测研究
1.1 基于暗通道去雾算法研究
通过对大量高清雾天图片研究发现,在每幅RGB图像中,均有1个灰度值很低的通道存在,基于此,文献\[6\]提出了基于暗通道理论的先验去雾算法,即
式中,Jdark(x)表示待去雾图像3个通道中取最小值组成的灰度值;Jc表示RGB图像的每个通道;c表示图像的r,g,b通道;Ω(x)表示以像素x为中心的窗口。根据暗通道理论,当Jdark(x)→0有雾时,灰度图呈现为一定的灰色,而在无雾时,灰度图则显示大量的黑色。
在RGB圖像中,广泛使用原始图像(即待去雾图像)模型描述雾天图像,即
式中,I(x)为原始图像(即待去雾图像);J(x)为恢复的无雾图像;A为大气光照成分;t(x)为光照透射率。
对式(2)进行归一化处理,两边同时除以图像每一个通道的大气光值,得
假若大气光照成分A和光照透射率t(x)均为已知常数,将t(x)估计值记为(x),再对式(3)同时引入暗通道计算公式进行计算处理,即对式(3)两边进行2次最小值计算,由于(x)是已知常量,因此可直接在最小值计算外进行计算,计算结果为
不管在何种天气,大气光照成分均会存在,特别是当观测物体越远时,对于视野内事物的层次感,这种由大气光照成分给人的视觉带来的差异将更明显,因此需在去雾后的图像中保留该特性,以便与真实情况更加切合。引入一个去雾控制常量约束去雾程度,一般取值在(0,1)之间,本文取ω=0.95。光照透射率估计值为
1.2 导向滤波
与其他算法相比,导向滤波[18]作为图像滤波处理经典算法,在图像边缘效果更为突出。导向滤波是用来表述导向图像与输出图像之间关系的一种局部的线性模型,对于不同大小的导向图像,在局部化窗口下,两者之间的关系线性表述为
通过上述过程求解出参数ak和bk的值,即求得式(11)导向滤波输出图像线性模型。而对于不同大小的窗口,则会求得不同大小导向滤波输出的值。以窗口均值作为导向滤波最后输出结果,不同大小导向滤波输出的值为
本文采用导向滤波的方法,实现对图像保留边缘滤波、去噪、边缘羽化和对比度增强等效果,但在使用导向滤波方法时,导向图像和原始输入图像不一致,会带来一些不必要的困难。因此,在使用导向滤波时,将导向图像与输入图像采用同一张图像[19],即I=p,则ak与bk2个参数的求解可简化为
1.3 YOLOv3网络架构
YOLOv3是端到端目标检测经典算法,YOLOv3网络模型采用特征提取网络(DarkNet-53)和特征金字塔网络(feature pyramid networks,FPN),并对不同层特征信息,使用不同大小的检测器预测目标的边界框、置信度和分类得分。YOLOv3网络结构如图1所示。
YOLOv3基于残差网络和特征融合的思想,提出DarkNet-53主干特征提取网络主要由DBL、Res、上采样、特征拼接(Concat)、空间金字塔池化(spatial pyramid pooling,SPP)等模块构成。DBL由卷积、标准化和Leaky ReLU激活函数3部分组成,它也是DarkNet网络中最基础的单元结构。Res表示残差模块减少了检测模型搭建和训练的难度,同时也提升了检测精度。
通过上采样,将前一卷积每个输出通道上的特征图扩大1倍,为之后与浅层特征图拼接融合作出了一定的过渡准备。Concat能够融合不同特征图的特征信息,进而提升算法的检测精度。SPP通过5×5,9×9,13×13最大池化,并采取并行的方法对图像特征进一步融合,在一定程度上解决了多尺度目标融合问题。
针对同一幅图像中不同大小尺度的检测目标,YOLOv3具有较好的检测效果。它使用3个大小分别是20×20,40×40,80×80的特征图,对这3种特征图通过卷积核大小为1×1,步长为1的卷积计算,实现对特征图和通道的整合调整,然后进行分类、置信度和回归损失计算,其损失计算公式为
式中,第1项为预测框与目标框之间的中心坐标损失,第2项为预测框与目标框之间的宽高损失,第3和第4项为目标置信度损失,最后1项为目标分类损失。
1.4 回归损失函数优化
YOLOv3目标检测框回归损失函数采用CIoU损失函数[20],它是在原真实框与预测框交并比[21](IoU)的基础上,引入距离与横纵比,但只考虑了真实框与预测框之间的距离误差和2个框之间的高度与宽度的差异,并没有考虑2个框之间方向不匹配,可能会导致收敛速度慢和收敛效率低的问题。为解决目标框的方向角度回归问题,文献[22]提出了SIoU损失函数,在原始IoU的基础上,引入了角度感知、距离损失和形状损失,以提高检测模型训练时的速度与推理的准确度。SIoU示意图如图2所示。
SIoU添加的角度感知首先会预测一个带有X轴或Y轴,然后沿着相关的轴线方向对预测框和真实框继续接近。当α≤π/4时,收敛过程先最小化α,反之则最小化β。角度感知相关参数如下式所示
式中,bgtcx和bgtcy表示目标框中心点坐标;bcx和bcy表示预测框中心点坐标;σ表示目标框与预测框中心点间的距离;cw和ch表示目标框与预测框中心点间在宽度和高度方向的差值。
SIoU对距离误差进行重新定义,给出了不同CIoU的真实框与预测框之间的距离误差计算方法,即
通过SIoU对距离误差的定义,当α趋近于0时,则距离误差对于整个目标框回归损失的作用则会限制,反之,当α趋近于π/4时,随着α角度变大,整个目标框回归损失中距离误差的作用则会逐渐提升。
SIoU在真实框和目标框形状误差的计算,是将原来CIoU算法中使用欧氏距离的计算方法改进,即
式中,θ为控制形状误差关注程度的值,其选择与具体的数据集有关,若θ=1,则会优化形状误差,从而降低预测框与真实框形状的自由移动。
目标框回归损失为
2 实验环境搭建与数据准备
2.1 实验环境
本文所有实验均在Ubuntu18.04操作系统下进行,深度框架为pytorch1.9、cuda11.1、cudnn8.0.5,GPU为NVIDIA GeForce GTX 1080Ti,运行内存为11GB,CPU为i7-9700KF,内存为32 GB。
2.2 數据准备
本实验均使用BDD100K[23]数据集,该数据集广泛应用于自动驾驶机器视觉领域。BDD100K数据集图像如图3所示,BDD100K数据集包括10万张图像,包含美国各地不同时间段和天气条件下的行车视角图像。该数据集包括交通灯、交通标志、汽车、卡车、公交车、行人等多个不同的标注类别信息,是目前为止规模和多样性最丰富的自动驾驶数据集之一,基本满足自动驾驶场景中所需检测的各类类别。
本文选取BDD100K数据集中的6 000张标注图像(包括汽车、卡车、公交车、人、自行车、摩托车、乘车人等7个标注类别)分成训练集和验证集,对YOLOv3网络模型进行训练。为保证检测结果的准确性及合理性,在验证不同烟雾浓度及暗通道先验去雾算法对道路目标检测效果影响的实验中,不同烟雾场景中采用同一验证数据集获取图像,且在不同烟雾浓度下,数据集的图像及每个对应目标的类别和位置也相同,在正常采集数据时,这种情况几乎无法实现。因此,本文使用RGB通道,验证合成不同等级的雾化图像,以模拟雾天的烟雾场景(雾化程度的数值越小,图像中雾的浓度越高)。不同等级的雾化图像如图4所示,对同一图像进行不同程度的雾化,表示不同浓度烟雾的场景,对同一数据集中的数据特征使用同一目标检测模型进行验证推理。
3 實验结果分析
3.1 SIoU效果分析
本文在BBD100K数据集的部分标注图像下进行实验,在SIoU与CIoU及YOLOv3网络模型下,将图像输入分辨率设为640×640,训练250轮,最终获得2种目标框回归算法检测验证结果,SIoU与CIoU检测精度对比如表1所示。由表1可知,在YOLOv3网络模型下,使用CIoU损失函数时,检测精度为45.8%;使用SIoU损失函数时,检测精度为46.6%,提升了0.8%。
计算2种算法对目标框回归损失误差的收敛情况,CIoU与SIoU目标框损失误差如图5所示。
由图5可以看出,CIoU与SIoU对目标框的回归损失的收敛速度和迭代训练250轮后得到的误差结果基本一致,但从每次迭代局部表现来看,红色的SIoU损失值总是略微低于CIoU损失值,这说明SIoU目标框回归性能不次于CIoU,且SIoU提升了检测精度,证明使用SIoU损失函数对目标框进行回归,会使所训练的模型具有更好的检测性能。
3.2 不同程度雾化图像对检测精度的影响效果分析
使用训练好的YOLOv3目标检测模型,对不同烟雾浓度下的验证数据集进行测试推理,不同程度雾化图像检测精度对比如表2所示。
由表2可知,图像中的烟雾浓度越高,检测目标的精度越低,说明雾太大时,目标检测难度提高,对自动驾驶目标检测及驾驶安全性能带来巨大的挑战,同时也说明在雾天场景下图像去雾及提高检测精度对驾驶安全的必要性。
3.3 去雾后检测效果分析
对不同浓度的雾化图像先进行暗通道先验去雾处理,再通过训练好的YOLOv3检测模型进行推理验证,去雾前后图像检测精度对比结果如表3所示。
由表3可以看出,将雾化图像经过去雾处理后再进行目标检测,与表2中不同程度雾化图像检测精度相比,检测精度大幅提升,分别由28.7%,25.1%,19.0%和8.35%提高到43.1%,40.5%,36.1%和26.7%,证明本文所提出先去雾再检测的方法对雾天道路目标检测具有较好的检测性能,可将隐藏在大雾之中,不便于检测的目标显露出来,大大降低了目标检测难度,提高了检测精度。
本文对实际雾天场景下的图像进行去雾前、后检测效果对比,去雾前后检测效果对比如图6所示。
由图6可以看出,由于烟雾遮挡,导致检测模型难以检测到的目标通过去雾算法进行检测,说明在雾天场景下,对图像先去雾处理,然后再目标检测完全可行,既克服外部因素造成的检测难度,也通过该方法避免了雾天场景数据集采集困难的问题。
4 结束语
本文将暗通道先验理论去雾算法、导向滤波、YOLOv3和SIoU相结合,推出了智能驾驶在雾天场景下基于计算机视觉的目标检测方法。实验结果表明,该方法能够克服雾天等天气因素造成的被检测目标不清晰,检测难度大等问题,较好的改善雾天天气状况下检测目标的漏检情况。将YOLOv3的目标回归损失函数从原来的CIoU损失函数改进为SIoU损失函数,使YOLOv3在BDD100K数据集下检测精度从45.8%提高到46.6%,提升了0.8%。该研究对极端环境检测工作具有重要意义。本研究会持续改进去雾算法和目标检测网络模型,以增强雾天目标检测算法的泛化能力和检测的鲁棒性。为提高对雾天等视野受限的极端天气下目标检测准确度,下一步将继续对检测算法和去雾算法进行更深的优化改进。
参考文献:
[1] 何新宇,赵时璐,张震,等. 机器视觉的研究及应用发展趋势[J]. 机械设计与制造,2020,10(65):281-283.
[2] ZHANG X,XU S. Research on image processing tech nology of computer vision algorithm[C]∥2020 International Conference on Computer Vision. Nanchang,China:CVIDL,2020:122-124.
[3] 郭璠,蔡自兴,谢斌,等. 图像去雾技术研究综述与展望[J]. 计算机应用,2010,30(9):2417-2421.
[4] 江巨浪,刘国明,朱柱,等. 基于快速模糊聚类的动态多直方图均衡化算法[J]. 电子学报,2022,50(1):167-176.
[5] 付泽. 国外载货车驾驶室设计技术现状及发展趋势[J]. 交通世界,2006,20(4):44-49.
[6] HE K M,SUN J,TANG X O. Single image haze removal using dark channel prior[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(12):2341-2353.
[7] LI B Y,PENG X L,ZHANG Y,et al. An all-in-one network for dehazing and beyond[J]. Journal of Latex Class Files,2015,14(8):1-12.
[8] REN W Q,LIN M,ZHANG J W,et al. Gated fusion network for single image dehazing[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City,USA:IEEE,2018:3253-3261.
[9] GIRSHICK R,DONAHUE J,DARRELL T,et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥IEEE Conference on Computer Vision and Pattern Recognition. Columbus USA:IEEE,2014:580-587.
[10] REN S,HE K,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,2015,39(6):1137-1149.
[11] REDMON J,DIVVALA S K,GIRSHICK R B,et al. You only look once:unified,real-time object detection[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas,NV,USA:IEEE,2016:779-788.
[12] REDMON J,FARHADI A. YOLO9000:Better,Faster,Stronger[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu Hawaii USA Piscataway:IEEE,2017:6517-6525.
[13] 李晶,黃山. 基于YOLOv3目标跟踪方法[J]. 电光与控制,2019,26(10):87-93.
[14] BOCHKOVSKIY A,WANG C Y,LIAO H Y. YOLOv4:Optimal speed and accuracy of object detection[EB/OL]. 2020[2021-09-23]. https:∥arxiv.org/pdf/2004.10934.pdf.
[15] WANG J F,CHEN Y,GAO M Y,et al. Improved YOLOv5 network for real-time multi-scale traffic sign detection[EB/OL]. Computer Vision and Pattern Recognition,2021,(2021-10-16)[2021-10-23]. http:∥doi.org/10.48550/arXiv.2112.08782.
[16] ZHENG G,LIU S T,WANG F,et al. YOLOX:Exceeding YOLO Series in 2021[EB/OL]. Computer Vision and Pattern Recognition,2021,(2021-07-18)[2021-08-06]. http:∥doi/10.48550/arXiv.2107.08430.
[17] LIU W,ANGUELOV D,ERHAN D,et al. SSD:Single shot MultiBox Detector[C]∥European Conference on Computer Vision. Springer,Cham:ECCV,2016:21-37.
[18] TANG X O,HE K M,SUN J. Guided image filtering[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(6):1397-1409.
[19] HE K M,SUN J. Fast guided filter[EB/OL]. Computer Vision and Pattern Recognition,2015(2015-05-05). http:∥arxiv.org/pdf/1505.00996.pdf.
[20] ZHENG Z H,WANG P,LIU W,et al. Distance-IoU loss:Faster and better learning for bounding box regression[J]. Thirty-Fourth AAAI Conference on Artificial Intelligence. AAAI,New York,USA:2020:12993-13000.
[21] YU J H,JIANG Y N,WANG Z Y,et al. Unitbox:An advanced object detection network[C]∥Proceedings of the 24th ACM International Conference on Multimedia. Amsterdam,Netherlands:ACM,2016:516-520.
[22] ZHORA G. SIoU loss:more powerful learning for bounding box regression[EB/OL]. Computer Vision and Pattern Recognition,2022(2022-05-25). http:∥arxiv.org/ftp/arxiv/papers/2205/2205.12740.pdf.
[23] YU F,CHEN H F,WANG X,et al. BDD100K:A diverse driving dataset for heterogeneous multitask learning[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York,United States:CVPR,2020:2633-2642.
Abstract:Aiming at the problem that a large number of detection targets in the field of view are obscured by smoke when intelligent driving vehicles are driving in foggy scenes,and it is difficult to detect targets,this paper proposes a method of defogging first and then detection. The acquired foggy images are dehazing based on dark channel prior theory,and then the dehazing images are sent to the trained YOLOv3 target detection model for inference detection,and the guided filtering method is introduced into the dehazing algorithm. In order to make the YOLOv3 detection model have better detection performance,the regression loss function of the target box is improved from the original CIoU to SIoU,and experiments are carried out under the partially labeled images of the BBD100K dataset. Experimental results show that under the YOLOv3 network model,the detection accuracy is 45.8% when using the CIoU loss function and 46.6% when using the SIoU loss function,and the detection accuracy of the detection model is improved by 0.8%. The detection accuracy of the atomized images was improved from 28.7%,25.1%,19.0% and 8.35% to 43.1%,40.5%,36.1% and 26.7%,respectively,and the detection accuracy was greatly improved. It is proved that this method has good detection performance for foggy road target detection,which can not only reduce the difficulty of detecting foggy road targets,but also improve driving safety. This study has certain theoretical research and practical application value.
Key words:object detection; haze removal using dark channel prior; guided image filtering; YOLOv3; SIoU