基于神经网络架构搜索的X射线图像违禁品检测算法

2024-02-20 01:25成浪敬超陈文鹏
科学技术与工程 2024年2期
关键词:违禁品分支组件

成浪, 敬超,2,3, 陈文鹏,2*

(1.桂林理工大学信息科学与工程学院, 桂林 541004; 2.桂林理工大学嵌入式技术与智能系统重点实验室, 桂林 541004; 3.桂林电子科技大学可信软件重点实验室, 桂林 541004)

随着城市公共交通中人群密度的增加,安检在保障公共安全方面发挥着越来越重要的作用。目前的安检措施主要是通过X射线图像检测违禁品,但存在以下问题:①重叠遮挡:物品因重叠堆放导致互相遮挡;②背景干扰:不同材质的物品通过X射线后会产生不同颜色的图像,多种颜色叠加形成复杂背景[1];③安全隐患:目前违禁品检测工作都由安检员人工完成,经过长时间和高强度的工作后,其可能因疲劳或注意力不集中发生漏检等问题,从而产生公共安全隐患。因此,研究一种X射线图像违禁品检测算法提高复杂背景下违禁品检测的准确率和速度对保障公共安全具有重要意义。

基于卷积神经网络(convolutional neural network,CNN)的目标检测算法在复杂X射线图像违禁品检测中获得了大量研究成果[2-3],目前针对违禁品的检测主要有改进网络结构和设计通用特征提取处理模块两方法。随着YOLO系列算法的发展[4-7],改进的YOLO算法用于违禁品检测:基于改进的YOLOv3网络[8]构建的深度卷积神经网络探码器,对密集分布、小尺度目标有较好的效果,但响应时间比YOLOv3稍长;为了提高检测准确率,董乙杉等[9]提出了一种改进YOLOv5的X射线违禁品检测网络,该方法融合注意力机制、数据增强策略与加权边框融合算法,但增加了检测时间;吴海滨等[10]在YOLOv4算法的基础上增加改进后空洞卷积网络结构,聚合多尺度上下文信息并增大了感受野,使用K-means 聚类方法生成更适合违禁品检测的初始候选框,但检测精度并不理想;杨子固等[11]针对 Faster R-CNN 模型对 X 射线违禁品检测准确率低、误检率高的问题,提出了一种前置预分类头部的X 射线安检图像检测网络,通过向原模型中增加预分类模块和兴趣区域对齐模块,从而改善了整个模型的识别性能。

通过将通用特征提取处理模块嵌入到原有网络以提升原有网络的目标检测性能:Miao等[12]针对重叠图像类别不平衡的问题提出了一种名为类平衡分层细化(class balance hierarchical refinement,CHR)的模块,以最大限度地减少负样本带来的噪声,具有更好的区分目标的能力;Tao等[13]提出了一种过度采样去遮挡注意网络(De-occlusion attention module, DOA-M),利用违禁物品的不同外观信息进行过度采样训练,提高了网络的检测性能;Wang等[14]设计了一种选择性密集注意网络(SDANet)用于学习区分特征和多尺度特征以网络提高性能。这些方法设计的CNN模型,严重依赖人的经验知识,需要高额的时间和人力成本(如调整学习率大小、卷积层的卷积核大小、卷积神经网络中的网络层数)。

神经网络架构搜索(neural architecture search,NAS)[15]针对目标检测任务的特点以自动化的方式搜索设计高性能的CNN架构。在文献[16]中对NAS方法进行了详细的分析、比较和总结:NAS方法包括搜索空间、搜索策略和性能评估。搜索空间定义了在搜索过程中可能找到的CNN结构,决定了搜索结果的上限;搜索策略定义了如何准确快速地发现最佳的神经网络结构的算法;性能评估定义了如何评估候选神经网络的性能从而指导搜索策略发现最优CNN架构的算法。

