APP下载

优化YOLOv4算法的安检X光图像检测网络①

2022-01-05杨嘉诚黄佳慧韩永麟李晓辉

计算机系统应用 2021年12期
关键词:违禁品X光残差

杨嘉诚, 黄佳慧, 韩永麟, 王 萍, 李晓辉

(长安大学 电子与控制工程学院, 西安 710021)

随着社会的发展, 人们的出行方式变得越来越多样化. 与此同时, 违禁品种类也变的越来越复杂. 因此,安检则是当今社会必不可少的一项工作. 安检应用于飞机、火车、地铁等场所, 在人们的生活中起着重要的作用[1].

X光安检仪是安检过程中最常用的设备, 该设备检测图像具有以下特点: (1)多尺度性: 安检违禁品种类很多, 形状各不相同, 且同一类别的违禁品在外观上也可能存在很大差异. (2)杂乱性: 安检图像的一块区域中会有很多物品混合在一起, 会产生严重干扰.

目前, X光安检仪与人工检查相配合是大部分场所的安检手段. 这种模式下安检质量很大程度上决定于安检员的工作状态. 人工检查受环境因素影响大, 导致效率较低, 很可能会出现漏检、误检等问题[2,3].

要想解决上述问题, 需要有一个自动的检测模式.目前, 深度学习是一种较好的选择. 本文主要针对X光安检图像, 将深度学习模型YOLOv4 (You Only Look Once)与ResNet残差网络相融合, 提出了一种新型网络架构Res152-YOLO以优化对安检过程中违禁品的检测效果.

实验结果表明, Res152-YOLO网络的性能相较于YOLOv4原网络有了较显著的提升, 更适用于违禁品检测.

本文主要贡献有:

(1)针对ResNet网络进行优化和激活函数的更新;通过适当降低帧率、增加网络层数以获得更佳效果;采用了创新式结构融合算法.

(2)针对X光图像进行数据增强处理, 突出物品特征; 制作后端接口软件, 使检测操作一体化.

(3)进行了多种相关变体网络的对比实验.

1 相关工作

1.1 基于深度学习的目标检测算法

深度学习提出了一种让计算机自动学习出模式特征的方法, 并将特征学习融入到了建立模型的过程中,从而减少了人为设计特征造成的不完备性, 深度学习的网络层数较深, 有利于多尺度违禁物品的识别.

基于深度学习的目标检测算法主要分为基于区域建议的方法和无区域建议的方法两类.

(1)基于区域建议的方法: 2014年, Girshick等人提出的RCNN模型[4], 比传统的方法有了明显的改进;同年, He等人针对RCNN要求输入图像块尺寸固定以及速度慢等问题提出了空间金字塔池化模型SPP[5];2015年, Girshick、Ren等人先后提出了Fast RCNN[6]、Faster RCNN[7], 该类方法检测精度高, 但是检测速度较慢.

(2)无区域建议的方法: 2015年He等人针对梯度弥散的问题, 提出了深度残差网络ResNet[8];2019年发布的YOLOv4[9]相较于以往的版本, 进一步在检测性能上有了提升. 之后, 在YOLOv4的基础上产生了一些改进的算法, 例如: 2020年11月蒋镕圻等人结合scSE注意力机制和SPP, 设计了一种scSEIYOLOv4算法[10], 其能够显著提升小目标的检测精度.

1.2 YOLOv4基础网络

YOLOv4的网络结构分为: (1) Input输入端: 使用Mosaic及 CutMix 数据增强以增加输入图像可变性, 丰富图像特征信息, 所设计的目标检测模型可以获得更高的鲁棒性. (2) BackBone主干网络: 提取输入图像的特征, 并通过卷积层进行5次下采样实现特征图的降维. 该部分的改进在于融合了多种新方式. (3) Neck部分: 由YOLOv3采用的特征金字塔网改为加入空间金字塔池化层的路径聚合网络, 改善了浅层特征丢失的问题. (4) Prediction部分: 实现了对小、中、大型目标的检测, 并在原图像上对检测物进行锚框标注.

