目前安检工作仍依赖人力, 容易发生漏检误检, 产生安全隐患或导致人员拥堵. 使用深度学习技术检测违禁品, 能够客观可靠地辅助安检人员工作, 为人们带来更好的安全保障.
检测图片中含有的违禁品并标识出其准确位置, 属于计算机视觉中的目标检测领域, 目前目标检测模型主要分为双阶段(two-stage)和单阶段(one-stage)两类. 双阶段目标检测特点是先生成region proposal区域, 随后使用卷积神经网络完成样本分类, 代表算法有: R-CNN[1]、Mask R-CNN[2]、SPPNet[3]、Fast R-CNN[4]和Faster R-CNN[5]等. 单阶段目标检测则直接通过深度卷积神经网络进行定位分类, 因此可以在一个阶段完成目标类别以及位置坐标的生成, 典型算法有YOLO系列[6–8]、SSD[9]等.
Ren等人基于YOLOv4算法, 将轻量级特征金字塔网络(LFPN)与卷积块注意力模块(CBAM)[10]结合, 捕获不同尺度特征, 实时性得到增强[11]. 李松等人通过引入MoblieViTv3额外分类器, 同时对MPConv模块进行了改进, 减少了模型参数量, 提升了模型检测速度[12]. 上述方法均考虑了违禁品检测中的实时性问题, 但是对于违禁品图片中小目标违禁品的识别仍有欠缺, 在各类目标检测中, 小目标更容易在图片中出现紧凑收纳、与其他物品重叠等特殊情况, 引起漏检. 而X光违禁品图片生成依靠的是X光的透视特性, 因此X光图片中的目标重叠情况要比普通目标检测情况更复杂, 因此需要模型能够对小目标有更好的鲁棒性. 郭守向等人构建了YOLO-C目标检测网络, 引入特征增强模块(FAB)增强小目标的检测性能[13]. 李文强等人提出一种自适应空间特征融合结构提高模型对小目标的检测能力[14]. 上述方法一定程度增强了模型对小目标的识别能力, 而在复杂背景下, 小目标违禁品的识别检测依旧有一定难度, X光违禁品图片常含有大量空白区域, 这将影响训练时的权重分配, 剔除无用背景并保留违禁品特征, 实现识别效果提升.
X光违禁品检测其独特检测难题主要体现在小目标违禁品检测难度大, 重叠情况更复杂, 而X光违禁品图片中的大量空白区域对违禁品的权重分配产生较大的影响, 增加了小目标违禁品的检测难度, 给传统目标检测带来了一定的挑战, 为此, 本文基于YOLOv8s[15]做出改进, 保证检测速度的同时有效解决违禁品识别中复杂背景小目标难检测问题, 减少漏检情况的发生.
1 YOLOv8网络模型相比其他YOLO模型, YOLOv8拥有最新的网络架构. YOLOv8模型为单阶段目标检测模型, 检测速度快, 能够满足违禁品检测实时性需求, 有5种不同大小的模型, YOLOv8n、s、m、l、x, 本文以YOLOv8s作为基础模型进行改进, YOLOv8网络结构主要由输入端(Input)、骨干网络(Backbone)、脖颈(Neck)部分以及预测端(Detect)组成.
输入端主要进行数据预处理. YOLOv8在骨干网络采用了梯度流更丰富的C2f结构, 并在最后使用SPPF (spatial pyramid pooling)模块减少图的相关重复特征的多次提取, 加速候选框生成速度并提高生成质量. Neck部分依旧使用C2f结构帮助网络学习相关特征, 配合Upsample帮助生成不同大小候选框. 解耦头预测端完成对检测物品种类和位置的输出.
2 YOLOv8模型改进本文对YOLOv8s做出的主要改进如下.
引入Focal L1 Loss[16]优化CIoU, 提高预测框和目标框的重合度, 保证预测框精度.
网络浅层加入DCH模块以使网络掌握不同方向上的违禁品特征, 为模型带来不同方向上的违禁品特征, 提高了模型的特征提取能力并减少了空白区域对模型训练的影响.
SPPF上使用深度空洞可分离卷积, 并使用两个级联的水平和垂直卷积核进行优化, 降低了该模块的参数量同时完成图的相关重复特征的多次提取, 充分利用违禁品特征信息.
在Neck部分加入Swin-CS模块, 该模块融合Swin Transformer[17]和CBAM的思想, 通过分组计算避免了计算量的增加, 使该模块感受野扩大的同时补充了违禁品多维交互信息, 增强对小目标违禁品的特征提取能力. 最后使用3种注意力叠加对检测头进行改进, 增强模型对小目标违禁品的检测能力. 改进后的结构如图1所示, Ddetect用于表示改进后Detect模块.
2.1 使用Focal L1 Loss优化预测框YOLOv8使用的损失函数主要包括3部分: 分类损失、回归损失和DFL损失. 分类损失使用的是二元交叉熵损失, 回归损失来度量模型对目标边界框的回归准确度, 用来衡量预测边界框与真实框之间的差距. YOLOv8中使用的回归损失为CIoU, 如式(1):
$ CIoU = IoU - \frac{{{\rho ^2}\left( {b, {b^{\rm gt}}} \right)}}{{{c^2}}} - \alpha \upsilon $ | (1) |
$ \upsilon = \frac{4}{{{\text{π} ^2}}}{\left( {\arctan \frac{{{\omega ^{\rm gt}}}}{{{h^{\rm gt}}}} - \arctan \frac{\omega }{h}} \right)^2} $ | (2) |
$ \alpha = \frac{\upsilon }{{\left( {1 - IoU} \right) + \upsilon }} $ | (3) |
其中, IoU= |A∩B|/|A∪B|,
数据在进行训练的时候, 由于不同数据类型的数量存在的差异可能导致模型训练的偏向性和性能下降, 因此Zhang等人[16]借鉴Focal Loss[18]的思想提出使用Focal L1 Loss将高质量锚框和低质量锚框分开来解决这个问题, 并且整合论文中提出的EIoU, 得到Focal EIoU Loss. EIoU以及Focal EIoU Loss公式如式(4)和式(7):
$ EIoU = IoU - \frac{{{\rho ^2}\left( {b, {b^{\rm gt}}} \right)}}{{{c^2}}} - \Delta {C_{\omega h}} $ | (4) |
$ {L_{EIoU}} = 1 - EIoU $ | (5) |
$ \Delta {C_{\omega h}} = \frac{{{\rho ^2}\left( {\omega , {\omega ^{\rm gt}}} \right)}}{{C_\omega ^2}} + \frac{{{\rho ^2}\left( {h, {h^{\rm gt}}} \right)}}{{C_h^2}} $ | (6) |
$ {L_{\text{Focal-} EIoU}} = Io{U^\gamma }{L_{EIoU}} $ | (7) |
其中,
$ {L_{\text{Focal-} CIoU}} = Io{U^\gamma }{L_{CIoU}} $ | (8) |
$ {L_{CIoU}} = 1 - CIoU $ | (9) |
同样的思想也可以运用到其他损失函数如GIoU、DIoU上, 本文还加入了以预测框和真实框之间向量角度作为惩罚项的SIoU[19]进行了实验. SIoU公式如式(10):
$ {L_{\text{SIoU}}} = 1 - IoU + \frac{{\mathit{\Delta} + \mathit{\Omega} }}{2} $ | (10) |
其中,
违禁品的种类多种多样, 不同违禁品形状以及在图片中的位置是更复杂多样的, 依靠人眼识别容易发生误检漏检情况. 可变形卷积能够掌握不同方向上的信息, 将不同方向上的违禁品特征信息集中到一个卷积核中, 可以看作一种特殊的空洞卷积, 不会扩大卷积的大小, 但是依旧能够让神经元突破普通卷积核的限制. 其作用原理是在普通卷积的作用区域上加入可学习的参数
$ y\left( {{p_0}} \right) = {\sum _{k = 1}^K{w_k}{m_k}x({p_0} + {p_k} + \Delta } {p_k}) $ | (11) |
安检机进行安检时, 如果物品较少, 那么传来的图片中会含有大量的空白背景区域, 模型不能在这些区域学习到有用信息, 感受野扩大后会使这些区域权重增加, 反而对模型训练产生影响, 因此本文对DCH模块进行重新设计, 增加跳跃连接淡化空白位置权重, 并使用Hard Sigmoid激活函数更快捕捉特征, 结构如图2所示.
2.3 融入LSKA结构的SPPF模块
感受野决定了神经元能够掌握的原始图像范围, 影响着网络学习到更全局或更局部的信息. 在违禁品识别过程中, 模型通过一定大小的卷积核进行特征提取, 这意味着在固定的算法中, 模型的感受野将是受限的, 模型在训练过程中可能只提取到了违禁品的部分特征信息, 通过扩大网络感受野让神经元掌握到更全局的信息以及语义层次更高的特征.
SPPF模块能够完成图的相关重复特征的多次提取, 因此在该模块扩大感受野能够有效剔除更多无用背景特征. LKA (large kernel attention)使用一种级联的深度卷积和空洞的深度卷积, 将其融入SPPF模块中扩大模型感受野. 图3(a)展示了LKA结构, 其中k是卷积核大小, d是空洞率. (b)为LSKA[21]结构, 其使用对应的水平和垂直卷积核对DW-Conv (depthwise separable convolution)和DW-D-Conv (depthwise dilated separable convolution)进行了替换, 相关参数计算如式(12)、式(13):
$ Par{m_{\rm LKA}} = {\left( {2d - 1} \right)^2} \times C + {\left\lfloor {\frac{k}{d}} \right\rfloor ^2} \times C + {C^2} $ | (12) |
$ Par{m_{\rm LSKA}} = \left( {2d - 1} \right) \times C \times 2 + \left\lfloor {\frac{k}{d}} \right\rfloor \times C \times 2 + {C^2} $ | (13) |
比较式(12)、式(13), 容易得出LSKA相比LKA在DW-Conv部分节省(2d–1)/2个参数, DW-D-Conv节省1/2[k/d], 并将ConvBNSiLU (Conv+BN+Sigmoid)替换为速度更快的ConvBNReLU (Conv+BN+ReLU), 提升检测速度, 改进后的SPPF-L模块如图4.
2.4 优化小目标检测复杂背景中的小目标经常受到背景的干扰, 小目标在图片中所占比例小, 信息量少, 将背景的干扰降低并发掘更多小目标本身的信息有助于减少漏检, 因此本文将Swin Transformer的滑动多头自注意力与CBAM注意力进行融合, 使Swin Transformer能够处理违禁品图片中信道和通道信息, 实现维度交互信息的提取利用, 同时Swin Transformer能够提取全局特征, 减少无关背景对小目标识别的影响.
YOLOv8在Neck部分使用特征金字塔结构FPN(feature pyramid network)对不同层级的特征进行融合, 生成3种不同大小的锚框来对违禁品进行定位. 因此将设计的新模块融入Neck部分来提高模型对小目标信息的特征提取能力.
新的注意力模块称为Swin-CS模块, 结构如图5所示. Swin Transformer对Transformer计算复杂度大的问题进行了解决, 将token进行分组计算以降低计算复杂度. Swin Transformer由带W-MSA (window multi-head self-attention module)的多头自注意力模块和带SW-MSA (shifted window multi-head self-attention module) 的多头自注意力模块组成, 其中W-MSA完成分组工作, 直接计算每个窗口中token的自注意力值. SW-MSA通过滑动窗口的方式完成相邻patch的信息交互, 有效减少特征信息的丢失. Channel取自CBAM中的通道注意力模块, 其用来压缩特征图空间维数, 聚合空间信息, 使模块关注通道信息, Spatial则取自CBAM中的空间注意力模块, 作用是对通道进行压缩, 使模块关注空间信息.
为了将Neck传来的带有不同维度交互信息的违禁品信息进行充分利用, 本文将DyHead[22]融入检测头部分进行处理, Dyhead能够综合尺度信息、空间信息以及通道信息, 该模块由3部分组成:
3 实验 3.1 实验环境
本文基于SIXray数据集进行实验, SIXray数据集由Miao等人[23]收集, 共包含
实验环境: NVIDIA GeForcce RTX3090. 编程语言为Python 3.8, Cuda版本为12.1, PyTorch为2.0.
超参数配置: 模型训练中, 目标的类别置信度阈值为0.7, 初始学习率为0.01, 权重衰减系数设置为
准确率(precision, P)、召回率(recall, R)和平均精度均值(mean average precision, mAP)通常用来对目标检测算法性能进行评价. 其中, 准确率P 是指真正的正样本与模型识别出的正样本的比率, TP 表示模型正确预测违禁品的个数; FP表示模型将并不存在的违禁品错误检测的个数. 计算公式如式(14)所示:
$ P = \frac{{TP}}{{TP + FP}} \times 100{\text{%}} $ | (14) |
召回率R 是指在测试集所有真正的正样本中, 模型正确检测出违禁品的个数所占的比率, FN 表示没有被检测到的个数, 计算公式如式(15)所示:
$ R = \frac{{TP}}{{TP + FN}} \times 100{\text{%}} $ | (15) |
mAP值可以作为一个综合的参数来检测网络性能, mAP50指交并比IoU=50时, 模型的类识别准确率, mAP50-95则更为严苛, 其计算方式为: 从mAP50到mAP95, 每间隔5%取一次mAP, 对取得的10个值取平均, 反映了模型预测框的准确程度, 多用于一些准确性和安全性需求高的场景中, 因而能够反应违禁品识别模型的性能. 计算公式如式(16)所示:
$ mAP = \frac{1}{C}{\sum _{K = 1}^NP\left( K \right)\Delta R\left( K \right)} $ | (16) |
表1展示了引入Focal L1 Loss后不同损失函数的实验结果. 在mAP50值中, Focal L1 CIoU与Focal L1 SIoU持平, 但是mAP50-95值中Focal L1 CIoU损失函数提升最高, 为3.1个百分点, 综合来讲Focal L1 CIoU能够得到比其他损失函数更好的回归, 而Focal L1 SIoU或许也是优化损失函数的一个方向.
3.3.2 改进的可变形卷积实验为研究DCH在网络能够发挥最大作用的位置, 本文在不同网络层数进行了相关对比实验, 结果如表2, 其中L3表示在网络第3层使用DCHv2对卷积核进行改进, 实验发现DCHv2在浅层网络表现更好, 这说明浅层网络的方向向量对于识别违禁品更有价值, 提供的方向向量更有利于对违禁品进行检测定位, 因此在后面的消融实验中在网络第3层进行改进.
3.3.3 SPPF改进对比
为验证改进之后的SPPF模块是否能够提高违禁品的检测效果, 本文设计了对比实验进行分析, 实验结果如表3所示. 将SPPF改进之后, mAP值提高了1.4个百分点, mAP50-95则提高了3.6个百分点, 说明改进之后的算法能够有效利用扩大后的感受野信息, 提取违禁品重要特征, 更加准确地识别违禁品并进行匹配.
3.3.4 小目标检测实验
表4展示了优化小目标检测的实验结果, 实验发现添加Swin-CS的模型能够很好地捕获违禁品特征信息, 准确率和召回率均有提升, mAP和mAP50-95也提升明显. 另外本文添加了额外的小目标检测头实验进行对比, 观察额外的小目标检测头是否优于本文检测头改进, 表中数据可以看出额外的检测头确实提高了模型的检测性能, mAP50-95提升了3.2个百分点, 但是相比本文方法低0.4个百分点, mAP50低0.7个百分点, 因此相较于额外检测头, 本文方法更佳.
3.4 不同模型对比实验
为了能够体现本文改进算法的优越性, 与其他深度学习模型在相同的硬件环境下进行了对比实验, 实验结果如表5所示, 改进后的算法在各方面均展现出优势, 有较高的处理速度, 能满足实时性需求, FPS相比YOLOv8s提高4.4, 说明在SPPF中使用的深度可分离卷积能够有效提高模型的计算速度, 分组计算也有效避免了模型计算量的增加, 准确率、召回率和mAP均领先其他深度学习算法, 意味着模型也能完成高准确率的检测.
3.5 消融实验
此节对本文提出的改进YOLOv8s模型进行消融实验以验证各模块的有效性, 其结果如表6中所示, 将损失函数替换为Focal L1 CIoU (FC)后, mAP50-95得到明显的提升, 上升了3.1个百分点, DCHv2利用不同方向上的违禁品特征信息mAP50提升至0.925. 使用LSKA增强SPPF特征提取后, mAP50继续提升1.1个百分点. Swin-CS模块和Dyhead检测头最终使得mAP50-95稳定在0.682, mAP50提高至0.961.
综上所述, 改进后的网络拥有较高的准确率和特征提取能力, 在复杂场景下有较好的鲁棒性, 能够满足安检中违禁物品识别应用的实时性和准确性需求.
3.6 改进效果展示热力图可以观察到网络对存在违禁品区域的关注度程度, 图7展示了改进前(左列)和改进后(右列)普通样本和复杂背景下的热力图对比. 改进前的热力图中, 违禁品有很多部分没有很好地分配到权重. 改进后热力图显示的违禁品区域更完整.
图8展示了改进前(左图)和改进后(右图)模型对部分小目标的关注程度, 颜色越鲜艳代表关注程度越高. 可以观察到在复杂背景样本中, 小目标有明显的漏检情况, 图中存在的钳子、扳手没有进行权重分配, 而改进后模型对小目标的关注度明显提高, 给钳子和扳手分配了较高的权重.
4 结束语
本文提出了一种改进YOLOv8s网络模型的违禁品识别网络, 针对小目标违禁品识别难的问题进行了改进, 使用Focal L1 Loss改进损失函数优化预测框. 改进后的DCH模块在网络浅层获取到不同方向上的违禁品关键特征信息, 再通过改进SPPF以及Swin-CS模块在网络的主干和Neck部分提取了全局信息, 剔除无用背景的同时, 使模型对小目标更敏感, 改进后的Dyhead检测头综合多方面信息对检测出的目标信息进行了输出. 最终使得准确率和召回率均提高1.7个百分点, mAP50提高了5.4个百分点, mAP50-95提高了4.5个百分点.
[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] |
He KM, Gkioxari G, Dollár P, et al. Mask R-CNN. Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 2980–2988.
|
[3] |
He KM, Zhang XY, Ren SQ, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. DOI:10.1109/TPAMI.2015.2389824 |
[4] |
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2015. 91–99.
|
[5] |
Girshick R. Fast R-CNN. Proceedings of the 2015 IEEE International Conference on Computer Vision. Santiago: IEEE, 2015. 1440–1448.
|
[6] |
Bochkovskiy A, Wang CY, Liao HYM. YOLOv4: Optimal speed and accuracy of object detection. arXiv:2004.10934, 2020.
|
[7] |
Li CY, Li LL, Jiang HL, et al. YOLOv6: A single-stage object detection framework for industrial applications. arXiv:2209.02976, 2022.
|
[8] |
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.
|
[9] |
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.
|
[10] |
Woo S, Park J, Lee JY, et al. CBAM: Convolutional block attention module. Proceedings of the 15th European Conference on Computer Vision (ECCV). Munich: Springer, 2018. 3–19.
|
[11] |
Ren Y, Zhang HG, Sun HX, et al. LightRay: Lightweight network for prohibited items detection in X-ray images during security inspection. Computers and Electrical Engineering, 2022, 103: 108283. DOI:10.1016/j.compeleceng.2022.108283 |
[12] |
李松, 亚森江·木沙. 改进YOLOv7的X射线图像违禁品实时检测. 计算机工程与应用, 2023, 59(12): 193-200. |
[13] |
郭守向, 张良. YOLO-C: 基于单阶段网络的X光图像违禁品检测. 激光与光电子学进展, 2021, 58(8): 0810003. |
[14] |
李文强, 陈莉, 谢旭, 等. 改进YOLOv5的X光图像违禁品检测算法. 计算机工程与应用, 2023, 59(16): 170-176. |
[15] |
Jocher G, Chaurasia A, Qiu J. Ultralytics YOLO (Version 8.0.0). https://github.com/ultralytics/ultralytics. [2023-12-14]. Jocher G, Chaurasia A, Qiu J. Ultralytics YOLO (Version 8.0.0). https://github.com/ultralytics/ultralytics. [2023-12-14]. |
[16] |
Zhang YF, Ren WQ, Zhang Z, et al. Focal and efficient IoU loss for accurate bounding box regression. Neurocomputing, 2022, 506: 146-157. DOI:10.1016/j.neucom.2022.07.042 |
[17] |
Liu Z, Lin YT, Cao Y, et al. Swin Transformer: Hierarchical vision Transformer using shifted windows. Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021. 9992–10002.
|
[18] |
Lin TY, Goyal P, Girshick R, et al. Focal loss for dense object detection. Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 2990–3007.
|
[19] |
Gevorgyan Z. SIoU loss: More powerful learning for bounding box regression. arXiv:2205.12740, 2022.
|
[20] |
Zhu XZ, Hu H, Lin S, et al. Deformable ConvNets V2: More deformable, better results. Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 9300–9308.
|
[21] |
Lau KW, Po LM, Rehman YAU. Large separable kernel attention: Rethinking the large kernel attention design in CNN. Expert Systems with Applications, 2024, 236: 121352. DOI:10.1016/j.eswa.2023.121352 |
[22] |
Dai XY, Chen YP, Xiao B, et al. Dynamic head: Unifying object detection heads with attentions. Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021. 7369–7378.
|
[23] |
Miao CJ, Xie LX, Wan F, et al. SIXray: A large-scale security inspection X-ray benchmark for prohibited item discovery in overlapping images. Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 2114–2123.
|