目前基于NAS的图像分类CNN[17-19]的性能已经超过人工设计的CNN的性能。受到ResNet[20]中残差结构的启发,NAS方法通过搜索多分支结构,增加了网络结构的多样性和不同尺度特征的融合,但搜索过程非常耗时[15]。为了提高搜索效率,PNAS[21]提出了一种渐进式的NAS方法,通过不断增加网络的复杂度(深度)来探索整个搜索空间,同时学习一个代理网络来指导搜索策略在搜索空间中的搜索,减少了计算开销;DenseNAS[22]通过设计密集连接的搜索空间来对卷积层的宽度和空间分辨率进行搜索,使网络结构搜索更加灵活。Hieu等[23]提出了权重共享策略,大大减少了网络结构搜索的时间。为了简化搜索过程和提高搜索速度,Chen等[24]提出了一种基于批量归一化指标(batch normalization,BN)的性能评估方法:通过冻结神经网络中的卷积层参数,只训练BN层参数,然后统计分析每个BN层中的缩放参数γ的大小可以反映出对应通道输出幅度大小,从而判断该BN层所在分支的重要性,该方法为基于NAS的目标检测算法提供了加速搜索过程的基础。

最近的一些工作也将NAS方法应用到目标检测任务,如Chen等[25]使用NAS方法自动搜索设计更好的目标检测Backbone组件,但搜索代价太大;Golnaz等[26]的目标是搜索一个更好的特征金字塔网络(feature pyramid networks,FPN)作为Neck组件;Wang等[27]也搜索特征金字塔网络(FPN),但它增加了对Head组件的搜索,但搜索到的网络结构复杂,难以理解和复用;Guo等[28]提出了一个分层的三位一体的搜索框架,以端到端的方式同时搜索目标检测网络的所有组件(即Backbone、Neck、Head),由于其搜索空间很大,导致在子搜索空间初期筛选过程中,存在有效的分支被筛选掉的情况。

为了提高卷积神经网络设计的自动化程度并进一步提高复杂背景下违禁品检测的准确率和速度,现提出一种基于逐层渐进式神经网络架构搜索(layer-by-layer progressive neural network architecture search,LLP-NAS)的算法。提出一种逐层渐进式搜索策略(layer-by-layer progressive,LLP),该策略能够组合搜索空间中的分支构建特征提取能力不同的侧分支结构(side branching structure,SBS)。提出一种针对X射线图像违禁品检测的NAS算法,该算法能够基于逐层渐进式搜索策略(LLP)和BN指标,自适应地在违禁品数据集中搜索构建最佳Backbone组件。

1 算法描述

本文算法主要包含4个部分:①搜索空间定义;②基于逐层渐进式搜索策略构建最佳Backbone组件;③基于BN指标评估候选网络的性能;④新目标检测网络训练和测试(图1)。首先,基于现有目标检测算法,用一个初始CNN替换其原Backbone组件;然后,使用逐层渐进式搜索策略搜索侧分支结构,基于BN指标评估候选网络的性能,为每一个layer筛选最佳侧分支结构,并自动构建最佳Backbone组件。最后,将构建的新目标检测网络进行X射线图像违禁品检测的训练和测试。

Stage0~Stage4为完成搜索的网络结构;input为输入端;Conv为卷积层;BN为批量归一化层;ReLU为激活函数;OP为搜索分支

1.1 搜索空间