1.3 数据集

目前, 常见的红外X光图像数据集有两类: (1)GDXray[11]: 数据集仅包含简单背景中的灰度图像, 包含来自5个不同子集的19 407个X射线样本, 此数据集内容相对比较简单. (2) SIXray[12]: 数据集由中国科学院大学模式识别与智能系统开发实验室构建, 由1059 231张X射线图像组成, 其中5类8929个违禁品是标注的, 此数据集内容比较复杂, 较有挑战性. SIXray数据集部分图片如图1所示.

图1 SIXray数据集部分图片

2 网络设计

2.1 输入数据增强

X射线安检系统根据物品的物质类别对安检图像进行颜色设定, 把属于有机物的物体颜色设定为橙色,把无机物设定为蓝色, 把混合物设定为绿色. 针对X光数据集图像普遍的特性: 颜色昏暗、图像噪声大, 存在物品遮挡带来的干扰[13], 本文统一对输入数据进行增强处理. 该部分具体实现过程如下:

(1)比例校正: 由于检测网络只能接受正方形图像,这会强制大多数X光数据集图片产生拉伸形变. 因此,本文对图像周围进行灰度填充, 使图像大小标准化.

(2)亮度与色度增强: 物品颜色较深, 包裹颜色较浅. 经亮度与色度增强后, 包裹亮度增强, 趋近于白色,轮廓及细节得以弱化, 而物品仍保有深色, 便可有效区分包裹背景和物体.

(3)对比度增强: 为了解决图像中物品重叠、遮挡所造成的干扰问题, 进行了对比度增强处理, 提高重叠部分物品亮度, 同时降低被遮挡违禁品亮度, 使其在图像中显示更加清晰. 如图2所示.

图2 数据增强对比图

2.2 网络结构优化

在YOLOv4的主干特征提取网络中, 采用由一系列残差网络结构组成的CSPDarknet-53网络[14]. 该网络采用了较低层数提取特征同时保证了检测速度与精度, 能够应用于实时传输的视频流处理. 然而, 目前大多数红外安检设备具有图像存储功能, 可以进行任意图像处理、连续保存工作. 若将视频处理转化为截取图像处理会大大减少算法网络对于检测速度的要求,故可适当的减少检测帧率, 这也使得架构中可以扩充原网络的层数. YOLOv4及优化后结构如图3所示.

图3 YOLOv4及优化后结构图

2.2.1 ResNet-152网络搭建

本文针对X光安检场景提出了一种改进后的Res152-YOLO网络结构. Res152-YOLO网络结构舍去了原YOLOv4中的CSPDarknet-53浅层网络, 代替为ResNet-152深层网络. ResNet-152是具有152层的ResNet残差网络, 可以看作是残差单元(RU)的堆栈.该堆栈包含3个卷积层: 第一个1×1卷积层仅具有64个特征图, 它充当了瓶颈层; 然后是一个3×3卷积层, 具有64个特征图; 其次是另一个1×1卷积层, 具有256个特征图来恢复原始深度. ResNet-152包含3个此类RU, 可输出256个特征图, 然后是512个特征图的8个RU, 具有1024个特征图的36个RU, 最后是具有2048个特征图的3个RU.

2.2.2 ResNet-152网络优化

ResNet-152网络最初应用于图像分类而非物体检测任务, 相较于Inception、VGG、Densenet等分类网络, ResNet-152是其中图片分类任务中表现最好的神经网络之一, 并可继续延伸至更高层数[15,16]. 因此本文选择该网络作为YOLOv4的主干特征提取网络. 但是,对于X光图像这类检测任务, 需要将ResNet-152进行修改使其能够与YOLOv4的后端结构进行衔接.

因为原ResNet-152网络的后端紧密连接层用于执行分类任务, 故删除网络末尾的average pool层、flatten层、Dense层, 只保留输入端以及骨干卷积层部分, 并根据需要调整卷积层的部分参数设置. 将原ResNet网络的激活函数ReLU改为Mish函数, 因为Mish在训练稳定性和准确性上均优于原激活函数.

2.2.3 ResNet-152网络与YOLOv4相融合

首先, 将ResNet卷积网络与YOLOv4后端网络连接. 当输入为416×416的图像时, 最开始的输出为256个特征图的3个RU层不变, 随后将8个RU的输出送至PANet高层进行特征提取, 36个RU的输出送至PANet中层, 将输出为2048个特征图的3个RU进行3次卷积后送至SPP结构, 分别利用4个不同尺度的最大池化进行处理, 最大池化的池化核大小分别为13×13、9×9、5×5、1×1. 此结构能极大地增加感受野,分离出显著的特性. 后将SPP结构的输出送至PANet底层. 至此3个不同特征图的输出已全部连接PANet特征金字塔的结构. PANet利用该特征金字塔从下到上以及从上到下进行特征的反复提取, 送至YoloHead结构.

其次, 利用YoloHead对获得的特征进行预测并解码预测结果, 从而得到预测框的具体位置, 再将预测框绘制在原图上.

Res152-YOLO网络相较于YOLOv4网络具有更深的网络层, 使其在理论上可以获得更好的效果: 对X光图像中违禁品的检测精度更高. 同时, Res152-YOLO网络也会因为残差块的增加而减慢单张图像的检测速度. 结合前文所述, 在X光检测场景中更注重精度性能, 故可以接受检测速度下降带来的负面效果, Res152-YOLO仍具有可行性.

2.3 建立扩展网络

除ResNet-152外, ResNet还有其他的的多种变体网络如: ResNet-18、ResNet-34等[17,18]. 本文尝试将ResNet一些变体同样替换掉YOLOv4原主干特征提取网络,目的是将这些新网络的性能进行横向对比.

本文分别构建了不同层数的ResNet网络与YOLOv4网络的其他结合, 分别命名为Res50-YOLO 与Res101-YOLO, 它们的前端残差块层数分别为50、101, 在各自网络中每个残差模块的RU的个数分别为3, 4, 6,3与3, 4, 23, 3. 这两种网络的大体结构与Res152-YOLO相近, 区别仅在于RU个数的不同导致网络深度小于后者. 在YOLOv4原网络、Res50-YOLO、Res101-YOLO、Res152-YOLO四个网络中均加入了Mosaic数据增强、Label Smoothing平滑以及余弦退火衰减算法用于优化学习率的调节. 总网络结构见图4所示.

图4 网络总结构图

2.4 后端接口搭建

该部分利用软件形式搭建后端, 使检测结果可视化以实现以下目的: (1)便于操作者使用和检测: 用户可添加自定义X光图像进行检测, 同时还可以在文件路径栏和当前状态栏获取文件路径信息和软件运行状态. (2)输入输出图像实时对比: 能够同时查看检测前图像、数据增强后的输出图像及二者对比效果, 使检测结果更加直观. 界面如图5所示.

图5 后端接口界面

3 实验测试与结果

本节将针对YOLOv4原网络、Res50-YOLO、Res101-YOLO、Res152-YOLO进行对比实验, 分别比较四者的损失曲线、检测各违禁品类别的性能以及网络的总体检测性能. 最后, 本文将测试Res152-YOLO与YOLOv4网络的运行帧率, 测试其是否能满足安检设备运行条件.

实验环境: 本实验运行平台为Linux; 显卡型号GeForce GTX 2080Ti (显存11 GB); 电脑内存为31 GB.

3.1 实验数据准备

3.1.1 数据集选择

(1)数据集名称: SIXray.

(2)违禁品类别: 小刀、手枪、扳手、钳子、剪刀共5类.

(3)数据集特点: 图像较为复杂, 包含物体重叠、噪声等图像干扰.

3.1.2 超参数设置

(1) Batch批量大小: 8.

(2) Epoch训练轮数: 100.

(3) Learning rate初始学习率: 0.0001.

3.2 网络训练实验

