电动车的普及与发展已成为现代交通领域的一大趋势. 然而, 随着电动车数量的快速增长, 一些商家也开始利用这一趋势从事违规改装行为, 对社会安全和环境构成了严重威胁. 因此, 建立一种有效的检测系统来识别违规改装电动车的需求变得迫切. 违规改装电动车是指对电动车进行非法改装或擅自安装其他设备的行为, 例如遮阳伞、挡雨板等. 这些违规改装行为不仅违反法律法规, 还破坏了电动车的正常运行和安全性能. 违规改装电动车的存在给交通管理和执法带来了巨大的挑战, 同时对公共道路安全和环境保护造成了严重影响. 目前, 传统的违规改装电动车检测方法主要依赖于人工巡查和抽查检测, 效率较低.
近年来, 随着互联网的发展, 卷积神经网络技术在各个领域不断发展, 尤其是在生活方面. 将深度学习应用于电动车违规改装的遮阳伞检测中. 结合深度学习的方法不仅加快了检测速度, 也提高了检测效率, 同时节省了大量的人力成本. 目前深度学习的目标检测主要算法分为两种: 第1种是以RCNN[1], Faster RCNN[2], 为代表的二阶段算法, 但是这类算法检测速度比较慢, 在对应研究中不能满足实时性的需求. 第2种就是以YOLO为代表的一阶段目标检测算法, 这种算法达到实时性的需求, 但是效果不佳. 吴健生等[3]在Faster RCNN进行改进, 引入注意力机制, 多尺度检测模块, 可变型卷积进行识别缺陷. 张光华等[4]对YOLOv7-tiny进行改进, 通过小目标检测层增强了特征提取能力, 改善了对航拍小目标的检测能力. 但是Faster RCNN双阶段算法要生成大量的候选框, 导致检测速度过慢, 不符合违规电动车的实时性需求. 而单阶段算法能只提取一次就能完成目标的检测, 速度比较快, 目前对于实时性方面常用的算法是YOLO算法, SSD算法[5]等. YOLO算法是目前比较热门的单阶段检测算法, 包括一些YOLOv5, YOLOv7[6]等. 许多的学者在上面进行改进取得了不错的效果. 季娟娟等[7]设计了一种改进的YOLOv7, 通过改进的ELAN模块和添加注意力机制解决了表面缺陷小导致的漏检率高的问题. 高源等[8]设计了一种改进的YOLOv5的算法, 他通过注意力机制提高特征提取, 数据增强提高模型的检测不同火灾大小的能力, 使模型对火灾高效识别.
目前YOLOv7-tiny的检测速度在YOLO系列中比较优秀, 所以采用YOLOv7-tiny框架对违规电动车的识别进行相关研究.
1 YOLOv7-tiny模型YOLOv7-tiny是一个突出的目标检测模型, 以其高速检测能力而著称. 模型的架构分为3个主要部分: 输入模块、主干网络和头部. 如图1所示, 主干网络是模型的特征提取核心, 由多个CBL模块、MP层和ELAN模块组成. CBL模块包含了卷积层、标准化层和激活函数, 而ELAN层是多个CBL层的组合, MP层则由CBL模块和最大池化层构成. 逐层构建的目的是从图像中抽取出有用的特征信息.
在主干网络之后是Neck部分, 它使用PANet结构来融合不同层次的特征, 从而检测各种尺寸的目标. Neck主要由CBL和ELAN模块构成. SPPCSPC模块作为一个连接点, 一方面连接主干网络和Neck, 另一方面与ELAN模块相连, 它有助于增强模型的学习能力, 同时提升处理速度. SPPCSPC和ELAN模块相比于原有的YOLOv7框架, 无论是在模型模块数量还是在参数量上都有所减少. Head部分和YOLOv7不同的是采用的是标准卷积进行通道数的调. YOLOv7-tiny和YOLOv7相比, 牺牲了一定的精度, 但是在速度方面具有优势, 参数量和计算量都更少.
2 改进的YOLOv7-tiny模型本文的工作如下: 1)在ELAN模块后引入BiFormer注意力机制, 增强对小目标的特征提取. 2)通过改进的特征金字塔结构和特征融合网络的张量拼接操作进行结合提升对不同大小目标的检测能力. 3)改进的ELAN模块和SPPCSPC模块在不引入过多参数的同时, 改善对中小目标的特征提取.
2.1 BiFormer模块在实际的交通环境下, 因为复杂的背景而导致漏检和误检的问题. 为了提高检测的准确性, 可以通过引入注意力机制来集中处理信息中的关键部分. 注意力机制的应用[9–11]在多个领域都显示出了其优越性. 为了解决漏检和误检的问题, 提出了一种新型的注意力机制: BiFormer[12]. 它具有两种特性. 其一就是动态稀疏注意力, 其二就是金字塔结构. 对于动态稀疏注意力的作用, 它仅关注少量令牌, 避免关注其他无关令牌. 金字塔结构可以能够捕捉更多上下文信息, 增强它对一些密集目标处理能力, 实现了较高的检测效率. BiFormer是Transformer[13]模型的一个变体, 通过引入动态注意力机制优化计算分配, 减少计算量. 这一机制主要通过双层路由来实现, 它也是BiFormer的特性之一, 在处理复杂任务时, 首先在宏观层面快速筛选, 然后查询与当前最相关的键值, 排除那些与查询不相关的键值, 此过程在称为“路由区域”的部分完成. 经过宏观层筛选后, 在这些区域内采取更细粒度的Token-to-Token[14]注意力机制处理. 该机制的核心在于利用稀疏性, 降低了计算和存储需求.
为了明确每个部分之间的注意力关系, 采取有向图的方式, 用于确定每个区域对应的特定部分. 为了优化这个步骤, 只保留区域中最重要的几个连接, 一旦确定了连接, 接下来就是通过连接建立一个新的路由索引矩阵.
最后, 为了精确控制信息之间的交流, 区域之间的新路由索引矩阵, 实现了细粒度标记注意力机制. 对于在不同区域的每个查询令牌, 注意力机制将聚焦于索引矩阵指定的特定路由区域. 这一策略有效地改善了计算流程, 提升了处理数据时的效率和准确性. BRA的计算量有3个部分: 投影操作, 构建有向图, 标记注意力. 对于任何的二维特征图
$ \begin{split} & {\textit{FLOPs}} ={\textit{FLOPs}}_{\mathrm{proj}}+{\textit{FLOPs}}_{\text{routing}}+{\textit{FLOPs}}_{\mathrm{att}} \\ & =3 H W C^2+2\left(S^2\right)^2 C+2 H W {k} \frac{H W}{S^2} C \\ & =3 H W C^2+C\left(2 S^4+\frac{{k}({HW})^2}{S^2}+\frac{{k}({HW})^2}{S^2}\right)\\ &\geqslant 3 H W C^2+3 C\left(2 S^4 \cdot \frac{k(H W)^2}{S^2} \cdot \frac{k(H W)^2}{S^2}\right)^{1 / 3} \\ &=3 H W C^2+3 {Ck}^{2 / 3}(2 H W)^{4 / 3}\end{split} $ | (1) |
当
BiFormer使用BRA作为核心, 通过4层金字塔进行特征融合. 如图2所示. 在初级阶段使用重叠补丁嵌入, 为了降低输入空间分辨率和扩充通道数量, 之后的3个阶段, 采用了补丁合并技术. 为了转化特征, 采用使用多个BiFormer块, 每个BiFormer块的结构如图3所示, 采用3×3卷积核的深度卷积捕捉局部特征, 然后BRA模块和MLP模块共同工作来建模跨位置的关系并实现逐个位置嵌入.
在Neck部分的ELAN模块中引入BiFormer注意力机制采用参数共享策略, 参数共享降低了模型的参数量, 使得模型更加轻量化, 可以有效提高中小目标检测精度, 通过表1可知, 对比其他注意力机制, 在参数上虽然有所增加, 但是在精度方面的优势比较明显.
2.2 改进的特征金字塔结构由于在实际的交通道路上, 路况复杂, 会出现中小目标检测不到或者漏检的情况. 框架颈部由特征金字塔网络结构PANet, 目的是整合多尺度的输入特征. PANet在特征融合的过程对各尺度特征处理方式相同, 对于实际情况, 往往不同输入会导致最后的结果不同.
对于一些交通复杂的环境, 速度过快导致目标较小, 出现漏检的情况. 为了实现更高水平的特征融合, 加强多尺度目标特征的融合和传递, 采用BiFPN[15]替换PANet, BiFPN删除了两端只有一条边的节点, 在中间的不同层级间引入了双向连接, 这些连接使特征信息在不同层次间流动. 有助于改善不同尺度和层级之间的流动, BiFPN还引入了训练权重, 用于调整不同输入对特征图的贡献. 原BiFPN采用的加权平均融合方式融合特征. 为了更好地捕获和融合高级特征, 将加权平均特征融合的方式改为平均特征融合. 平均特征融合相比加权特征融合更为直接, 减少了模型特征融合中的噪声和过拟合的情况, 有效地强调了对象的重要特征, 将改进的BiFPN和原BiFPN相结合从而可以适应不同的输入特征, 挖掘深层信息, 提升网络对不同尺度目标的检测能力. PANet和BiFPN的网络结构图如图4所示, 图中P3–P7代表不同级别的特征融合, 图中包含自上而下的路径, 自下而上的路径, 位于同一级的路径, 通过蓝线可以将高级和低级特征融合, 通过黄线可以实现低级特征的增强, 通过红线可以实现内部信息的交流和补充, 确保信息完整.
2.3 改进的ELAN模块和SPPCSPC模块
高效层聚合网络(ELAN)在网络层面上属于梯度路径, 目的就是解决神经网络中的计算效率问题, 它的优点就是使用较少的参数和更少的计算提高性能. 由于原框架的ELAN模块每一层的输入是上一层的输出, 每一层接收到上一层输入后, 难以确定哪些是有用的特征, 导致在往后的深层的特征融合效率并不是很高. 为了解决这一个问题, 将原有的ELAN改为跳跃连接, 将ELAN模块改为跳跃连接的优势在于有助于梯度可以更早地流向网络的早期层, 减少梯度消失的问题, 在参数方面不会有所增加, 但是可以提高参数的使用效率, 从而提升特征提取的能力. 其次在ELAN模块中引入全维动态卷积(ODConv)[16], 增强网络在复杂背景下检测一些中小型目标的能力[17]. 它与传统的动态卷积只关注在卷积核维度上的注意力不同, 它在卷积中以并行的方式加入多个维度的互补注意力, 具体的结构图如图5所示. 其中ODConv对动态卷积的定义为:
$ \begin{split} y =& ({\alpha _{w1}} \odot {\alpha _{f1}} \odot {\alpha _{c1}} \odot {\alpha _{s1}} \odot {W_1} +\cdots \\ & + {\alpha _{w{\text{n}}}} \odot {\alpha _{fn}} \odot {\alpha _{cn}} \odot {\alpha _{sn}} \odot W)*x \end{split} $ |
其中,
空间金字塔池化SPP在模型中的作用就是实现不同尺度特征图的融合, 它通过不同的池化操作来聚合特征, 这样可以保留更多的空间信息并增强模型对尺度变化的适应性. CSPNet[18]主要的作用就是在特征图的不同阶段引入跨阶段的连接来改善特征重用. 有助于降低成本, 同时保持模型的性能. 结合两者的优点, SPPCSPC模块在保持轻量化的同时可以增强对多尺度特征的处理能力和信息融合效果, 提高模型检测性能. 图7是SPPCSPC和改进后的SPPCSPC的结构图. 改进后的SPPCSPC将原有的并行输出改为了串联式的并行输出, 这样一来, 在学习的过程中细化了对特征的利用, 相比于原结构, 经过多层的最大池化以后, 可以允许网络学习到更多单层学习不到的特征, 同时保留更多的低级和高级特征, 有效减少特征的损失. 改进后的SPPCSPC在不引入新参数量的情况下, 改善了特征提取的能力, 提升检测性能.
2.4 改进的YOLOv7-tiny 模型介绍
改进后的YOLOv7-tiny模型如图8所示, 使用改进的BiFPN和原BiFPN替换Neck中原有的Concat模块, 然后采用改进的SPPCSPC模块替换原有的SPPCSPC模块, 使用改进的ELAN模块替换部分的Neck部分中的ELAN模块, 最后在Neck部分中引入注意力机制. 改进后的模型增强了不同背景下对中小违规电动车的识别能力, 提升整体的检测性能.
3 实验结果与分分析
本实验使用Ubuntu 18.04操作系统, Inter Core i5-12400 2.5 GHz处理器, NVIDIA GeForce RTX 3060 12 GB显卡. 深度学习框架选用PyTorch 1.13版本和CUDA 11.6版本. 训练参数初始学习率为
由于目前没有相关数据集, 为了进行相关研究. 本文通过手机进行拍摄电动车违规改装一共780张, 通过数据增强将数据集扩展到
$ {{P}}=\frac{{TP}}{{TP + FP}} $ | (2) |
$ {{R}}=\frac{{TP}}{{TP + FN}} $ | (3) |
$ {{AP}}=\int_0^1 {P(R} ){\mathrm{d}}R $ | (4) |
$ {{mAP}}=\frac{1}{n}\sum\nolimits_{i = 1}^n {A{P_i}} $ | (5) |
其中, P表示正确识别出来加装雨棚电动车数量占检测出的加装雨棚电动车数量的比值. R是召回率, 就是被正确检测改装电动车的数量和数据集加装雨棚电动车数量的比值. FP表示被误检的加装雨棚电动车的数量, FN表示被误检的非加装雨棚电动车数量.
为了更好验证本文算法的有效性, 在模型中加入了注意力机制, 以及改进后的BiFPN, SPPCSPC模块等. 通过以上的改进, 使得模型在精确度, 平均精度mAP上有了更好的结果. 图9是阈值为0.5的交并比结果图. 图10是阈值在0.5–0.95的结果图, 图11就是改进后框架的P-R结果图. 通过曲线的对比, 可以知道改进后的框架在平均精度上面已经强于了原有的框架, 体现出良好的检测效果.
3.3 检测效果分析
图12是原图以及原算法YOLOv7-tiny和改进后的YOLOv7-tiny算法的效果检测图对比图.
由图12可知, 在一些近距离的目标上改进后的YOLOv7-tiny算法精度比起原算法拥有更高的精度, 对于一些远距离的中小目标原有的YOLOv7-tiny会出现漏检率比较高的情况, 而改进后的YOLOv7-tiny算法在对于一些中小目标检测上也有不错的效果, 大大地减少了漏检的概率, 提升了检测性能. 通过对比图可知, 改进后的YOLOv7-tiny算法无论在中小目标的检测还是在一些大目标的检测上都要强于原框架.
3.4 对比实验此外, 本文还将改进后的模型和其他经典的目标检测模型进行比较, 选取精确度、mAP@0.5、mAP@0.5:0.95、参数量、FPS进行对比. 数据如表2所示. 由表2可知, 精确率最高的还是改进后YOLOv7-tiny的算法, 改进后的YOLOv7-tiny模型 的平均精度相比其他所有模型都是最高, 但是检测速度逊色于YOLOv5和YOLOv8. 分析其原因: 加入注意力机制以后, 有助于提高模型检测不同大小的目标. 通过改进BiFPN算法以及BiFormer模块等影响了对小目标的检测能力, 加强了对复杂背景下目标的识别, 有效提高对目标的识别能力, 但也同时增加了参数量, 导致检测速度下降.
3.5 消融实验
为了更好地验证本文算法的有效性, 进行消融实验, 一共7组实验. 同样使用上述的数据集进行测试, epcoh设置200. “√”表示使用该模块, “×”表示未使用该模块. 实验模型的评价如表3所示. 在表3中可以看出加入注意力机制后精度和平均精度都有提升, 检测速度有所下降, 通过注意力机制, 框架能够提取更多的细节特征, 更好地识别待测物体, 但会引起参数上升. BiFPN和改进的BiFPN相结合能有效提升特征提取能力, 更好地感受周围图像的信息, 提升检测性能, 修改SPPCSPC模块以及加入动态卷积以后, 能有效地提高模型拟合的速度, 最终改进的模型虽然在参数量有所上升, 但是检测性能也得到了提升, 也能满足实时检测的需求.
4 结论与展望
本文结合深度学习中的目标检测, 结合特定的算法模块替换原有模块, 通过BiFormer模块增强了原模型的特征提取能力, 增强了对小目标的检测能力这有助于提高模型对目标的感知能力和边界的准确性, 解决了原算法可能出现未识别到的违规电动车的问题. 通过将BiFPN和改进的BiFPN相互融合, 能达到比原有两个更好的检测效果, 增强了原模型的泛化性和鲁棒性. 最后将改进的SPPCSPC模块和ELAN模块和原模块相结合, 解决了原模型由于卷积损失的特征的问题, 提升了模型对中小目标的识别能力. 由于注意力机制和动态卷积的引入, 导致参数量增加, 影响检测速度, 今后的研究工作就是, 在既能保证精确度的同时, 又能保证轻量化[19].
[1] |
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation. Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014. 580–587.
|
[2] |
Girshick R. Fast R-CNN. Proceedings of the 2015 IEEE International Conference on Computer Vision. Santiago: IEEE, 2015. 1440–1448.
|
[3] |
吴健生, 王健全, 付美霞, 等. 基于改进Faster-RCNN算法的带钢缺陷检测. 鞍钢技术, 2022(6): 23-28, 32. |
[4] |
张光华, 李聪发, 李钢硬, 等. 基于改进YOLOv7-tiny的无人机航拍图像小目标检测算法. 工程科学与技术, 1–14. https://link.cnki.net/urlid/51.1773.TB.20231211.1812.001. (2023-12-12). [doi: 10.15961/j.jsuese.202300593]
|
[5] |
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.
|
[6] |
Wang CY, Bochkovskiy A, Liao HYM. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors. Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023. 7464–7475.
|
[7] |
季娟娟, 王佳, 陈亚杰, 等. 基于改进YOLOv7的液压阀块表面微小缺陷检测. 计算机工程, 2023, 49(11): 302-310. |
[8] |
高源, 杨堃, 曹磊, 等. 基于改进YOLOv5的特征抑制多尺度林火检测算法. 林业工程学报, 2023, 8(6): 145-153. |
[9] |
Woo S, Park J, Lee JY, et al. CBAM: Convolutional block attention module. Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018. 3–19.
|
[10] |
Hou QB, Zhou DQ, Feng JS. Coordinate attention for efficient mobile network design. Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021. 13708–13717.
|
[11] |
Wang QL, Wu BG, Zhu PF, et al. ECA-Net: Efficient channel attention for deep convolutional neural networks. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 11531–11539.
|
[12] |
Zhu L, Wang XJ, Ke ZH, et al. BiFormer: Vision Transformer with bi-level routing attention. Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023. 10323–10333.
|
[13] |
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017. 6000–6010.
|
[14] |
Yuan L, Chen YP, Wang T, et al. Tokens-to-token ViT: Training vision Transformers from scratch on ImageNet. Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021. 538–547.
|
[15] |
Tan MX, Pang RM, Le QV. EfficientDet: Scalable and efficient object detection. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 10778–10787.
|
[16] |
Li C, Zhou AJ, Yao AB. Omni-dimensional dynamic convolution. Proceedings of the 10th International Conference on Learning Representations. ICLR, 2022.
|
[17] |
张梅, 齐至家, 何盼霞. 改进YOLOv5的绝缘子缺陷检测算法. 安徽理工大学学报(自然科学版), 2023, 43(4): 10-18. |
[18] |
Wang CY, Liao HYM, Wu YH, et al. CSPNet: A new backbone that can enhance learning capability of CNN. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Seattle: IEEE, 2020. 1571–1580.
|
[19] |
苏志威, 黄子涵, 邱发生, 等. 基于改进YOLOv8的航空铝合金焊缝缺陷检测方法. 航空动力学报, 2024, 39(6): 116-124. |