物体多的尺度特征和深层重要特征的提取,对复杂背景下的违禁品检测有较大影响。表1列出了基于逐层渐进式搜索策略的搜索空间:Conv1×1-BN分支增加了非线性特性,卷积层之后经过激励层(rectified linear unit,ReLU),在前一层的学习表示上添加了非线性激励(non-linear activation),提升了网络的表达能力;同理,OP-2、OP-3、OP-4中的Conv1×1-BN也是为了增加对应操作的非线性特性;Conv3×3-BN属于普通大小的卷积操作,更关注局部特征信息;Conv3×3-BN-AvgPool-BN在对图像进行降维的同时,保留了图像的整体特征信息,更有利信息传递到下一个模块进行特征提取;Conv3×3-BN-MaxPool-BN选择分类辨识度更好的特征,在网络早期针对空间特征进行下采样, 提供了非线性特性;Conv1×3-BN和Conv3×1-BN称为非对称卷积,由Conv3×3-BN分解得到,以减少网络的参数量。Identity分支将浅层特征信息通过直连的方式传递到后面的层,保留了物体特征的原始信息。

表1 Backbone组件的搜索空间Table 1 Search space for Backone components

LLP-NAS算法参考了ResNet网络并复用了其中的一些概念和结构,包括Stage、layer、Identity[20]。如图2所示,为LLP-NAS算法中使用的部分结构示意图说明:在初始状态下的Backbone组件中,layer表示Conv3×3卷积-BN层-ReLU激活函数这样的复合结构;总共包含5个Stage,每个初始Stage仅由一个layer构成,随着搜索的进行,通过不断堆叠layer来实现逐层渐进式搜索;完成搜索的Stage包括一个或多个layer和对应的最佳侧分支结构。

图2 LLP-NAS算法中的Stage、layer、Identity结构Fig.2 Stage, layer and identity structure in LLP-NAS algorithm

1.2 搜索最佳Backbone组件

使用基于BN指标的性能评估策略搜索最佳Backbone组件:冻结卷积神经网络中卷积层的参数,只训练BN层而不是整个网络,在反向传播过程中只有BN层参数被更新。当评估第k层layer的第n个分支的性能时,其BN指标Sk,n计算公式为

(1)

假设待搜索的layer数为L层,则该Backbone组件总的BN指标SBb的计算公式为

(2)

Stage0~Stage4为完成搜索的网络结构;input为输入端;Conv为卷积层;BN为批量归一化层;ReLU为激活函数;OP为搜索分支。

大多数商圈只注重交易数据而忽视购买群体的过程数据,而这部分数据正是挖掘商机的入口。图1为商圈客流分析功能示意,其中客流分析项是对商圈日常的经营数据和客流数据进行汇总得到的,这些数据的处理和分析对于商圈运营者而言可进行更为细致的分析。客流数据分析系统需结合交易数据和过程数据获取有价值的数据。研究结果证明,只有0.5%~3.0%的人在网上点击广告之后会真正购买相应的产品,而消费者走进实体商店购买的概率则大很多。对于商圈管理者来说,该部分数据的价值分析示意见图2。

基于逐层渐进式神经架构搜索算法搜索新Backbone组件的过程可以表述为式(3),其中Bb*为最佳Backbone组件结构,FLOPs(Bb)为Backbone组件网络结构的复杂度。

Bb*=argmaxSBb,s.t.FLOPs(Bb)

(3)

首先,初始CNN包含5个初始Stage[图2(b)],从上到下依次Stage0>Stage1>Stage2>Stage3>Stage4,每个Stage只包含一个初始layer[图2(a)]。该算法以FCOS[30](Backbone组件为ResNet50)网络为基础,用一个初始CNN[图2(b)]替换其Backbone组件,并保持其他组件(Neck、Head)不变。要搜索的结构类似ResNet的残差结构,称之为侧分支结构,但不像ResNet的残差结构跨越2个或3个layer,侧分支结构只跨越一个layer且包含一个或多个操作。搜索过程由两个参数num_Stage和top_k控制:如num_Stage=[1,2,4,14,1],对应每一个Stage的目标layer层数;top_k规定了最佳侧分支结构包含的最大分支数。搜索流程如图3所示,搜索算法为算法1。

Stage0~Stage4为完成搜索的网络结构;input为输入端;Conv为卷积层;BN为批量归一化层;ReLU为激活函数;OP为搜索分支;Frozen Conv为冻结的卷积层;Frozen BN为冻结的批量归一化层

1.3 新目标检测网络训练和测试

如图4所示,在Backbone组件搜索完成后,新目标检测网络就自动构建完成,然后解除其所有被冻结的参数。新目标检测网络的训练和测试是交替进行的,当在训练集上的loss值不再下降时就表明网络已经训练完成,统计分析网络在测试集上的结果用于后续的网络性能评估和对比。

图4 新目标检测模型训练和测试Fig.4 Training and testing of new target detection model

2 实验

实验内容包括新Backbone组件搜索和新目标检测网络训练、测试3个阶段。在新Backbone组件搜索阶段,通过设置不同参数组合num_Stage和top_k对Backbone组件进行搜索,对比构建的新目标检测网络的性能,以找到最适合该目标检测任务的Backbone组件。在训练、测试阶段,分别在训练集和测试集对新目标检测网络进行训练和测试,并分别与手工设计的CNN、基于NAS的方法、经典的目标检测网络进行了对比分析。

2.1 实验环境

本次实验基于MMDetection[31]目标检测开源平台实现。软件环境为操作系统:Linux Mint20.3,Python3.10,PyTorch1.11.0,CUDA11.5.2,MMDetection 2.23.0。硬件环境为 CPU:i5-10600kf,RAM:DDR4 32 GB,GPU:RTX 3090(24 GB)。

2.2 数据集和评价指标

HiXray违禁品数据集[32]包含无芯充电宝、有芯充电宝、移动手机、平板电脑、笔记本电脑、化妆品、水、打火机8类常见违禁物品,共45 364张X射线安检图像,分辨率为从2 000×1 040像素到432×1 040像素不等。训练集36 295张,测试集9 069张。图5展示了HiXray数据集中8类常见违禁品的X光图像。

图5 8类常见违禁品的X射线图像[32]Fig.5 X-ray images of eight types of common contraband[32]

OPIXray违禁品数据集[33]包含折叠刀、直刀、剪刀、美工刀、多功能刀等5类刀具,共8 885张X射线安检图像,分辨率为1 225像素×954像素。训练集7 109张,测试集1 776张。

PIDray违禁品数据集[14]包含枪、刀、扳手、钳子、剪刀、锤子、手铐、警棍、喷雾器、充电宝、打火机和子弹12类违禁物品,共47 677张X射线图像,分辨率为从380像素×448像素到600像素×448像素不等。训练集29 457张,测试集18 220张。

实验评价指标为计算量FLOPs(衡量模型的复杂度),参数量Params(网络模型中的参数总量),两者均以图像缩放到800像素×1 200像素作为输入计算得出;类别识别平均精度均值mAP@0.5(mean Average Precision,IoU阈值为0.5);检测时间为检测处理一张图像的平均时间,值越小代表网络检测速度越快,单位为ms。

2.3 实验参数设置

在Backbone组件搜索阶段,由于实验设备的限制,输入图像大小为800像素×1 200像素,优化器使用Adam,学习率为1×10-4,权重衰减为5×10-4,batch size大小为8,每个layer搜索最多10 epochs时长(若BN层参数已经稳定,可提前结束该layer搜索以节约时间),该阶段使用训练集进行搜索。在新目标检测网络训练阶段,优化器使用SGD,学习率为1×10-3,动量为0.9,权重衰减为5×10-4,采用余弦退火算法(cosine annealing)调整学习率,batch size大小为8,训练30个epochs时长。在新目标检测网络测试阶段使用测试集对完成训练的网络进行测试,并统计分析测试结果。

2.4 实验结果与分析

图6所示为本文算法分别在HiXray、OPIXray、PIDray数据集上以不同num_Stage、top_k参数组合搜索到的最佳Backbone组件结构图。其网络整体结构类似ResNet网络,但每个layer主干都由相同的Conv3×3-BN-ReLU复合结构和该layer的最佳侧分支结构构成。为了提取到更丰富和更深层的物体特征,在Stage3中堆叠了更多的layer结构,每个layer的最佳侧分支结构由top_k个搜索空间中的分支构成。因此,Backbone组件搜索完成后,新目标检测网络就自动构建完成,将在HiXray、OPIXray、PIDray 3个违禁品数据集上完成训练和测试。

Stage0~Stage4为完成搜索的网络结构;input为输入端;Conv为卷积层;BN为批量归一化层;ReLU为激活函数;OP为搜索分支

图7展示了在HiXray数据集上搜索最佳Backbone组件(LLPNet28_3)过程中Stage0的第一个layer中9个分支末端的BN指标变化情况。选择BN指标最大的top_k个分支(为OP-2、OP-6、OP-7三个分支)作为该层layer的最佳侧分支结构。

图7 Stage0中第一个layer的侧分支BN指标变化情况Fig.7 Change of BN index of side branch of the first layer

与ResNet50[20]、MobileNetV2[34]、DenseNet[35]等手工设计的CNN进行对比。以FCOS目标检测网络为基础网络(其Backbone组件为ResNet50,Neck组件为FPN)。使用MobileNetV2和DenseNet两个手工设计的CNN替换其Backbone组件,构成两个对比网络。如表2所示,LLP-NAS以更高的检测精度mAP和更短的检测时间超过了基准网络。与基准网络相比,在检测准确率相当的情况下,以MobileNetV2作为Backbone组件的参数量和计算量都更少,但违禁品检测准确率仍略低于LLP-NAS。

表2 不同方法在HiXray数据集上进行违禁品检测准确率和性能比较Table 2 Comparison of accuracy and performance of contraband detection by different methods on HiXRay dataset

DenseNet和LLPNet28_3都使用跨越连接来向后面的卷积层传递特征信息,但DenseNet只通过简单的直连方式传递,而LLPNet28_3通过搜索的方式选择侧分支进行特征的提取与融合,特征提取更精准,违禁品检测准确率更高。且LLP-NAS的检测时间均小于两个对比网络。

与基于NAS的方法进行对比。如表2所示,虽然基于NAS方法在ImageNet数据集上搜索到的FBNetV3-C[36]网络在分类任务中表现出色,但在违禁品检测任务上的检测效果并不理想。DetNAS也对Backbone组件进行搜索,搜索到的DetNASNet在COCO目标检测任务中表现优秀,但LLP-NAS以较少的参数和更多的FLOPs在违禁品检测准确率上超过了DetNAS。NAS-FPN、NAS-FCOS、Auto-FPN三者都直接使用ResNet50作为Backbone组件,只对Neck组件或Head组件进行搜索,但与LLP-NAS算法相比,违禁品检测准确率都有所不足,且LLP-NAS的检测处理一幅图像时间都低于上述的对比网络。

为了进一步检验所提算法在复杂场景下的违禁品检测能力,选取 OPIXray 和 PIDray 等高度重叠遮挡的违禁品数据集,与目前经典的目标检测网络进行违禁品检测性能比较。如表3所示,LLP-NAS分别取得了87.2%和70.4%的mAP@0.5,超过了大多数经典的目标检测网络。FCOS由全卷积网络组成,采用类似于语义分割的逐像素预测方式目标检测任务,但违禁品检测性能仍有不足。Deformable直接使用不同尺度的特征图进行训练,但它的训练周期长,相比Mask R-CNN慢10~20倍,且违禁品检测性能低于LLP-NAS。RetinaNet引入新的Focal Loss损失函数,解决了前景背景种类不均衡问题,但它采用ResNet101网络作为Backbone组件,网络参数量和计算量过高,导致违禁品检测性能总体偏低。与YOLOv3、YOLOv4等经典目标检测网络相比,LLP-NAS在违禁品检测准确率上均有提升。SSD通过提取不同尺度的物体特征图直接进行目标检测,它通过设置不同尺度和长宽比的先验框以用于匹配不同尺度大小的物体检测,但违禁品的检测准确率仍低于LLP-NAS算法。由此可见,本文算法能够有效提高违禁品检测准确率和速度。

表3 不同方法在数据集OPIXray和PIDray上进行违禁品检测准确率比较Table 3 Comparison of the accuracy of contraband detection by different methods on data sets OPIXray and PIDray

图8展示了 LLP-NAS与其他几种方法在HiXray违禁品数据集上的检测结果对比。第1行为原始图像,第2行为图像标签,随后几行为其他几种方法的检测结果对比。FCOS(ResNet50)和FCOS(DenseNet)的检测效果与标签有较大差距;DetNAS对特征明显的物体检测较为准确,但对于包含复杂背景的物体的检测效果仍有欠缺;NAS-FPN和NAS-FCOS的检测结果相对较为准确,但在一些图像的目标边界检测上仍然存在一定的误差,而LLP-NAS很好地纠正了这样的误差,在几种方法中取得了更好的违禁品检测效果。

图8 几种方法在HiXray违禁品数据集上的检测结果示例Fig.8 Examples of detection results of several methods on the HiXRay contraband data set

2.5 消融实验

为了进一步探究不同参数组合num_Stage和top_k对LLP-NAS算法最终搜索结果的影响,分别对比由不同参数num_Stage和top_k组合构成的新目标检测网络的检测准确率,在HiXray数据集上进行了消融实验。结果如表4所示,以不搜索最佳侧分支结构的LLPNet22_0和LLPNet28_0网络作为Backbone组件,与搜索了最佳侧分支结构的LLPNet22_2和LLPNet28_2网络进行对比,违禁品检测准确率低33.1%和39.7%。可见,最佳侧分支结构相对于仅有主干的网络的性能提升明显。LLPNet22_3 相较于LLPNet22_2多搜索一个侧分支,违禁品检测准确率提升了6.6%,可见,更多的侧分支能提取更丰富的物体特征,从而提升网络性能。虽然更大的网络带来了更好的准确率,但同时也带了更多计算量和网络参数量,通过在搜索过程中限制FLOPs和Params的大小,最终搜索到的LLPNet28_3网络(28个layer结构,最大3个侧分支)取得了最高83.4%的mAP@50。

表4 在HiXray数据集上的消融实验研究Table 4 Experimental study of ablation on HiXRay data set

3 结论

提出了一种基于NAS的X射线图像违禁品检测算法,该算法基于逐层渐进式搜索策略和BN指标性能评估策略,能够根据X射线图像违禁品数据集自适应的搜索设计最佳Backbone组件,构建的由数据驱动的新目标检测网络以较低的计算量和参数量获得了较高的检测性能,在3种复杂违禁品数据集 HiXray、OPIXray、PIDray 上与手工设计的CNN、基于NAS的方法、经典的目标检测网络进行了对比,结果表明本文所提算法具有更高的检测性能,实现了进一步提高违禁品检测的准确性和速度的目的,充分证明了所提算法的有效性。针对违禁品检测的特点,为了进一步提高违禁品检测的准确性和速度,下一步的研究内容将考虑增加对目标检测网络的颈部(Neck)组件和头部(Head)组件进行搜索,通过增加搜索空间,优化搜索策略和性能评估策略来提升搜索效率,从而搜索设计出检测性能更好的目标检测网络。

猜你喜欢
违禁品分支组件
刑事涉案财物先行没收程序探析
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
论盗窃违禁品行为的定性与量刑
U盾外壳组件注塑模具设计
巧分支与枝
一类拟齐次多项式中心的极限环分支
宿舍违禁品问题浅析
风起新一代光伏组件膜层:SSG纳米自清洁膜层
生成分支q-矩阵的零流出性