训练并记录YOLOv4原网络、Res50-YOLO、Res101-YOLO、Res152-YOLO四个网络在训练轮次中的训练损失函数曲线以及验证损失函数曲线. 损失函数loss采用原YOLOv4中的CIoU loss函数. 曲线如图6所示.

图6 各网络loss函数损失

首先, 从图6中曲线中可以看出, 所有网络的损失函数值总体趋于下降趋势, 且每个网络的训练损失与验证损失曲线基本吻合. 这说明没有产生梯度爆炸、过拟合等问题, 所有网络都具有一定的非线性表达能力, 可以拟合复杂的特征输入.

其次, 在100次迭代过程中, Res101-YOLO、Res152-YOLO模型的损失函数值明显低于其它两个模型, 且后者在最终训练轮次达到了Loss值的最低点.这说明Res152-YOLO的检测效果在数据集的图像上最接近于真实目标.

3.3 性能对比实验

3.3.1 违禁品检测结果

在训练结束后, 测试YOLOv4原网络、Res50-YOLO、Res101-YOLO、Res152-YOLO分别针对5个类别违禁品的性能测试指标: 精度、召回率、AP值.检测结果分别如表1、表2、表3所示.

表1 安检违禁品的检测精度(%)

表2 召回率(%)

表3 AP (%)

根据实验得到以下结论: (1)精度: Res101-YOLO网络与Res152-YOLO网络的检测精度大致相同, 其中Res152-YOLO网络的对于5类违禁品的检测精度都大于90%, 对手枪、钳子、剪刀这3类违禁品的检测精度达到了95%以上. (2)召回率: 召回率是所有网络普遍较弱的性能, YOLOv4原网络对于扳手的召回率低至27.6%, 这说明各网络对于各违禁品难以查全.Res152-YOLO的各类违禁品召回率能保持在50.0%以上, 其中对于扳手的召回率55.0%相较于YOLOv4提高了99.2%. (3) AP值: Res152-YOLO网络的各AP值均大于70%, 其中钳子、剪刀、扳手分别高出YOLOv4原网络12.9%, 18.6%, 39.2%, 进一步说明了Res152-YOLO网络的优越性.

3.3.2 网络总体性能对比

将4个网络中对所有违禁品的AP值进行平均化后得到mAP, 以反应每个网络的总体检测性能.

从对比实验图7中可以看出, Res152-YOLO的mAP值最大, 其值为81.52%, 其次是Res101-YOLO值为77.50%. Res50-YOLO与YOLOv4网络的mAP相差不大, 分别为74.91%和73.03%. 相较于YOLOv4原网络, Res152-YOLO的mAP提高了11.62%. 这说明在总体的检测性能上, Res152-YOLO网络的安检违禁品检测能力超越了YOLOv4网络.

图7 各网络mAP值

3.4 帧率测试实验

对网络Res152-YOLO与YOLOv4分别进行帧率测试, 测试结果如表4.

表4 帧率测试

根据表格得出, Res152-YOLO的检测速度弱于YOLOv4, 其值为40.09 f/s. 由于一般红外安检设备的30至60 f/s, 且违禁品检测方法并非实时对象追踪, 故Res152-YOLO网络检测速度仍能满足多数安检场景.

4 结语

本文基于X光安检设备特性的考虑, 在原YOLOv4网络的基础上改进其网络结构, 进行了数据增强并构建了Res152-YOLO等一系列残差融合网络. 根据多组对比实验, 本文得到结论: Res152-YOLO网络的总体性能较YOLOv4提升了近11%, 且在部分违禁品如扳手、剪刀上效果远超YOLOv4. 综上所述, Res152-YOLO网络在安检场景下满足帧数的要求, 可以更精确的识别违禁品并具备更高的工作效率, 有助于公共场所的安全防范.

猜你喜欢

违禁品X光残差
基于残差-注意力和LSTM的心律失常心拍分类方法研究
融合上下文的残差门卷积实体抽取
记忆X光机(下)
记忆X光机(上)
仿生武器大揭秘
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
贪污罪的特殊对象研究
X光眼镜的神秘历史
违禁品在这里