一种基于深度学习yolov7算法改进的安检危险品检测方法
技术领域
1.本发明是属于基于深度学习计算机视觉领域的目标检测算法,是针对当前yolov7网络算法在安检危险品目标检测中对于部分类别物品检测精度不高而提出的一种正对象改进方法。目的在于更好的识别目标提升检测精度。
背景技术:
2.在过去的数十年年中,市场全球化急速发展,国际分工随之不断深入。与此同时,我国也创造了经济持续快速发展的神话,取得了举世瞩目的成就。在这样的国内国际市场环境下,货物及人口在区域和全球范围内的流动性呈显著上升趋势。安全检查是一项在全世界范围内广泛使用的保障公民人身和财产安全的重要举措。
3.人工进行安检图像分析是一项耗时且具有挑战性的任务。安检人员的专业程度和熟练程度严重影响安检图像分析的结果和效率。而且,安检人员长时间高强度的作业会导致身体疲劳,从而引入人为误差,造成安检过程中危险品的漏检和误检等现象。因此,人工检测的方法难以满足火车站和飞机场安检过程中对快速、准确、稳定的要求。
4.随着科技的不断进步,计算机计算成本迅速降低,为以计算力和大数据为基础的人工智能方法提供了突破阈值的关键技术。基于深度学习的图像识别与目标检测算法已经普遍应用于各种领域。通过软、硬件的检测设备及线上线下互联网模式相结合的方式,收集并整理大量经过x光机扫描后的安检图像与数据,作为公共场合安检作业任务的原始基础数据,使用基于深度学习的安检图像危险品检测算法进行检测,可以有效提高危险品的检测识别率、降低工作人员的劳动强度、减少因工作人员疲劳等原因带来的误检现象
技术实现要素:
5.为解决背景技术中的问题;本发明的目的在于提供一种基于深度学习的案件危险品检测方法。
6.本发明的一种基于深度学习的安检危险品检测方法,它的方法如下:
7.一、改进损失函数:研究设计的更好的损失函数算法提升修正网络参数的速度和最终结果的精度。
8.二、改进锚框聚类算法:传统的算法开始中心点是随机选定的,在后面的迭代中再进行重算,直到收敛。不难看出,最后所生成的结果往往很大程度上取决于初始中心点的位置。因此需要使用一种更可靠的锚框聚类算法计算初始锚框。使用更可靠的聚类算法预选锚框更贴近数据训练集。以达到精度提升的目的。
9.三、改进yolov7网络模型:以主流检测算法yolov7为基线型,研究设计并引入合适注意力机制和改进特征融合部分的结构,使得改进后的模型能更好的适应x光图像。
附图说明
10.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的网络结构图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据附图获得其他的附图。
11.图1为改进后损失函数所需参数示意图;
12.图2为yolov7原特征融合panet网络结构图;
13.图3为改进后的特征融合模块;
14.具体实施方法
15.为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图中示出的具体实施例来描述本发明。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切关的结构处理步骤,而省略了与本发明关系不大的其他细节。
16.一、改进损失函数
17.传统ciou就是在iou的基础上增加了检测框距离、长宽比的损失,这样预测框就会更加的符合真实框。其公式如下:
[0018][0019]
公式中第三项表示为预测框于真实框之间的距离损失,b、b
gt
分别为预测框和真实框的中心点,ρ代表的是计算两个中心点间的欧式距离,c代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离。公式中第四项表示长宽比损失。
[0020]
传统的目标检测损失函数依赖预测框和真实框的距离、重叠区域和高宽比。然而,迄今为止提出和使用的方法都没有考虑gt与预测检测框之间不匹配的方向。这种短缺导致收敛速度较慢且效率较低,因为预测框可能在训练过程中“四处游荡”并最终产生更差的模型。因此提出了一种新的损失函数。该损失所需参数如图1所示该损失函数由4个成本函数组成:角度成本、距离成本、形状成本和giou成本。其损失函数公式如下:
[0021][0022]
其中角度成本λ:
[0023][0024][0025][0026]
[0027]
距离成本δ:
[0028][0029][0030]
形状成本ω:
[0031][0032][0033]
二、聚类算法的重新设计
[0034]
在传统的k-means算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果。
[0035]
原始k-means算法最开始随机选取数据集中k个点作为聚类中心,而改进算法按照如下的思想选取k个聚类中心:假设已经选取了n个初始聚类中心(0《n《k),
[0036]
则在选取第n 1个聚类中心时:距离当前n个聚类中心越远的点会有更高的概率被选为第n 1个聚类中心。在选取第一个聚类中心(n=1)时同样通过随机的方法。
[0037]
(1)在数据点之间随机选择一个中心u1。
[0038]
(2)对于尚未选择的每个数据点x,计算即x与已经选择的最接近中心之间的距离。
[0039]
(3)使用加权概率分布随机选择一个新的数据点作为新中心,其中选择的点x的概率与成正比。
[0040]
(4)重复步骤2和3,直到选择了k个中心(即j=k)。
[0041]
(5)现在已经选择了初始中心,继续使用标准k均值聚类。
[0042]
三、基于神经元特性的注意力机制
[0043]
人脑的两种注意力往往是协同工作,因此,我们提出了统一权值的注意力模块。为更好的实现注意力,我们需要评估每个神经元的重要性。在神经科学中,信息丰富的神经元通常表现出与周围神经元的不同的放电模式。而且,激活神经元通常会抑制周围神经元,即空域抑制。换句话说,具有空域抑制效应的神经元应当赋予更高的重要性。最简单的寻找重要神经元的方法:度量神经元之间的线性可分性。因此,我们定义了如下能量函数:
[0044][0045]
其中,最小化上述公式等价于训练同一通道内神经元t与其他神经元之间的线性可分性。为简单起见,我们采用二值标签,并添加正则项,最终的能量函数定义如下:
[0046][0047]
理论上,每个通道有m=hxw个能量函数。幸运的是,上述公式具有如下解析解:
[0048][0049]
其中,因此,最小能量可以通过如下公式得到:
[0050][0051]
上述公式意味着:能量越低,神经元t与周围神经元的区别就越大,重要性越高。因此神经元的重要性可以通过得到。
[0052]
由此我们可以推导出了能量函数并挖掘了神经元的重要性。按照注意力机制的定义,我们需要对特征进行增强处理:
[0053][0054]
该无参注意力是一种通用注意力机制可以在不然不增加学习参数的情况下达到精度提升的目的。
[0055]
四、特征融合的改进
[0056]
近年来使用最多的特征提取网络当属panet,其模型结构如图2所示,在yolov4和v5中都是以它。这么做的目的是:高层的特征图具有更强的语义信息(有利于物体分类),底层的特征图具有更强的位置信息(有利于物体定位),虽然fpn结构使得预测特征图提高了语义信息但是理论上肯定丢失了很多的位置信息,所以再新建一条从下往上的通路,将位置信息也传到预测特征图中,使得预测特征图同时具备较高的语义信息和位置信息(有利于目标检测)。这样做可以大大的提高目标检测任务精度。
[0057]
改进panet模块新的特征融合模块如图3所示,图中右侧竖向箭头为自顶向下的通路,传递的是高层特征的语义信息;左侧竖向箭头是自底向上的通路,传递的是低层特征的位置信息;横向箭头是上述第二点提到的同一层在输入节点和输入节点间新加的一条边。