CN117274774A - 一种基于YOLOv7的X射线安检图像危险品检测算法 - Google Patents
一种基于YOLOv7的X射线安检图像危险品检测算法 Download PDFInfo
- Publication number
- CN117274774A CN117274774A CN202311221677.3A CN202311221677A CN117274774A CN 117274774 A CN117274774 A CN 117274774A CN 202311221677 A CN202311221677 A CN 202311221677A CN 117274774 A CN117274774 A CN 117274774A
- Authority
- CN
- China
- Prior art keywords
- security inspection
- inspection image
- ray security
- yolov7
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 68
- 238000007689 inspection Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000004927 fusion Effects 0.000 claims abstract description 31
- 238000012360 testing method Methods 0.000 claims abstract description 23
- 230000007246 mechanism Effects 0.000 claims abstract description 8
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 29
- 230000008034 disappearance Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 239000006185 dispersion Substances 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 claims description 2
- 230000008033 biological extinction Effects 0.000 claims description 2
- 230000001629 suppression Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000021018 plums Nutrition 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
Abstract
本发明属于目标检测技术领域,具体涉及一种基于YOLOv7的X射线安检图像危险品检测算法;该方法依次执行以下步骤:获取X射线安检图像数据集并按比例随机划分;利用K‑means++算法设置数据集的先验框;搭建改进的YOLOv7‑MPCN网络模型,包括:在YOLOv7网络中结合CA(Coordinate Attention,CA)坐标注意力机制;借鉴残差网络,在MPConv中加入跳跃连接;利用BiFPN(Bidirectional Feature Pyramid Network)作为下采样模块的特征融合结构;最后采用SIoU(SCYLIA Intersection over Union)改进损失函数加快收敛速度。利用训练集对改进的YOLOv7模型进行训练得到X射线安检图像检测模型;利用测试集对训练好的模型进行测试得到检测结果。本发明通过使用改进的YOLOv7算法检测X射线安检图像,能够在各大交通枢纽的安检平台危险品检测过程中精确定位识别出危险品,提高安检效率。
Description
技术领域
本发明属于X射线图像目标检测领域。
背景技术
X射线安检图像(X-ray Imagery)是通过X射线安检设备获取的图像。X射线安检图像中危险品种类众多,形状大小各不相同,且同一类危险品在外观上也可能存在较大差异。通过安检设备获取X射线安检图像,可以在不打开被检测人员行李的情况下完成危险品检测任务,具有便利性和高效性,在火车站、机场、地铁等重要交通枢纽入口得到广泛应用。利用深度学习技术辅助安检人员进行X射线安检,可以一定程度减少安检人员长时间因疲劳导致误检或漏检情况的发生。
针对X射线安检图像的具体特点,例如行李物品重叠堆放造成遮挡;物品放置方向的任意性,导致检测算法丢失目标的方向性特征等问题也为X射线安检任务带来了诸多挑战。
基于深度学习的目标检测算法主要可以分成两类:二阶段目标检测算法和一阶段目标检测算法。二阶段目标检测算法又分为两步,首先进行区域生成,根据输入图像生成可能包含目标的候选框;之后根据卷积神经网络对候选框做进一步的分类和校准,典型的二阶段检测算法有R-CNN、SPP-Net等。二阶段目标检测算法具有检测精度较高的优势,但是检测速度较慢不满足X射线危险品检测实时性的要求。一阶段目标检测算法不需要生成候选框,通过网络直接回归目标的类别概率和位置坐标值,典型的一阶段目标检测算法有SSD系列、YOLO系列等。
发明内容
本发明是为了解决X射线安检图像目标堆叠造成的遮挡问题和复杂背景下小目标的定位识别能力不足的问题,现提供了一种基于YOLOv7的X射线安检图像危险品检测方法。
本发明所述的一种基于YOLOv7的X射线安检图像危险品检测方法,包括:
步骤一、获取含有危险品的X射线安检图像数据集,并对数据集进行划分;
步骤二、对数据集进行数据增强;
步骤三、利用K-means++聚类算法设置数据集的先验框;
步骤四、在MPConv结构中引入CA注意力模块增强主干网络特征提取能力;
步骤五、在CA注意力模块所在分支添加跳跃连接,避免反向传播时梯度消失;
步骤六、采用BiFPN作为下采样模块的特征融合结构,减少模型参数量;
步骤七、将损失函数改进为SIoU,提升预测框准确度,加快模型收敛速度;
步骤八、利用训练集对改进的YOLOv7模型进行训练得到X射线安检图像检测模型;
步骤九、利用测试集对X射线安检图像检测模型进行测试。
进一步地,本发明中,步骤一中,选择公开数据集SIXRay作为测试数据集,数据集中危险品包括:***、刀具、扳手、钳子、剪子五类。首先将数据集的格式从xml格式转换为txt格式,再将该数据集按8:1:1随机划分为训练集、验证集和测试集。
进一步地,本发明中,步骤二中,对数据集进行数据增强,采用Mosaic和MixUp两种技术,能够丰富样本,改善样本种类分布不均的问题。
进一步地,本发明中,步骤三中,采用K-means++聚类算法计算数据集中每个样本与聚类中心的最短距离,之后分别计算每一个样本成为聚类中心的概率,采用轮盘法确定下一个聚类算法的聚类中心,以此类推。获得聚类中心的具体方法为:
步骤三一、样本与聚类中心的的IoU距离为:
d(box,centroid)=1-IoU(box,centroid)
其中,box是样本标注框,centroid是聚类中心,IoU是样本标注框和聚类中心框的交并比;
步骤三二、重复计算每个样本与中心的最短距离、每个样本成为聚类中心的概率以及确定下一个聚类中心直到选出k个聚类中心;
步骤三三、计算数据集中的每个样本分别到k个聚类中心的IoU距离,将样本分到距离它最短的聚类中心所对应的类中从而获得数据集中每个样本对应的先验框。
进一步地,本发明中,步骤四中,在MPConv结构中引入CA注意力模块增强主干网络特征提取能力:
在YOLOv7模型中的MPConv结构中结合坐标注意力机制从通道位置等多个维度对特征进行提取,扩大了全局交互感受野避免了特征的丢失。
坐标注意力机制模块在坐标信息嵌入的过程中,设输入特征图X的尺寸为C×H×W,其中C为通道数,H为高度,W为宽度。首先使用尺寸为H×1和1×W的卷积池化核沿着水平和垂直两个方向将输入图像特征图分解成两个一维的编码过程,其中Xc是X在第C个通道上的特征,设第c个通道上高度为h,宽度为w的具有方向感知的特征输出为和/>i和j表示坐标值,则有:
其中,和/>分别为高度为h和宽度为w在第c个通道上的具有方向感知的输出特征,W0和H0是输入特征图的初始宽度和高度。接着对特征图/>和/>沿着空间维度进行拼接操作,生成中间特征图f∈RC/r×1×(W+H),其中r为压缩比例,然后沿着空间维度将中间特征图f再拆分成两个单独的张量fh∈RC/r×H和fw∈RC/r×W,对这两个张量使用1×1的卷积进行通道扩充使得生成的特征图通道维度与输入特征图X的通道维度保持一致,经过Sigmoid激活函数处理得到两个张量gh∈C×H×1和gw∈C×1×W。最后对gh和gw进行扩展作为注意力权重得到输出特征图Y∈RC×H×W坐标注意力机制模块实现的表达式如下:
f=δ[F1([zh,zw])]
gh=σ[Fh(fh)]
gw=σ[Fw(fw)]
其中,F1,Fh和Fw为使用内核大小为1×1的卷积操作;δ为非线性运算;σ为Sigmoid函数;[·,·]为连接运算。
进一步地,本发明中,步骤五中,在CA注意力模块所在分支添加跳跃连接,避免反向传播时梯度消失。
进一步地,本发明中,步骤六中,使用参数量更小的BiFPN特征融合模块作为YOLOv7网络的特征金字塔结构使网络,通过引入跨尺度连接和多尺度加权融合的方式使网络融合更多特征的同时有效减少了模型的计算量。
BiFPN特征融合结构与PANet特征融合结构的不同在于其采用了跨尺度的连接方式,输入特征层通过在BiFPN结构中进行多尺度加权融合和一系列基于跨尺度的运算操作将提取的特征进行输出。多尺度特征融合旨在融合不同分辨率的特征,给定多个不同尺度的特征其中/>表示li层的特征,利用转换指标f聚合不同尺度的特征并且输出多个聚合后的新特征/>
BiFPN是基于双向跨尺度连接和快速归一化融合的加权双向特征金字塔结构,输入特征为level6的特征融合如下:
其中下采样路径中level6的中间特征,/>是上采样路径中level6的输出特征,这里的Conv是深度可分离卷积,并且每个卷积后都添加了BN和激活函数。BiFPN对特征融合网络的简化体现在剔除了只有一个输入的节点,因为这种单输入的节点不存在特征融合。在输入节点和输出节点之间增加一条支路,以此达到简化网络结构和增强特征融合网络融合更多特征的目的。
在YOLOv7网络中的MPConv中结合BiFPN结构在增强模型对复杂背景下对小目标的定位识别能力的同时,通过减少单输入节点和跨尺度连接的方式减少模型的参数量和计算量满足X射线安检检测任务的实时性需求。
进一步地,本发明中,步骤七中,采用SIoU取代CIoU作为损失函数。YOLOv7模型使用CIoU损失函数计算损失,CIoU采用相对框来描述真实框和预测框的长宽比,当二者长宽比相同时,其惩罚项值为0,说明计算长宽比的差值作为惩罚项并不能很好的反应长和宽的真实差异。采用SIoU损失函数来计算定位损失,其定义公式为:
其中,形状成本在定位损失中的权重参数取值越大,形状成本在定位损失中的重要程度越小。
进一步地,本发明中,步骤八中,利用训练集对改进的YOLOv7模型进行训练得到X射线安检图像检测模型的方法为:
修改YOLOv7的cfg文件,包括将数据的yaml文件中的classes修改为数据集所标注的类别数量,在每个卷积层中修改filters参数,改为filters=(classes+5)*3。设置网络模型的超参数,包括用于训练数据集和测试模型性能时的输入图片尺寸大小、每批次的输入数据量batchsize、训练轮数epochs、学习率。
在训练本发明提出的改进模型之前,在hyp.scratch.p5.yaml中进行设置,对数据集采用Mosaic和Mixup两种数据增强方式来模拟X射线安检图像物品相互堆叠遮挡的真实场景。使用经过数据增强后的训练集训练改进后的YOLOv7模型,在训练时利用改进的SIoU置信度损失函数构建总损失函数,在梯度反向传播的过程中迭代更新训练权重并将迭代过程中的最优权重保存下来作为X射线安检图像检测模型。
进一步地,本发明中,步骤九中,利用测试集对X射线安检图像检测模型进行测试。将测试集输入X射线安检图像检测模型进行危险品检测,为了进一步提升对行李中物品堆叠造成遮挡的危险品的检测精度,检测时使用Soft NMS柔性非极大值抑制方法对冗余预测框进行筛选,消除重叠的边界框或其他类型区域,得到包含危险品图像的位置信息和类别信息。
附图说明
图1是本发明方法中的基于YOLOv7的X射线安检图像危险品检测方法流程图。
图2是本发明方法中的基于YOLOv7的网络结构示意图。
图3是本发明方法中的在池化卷积层中加入的坐标注意力CA的原理示意图。
图4是本发明方法中的改进的特征融合结构BiFPN的原理示意图。
图5是本发明方法中的结合CA和BiFPN的MPCN的原理示意图。
图6是本发明方法中的改进方法YOLOv7-MPCN和YOLOv7的平均精度对比结果图。
图7是本发明方法中的改进方法YOLOv7-MPCN在训练集上的训练指标结果图。
图8是本发明方法中的改进方法YOLOv7-MPCN在测试集上的可视化检测结果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本具体实施方式下的基于改进YOLOv7的X射线安检图像危险品检测方法,流程图如图1所示,改进的YOLOv7-MPCN网络结构图如图2所示,包括以下步骤:
步骤a、获取含有危险品的X射线安检图像数据集并对数据集进行划分。
在本具体实施方式中,采用公开的数据集:SIXRay数据集。
SIXRay数据集:SIXRay数据集从个人行李扫描获得的X射线安检图像,其中包含的危险品有***,刀具,钳子、扳手、剪子共五类,这五个类别的危险品在数据集的数量分布如表1所示。其中8929张X射线安检图像包含危险品。将该数据集按照8:1:1的比例随机分成训练集、验证集和测试集。
表1 SIXRay数据集类别数量分布情况
类别 | *** | 刀 | 扳手 | 钳子 | 剪子 |
数量 | 3,131 | 1,943 | 2,199 | 3,961 | 983 |
步骤b、对数据集进行数据增强。
采用Mosaic和MixUp两种数据增强技术增强模型鲁棒性更加符合安检场景。数据增强能避免一定程度的过拟合现象,X射线安检图像的拍摄场景大多为行李箱内,使用MixUp方法和风格迁移变化方法可以避免模型学到与目标无关的信息。Mosaic和MixUp两种数据增强技术是上述两种方法组合而成的经典数据增强技术。X射线安检图像与自然场景图像的最大区别是X射线图像具有透射性,相互堆叠的物品仍然可以看到重叠部分的目标轮廓,采用MixUp可以满足X射线图像的这一特性。其次采用Mosaic数据增强技术,将随机四张图片随机裁剪后拼接在一起,能够丰富背景信息,缩短训练时间。
步骤c、利用K-means++聚类算法设置数据集的先验框。
步骤c1、样本与聚类中心的的IoU距离为:
d(box,centroid)=1-IoU(box,centroid)
其中,box是样本标注框,centroid是聚类中心,IoU是样本标注框和聚类中心框的交并比;
步骤c2、重复计算每个样本与中心的最短距离、每个样本成为聚类中心的概率以及确定下一个聚类中心直到选出k个聚类中心;
步骤c3、计算数据集中的每个样本分别到k个聚类中心的IoU距离,将样本分到距离它最短的聚类中心所对应的类中从而获得数据集中每个样本对应的先验框,本实施例中通过K-means++聚类算法得到9个适合X射线安检图像数据集的锚框,分别为(22,29)、(33,46)、(47,73)、(71,35)、(81,115)、(147,107)、(103,202)、(195,232)、(363,481)。
步骤d、在MPConv结构中引入CA注意力模块增强主干网络特征提取能力。
YOLOv7主要由三个部分组成:Backbone、Neck、Head。主干网络Backbone使用ELAN(Efficient Layer Aggregation Networks)和MPConv进行特征提取,颈部网络Neck采用特征金字塔(FPN)架构的PANet设计对主干网络提取的特征进行融合,主要由CBS、ELAN、SPPCSPC(Spatial Pyramid Pooling Cross Stage Partial Common)、MPConv四部分组成。头部网络Head部分通过Rep结构(RepVGG Block)对颈部网络输出的P3,P4和P5的3个不同尺度的特征进行图像通道数调整,最后经过1×1卷积用于置信度、类别和锚框的预测。
引入坐标注意力到YOLOv7网络能够增强复杂背景下对重叠目标和小目标的定位识别能力。CA结构如图3所示,坐标注意力机制模块包含坐标信息嵌入和坐标注意力生成,在坐标信息嵌入的过程中,首先设输入特征图X的尺寸为C×H×W,其中C为通道数H为高度W为宽度。首先使用尺寸为H×1和1×W的卷积池化核沿着水平和垂直两个方向将输入图像特征图分解成两个一维的编码过程,具有方向感知的特征输出为和/>的计算式为:
其中C为通道数Xc是X在第C个通道上的特征,和/>是第c个通道上高度为h,宽度为w的具有方向感知的特征输出,i和j表示坐标值,W0和H0是输入特征图的初始宽度和高度。
在CA模块的第二个阶段即坐标注意力生成过程中,首先将上一阶段嵌入坐标信息的通道沿着水平和垂直两个空间方向进行特征聚合得到特征图zh和zw,接着将这两个特征图进行空间维度的拼接利用1×1卷积进行通道压缩,经过批归一化和激活函数后得到包含两个方向的中间特征图f∈RC/r×1×(W+H),其中r为压缩比例,然后沿着空间维度将中间特征图f再拆分成两个单独的张量fh∈RC/r×H和fw∈RC/r×W,对这两个张量使用1×1的卷积进行通道扩充使得生成的特征图通道维度与输入特征图X的通道维度保持一致,经过Sigmoid激活函数处理得到两个张量gh∈C×H×1和gw∈C×1×W
最后对gh和gw进行扩展作为注意力权重得到输出特征图Y∈RC×H×W坐标注意力机制模块实现的表达式如下:
f=δ[F1([zh,zw])]
gh=σ[Fh(fh)]
gw=σ[Fw(fw)]
其中,F1,Fh和Fw为使用内核大小为1×1的卷积操作;δ为非线性运算;σ为Sigmoid函数;[·,·]为连接运算。
再利用1×1卷积进行通道扩张保证特征图的特征维度与输入保持一致。CA注意力通过这样的设计使一条支路携带水平位置信息,另一条支路携带垂直位置信息从而完整的保存了输入图像的空间位置信息并令网络中位于深层的卷积对特征图的位置信息更加敏感,使模型对目标的特征定位更准确,有效提升了模型的检测能力。
步骤e、在CA注意力模块所在分支添加跳跃连接,避免反向传播时梯度消失。
引入残差网络结构到YOLOv7网络避免梯度弥散和梯度消失的问题。在YOLOV7目标检测模型下采样过程中,卷积层叠加特征图的尺寸减小分辨率变低导致的特征图部分位置信息丢失,在原MPConv结构中用CA注意力替换MPConv下半分支的卷积核为1的CBS(ConvBatch Norm SiLU)基本卷积模块,从通道位置等多个维度对特征进行提取,扩大全局交互感受野,避免特征的丢失。在MPConv的下半分支加入一个跳跃连接,使得下半分支的特征输入被分成主输入和剩余输入两部分,当CA模块所在的主支路产生梯度弥散或梯度消失时反向传播回传梯度时网络可以通过剩余输入支路进行回传有助于防止信息丢失。
步骤f、采用BiFPN作为下采样模块特征融合结构,减少模型参数量。
BiFPN结构如图4采用BiFPN作为改进的MPCN(Improved Maxpooling ConvolutionLayer with CA and BiFPN)结构的特征融合结构引入跨尺度连接和多尺度加权融合的方式进一步减少模型的参数量和计算量。
BiFPN特征融合结构与PANet特征融合结构的不同在于其除了具有上下双向的特征融合路径还采用了跨尺度的连接方式,输入特征层通过在BiFPN结构中进行多尺度加权融合和一系列基于跨尺度的运算操作将提取的特征进行输出。多尺度特征融合旨在融合不同分辨率的特征,给定多个不同尺度的特征其中/>表示li层的特征,利用转换指标f聚合不同尺度的特征并且输出多个聚合后的新特征/>
BiFPN是基于双向跨尺度连接和快速归一化融合的加权双向特征金字塔结构,输入特征为level6的特征融合如下:
其中下采样路径中level6的中间特征,/>是上采样路径中level6的输出特征,这里的Conv是深度可分离卷积,并且每个卷积后都添加了BN和激活函数。BiFPN对特征融合网络的简化体现在剔除了只有一个输入的节点,因为这种单输入的节点不存在特征融合。在输入节点和输出节点之间增加一条支路,以此达到简化网络结构和增强特征融合网络融合更多特征的目的。
在YOLOv7网络中的MPConv中结合BiFPN结构通过减少单输入节点和跨尺度连接的方式减少模型的参数量和计算量满足X射线安检检测任务的实时性需求。改进之后的MPCN模块结构如图5所示,MPCN可以使网络达到更深的深度而不会遇到梯度消失的问题并且网络学习到的特征对权值的波动更加敏感。
步骤g、将损失函数改进为SIoU,提升预测框准确度,加快模型收敛速度。
YOLOv7模型使用CIoU损失函数计算损失,CIoU采用相对框来描述真实框和预测框的长宽比,当二者长宽比相同时,其惩罚项值为0,说明计算长宽比的差值作为惩罚项并不能很好的反应长和宽的真实差异。为了解决这个问题采用SIoU损失函数来计算定位损失,其定义公式为:
其中,LSIoU表示模型的SIoU损失函数,IoU为预测框与真实框的交并比,B表示预测框,BGT表示真实框,Δ为距离成本,Ω为形状成本。
SIoU损失函数的角度成本、距离成本、形状成本的具体计算方式如下:
角度成本:
其中x为α的正弦值,σ为真实框与预测框中心点的距离,ch为中心点纵坐标的差值。
距离成本:
其中,γ=2-Λ,ρt为两个框的中心点坐标差值的平方,Λ由角度成本计算得到
形状成本:
其中,形状成本在定位损失中的权重由参数θ来控制,其取值越大,形状成本在定位损失中的重要程度越小。代表真实框与预测框宽度差值与最大值之比,/>代表真实框与预测框高度差值与最大值之比。
在YOLOv7网络模型中总的损失函数包含分类损失函数、位置损失函数和置信度损失函数,利用SIoU优化置信度损失函数从而实现对总的损失函数进行优化,通过考虑所需回归之间的向量角度重新定义惩罚指标极大的帮助了网络的训练收敛过程和效果。
步骤h、利用训练集对改进的YOLOv7模型进行训练得到X射线安检图像检测模型。
利用训练集对改进的YOLOv7模型进行训练得到X射线安检图像检测模型的方法为:
修改YOLOv7的cfg文件,包括将数据的yaml文件中的classes修改为数据集所标注的类别数量,在每个卷积层中修改filters参数,改为filters=(classes+5)*3。
设置网络模型的超参数,包括用于训练数据集和测试模型性能时的输入图片尺寸大小为640×640、每批次的输入数据量batchsize为8、训练轮数epochs为300、学习率为0.0001。
在训练本发明提出的改进模型之前,在hyp.scratch.p5.yaml中进行设置,对数据集采用Mosaic和Mixup两种数据增强方式来模拟X射线安检图像物品相互堆叠遮挡的真实场景增强模型的泛化性和鲁棒性。
步骤h1、本发明采用目标检测方法中常见的评价体系对模型进行评估,包括召回率(Recall)、F1-score、准确率(Precision)和平均准确率均值[email protected](mean averageprecision,IoU阈值取0.5)。
每类的精度AP、平均精度mAP、准确率Precision、召回率Recall和F1分数的计算式如下:
其中TP为识别正确的正样本数量;TN为识别正确的负样本数量;FP为错误识别成正样本的负样本数量;FN为错误识别成负样本的正样本数量,由准确率和召回率可以计算出F1分数。fTP为被正确识别的正样本;fTF为被正确识别的负样本;fTN为被错误识别的负样本。通过由Precision和Recall所组成的准确率和召回率的曲线(P-R曲线)与坐标轴所围面积就可以计算每种目标类别的平均精度。
步骤h2、因为本发明所提改进模型的目的是提升YOLOv7算法的目标检测精度,故评估模型性能的主要指标是[email protected],所以将原始YOLOv7模型和本发明提出的YOLOv7-MPCN在数据集SIXRay上的平均精度进行对比,说明了改进模型具有较高的检测精度,如图6所示。
步骤h3、使用经过数据增强后的训练集训练改进后的YOLOv7模型,通过三种损失曲线和三种度量曲线体现如图7所示。val_Box表示验证集bounding box,随着训练轮数的增加到100轮后其值越来越小最后趋于稳定;val_Objectness表示验证集目标检测loss均值,在训练轮数达到200轮后loss均值趋于稳定;val_Classification表示验证集分类loss均值,在训练轮数达到50轮后loss均值基本收敛;Precision表示验证集找对的正类占所有正类的百分比,当训练轮数达到250轮后Precision的值基本稳定;Recall从真实结果角度出发,描述了有多少真实的正例被该二分类器召回,在训练轮数达到100轮之后召回率逐渐收敛。
步骤i、利用测试集对X射线安检图像检测模型进行测试。
步骤i1、利用测试集对X射线安检图像检测模型进行测试,将测试集输入X射线安检图像检测模型进行危险品检测。为了进一步提升对行李中物品堆叠造成遮挡的危险品的检测精度,检测时使用Soft-NMS柔性非极大值抑制方法对冗余预测框进行筛选,消除重叠的边界框或其他类型区域。通过此方式得到包含危险品图像的位置信息和类别信息。SoftNMS将计算的所有候选框的得分(例如置信度分数)和与得分最高的候选框具有重合度的候选框纳入考虑,采用权重衰减的方式代替以置信度高低作为标准的方式对预测框进行筛选,尤其适用于密集目标检测。Soft-NMS的具体计算方式如下:
其中,M代表当前置信度最高的边界框,bi代表邻域内的相邻边界框,Si代表当前边界框的得分值,IoU代表两个边界框的阈值,Nt代表该边界框的阈值。当重叠度小于给定的边界框阈值时,分类置信度分数保持不变;而当重叠度大于给定边界框的阈值时,分类置信度分数按线性规则进行衰减。
步骤i2、表2展示了本发明所提出的方法和当前主流目标检测算法M2Det、SSD(Single Shot Detector)、YOLOv4、YOLOv5s、YOLOv7五种不同方法对SIXRay数据集进行检测的对比结果。很明显,本发明方法比所有对比方法的检测性能更好,它对数据集的四类危险品检测精度都达到了最高。
表2 SIXRay数据集不同检测方法的检测精度比较
本发明提出的改进方法在测试集的检测效果如图8所示,其中图a)是普通目标图像,图b)是小目标图像,图c)是遮挡目标图像,图d)是重叠目标图像,可以看出改进的方法能准确的检测出行李中的危险品目标。
虽然在本发明中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本发明中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其它所述实施例中。
Claims (10)
1.一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,包括以下步骤:
步骤一:获取含有危险品的X射线安检图像数据集并对数据集进行划分;
步骤二:对数据集进行数据增强;
步骤三:利用K-means++聚类算法设置数据集的先验框;
步骤四:在MPConv结构中引入CA注意力模块增强主干网络特征提取能力。
步骤五:在CA注意力模块所在分支添加跳跃连接,避免反向传播时梯度消失;
步骤六:采用BiFPN作为下采样模块的特征融合结构,减少模型参数量;
步骤七:将损失函数改进为SIoU,提升预测框准确度,加快模型收敛速度;
步骤八:利用训练集对改进的YOLOv7模型进行训练得到X射线安检图像检测模型;
步骤九:利用测试集对X射线安检图像检测模型进行测试。
2.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤一中所述获取含有危险品的X射线安检图像数据集并对数据集进行划分,具体为:
将公共X射线安检图像SIXRay数据集(共8929张)按照8:1:1的比例划分为训练集、验证集和测试集,危险品包含***、刀具、钳子、扳手、剪子五个类别。
3.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤二中所述对数据集进行数据增强,具体为:
对数据集进行数据增强,采用Mosaic和Mixup两种方式扩充数据集。Mosaic技术将随机的4张图片进行一系列操作再进行拼接。Mixup属于混类增强技术,将不同类的图片进行混合达到数据扩充的目的。
4.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤三中所述利用K-means++聚类算法设置数据集的先验框,本实施例中通过K-means++聚类算法得到9个适合X射线安检图像数据集的锚框。
5.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤四具体为:
YOLOv7网络结合坐标注意力机制,增强复杂背景下对重叠目标和小目标的定位识别能力:坐标注意力机制模块包含坐标信息嵌入和坐标注意力生成,在原MPConv结构中用CA(Coordinate Attention)注意力替换MPConv下半分支的卷积核为1的CBS(Conv BatchNormSiLU)基本卷积模块有效增强网络对重叠目标和小目标的定位识别能力。
6.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤五中添加的跳跃连接具体为:
借鉴残差网络结构,使YOLOv7网络避免梯度弥散和梯度消失的问题:在MPConv的下半分支加入一个跳跃连接,使得下半分支的特征输入被分成主输入和剩余输入两部分。当CA模块所在的主支路产生梯度弥散或梯度消失时,反向传播回传梯度时网络可以通过剩余输入支路进行回传,有助于防止信息丢失。
7.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤六中采用BiFPN(Bidirectional Feature Pyramid Network)作为下采样模块特征融合结构具体为:
BiFPN特征融合结构除了具有上下双向的特征融合路径还采用了跨尺度的连接方式,有效减少YOLOv7网络的计算量和参数量。在YOLOv7网络中的MPConv中结合BiFPN结构满足X射线安检检测任务的实时性需求。MPCN结构可以使网络达到更深的深度而不会遇到梯度消失的问题,并且网络学习到的特征对权值的波动更加敏感。
8.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤七中利用SIoU改进YOLOv7的置信度损失函数具体为:
YOLOv7模型使用CIoU损失函数计算损失,CIoU计算长宽比的差值作为惩罚项并不能很好的反应长和宽的真实差异,利用SIoU优化置信度损失函数从而实现对总的损失函数进行优化。
9.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤八具体为:
利用训练集对改进的YOLOv7模型进行训练得到X射线安检图像检测模型的方法为:
修改YOLOv7的cfg文件,包括将数据的yaml文件中的classes修改为数据集所标注的类别数量,在每个卷积层中修改filters参数,改为filters=(classes+5)*3。
设置网络模型的超参数,输入图片尺寸大小为640×640、每批次的输入数据量batchsize为8、训练轮数epochs为300、学习率为0.0001。
在训练本发明提出的改进模型之前,在hyp.scratch.p5.yaml中进行设置,对数据集采用Mosaic和Mixup两种数据增强方式来模拟X射线安检图像物品相互堆叠遮挡的真实场景增强模型的泛化性和鲁棒性。
本发明采用目标检测方法中常见的评价体系对模型进行评估,包括召回率(Recall)、F1-score、准确率(Precision)和平均准确率均值[email protected](mean average precision,IoU阈值取0.5)。
10.根据权利要求1所述的一种基于YOLOv7的X射线安检图像危险品检测算法,其特征在于,步骤九具体为:
利用测试集对X射线安检图像检测模型进行测试。检测时使用柔性非极大值抑制(Soft-NMS)方法对冗余预测框进行筛选,消除重叠的边界框或其他类型区域。通过此方式得到包含危险品图像的位置信息和类别信息。
对比了本发明所提出的方法和当前主流目标检测算法M2Det、SSD(Single ShotDetector)、YOLOv4、YOLOv5s、YOLOv7对SIXRay数据集进行检测的对比结果,证明了本发明方法优秀的检测性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311221677.3A CN117274774A (zh) | 2023-09-20 | 2023-09-20 | 一种基于YOLOv7的X射线安检图像危险品检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311221677.3A CN117274774A (zh) | 2023-09-20 | 2023-09-20 | 一种基于YOLOv7的X射线安检图像危险品检测算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117274774A true CN117274774A (zh) | 2023-12-22 |
Family
ID=89219037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311221677.3A Pending CN117274774A (zh) | 2023-09-20 | 2023-09-20 | 一种基于YOLOv7的X射线安检图像危险品检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117274774A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710966A (zh) * | 2024-01-10 | 2024-03-15 | 青岛农业大学 | 基于YOLOv7-MEF模型的玉米籽粒品质检测方法 |
CN117953350A (zh) * | 2024-03-26 | 2024-04-30 | 杭州豪悦护理用品股份有限公司 | 基于改进的YOLOv7网络模型的纸尿裤图像检测方法 |
-
2023
- 2023-09-20 CN CN202311221677.3A patent/CN117274774A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710966A (zh) * | 2024-01-10 | 2024-03-15 | 青岛农业大学 | 基于YOLOv7-MEF模型的玉米籽粒品质检测方法 |
CN117953350A (zh) * | 2024-03-26 | 2024-04-30 | 杭州豪悦护理用品股份有限公司 | 基于改进的YOLOv7网络模型的纸尿裤图像检测方法 |
CN117953350B (zh) * | 2024-03-26 | 2024-06-11 | 杭州豪悦护理用品股份有限公司 | 基于改进的YOLOv7网络模型的纸尿裤图像检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109784203B (zh) | 基于分层传播和激活的弱监督x光图像违禁品检查方法 | |
CN111738124B (zh) | 基于Gabor变换和注意力的遥感图像云检测方法 | |
CN113569667B (zh) | 基于轻量级神经网络模型的内河船舶目标识别方法及*** | |
CN117274774A (zh) | 一种基于YOLOv7的X射线安检图像危险品检测算法 | |
CN110032925B (zh) | 一种基于改进胶囊网络与算法的手势图像分割与识别方法 | |
CN111738258A (zh) | 一种基于机器人巡检的指针式仪表读数识别方法 | |
CN110222604B (zh) | 基于共享卷积神经网络的目标识别方法和装置 | |
CN109784283A (zh) | 基于场景识别任务下的遥感图像目标提取方法 | |
CN113920107A (zh) | 一种基于改进yolov5算法的绝缘子破损检测方法 | |
CN112801169A (zh) | 一种基于改进yolo算法的伪装目标检测方法 | |
CN109145836A (zh) | 基于深度学习网络和卡尔曼滤波的船只目标视频检测方法 | |
CN109191418A (zh) | 一种基于收缩自编码器特征学习的遥感图像变化检测方法 | |
CN113642621A (zh) | 基于生成对抗网络的零样本图像分类方法 | |
CN113920400A (zh) | 一种基于改进YOLOv3的金属表面缺陷检测方法 | |
CN109117746A (zh) | 手部检测方法及机器可读存储介质 | |
CN111539422A (zh) | 基于Faster RCNN的飞行目标协同识别方法 | |
CN110633727A (zh) | 基于选择性搜索的深度神经网络舰船目标细粒度识别方法 | |
CN113487600A (zh) | 一种特征增强尺度自适应感知船舶检测方法 | |
CN114037001A (zh) | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 | |
CN112800934A (zh) | 一种多类别工程车的行为识别方法及装置 | |
CN114529581A (zh) | 基于深度学习及多任务联合训练的多目标跟踪方法 | |
CN117788402A (zh) | 一种基于LIDD-Net高实时轻量化网络的工业产品缺陷检测方法 | |
CN113095404A (zh) | 基于前后背景分卷积神经网络的x光违禁物品检测方法 | |
CN117253188A (zh) | 基于改进的YOLOv5的变电站接地线状态目标检测方法 | |
CN116229217A (zh) | 一种应用于复杂环境下的红外目标检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |