2. 中国电子科技集团公司 第十五研究所, 北京 100089
2. The 15th Research Institute, China Electronics Technology Group Corporation, Beijing 100089, China
车辆检测是计算机视觉的重要任务之一, 在自动驾驶、视频监控等领域应用十分广泛. 雾霾环境下的车辆检测作为其中一个研究方向, 也受到研究人员的重视. 雾霾环境下车辆检测的准确率在相关应用中起到重要作用.
传统车辆检测算法采用滑动窗口的方式遍历图像, 接着人工选取特征, 对目标进行识别. 传统的检测方法有它的局限性: (1)在候选框生成中, 生成了大量冗余的候选框, 导致分类的误差比较大. (2)特征描述子[1, 2]是基于低级视觉特征手工制作的, 这使得在复杂语境中难以捕获代表性语义信息. (3)检测的每一步都是独立而不是端到端的, 无法得到整个系统的全局最优解. 目前基于深度学习的目标检测算法包含两种不同类型: 一类是以YOLO[3]、SSD[4]等为代表的基于回归的算法, 另一类是以R-CNN[5]、Fast R-CNN[6]、Faster R-CNN[7]等为代表的基于区域提议的算法.
基于卷积神经网络的目标检测方法在车辆检测中的应用, 极大地提升了车辆检测的准确率. 但是雾霾环境下, 检测准确率比较低. 这是因为雾霾环境下, 大量的水滴或灰尘等物质悬浮在空气中, 这些物质会使光线发生折射、漫反射, 网络学习到的车辆特征会发生丢失, 使模型难以检测出雾霾环境下的车辆. 黄开启等[8]采取传统去雾方法对雾霾图像做预处理, 汪昱东等[9]在检测网络中加入雾浓度判别模块以提高网络的适应性和鲁棒性, 柳长源等[10]利用K均值算法(K-means)对锚框重新聚类以满足车辆目标检测的特定需求, 罗建华等[11]使用DIOU损失提高定位精确度以降低小目标漏检率. 谢艳丽等[12]在雾天退化模型基础上, 使用边窗均值滤波算法对初始透射率进行改进, 解决雾霾天气下目标轮廓模糊的问题.
以上方法主要存在两个问题: (1)大部分检测是在晴天的环境下, 很少有对雾霾环境下的研究. (2)传统的去雾算法不一定总是能够取得很好的效果. 针对上述问题, 本文首先对图片做去雾预处理, 利用条件生成对抗网络(CGAN)作为图片去雾预处理模块, 该模块是一种基于卷积神经网络的去雾模块, 可以对单幅图像去雾霾. 检测网络选用YOLOv3网络, 并对其做了修改: 提出多尺度特征融合模块, 在原特征融合结构中增加一条浅层特征分支用于融合不同尺度的特征信息, 同深层特征经过上采样后拼接, 增强了浅层的语义信息, 并采用CBAM注意力机制引导下的特征增强策略保留了特征的细节信息, 有效提高了检测精度.
1 图像去雾处理雾和霾有着本质上的区别, 因此传统的基于大气散射模型的去雾方法在雾霾环境下不能总是取得很好的效果. 针对此问题本文选择了CGAN作为去雾算法, 无需对场景透射率以及众多参数的估计即可获得去雾图像.
生成性对抗网络(GAN)由Goodfellow等[13]于2014年提出. GAN主要包括生成器和鉴别器两部分. 生成器能够捕获真实数据样本的潜在分布, 并生成新的数据样本. 鉴别器实际上采用了二分类的思想, 用于判定输入样本的真假. 之后研究人员提出对GAN添加约束, 在原始GAN上添加条件变量来生成想要的特定图像. CGAN[14]的结构如图1所示.
利用CGAN进行去雾预处理, 首先将雾霾图像输入生成器, 生成器处理后输出去雾图像, 之后将雾霾图像与去雾图像一起输入判别器, 得到一组判断结果. 结果中只包含0–1的值, 表示着判别器认为去雾图像是真实的无雾图像的概率. 然后再将有雾图像与真实的无雾图像一起输入判别器, 输出另一组结果. 将前后两组结果做比较, 用它们的差优化生成器与判别器的参数, 帮助网络训练.
2 多尺度特征融合的YOLOv3检测算法本文使用的YOLOv3[15]是一种基于回归的一阶段检测算法, 主干网络Darknet53中没有全连接层和池化层, 并且含有相当多的3×3和1×1的卷积层, 融合了残差网络(ResNet)的思想, 解决了梯度消失和梯度爆炸的问题. YOLOv3为了更好地检测不同尺寸的目标, 借鉴了特征金字塔(FPN)[16]的思想, 融合了Darknet53提取出的3种不同尺度的特征图, 将它们合并后做非极大抑制(NMS)操作, 获得最终的结果.
为了改善YOLOv3存在的雾霾环境下漏检率高等问题, 提出了多尺度特征融合模块, 首先在浅层特征图中添加一条分支用于融合不同尺度的特征, 提升模型对于浅层语义信息的提取能力, 其次将提取的特征送入注意力机制模块, 增强特征图对关键信息的表达能力, 改进后的网络结构如图2所示.
2.1 CBAM模块
CBAM由Woo等[17]首次提出, 是一种可以重点关注特征图的局部信息的模块. CBAM在SENet的基础上增加了全局最大池化操作使获取信息更加全面, 另一方面增加空间注意力, 弥补了SENet空间上的不足, 并将两者相结合, 使网络可以学习需要重点关注区域的特征. 图3为CBAM模块示意图.
在卷积神经网络中, 经过2×2或3×3的卷积后, 经常会丢失上下文信息, 使特征图中的细节不能很好的保留, 为了更好地保留上下文信息, 避免无用特征对网络的影响, 将注意力机制引入特征融合模块. 在进行卷积之前先通过注意力机制保留特征中的细节信息, 同时保证了特征在空间上的相关性. 之后再对特征图进行卷积和上采样的操作.
为了可视化加入注意力机制后的效果, 使用Grad-CAM算法生成了网络热力图, 图4(b)为普通卷积输出热力图, 图4(c)为CBAM注意力热力图. 图中红色区域为显著度最高的区域, 是模型做出决策的主要依据区域, 可以看到, 含有注意力机制的热力图中, 更加突出了关键目标信息.
2.2 多尺度特征融合
YOLOv3的特征融合结构利用了主干网络最后3个卷积层输出的特征, 采用了FPN结构, 对3种不同尺度的特征进行融合, 原有主干网络输出的特征图尺度为52×52, 26×26, 13×13, 可以很好地检测出较大的目标, 然而在雾霾环境下, 目标的特征信息被干扰, 使得原本漏检率很高的小目标更难被检测到.
针对上述情况, 提出多尺度特征融合模块, 采用CBAM注意力机制和深浅层特征融合引导下的特征增强策略, 考虑在浅层增加一条特征融合支路, 尺度为104×104, 同经过上采样后的深层特征拼接在一起. 组成新的特征融合结构, 融合了位置信息和语义信息, 增强了特征之间的互补性, 并结合CBAM模块进一步优化网络特征, 提升检测精度. 图5为多尺度特征融合模块.
3 实验分析 3.1 数据集
实验选用的数据集是RTTS和Kitti, RTTS是一个已经标注的真实雾天数据集, 包含4 322幅自然雾天图像, 标注了5个类别, 分别是人(person)、自行车(bicycle)、汽车(car)、公共汽车(bus)和摩托车(motor-bike). 每个类的目标数量如表1所示.
Kitti数据集是在道路上采集到的真实无雾图像数据集, 随机选择了500张图像用于测试, 采用文献[18]的方式生成模拟雾天图像, 图6是使用的数据集示例.
3.2 实验设定与评价指标
本文实验的软件和硬件详细配置信息如表2所示. 实验在Darknet框架下进行, 模型使用Adam优化器, 权重衰减设置为0.000 5, batch size设置为4, 学习率为0.000 1, epoch为100, mAP的计算采用voc2007的方式, 阈值设置为0.5.
训练集、验证集、测试集按照6:2:2划分, 大约迭代42000次. 训练时的损失函数图像如图7. 从图中可以看出, 随着训练次数的增加, 损失逐渐降低并趋于平稳.
本文实验采取平均精度(mAP), 召回率(recall)作为评价指标, 计算方法如式(1)–式(4)所示:
$ precision = \frac{{TP}}{{TP + FP}} $ | (1) |
$ recall = \frac{{TP}}{{TP + FN}} $ | (2) |
$ AP = \int_0^{recall} {precision\;drecall} $ | (3) |
$ mAP = \frac{1}{N}\sum\limits_{i = 1}^N {AP} $ | (4) |
其中, precision为准确率, TP表示实际是正样本且预测也是正样本,FP表示实际是负样本而预测为正样本, FN表示实际与预测都为负样本, N表示目标类别数.
3.3 去雾结果
先后采用MSR去雾算法[19]、AOD-Net[20]和CGAN去雾算法分别对图像进行去雾处理, 结果如图8所示, 第1行是去雾结果图, 第2行是相对应的热力图, 可以看出CGAN的去雾结果较好, 所以本文选择CGAN作为预处理模块.
3.4 消融实验为了验证所提改进的有效性, 固定训练集和测试集, 分为是否加入了CBAM模块、是否添加浅层特征分支的YOLOv3算法, 同原始YOLOv3算法进行对比实验. 实验结果如表3所示, 其中YOLOv3①表示加入了CBAM模块, YOLOv3②表示添加浅层特征分支, YOLOv3③表示添加了多尺度特征融合模块.
通过表3可以看出, 在使用CBAM模块和添加浅层特征分支后, 模型的mAP分别提高了1.2%和1.6%, 召回率分别提高了1.08%和3.65%, 同时使用后mAP提高了1.92%, 召回率提高了3.15%, 有效地提高了模型的性能.
消融实验的可视化测试结果如图9所示, 图9(a)表示YOLOv3的检测结果, 图9(b)表示YOLOv3①的检测结果, 图9(c)表示YOLOv3②的检测结果, 图9(d)表示YOLOv3③的检测结果.
选择了两组图像进行实验, 第1组图片是环境较暗, 雾霾浓度大, 存在目标被严重遮挡的情况, 左侧和右侧只能看出一个模糊的黑影, 难以识别具体是什么目标, 导致了漏检, 添加了CBAM模块后, 第1组图片左侧的自行车能够被检测到, 使用多尺度特征融合模块后, 左侧的行人和自行车都可以被检测到. 第2组实验是目标没有被严重遮挡, 但是距离拍摄位置较远的情况, 通过结果显示, 使用YOLOv3③算法可以检测到图像左侧的人和摩托车, 降低了漏检率. 在雾霾环境下, 原始的YOLOv3只能检测到距离较近、特征较为明显的目标. 使用了多尺度特征融合模块之后, 这一问题得到了一定程度的解决.
3.5 对比实验
为了增强算法可信度, 本文将提出算法和YOLOv3、YOLOv4、SSD、Faster-RCNN算法进行了对比, 均采用相同的训练集和测试集, 这5种目标检测算法的主干网络分别是VGG16、VGG16、Darknet53、CSPDarknet53和Darknet53. 表4展示了对比实验的结果.
在模型大小方面, SSD虽然有着最小的权重, 但是检测精度和召回率却是5种算法中最低的, Faster-RCNN的权重最大, 但是检测精度却仅为73.46%. 在检测精度方面, 提出算法达到了81%, 比最低的SSD高出8.4%, 比YOLOv4高出0.45%. 在速度方面, SSD有着最快的速度, 但是检测精度最低, 本文提出算法在速度上比YOLOv3慢了10 f/s, 虽然牺牲了一点速度, 但是在准确率和召回率上有一定的提升.
为了直观显示出提出算法与其他算法的检测效果差异, 图10给出了它们的可视化检测结果, 其中图10(a)表示Faster-RCNN的检测结果, 图10(b)表示SSD的检测结果, 图10(c)表示YOLOv3的检测结果, 图10(d)表示YOLOv4的检测结果, 图10(e)表示本文算法的检测结果. 从结果可以看出在Faster-RCNN、SSD、YOLOv3和YOLOv4中, Faster-RCNN的检测结果是最好的, 漏检较低, 但是会有误检的情况出现, 第2组图片中将摩托车的下半部误检为了自行车. 使用本文算法后检测结果有了明显的提升, 在雾霾环境下也可以检测到很多模糊的目标, 使漏检率大大降低.
3.6 在Kitti数据集上的实验为了验证泛化性, 在Kitti数据集上进行了测试, 随机选择了500张图片生成模拟雾霾天气图像用于测试, 结果如表5所示. 可以看出提出算法在mAP和召回率上都较为优秀.
可视化结果如图11, 其中Faster-RCNN和SSD的检测结果较差, 漏检目标较多, 而YOLOv3中右侧的行人没有检测到, 提出算法的检测结果较好.
4 结论与展望为了提高雾霾环境下车辆检测的准确率, 本文提出了一种多尺度特征融合的YOLOv3检测算法, 首先利用条件对抗生成网络对图像进行去雾预处理, 其次针对雾霾环境下图片的特点, 提出多尺度特征融合模块, 在特征融合结构中增加一条浅层分支用于融合不同尺度的特征信息, 降低雾霾环境下的漏检率, 同时采用CBAM注意力机制引导下的特征增强策略, 保留了卷积后特征的上下文信息. 实验结果表明: 本文所提出的算法在所选择的数据集上有较好的效果, 在网络前端加入去雾模块可以提高雾霾环境下检测的准确率, 降低漏检率. 本文算法仍然存在一些不足, 如对于浓雾下严重遮挡或高度重叠的目标定位不准, 导致漏检的情况, 这也是后续要解决的问题.
[1] |
Lienhart R, Maydt J. An extended set of Haar-like features for rapid object detection. Proceedings of the IEEE International Conference on Image Processing. Rochester: IEEE, 2002. I.900–I.903.
|
[2] |
Dalal N, Triggs B. Histograms of oriented gradients for human detection. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego: IEEE, 2005. 886–893.
|
[3] |
Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 779–788.
|
[4] |
Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector. Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 21–37.
|
[5] |
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014. 580–587.
|
[6] |
Girshick R. Fast R-CNN. Proceedings of the IEEE Conference on Computer Vision. Santiago: IEEE, 2015. 1440–1448.
|
[7] |
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
[8] |
黄开启, 刘小荣, 钱艳群, 等. 雾霾天气车辆检测的改进YOLOv3算法. 重庆大学学报, 2021, 44(12): 95-102. DOI:10.11835/j.issn.1000-582X.2020.027 |
[9] |
汪昱东, 郭继昌, 王天保. 一种改进的雾天图像行人和车辆检测算法. 西安电子科技大学学报, 2020, 47(4): 70-77. DOI:10.19665/j.issn1001-2400.2020.04.010 |
[10] |
柳长源, 王琪, 毕晓君. 多目标小尺度车辆目标检测方法. 控制与决策, 2021, 36(11): 2707-2712. DOI:10.13195/j.kzyjc.2020.0635 |
[11] |
罗建华, 黄俊, 白鑫宇. 改进YOLOv3的道路小目标检测方法. 小型微型计算机系统, 2022, 43(3): 449-455. DOI:10.20009/j.cnki.21-1106/TP.2020-0989 |
[12] |
谢艳丽, 姜志, 王军, 等. 雾霾天气下光源目标检测算法. 激光杂志, 2021, 42(11): 46-52. DOI:10.14016/j.cnki.jgzz.2021.11.046 |
[13] |
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2014. 2672–2680.
|
[14] |
Mirza M, Osindero S. Conditional generative adversarial nets. arXiv:1411.1784, 2014.
|
[15] |
Redmon J, Farhadi A. YOLOv3: An incremental improvement. arXiv:1804.02767, 2018.
|
[16] |
Lin TY, Dollár P, Girshick R, et al. Feature pyramid networks for object detection. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 936–944.
|
[17] |
Woo S, Park JY, Lee JY, et al. CBAM: Convolutional block attention module. Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018. 3–19.
|
[18] |
Cantor A. Optics of the atmosphere-scattering by molecules and particles. IEEE Journal of Quantum Electronics, 1978, 14(9): 698-699. |
[19] |
Rahman Z, Jobson DJ, Woodell GA. Multi-scale retinex for color image enhancement. Proceedings of 3rd IEEE International Conference on Image Processing. Lausanne: IEEE, 1996. 1003–1006.
|
[20] |
Li BY, Peng XL, Wang ZY, et al. AOD-Net: All-in-one dehazing network. Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 4780–4788.
|