CN113449556B - 一种违禁品检测方法、装置、边缘计算设备及存储介质 - Google Patents
一种违禁品检测方法、装置、边缘计算设备及存储介质 Download PDFInfo
- Publication number
- CN113449556B CN113449556B CN202010221194.3A CN202010221194A CN113449556B CN 113449556 B CN113449556 B CN 113449556B CN 202010221194 A CN202010221194 A CN 202010221194A CN 113449556 B CN113449556 B CN 113449556B
- Authority
- CN
- China
- Prior art keywords
- preset
- model
- contraband
- reasoning
- images
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 96
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 87
- 238000007781 pre-processing Methods 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000003062 neural network model Methods 0.000 claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims description 101
- 238000005457 optimization Methods 0.000 claims description 52
- 238000010801 machine learning Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005764 inhibitory process Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 12
- 239000010410 layer Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000007689 inspection Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 230000001629 suppression Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000008014 freezing Effects 0.000 description 2
- 238000007710 freezing Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000031700 light absorption Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/045—Combinations of 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种违禁品检测方法、装置、边缘计算设备及存储介质,涉及数据处理技术领域。获取待检测物品的多张X光图像;对多张X光图像进行图像预处理,得到多张目标图像;将多张目标图像输入至预设推理模型中进行违禁品检测,得到目标图像中的违禁品的候选位置,其中,预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;利用多线程对候选位置进行分析处理,以确定待检测物品是否为违禁品。本申请实施例利用预设推理模型加快检测速度,利用多线程并行对多张图像进行分析处理,提高了违禁品检测的速度和效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种违禁品检测方法、装置、边缘计算设备及存储介质。
背景技术
基于深度学习的自然场景目标检测技术已经成熟,但是对于X光图像的目标检测技术研究仍处于初始阶段。X光图像与自然场景图像存在显著的差异,首先,X光图像内目标缺少重要的纹理特征,只通过目标轮廓和吸收光反应的颜色信息给检测带来巨大的困难。现在大多数的X光检测算法为了做到更高的检测准确率和召回率,检测模型往往非常大,在要求时效的情况下,对图形处理器(Graphics Processing Unit,GPU)上的计算能力要求也非常高。但边缘计算设备的算力远不如高性能的GPU,造成检测时间漫长,难以满足实际需求。高性能的GPU可以带来速度的提升,但价格昂贵,大批量部署的成本令企业望而却步,技术难以落地成可大面积推广的产品。
发明内容
本发明实施例提供一种违禁品检测方法、装置、边缘计算设备及存储介质,可提高X光图像中的违禁品检测的速度和效率。
本发明实施例提供了一种违禁品检测方法,包括:
获取待检测物品的多张X光图像;
对所述多张X光图像进行图像预处理,得到多张目标图像;
将所述多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,其中,所述预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;
利用多线程对所述多张目标图像的所述候选位置进行分析处理,确定所述待检测物品是否为违禁品。
本发明实施例还提供了一种违禁品检测装置,包括:
获取单元,用于获取待检测物品的多张X光图像;
预处理单元,用于对所述多张X光图像进行图像预处理,得到多张目标图像;
位置检测单元,用于将所述多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,其中,所述预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;
结果确定单元,用于利用多线程对所述多张目标图像的所述候选位置进行分析处理,确定所述待检测物品是否为违禁品。
本发明实施例还提供了一种边缘计算设备,所述边缘计算设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述处理器和所述存储器相连接,所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述所述的违禁品检测方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行上述所述的违禁品检测方法。
本发明实施例获取多张待检测的X光图像;对多张待检测的X光图像进行图像预处理,得到多张目标图像;将多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,其中,预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;利用多线程对多张所述目标图像的所述候选位置进行分析处理,得到违禁品的检测结果。本申请实施例在现有的X光检测算法不能满足边缘计算设备使用的情况下,利用预设推理模型对多张图像进行检测以得到目标图像违禁品的候选位置,其中,预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的,预设推理优化器在对模型训练结果优化的过程中,简化了模型,因此使用预设推理优化器优化后的预设推理模型对图像进行检测,加快了检测速度,提高了检测的速度和效率;另一方面,利用预设推理模型对多张图像进行检测得到目标图像违禁品的候选位置,同时对多张图像进行并行处理,也提高了检测的速度和效率;得到目标图像违禁品的候选位置后,再利用多线程对目标图像的候选位置进行分析处理,得到违禁品的检测结果,利用多线程并行对多张图像进行分析处理,进一步提高了违禁品检测的速度和效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的违禁品检测方法的流程示意图;
图2a是本发明实施例提供的训练和推理的简易流程示意图;
图2b是本发明实施例提供的训练和推理的简易流程示意图;
图2c是本发明实施例提供的训练和推理的流程示意图;
图2d是本发明实施例提供的目标图像中违禁品的候选位置和检测结果的示意图;
图3是本发明实施例提供的违禁品检测方法的流程示意图;
图4a是本发明实施例提供的预设推理计算图的示意图;
图4b是本发明实施例推理预测的流程示意图;
图5是本发明实施例提供的违禁品检测装置的示意性框图;
图6是本发明实施例提供的违禁品检测装置的另一示意性框图;
图7是本发明实施例提供的边缘计算设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。另外,“第一”、“第二”这些术语用来将多个元素彼此区分开。例如,在不脱离本发明范围的前提下,第一约束条件可以被称为第二约束条件,并且类似地,第二约束条件可以被称为第一约束条件。第一约束条件和第二约束条件均为约束条件,但它们并非同一约束条件。
在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
在对本发明实施例进行详细地解释说明之前,先对边缘计算和边缘计算设备进行解释说明。
边缘计算,包括把数据处理任务放至网络边缘的设备上,使其尽可能地靠近数据源。这种计算方式能以非常高的速度实现实时的数据处理,对很多具备机器学习能力的复杂物联网方案而言是必备能力。在此基础上,边缘计算能够缓解网络压力、降低能耗、提升安全性以及改善数据隐私。其中,数据处理任务包括音频、视频和图像等的处理任务。
边缘计算设备,实现边缘计算中的数据处理任务的网络边缘的设备。
本发明实施例提供一种违禁品检测方法、装置、边缘计算设备及存储介质。该违禁品检测方法运行于边缘计算设备中,该边缘计算设备可以是台式电脑、安检设备如JetsonTX2、电子计算机断层扫描设备(Computed Tomography,CT)等。以下分别进行详细说明。
图1是本发明实施例提供的一种违禁品检测方法的流程示意图。如图1所示,该方法包括的具体流程如下:
101,获取待检测物品的多张X光图像。
其中,本发明实施例中的X光图像包括在医学、安检、工业探伤等领域利用X射线得到的图像。例如,在医学领域中的超声图像、CT图像等;在地铁、高铁、机场等处的安检图像等。在本发明实施例中,以安检领域中的X光图像为例进行说明。
待检测物品的多张X光图像,既可以指同一个待检测物品的多张X光图像,也可以指不同待检测物品的多张X光图像。在安检领域中,以不同待检测物品的多张X光图像为例进行说明。可以理解地,一张安检的X光图像中可能会存在多个待检测物品,也可能只存在一个待检测物品。
102,对多张X光图像进行图像预处理,得到多张目标图像。
对多张X光图像进行图像预处理,可以是并行地同时对多张X光图像进行图像预处理,也可以是串行对多张X光图像进行图像预处理;可以使用CPU对多张X光图像进行图像预处理,也可以是使用GPU对多张X光图像进行图像预处理。对多张X光图像进行图像预处理,得到多张目标图像,其中,一张X光图像进行图像预处理后,得到一张目标图像。
具体地,步骤102,包括:对多张X光图像进行缩放填充处理,得到多张目标图像。进一步地,步骤102,包括:对多张X光图像进行旋转缩放填充处理,以得到多张预设尺寸的目标图像。可以理解地,不同安检机的规格不同,安检速度也不一样,行李的长、宽、高也不一样,因此安检得到的X光图像也不一样。若预设推理模型中的需要输入的是预设尺寸的目标图像,则需对X光图像进行旋转缩放填充处理,以得到多张预设尺寸的目标图像。
其中,对多张X光图像进行旋转缩放填充处理,以得到多张预设尺寸的目标图像的步骤,包括:读取X光图像,并转换为预设格式;获取转换格式后的X光图像的图像宽度和图像高度;检测图像高度是否大于图像宽度;若是,则将X光图像进行旋转;计算X光图像的最小缩放因子;根据最小缩放因子缩放X光图像;对缩放后的X光图像进行图像填充,以将缩放后的X光图像填充至预设长度和宽度,以得到预设尺寸的目标图像。进一步地,在将缩放后的X光图像进行填充后,将填充后的X光图像的像素值减去数据集中预设格式的所有样本的像素均值,以得到预设尺寸的目标图像。
可以理解地,若预设推理模型中的输入图像是任意尺寸的目标图像,则对多张X光图像进行缩放填充处理,得到多张目标图像的步骤,包括:读取X光图像,并转换为预设格式,以得到目标图像。或者还包括获取转换格式后的X光图像的图像宽度和图像高度;检测图像高度是否大于图像宽度;若是,则将X光图像进行旋转,以得到目标图像。或者还包括计算X光图像的最小缩放因子;根据最小缩放因子缩放X光图像,以得到目标图像,该种情况下,可以理解为无需进行填充处理。或者还包括将缩放后的X光图像减去数据集中预设格式的所有样本的像素均值,以使得预设神经网络的训练更快更稳定;将减去像素均值的图像作为目标图像。
其中,可使用开源计算机视觉库(Open Computer Visual,OpenCV)来实现对多张X光图像进行旋转缩放填充处理。预设格式可以为RGB通道(红色Red,绿色Green,蓝色Blue)的格式,获取X光图像后,将X光图像转换为RGB通道的格式,转换为预设格式,以方便对图像进行统一处理。转换为预设格式后,获取X光图像的图像宽度和图像高度。例如,获取X光图像的大小为(1280,720,3),单位为像素,其中,1280指的是图像宽度,720指的是图像高度,3表示3个通道,即分别为R、G、B三个通道。检测图像高度是否大于图像宽度;若图像高度是否大于图像宽度,意味着X光图像为纵向图像,则将X光图像进行旋转,以将纵向图像旋转至横向图像(图像宽度大于图像高度);若图像高度不大于图像宽度,则无需进行旋转。之后计算X光图像的最小缩放因子,最小缩放因子指的是在保证图像宽度不大于预设宽度W的情况,将图像高度缩放至预设高度H所对应的缩放因子。计算出了最小缩放因子后,根据最小缩放因子缩放X光图像。对X光图像进行缩放后,可能会存在不匹配的情况,可以理解为,并不是所有的X光图像进行缩放后,都能正好缩放至预设宽度和预设高度,因此需要对缩放后的X光图像进行图像填充。例如,在X光图像右端和下端进行补零填充,使X光图像的图像宽度和图像高度分别填充至预设宽度W和预设高度H。填充后的X光图像即为预设尺寸的图像,将填充的X光图像作为目标图像。
在一些情况下,将X光图像的图像宽度和图像高度分别填充至预设宽度W和预设高度H后,还需要对填充后的X光图像减去数据集中预设格式的所有样本的像素均值,以使得预设神经网络的训练更快更稳定;将减去像素均值的图像作为目标图像。
103,将多张目标图像输入至预设推理模型中进行违禁品检测,得到目标图像中的违禁品的候选位置,其中,预设推理模型利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的。
一般情况下,利用预设机器学习库训练预设神经网络模型,得到模型训练结果,如得到X光违禁品检测模型;得到模型训练结果后,将模型训练结果直接用来推理预测。如图2a所示。
在本发明实施例中,如图2b所示,利用预设机器学习库训练预设神经网络模型,得到模型训练结果;将模型训练结果转换为冻结图;再利用预设推理优化器对冻结图进行优化,得到优化后的模型;利用优化后的模型来进行推理预测。其中,优化后的模型即为预设推理模型。
下面将结合图2b详细描述如何得到预设推理模型。
预设机器学习库可以是Caffe(Convolutional Architecture for Fast FeatureEmbedding)、TensorFlow等,也可以理解为预设机器学习框架Caffe,TensorFlow等。在本发明实施例中,以预设机器学习库为TensorFlow为例进行说明。
TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器学习提供支持的应用。只要可以将计算表示为一个数据流图,就可以使用TensorFlow中的各种工具、库和社区资源来帮助组装数据图中的子图,实现该计算。
数据流图用“节点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点”一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点、输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系,或者也可以理解为两个“节点”之间的依赖关系。这些数据“线”可以输运“大小可动态调整”的多维数据数组,即“张量”(tensor)。因为数据流图是用来描述数学计算的,所以数据流图也被称为计算图。
预设神经网络模型可以是现有的任一种神经网络模型,利用神经网络模型来训练数据集,以得到训练后的神经网络模型,即得到模型训练结果。
在本发明实施例中,预设神经网络模型以backbone+FPN+Focal loss的神经网络结构为例进行简单说明。其中,backbone是神经网络的主干模型,如可使用残差神经网络模型(如Residual Network,ResNet)、卷积神经网络模型(如Visual Geometry Group,VGG19)、稠密连接神经网络(如DenseNet)等,backbone主要用于从X光图像中提取卷积特征。特征金字塔网络(Feature Pyramid Networks,FPN),可获取X光图像中的目标的深层和浅层特征,不同大小的感受野组合有助于不同形状和大小的目标的有效检测。特征金字塔网络在主干模型之后,用于提取X光图像中的目标的深层和浅层特征,并对X光图像中的目标进行检测以得到结果。Focal loss是一种损失函数,主要解决目标检测中正负样本比例严重失衡的问题,在网络训练的时候使用,是一种网络训练好坏的度量标准。Focal loss的计算公式如公式(1)所示。
FL(pt)=-αt(1-pt)γlog(pt) (1)
其中,pt是不同类别的分类概率,γ是个大于0的值,αt是个[0,1]间的小数,γ和αt都是固定值,不参与训练。Focal loss既做到了解决正负样本不平衡,也做到了解决简单样本与难样本不平衡的问题。
利用预设神经网络模型,将包括常见违禁品的X光图像的数据集输入至预设神经网络模型中进行训练,得到模型训练结果,如得到一个性能卓越的X光违禁品检测模型。
需要注意的是,预设神经网络模型的训练基于预设机器学习库TensorFlow,利用TensorFlow中的GPU加速库来对预设神经网络模型的训练进行加速,即使用GPU来对预设神经网络模型的训练加速,提高预设神经网络模型的训练速度。
经过TensorFlow训练得到的模型训练结果(如X光违禁品检测模型)为checkpoints格式,模型训练结果所包括的文件可如表1中所示。
表1模型训练结果所包括的文件
名称 | 大小 | 类型 |
checkpoint | 120字节 | 文字 |
model.ckpt.data-00000-of-00001 | 10字节 | 二进制 |
model.ckpt.index | 160字节 | 二进制 |
model.ckpt.meta | 3.1KB | 二进制 |
其中,checkpoint文件保存了模型训练结果的模型文件列表,model.ckpt.meta保存了TensorFlow的计算图(对应模型训练结果的计算图)的结构信息,其他的文件中还保持有模型训练结果中的模型权重等信息。
将checkpoints格式的模型训练结果转换成冻结图。如将checkpoint格式的模型训练结果转换为.pb格式的冻结图。转换为冻结图的目的是为了方便进一步对模型训练结果进行优化。
其中,将checkpoints格式的模型训练结果转换成冻结图是指将计算图的结构信息和模型权重合并到一个文件中。具体可包括:把预先保存的计算图(对应模型训练结果的计算图)载入到默认的计算图中,并将计算图序列化;开启一个会话,把模型权重载入到计算图中;将模型权重中的变量修改为常量;将修改后的计算图进行序列化,并写入至.pb格式的冻结图文件中,如此以实现将checkpoints格式的模型训练结果转换成冻结图。
在将模型训练结果转换为冻结图之后、在对冻结图进行优化之前,进一步地,还包括:将模型训练结果对应的冻结图中的输入修改为预设尺寸(如预设宽度W和预设高度H)。可以理解地,预设神经网络模型在TensorFlow中进行训练,TensorFlow不要求输入的X光图像的大小固定,即数据集中的X光图像的大小没有限制,根据数据集中的X光图像的真实大小决定;而在后续将模型训练结果进行优化时,当前版本的预设推理优化器只能进行静态优化,也就是需要输入的图像为预设尺寸。需要注意的是,一些较新版本的预设推理优化器,已经不需要固定为预设尺寸,但边缘计算设备可能由于硬件条件限制,无法升级到较新版本,因此,将模型训练结果中的输入修改为预设尺寸,以适应所有版本的预设推理优化器。可以理解地,在一些情况下,无需将模型训练结果中的输入修改为预设尺寸。
将模型训练结果转换为冻结图后,或者将模型训练结果对应的冻结图中的输入修改为预设尺寸之后,使用预设推理优化器对冻结图进行优化。其中,预设推理优化器可以为TF-TRT。其中,TF-TRT是TensorFlow与TensorRT的集成。TensorRT的核心是C++库,可促进GPU进行高性能推断。TensorRT采用已训练的网络(如X光违禁品检测模型),生成高度优化的运行时引擎,该运行时引擎为该网络执行推理。TensorRT通过C++和Python提供API,可通过提供的API来表达深度学习模型或通过解析器加载预定义的模型(如X光违禁品检测模型),从而使TensorRT可以在GPU上优化并运行它们。预设推理优化器还可以是其他的推理优化器。
具体地,使用TF-TRT对冻结图进行优化,包括:将模型训练结果的冻结图进行反序列化,将反序列化的冻结图导入至TF-TRT对应的应用程序接口中;修改反序列化的冻结图对应优化的权重精度和修改最大图像数量;调用TF-TRT对应的应用程序接口对反序列化的冻结图中的节点进行优化,以生成推理优化运行时引擎,也可简称为推理优化引擎,推理优化引擎是模型优化结果。将该推理优化引擎作为预设推理模型。后续利用该预设推理模型进行推理预测。
其中,模型训练结果中的权重精度为float32,可修改该权重精度,例如,可将权重精度修改为float16(也叫half或者半精度)、INT8。修改了权重精度后,一方面,减少了模型占用空间,原来冻结图可能有200M,优化后的模型可能只有100M;另一方面,提高了运算速度,例如原来是计算1.65465655×2.64645445,修改了权重精度后变成计算:1.6547×2.6465或2×3,大大提高了运算速度。另外,因为权重精度降低,导致参数精度有一定损失,得到的预设推理模型的预测准确率会有所降低,但降低并不大。
最大图像数量,指的是调用一次预设推理模型,所能一次处理的最大图片数量。如可设置为2,即表示预设推理模型一次能处理2张待处理的X光图像。该最大图像数量与步骤101中的获取待检测物品的X光图像的数量有关。若该最大图像数量设置为2,则步骤101中获取的待检测物品的X光图像的数量最大也为2。
调用TF-TRT对应的应用程序接口对反序列化的冻结图中的节点进行优化,包括:将反序列化的冻结图中的兼容节点利用TensorRT进行优化,即利用TensorRT来优化兼容节点;对于不兼容节点,仍使用TensorFlow生成的对应的节点,用优化后的节点来替换每个兼容节点,从而生成新的TensorFlow计算图。其中,兼容节点指的是TensorFlow中存在且TensorRT可以识别并优化的节点。不兼容节点指的是在TensorFlow中存在,但在TensorRT中不支持的节点。
可以理解地,TensorRT与TensorFlow属于两套不同的库,在Tensorflow上定义的层可能在TensorRT上没有,所以TensorRT不能识别出这些层并对它们优化。在TensorRT优化模型时,会自动避开这些层,让它们仍在在TensorFlow上运行。其中,对于兼容节点,将会运行在TensorRT上;对于不兼容节点,将会运行在TensorFlow上。在进行推理预测时,会根据某节点是否是兼容节点和不兼容不节点,在TensorRT和TensorFlow中切换运行。
利用TensorRT来优化,即使用TensorRT来执行一些重要的转换和优化。首先,消除具有未使用输出的图层,以避免不必要的计算。接着,将某些层(例如卷积层,偏压层和激活层)融合以形成单个层。另一种转换是水平层融合或层聚合,以及将聚合层划分为相应输出的要求。水平层融合通过组合采用相同源张量并以相似参数应用相同操作的层来提高性能。简单来理解,包括三个方面:1、去除无用的层;2.将多个层合并计算;3、输入相同的同一级别的层优化计算。使用TensorRT来进行优化,大大简化了模型,大大提高了模型的推理速度。
使用TF-TRT对冻结图进行优化,即继承了TensorFlow的功能函数,也具备TensorRT的模型解析优化能力,其最大的优势在于尽可能解析优化模型训练结果(如X光违禁品检测模型)成TensorRT优化图,对于不兼容节点,可仍保留于TensorFlow执行,无需在TensorRT中自定义节点。
进一步地,在得到预设推理模型后,可对该预设推理模型进行序列化,并保存为冻结图,以得到优化后的冻结图。在进行推理预测时,对优化后的冻结图进行反序列化即可得到推理优化引擎,即得到预设推理模型。需要注意的是,该处对预设推理模型进行序列化和反序列化是为了避免在后续进行推理预测时,重新生成推理优化引擎,因为生成推理优化引擎可能会耗费大量时间,因此对推理优化引擎进行一次序列化,以便后续直接使用。
如图2c所示,是本发明实施例中提供的训练和推理的流程示意图。在图2c中,将TensorFlow训练预设神经网络模型得到的模型训练结果(一般保存为checkpoint格式),利用转换工具或者调用转换接口,转换为冻结图;将冻结图中的输入修改为预设尺寸,并反序列化读取该冻结图;利用TF-TRT对反序列化的冻结图进行优化以得到模型优化结果(推理优化引擎);对模型优化结果进行序列化,并转换为冻结图,以得到优化后的冻结图。以上涉及训练的过程,只需执行一次即可。在进行推理预测时,反序列化读取优化后的冻结图,以得到模型优化结果(推理优化引擎);使用TensorRT加载该模型优化结果(推理优化引擎);利用模型优化结果(推理优化引擎)对预处理后的预设尺寸的X光的目标图像进行推理预测,以得到目标图像中的违禁品的候选位置;利用多线程对候选位置进行分析处理,以得到检测结果;根据检测结果确定目标图像中的待检测物品是否为违禁品。该部分是推理预测的内容,可进行无限次的推理预测。
在得到预设推理引擎后,将步骤102中预处理后得到的多张目标图像输入至预设推理引擎中,得到目标图像中违禁品的候选位置。其中,候选位置有多个,候选位置可以用检测框(x1,y1,x2,y2)来表示。如图2d中所示,为目标图像中违禁品的候选位置和检测结果的示意图。如图2d中第一张图片上有两个候选违禁品,第一个候选违禁品有多个检测框,每个检测框所对应的置信度不同。如分别为1,置信度为0.75;2,置信度为0.8;3,置信度为0.9。第二个候选违禁品的置信度为0.3。需要注意的是,图2d中只是为了示例说明,在真实中可能会存在很多个检测框。
104,利用多线程对多张目标图像的候选位置进行分析处理,确定待检测物品是否为违禁品。
具体地,利用多线程对多张目标图像的候选位置进行非极大值抑制等处理,得到置信度大于预设置信度(如预设置信度为0.4)的检测点的检测框(x1,y1,x2,y2)及其目标类别作为最后检测结果。
具体地,步骤104,包括:获取目标图像的图像数量;创建与图像数量相同数量的目标线程,其中,目标线程包括多个线程;对目标线程进行同步;同步后,通过目标线程同时对违禁品的候选位置进行非极大值抑制处理,以得到违禁品的检测结果;根据检测结果确定待检测物品是否为违禁品。其中,利用多线程同时对多张目标图像进行处理,加快了推理预测的速度。
获取目标图像的图像数量假设为两个,则创建与图像数量相同数量的目标线程,即创建两个目标线程。创建的两个目标线程会放入线程池,并为该两个目标线程创建线程锁。其中,可通过Python来实现,利用Python创建多线程锁。对目标线程进行同步以确保两个目标线程读到的数据是准确无误。同步后,可通过非极大值抑制(Non MaximumSuppression,NMS)来进行冗余处理,以得到局部最优的目标位置(目标框)。
其中,非极大值抑制处理的步骤可以为:删除置信度不大于预设置信度的检测框,如删除了第二个候选违禁品所对应的检测框;对剩余检测框按照置信度值进行排列,如按照置信度值进行降序排列;依次遍历排列后的检测框,将当前遍历的检测框与剩余检测框进行交并比计算(其中,交并比可表示为IOU(Intersection over Union)),以得到交并比计算结果;将所述交并比计算结果中大于第一预设交并比阈值的检测框删除,直至排列后的所有检测框都被处理;将剩下的检测框作为目标框,将目标框所对应的置信度值确定为目标类别的概率值。或者获取置信度值最大的一个检测框,将信度值最大的一个检测框与剩余检测框进行交并比计算(其中,交并比可表示为IOU(Intersection over Union)),以得到交并比计算结果;根据交并比计算结果确定是否为同一违禁品的检测框,如交并比计算结果大于第二预设交并比阈值,则确定是同一违禁品的检测框;若是,则获取同一违禁品的检测框中的置信度值最大的检测框作为目标框,将目标框所对应的置信度值确定为目标类别的概率值。
如图2d中的第二个图所示,进行非极大值抑制处理后,得到的目标框为框3,对应的置信度值为0.9。根据该置信度值确定待检测物品是否为违禁品。例如,目标框所对应的目标类别为违禁品,则确定待检测物品即为违禁品。
在线程处理完之后,关闭线程,以释放线程所使用的资源。
本发明实施例利用预设推理模型对多张目标图像进行检测,以得到目标图像中违禁品的候选位置,由于预设推理模型利用了TF-TRT进行了优化,因此优化后的预设推理模型加快了推理预测的速度,即加快了对多张目标图像进行检测的速度和效率;另外利用多线程对目标图像的候选位置进行分析处理,得到违禁品的检测结果,利用多线程并行对多张图像进行分析处理,提高了违禁品检测的速度和效率。
图3是本发明实施例提供的违禁品检测方法的另一流程示意图。如图3所示,该违禁品检测方法的具体流程包括以下步骤201~205。
201,获取预设推理计算图。
预设推理计算图可预先构建得到。
具体地,步骤201,包括:建立预处理计算子图;根据预处理计算子图与预设推理模型子图,构建预设推理计算图。
建立预处理计算子图,包括:创建预处理计算子图;定义该预处理计算子图的所有计算和所有计算之间的依赖关系。TensorFlow会自动将定义的所有计算转化为预处理计算子图中的节点。其中,图像预处理所对应的步骤如步骤102中所述。根据步骤102中的描述,为了更好的进行示例,将图像预处理中的所有计算可大致分为图像旋转、图像缩放、图像填充、图像减均值等几个部分;其中,之间之间的依赖关于包括:突袭那个旋转之后进行图像缩放、图像缩放之后进行图像填充、图像填充之后进行图像减均值。将这几个部分和对应的依赖关系使用TensorFlow中的节点(nodes)和张量(Tensor)来实现。如图4a所示,椭圆框表示节点,箭头表示张量。输入的图像,经过图像旋转节点、图像缩放节点、图像填充节点、图像减均值节点,以得到预处理后的目标图像所对应的张量。
根据预处理计算子图与预设推理模型子图,构建预设推理计算图,包括:串联预处理计算子图和预设推理模型子图,将串联后得到的计算图作为预设推理计算图。具体地,将预处理计算子图中的输出作为预设推理模型子图中的输入,以将预处理计算子图和预设推理模型子图进行串联,得到预设推理计算图。具体如图4a所示。
其中,预设推理模型子图可通过如下步骤获得:利用预设机器学习库训练预设神经网络模型,得到模型训练结果;将模型训练结果的输入修改为预设尺寸,并将模型训练结果转换为冻结图;反序列化冻结图,并利用预设推理优化器对反序列化的冻结图进行优化,得到模型优化结果(推理优化引擎,预设推理模型),将模型优化结果所对应的计算图作为预设推理模型子图。
进一步地,在得到模型优化结果之后,预设推理模型子图获得的步骤还包括:序列化模型优化结果,并保存为优化后的冻结图;反序列化优化后的冻结图以得到模型优化结果,将该模型优化结果所对应的计算图作为预设推理模型子图。
具体地,预设推理模型子图获得的步骤,可参看步骤103中的获取预设推理模型的对应步骤,在此不再赘述。
202,获取待检测物品的多张X光图像。
203,将多张X光图像输入至预设推理计算图中的预处理计算子图中进行图像预处理,得到多张目标图像所对应的张量,其中,预设推理子图是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的计算图。
具体地,步骤203,包括:将多张X光图像输入至预设推理计算图中的预处理计算子图中;通过预处理计算子图将多张X光图像进行旋转缩放填充处理,得到多张预设尺寸的目标图像所对应的张量。即将多张X光图像输入至预处理计算子图中,根据预处理计算子图中的节点进行计算,以得到多张目标图像所对应的张量。
如图4b所示,为本发明实施例提供的违禁品检测方法的流程示意图。将两张图像输入至预设推理计算图中,经过预处理计算子图进行并行预处理,以提高图像预处理的速度和效率,另一方面,利用TensorFlow的GPU进行加速,进一步提高了图像预处理的速度和效率。
204,将多张目标图像所对应的张量输入至预设推理计算图中的预设推理模型子图中进行检测,得到目标图像中的违禁品的候选位置。
多张目标图像所对应的张量直接作为预设推理模型子图的输入,经过预设推理模型子图对多张目标图像进行检测处理,得到目标图像中的违禁品的候选位置。
205,利用多线程对多张目标图像的所述候选位置进行分析处理,确定待检测物品是否为违禁品。
在对候选位置进行分析处理时,将多张目标图像的候选位置分别输入至多个不同的线程中以进行分析处理,分别得到对应目标图像的检测结果。具体地,步骤205中的内容请参看步骤104中对应的描述,在此不再赘述。利用多线程同时对多张目标图像的候选位置进行分析处理,加快了分析处理的速度。
该实施例将图像预处理和利用预设推理模型进行推理预测都定义在了TensorFlow的预设推理计算图中,利用TensorFlow的GPU来对多张图片进行检测,提高了得到目标图像中的违禁品的候选位置的速度和效率;再利用多线程同时对目标图像中的违禁品的候选位置进行分析处理,得到违禁品的检测结果,进一步提高了违禁品检测的速度和效率。
利用本发明实施例中的模型优化结果(预设推理模型)在边缘测试设备上相比于未经优化的X光违禁品检测模型可提速166.7%,检测速度从原始的0.9fps提高到2.4fps,优化效果显著,并且检测精度(mAP)损失小于0.7%,大大加快了模型的实际落地部署进程,协助安检人员快速做出决策处理。需要注意的是,本发明实施例中以预设机器学习库为TensorFlow为例进行说明,在其他实施例中,预设机器学习库还可以使用Pytorch和caffe等。
在实际中,需将上述的预设推理模型部署到边缘计算设备上才可以实际运行,如部署到Jetson TX2的边缘计算设备上。在部署之前,需要在边缘计算设备上配置深度网络运行环境。具体地,配置深度网络运行环境,可按照如下步骤进行:
1、TensorFlow-gpu安装:bazel编译TensorFlow源码成.whl文件,并在边缘计算设备Jetson TX2上安装。其中,TensorFlow源码是github网站中TensorFlow维护者官方提供的源码;如果要安装TensorFlow,就需要编译TensorFlow源码然后安装;bazel是一款工程编译工具。
2、TensorRT与cuDNN升级:TensorFlow编译包所要求的TensorRT与cuDNN版本可能与边缘计算设备出厂版本不一,所以需相应地升级TensorRT与cuDNN。具体升级的方式可以为:通过Jetpack主机端下载TensorRT与cuDNN的.deb包,然后移植到边缘计算设备JetsonTX2上安装。其中,cuDNN(CUDA Deep Neural Network library):是针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果要用GPU训练模型,cuDNN不是必须的,但是一般会采用cuDNN加速库。
3、Pycuda安装:Pycuda作为TensorRT的Python接口连接TensorFlow与TensorRT。其中,Pycuda就是一个方便的、可进行显卡编程的Python模块。
4、虚拟内存开辟:边缘计算设备Jetson TX2在优化时需占用大量内存,开辟虚拟内存可避免因内存爆满而出现系统崩溃。
5、Protobuf升级:TensorRT优化的模型在加载时会出现极度缓慢的问题,是由于Ubuntu Protobuf版本与TensorRT兼容性不佳,升级了Protobuf可解决加载缓慢的问题。
需要注意的是,以上在边缘计算设备Jetson TX2上配置深度网络运行环境只是示例。在不同的场景中,可根据不同情况进行深度网络运行环境的配置。
图5是本发明实施例提供的违禁品检测装置的示意性框图。该违禁品检测装置包括图像获取单元301、预处理单元302、位置检测单元303、结果确定单元304以及模型获取单元305。其中,
图像获取单元301,用于获取待检测物品的多张X光图像。
预处理单元302,用于对多张X光图像进行图像预处理,得到多张目标图像。
预处理单元302可以是并行地同时对多张X光图像进行图像预处理,也可以是串行对多张X光图像进行图像预处理;可以使用CPU对多张X光图像进行图像预处理,也可以是使用GPU对多张X光图像进行图像预处理。
预处理单元302,具体用于对多张X光图像进行缩放填充处理,得到多张目标图像。进一步地,预处理单元302,具体用于读取X光图像,并转换为预设格式;获取转换格式后的X光图像的图像宽度和图像高度;检测图像高度是否大于图像宽度;若是,则将X光图像进行旋转;计算X光图像的最小缩放因子;根据最小缩放因子缩放X光图像;对缩放后的X光图像进行图像填充,以将缩放后的X光图像填充至预设长度和宽度,以得到预设尺寸的目标图像。进一步地,在将缩放后的X光图像进行填充后,将填充后的X光图像的像素值减去数据集中预设格式的所有样本的像素均值,以得到预设尺寸的目标图像。
位置检测单元303,用于将多张目标图像输入至预设推理模型中进行违禁品检测,得到目标图像中的违禁品的候选位置,其中,预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的。
结果确定单元304,用于利用多线程对多张目标图像的候选位置进行分析处理,确定待检测物品是否为违禁品。
结果确定单元304,具体用于获取目标图像的图像数量;创建与图像数量相同数量的目标线程;对目标线程进行同步;同步后,通过目标线程同时对违禁品的候选位置进行非极大值抑制处理,以得到违禁品的检测结果;根据检测结果确定待检测物品是否为违禁品。
模型获取单元305,用于利用预设机器学习库训练预设神经网络模型,得到模型训练结果;将模型训练结果转换为冻结图;再利用预设推理优化器对冻结图进行优化,得到优化后的模型,该优化后的模型即为预设推理模型。
其中,预设机器学习库可以为TensorFlow,预设推理优化器可以为TF-TRT。
具体地,模型获取单元305在执行将模型训练结果转换为冻结图的步骤时,具体执行把预先保存的计算图(对应模型训练结果的计算图)载入到默认的计算图中,并将计算图序列化;开启一个会话,把模型权重载入到计算图中;将模型权重中的变量修改为常量;将修改后的计算图进行序列化,并写入至.pb格式的冻结图文件中,如此以实现将checkpoints格式的模型训练结果转换成冻结图。
进一步地,模型获取单元305在将模型训练结果转换为冻结图之后、在对冻结图进行优化,还用于:将模型训练结果对应的冻结图中的输入修改为预设尺寸(如预设宽度W和预设高度H)。
模型获取单元305在执行使用TF-TRT对冻结图进行优化的步骤时,具体执行:将模型训练结果的冻结图导入至TF-TRT对应的应用程序接口中进行反序列化解析;修改优化的权重精度和最大图像数量;调用TF-TRT对应的应用程序接口对反序列化解析后的模型训练结果进行优化,以生成推理优化运行时引擎,也可简称为推理优化引擎,推理优化引擎是模型优化结果。将该推理优化引擎作为预设推理模型。
其中,调用TF-TRT对应的应用程序接口对反序列化解析后的模型训练结果进行优化,包括:将反序列化解析后的模型训练结果中的兼容节点进行优化,即利用TensorRT来优化兼容节点;用优化后的节点来替换每个兼容节点,从而生成新的TensorFlow计算图。
进一步地,模型获取单元305在得到预设推理模型之后,还用于:对该预设推理模型进行序列化,并保存为冻结图,以得到优化后的冻结图。在进行推理预测时,对优化后的冻结图进行反序列化即可得到推理优化引擎,即得到预设推理模型。
图6是本发明实施例提供的违禁品检测装置的另一示意性框图。该违禁品检测装置包括计算图获取单元401、图像获取单元402、预处理单元403、位置检测单元404、结果确定单元405以及模型获取单元406。其中,
计算图获取单元401,用于获取预设推理计算图。
计算图获取单元401,具体用于建立预处理计算子图;根据预处理计算子图与预设推理模型子图,构建预设推理计算图。其中,计算图获取单元401在执行建立预处理计算子图的步骤时,具体执行:创建预处理计算子图;定义该预处理计算子图的所有计算和所有计算之间的依赖关系。计算图获取单元401,在执行根据预处理计算子图与预设推理模型子图,构建预设推理计算图的步骤时,具体执行:将预处理计算子图中的输出作为预设推理模型子图中的输入,以将预处理计算子图和预设推理模型子图进行串联,得到预设推理计算图。
图像获取单元402,用于获取待检测物品的多张X光图像。
预处理单元403,用于将多张X光图像输入至预设推理计算图中的预处理计算子图中进行图像预处理,得到多张目标图像所对应的张量。其中,将多张X光图像输入至预设推理计算图中的预处理计算子图中;通过预处理计算子图将多张X光图像进行旋转缩放填充处理,得到多张预设尺寸的目标图像所对应的张量。
位置检测单元404,用于将多张目标图像所对应的张量输入至预设推理计算图中的预设推理模型子图中进行检测,得到目标图像中的违禁品的候选位置,其中,预设推理模型子图是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的计算图。
结果确定单元405,用于利用多线程对多张目标图像的所述候选位置进行分析处理,确定待检测物品是否为违禁品。
模型获取单元406,用于获取预设推理模型子图。具体地,模型获取单元406,具体用于利用预设机器学习库训练预设神经网络模型,得到模型训练结果;将模型训练结果的输入修改为预设尺寸,并将模型训练结果转换为冻结图;反序列化冻结图,并利用预设推理优化器对反序列化的冻结图进行优化,得到模型优化结果(推理优化引擎,预设推理模型),将模型优化结果所对应的计算图作为预设推理模型子图。进一步地,在得到模型优化结果之后,模型获取单元406,还具体用于序列化模型优化结果,并保存为优化后的冻结图;反序列化优化后的冻结图以得到模型优化结果,将该模型优化结果所对应的计算图作为预设推理模型子图。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程和达到的有益效果,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
本发明实施例还提供一种边缘计算设备,其集成了本发明实施例所提供的任一种违禁品检测方法,所述边缘计算设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述违禁品检测方法实施例中任一实施例中所述的违禁品检测方法中的步骤。
本发明实施例还提供一种边缘计算设备,其集成了本发明实施例所提供的任一种违禁品检测装置。如图7所示,其示出了本发明实施例所涉及的边缘计算设备的结构示意图,具体来讲:
该边缘计算设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图7中示出的边缘计算设备结构并不构成对边缘计算设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501是该边缘计算设备的控制中心,利用各种接口和线路连接整个边缘计算设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行边缘计算设备的各种功能和处理数据,从而对边缘计算设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据边缘计算设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
边缘计算设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该边缘计算设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,边缘计算设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,边缘计算设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
获取待检测物品的多张X光图像;
对所述多张X光图像进行图像预处理,得到多张目标图像;
将所述多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,其中,预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;
利用多线程对所述多张目标图像的所述候选位置进行分析处理,确定所述待检测物品是否为违禁品。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,该计算机存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种违禁品检测方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取待检测物品的多张X光图像;
对所述多张X光图像进行图像预处理,得到多张目标图像;
将所述多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,其中,预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;
利用多线程对所述多张目标图像的所述候选位置进行分析处理,确定所述待检测物品是否为违禁品。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种违禁品检测方法、装置、边缘计算设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种违禁品检测方法,其特征在于,应用于边缘计算设备,所述方法包括:
获取待检测物品的多张X光图像;
对所述多张X光图像进行图像预处理,得到多张目标图像;
将所述多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,其中,所述预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;
利用多线程对所述多张目标图像的所述候选位置进行分析处理,确定所述待检测物品是否为违禁品;
所述方法还包括:
获取预设推理计算图,包括:建立预处理计算子图;根据所述预处理计算子图与预设推理模型子图,构建预设推理计算图;
所述对所述多张X光图像进行图像预处理,得到多张目标图像,包括:将所述多张X光图像输入至所述预设推理计算图中的预处理计算子图中进行图像预处理,得到多张目标图像所对应的张量;其中,所述预设推理模型子图通过如下步骤得到:
利用预设机器学习库训练预设神经网络模型,得到模型训练结果;将所述模型训练结果的输入修改为预设尺寸,将所述模型训练结果转换为冻结图;反序列化所述冻结图,并利用预设推理优化器对反序列化的所述冻结图进行优化,得到模型优化结果,将所述模型优化结果作为预设推理模型子图;
所述将所述多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,包括:将所述多张目标图像所对应的张量输入至所述预设推理计算图中的预设推理模型子图中进行检测,得到所述目标图像中的违禁品的候选位置。
2.如权利要求1所述的违禁品检测方法,其特征在于,所述利用多线程对所述违禁品的候选位置进行分析处理,确定所述待检测物品是否为违禁品,包括:
获取目标图像的图像数量;
创建与所述图像数量相同数量的目标线程;
通过所述目标线程对所述违禁品的候选位置进行非极大值抑制处理,以得到所述违禁品的检测结果;
根据所述检测结果确定所述待检测物品是否为违禁品。
3.如权利要求1所述的违禁品检测方法,其特征在于,所述将所述多张X光图像输入至所述预设推理计算图中的预处理计算子图中进行图像预处理,得到多张目标图像,包括:
将所述多张X光图像输入至所述预设推理计算图中的预处理计算子图中;
通过所述预处理计算子图将所述多张X光图像进行旋转缩放填充处理,得到多张预设尺寸的目标图像所对应的张量。
4.如权利要求1所述的违禁品检测方法,其特征在于,所述利用预设推理优化器对反序列化的所述冻结图进行优化,包括:
修改反序列化的所述冻结图对应优化的权重精度;
调用预设推理优化器对应的应用程序接口对反序列化的所述冻结图中的节点进行优化。
5.一种违禁品检测装置,其特征在于,包括:
获取单元,用于获取待检测物品的多张X光图像;
预处理单元,用于对所述多张X光图像进行图像预处理,得到多张目标图像;
位置检测单元,用于将所述多张目标图像输入至预设推理模型中进行违禁品检测,得到所述目标图像中的违禁品的候选位置,其中,所述预设推理模型是利用预设推理优化器对预设神经网络模型的模型训练结果进行优化得到的;
结果确定单元,用于利用多线程对所述多张目标图像的所述候选位置进行分析处理,确定所述待检测物品是否为违禁品;
所述装置还包括:
计算图获取单元,用于获取预设推理计算图,包括:建立预处理计算子图;根据所述预处理计算子图与预设推理模型子图,构建预设推理计算图;
所述预处理单元,还用于将所述多张X光图像输入至所述预设推理计算图中的预处理计算子图中进行图像预处理,得到多张目标图像所对应的张量;其中,所述预设推理模型子图通过如下步骤得到:
模型获取单元,用于利用预设机器学习库训练预设神经网络模型,得到模型训练结果;将所述模型训练结果的输入修改为预设尺寸,将所述模型训练结果转换为冻结图;反序列化所述冻结图,并利用预设推理优化器对反序列化的所述冻结图进行优化,得到模型优化结果,将所述模型优化结果作为预设推理模型子图;
所述位置检测单元,还用于将所述多张目标图像所对应的张量输入至所述预设推理计算图中的预设推理模型子图中进行检测,得到所述目标图像中的违禁品的候选位置。
6.一种边缘计算设备,其特征在于,其特征在于,所述边缘计算设备包括:
一个或多个处理器;存储器;以及一个或多个应用程序,其中所述处理器和所述存储器相连接,所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至4中任一项所述的违禁品检测方法。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至4任一项所述的违禁品检测方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010221194.3A CN113449556B (zh) | 2020-03-26 | 2020-03-26 | 一种违禁品检测方法、装置、边缘计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010221194.3A CN113449556B (zh) | 2020-03-26 | 2020-03-26 | 一种违禁品检测方法、装置、边缘计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113449556A CN113449556A (zh) | 2021-09-28 |
CN113449556B true CN113449556B (zh) | 2024-06-04 |
Family
ID=77807075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010221194.3A Active CN113449556B (zh) | 2020-03-26 | 2020-03-26 | 一种违禁品检测方法、装置、边缘计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449556B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114169525A (zh) * | 2021-12-17 | 2022-03-11 | 建信金融科技有限责任公司 | 推理框架的调用方法和调用装置 |
CN114611666B (zh) * | 2022-03-08 | 2024-05-31 | 安谋科技(中国)有限公司 | 一种nms函数的量化方法、电子设备及介质 |
CN118262203A (zh) * | 2022-12-28 | 2024-06-28 | 顺丰科技有限公司 | 违禁品检测方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107607562A (zh) * | 2017-09-11 | 2018-01-19 | 北京匠数科技有限公司 | 一种违禁物品识别设备及方法、x光行李安检系统 |
CN110020647A (zh) * | 2018-01-09 | 2019-07-16 | 杭州海康威视数字技术股份有限公司 | 一种违禁品目标检测方法、装置及计算机设备 |
CN110488368A (zh) * | 2019-07-26 | 2019-11-22 | 中控智慧科技股份有限公司 | 一种基于双能x光安检机的违禁品识别方法及装置 |
CN110543857A (zh) * | 2019-09-05 | 2019-12-06 | 安徽启新明智科技有限公司 | 基于图像分析的违禁物识别方法、装置、系统和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3764281A1 (en) * | 2016-02-22 | 2021-01-13 | Rapiscan Systems, Inc. | Methods of identifying firearms in radiographic images |
-
2020
- 2020-03-26 CN CN202010221194.3A patent/CN113449556B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107607562A (zh) * | 2017-09-11 | 2018-01-19 | 北京匠数科技有限公司 | 一种违禁物品识别设备及方法、x光行李安检系统 |
CN110020647A (zh) * | 2018-01-09 | 2019-07-16 | 杭州海康威视数字技术股份有限公司 | 一种违禁品目标检测方法、装置及计算机设备 |
CN110488368A (zh) * | 2019-07-26 | 2019-11-22 | 中控智慧科技股份有限公司 | 一种基于双能x光安检机的违禁品识别方法及装置 |
CN110543857A (zh) * | 2019-09-05 | 2019-12-06 | 安徽启新明智科技有限公司 | 基于图像分析的违禁物识别方法、装置、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113449556A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113449556B (zh) | 一种违禁品检测方法、装置、边缘计算设备及存储介质 | |
Sharma et al. | Csgnet: Neural shape parser for constructive solid geometry | |
US10573005B2 (en) | Automatic method and system for vessel refine segmentation in biomedical images using tree structure based deep learning model | |
Sharf et al. | Competing fronts for coarse–to–fine surface reconstruction | |
Kindlmann et al. | Diderot: a domain-specific language for portable parallel scientific visualization and image analysis | |
Smistad et al. | FAST: framework for heterogeneous medical image computing and visualization | |
EP1884899A2 (en) | Efficient processing of operator graphs representing three-dimensional character animation | |
Smistad et al. | High performance neural network inference, streaming, and visualization of medical images using FAST | |
Unser et al. | GlobalBioIm: A unifying computational framework for solving inverse problems | |
CN115169810A (zh) | 一种面向电网调控的人工智能系统构建方法及装置 | |
Qiao et al. | Automatic kernel fusion for image processing DSLs | |
CN109671055A (zh) | 肺结节检测方法及装置 | |
US20210326761A1 (en) | Method and System for Uniform Execution of Feature Extraction | |
Goel et al. | ComputeCOVID19+: Accelerating COVID-19 diagnosis and monitoring via high-performance deep Learning on CT images | |
Ali et al. | GPU-based segmentation of dental x-ray images using active contours without edges | |
van Werkhoven et al. | A Jungle Computing approach to common image source identification in large collections of images | |
Ferguson et al. | A standardized representation of convolutional neural networks for reliable deployment of machine learning models in the manufacturing industry | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
Mathew et al. | Lung Nodule Detection from low dose CT scan using Optimization on Intel Xeon and Core processors with Intel Distribution of OpenVINO Toolkit | |
Cheema et al. | Fine-grained semantic segmentation of motion capture data using dilated temporal fully-convolutional networks | |
Jain et al. | Parallel edge detection by SOBEL algorithm using CUDA C | |
Heinsius | Real-Time YOLOv4 FPGA Design with Catapult High-Level Synthesis | |
Jiang et al. | Morphable convolutional neural network for biomedical image segmentation | |
Nguyen et al. | Finding Nano-\" Otzi: Semi-Supervised Volume Visualization for Cryo-Electron Tomography | |
Ali et al. | Graphical processing unit implementation of an integrated shape-based active contour: Application to digital pathology |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |