1. 引言
随着传感器技术蓬勃发展以及规模的不断扩大,金属检测识别技术在安全检查、工业制造、环境保护、资源探测、食品安全等领域有着极其重要的研究意义和广泛的应用前景,例如公共场所的安检门、军工领域的扫雷装置、食品行业的金属异物检测机[1] [2]。金属异物检测方法主要分为电磁检测和X射线检测两类[3]。在食品安全领域,相较于电磁检测技术,X射线对含水量高的产品和镀铝包装产品有更好的检测能力[4],但其成本高昂,且对人体有辐射伤害。而电磁检测技术具有灵敏度高、无辐射、成本低廉等特点,广泛应用于食品金属异物检测领域[5]。
在金属异物电磁检测技术领域,Ehsan Najafi等人提出一种基于多带Chirp信号(MLC)的新型感应平衡金属探测器,提升了检测深度的同时还可以区分金属类别[6]。Jakub Svatoš等人使用多谐–线性扫频作为信号激励,在频率范围50至1000 kHz获得更多的有效信息,从而显著降低了误检率[7]。Hernan Haimovich等人在不更改现有硬件的情况下,提出了一种能够通过考虑检测信号的形状来提高金属检测灵敏度的算法,优化了检测流程[8]。在金属异物检测设备生产行业,国外的金属检测设备较为先进,美国Thermo Fisher公司的设备实现了线圈实时自平衡功能;日本Anritsu公司使用双频检测技术,提高了金属的检测精度;英国Mettler Toledo公司利用多频同步调制技术,增强了设备对产品信号的抑制能力。而国内的检测技术多是基于单频调谐技术,其温度及机械稳定性差,主要对信号的幅值信息进行处理,检测性能与国外设备差距很大。
神经网络是一种受人类大脑神经元运作而启发的计算模型[9],通过模拟人脑神经元的连接和学习方式对数据进行分析和分类,广泛应用于自然语言处理、图像识别、语音识别等领域[10]。本文旨在研究一种基于卷积神经网络(CNN)的金属检测系统,通过整合先进的深度学习算法与优化的金属检测系统设计,全面提升金属检测的性能和应用效果。
2. 金属异物检测系统总体方案设计
金属检测系统总体方案如图1所示,基于金属检测系统的实时性及高检测精度前提下,考虑到神经网络的运行资源需求,选择Xilinx公司的K7-UltraScale系列FPGA作为系统的主控芯片。本系统主要包括平衡线圈传感器、信号激励部分、前置滤波放大部分、A/D采集部分、数字锁定放大器部分、PC上位机与MD-net神经网络算法处理模块等。金属异物穿过金属检测传感器,平衡状态下的空间电磁场被破坏,通过系统对异常信号的幅值和相位信息进行解析,实现对金属异物的检测。
Figure 1. Overall scheme of metal detection system
图1. 金属检测系统总体方案
本系统的金属检测传感器采用平衡线圈传感器[11],如图2所示。中间线圈作为发射线圈。两侧的线圈是接收线圈,两个接收线圈反向并联。发射线圈的正弦激励信号频率为300 kHz。在无异常金属通过时,传感器由于变压器效应产生的感应电动势被抵消,形成接收平衡状态。当金属异物通过传感器时,平衡线圈传感器输出的信号信息不仅包含金属信号的幅度,还包含了输出信号与驱动发射线圈信号之间的相位差。输出的信号经锁定放大器正交解调,得到同相分量I与正交分量Q [12],最后再根据I、Q信息来判断金属异物的有无。
Figure 2. Balance coil sensor
图2. 平衡线圈传感器
3. 系统数据的信号处理方案设计
3.1. 信号调理部分
检测的金属异物通常是体积较小的金属颗粒,产生的金属信号极其微弱,容易受环境噪声及产品效应[13]的影响,输出信号经调理电路进一步处理。在放大电路之前设计了一个LC并联谐振电路,谐振频率和发射频率都为300 kHz,实现带通滤波的同时提高了信噪比。信号调理电路如图3所示,放大器与接收线圈的输出端用变压器进行耦合,变压器次级并联了谐振电容实现了信号的选频及滤波。采用AD8065作为前置放大器,并利用反馈电阻来减少额外噪声。
Figure 3. Schematic diagram of conditioning circuit
图3. 调理电路原理图
3.2. 锁定放大器
锁定放大器广泛应用于微弱信号的检测[14],在金属检测中主要应用于微弱金属信号的提取,极大提高检测灵敏度与精度。传统的模拟锁定放大器通过选择特定的参考频率,利用一个正弦参考信号与输入信号相乘,再与积分器组成解调电路,从而分离出窄带信号。但是模拟锁定放大器易受限于模拟元件的精度、稳定性以及温度漂移等因素的影响,极大降低了系统的检测精度。本文使用数字锁定放大器[15]对微弱金属信号进行提取,利用数字处理实现信号的解调,克服了传统锁定放大器的缺陷,并且通过软件可调,增加了系统的灵活性。数字锁定放大器由数字乘法器、正交参考信号、数字低通滤波器组成,如图4所示。
Figure 4. Digital lock-in amplifier
图4. 数字锁定放大器
将金属检测信号
定义为
,
和
共同构成了正交参考信号,输入信号与正交参考信号相乘对应的输出分别是
和
:
(1)
(2)
和
经过数字低通滤波后得到
与
:
(3)
(4)
根据式(3)、(4)即可得到输入信号
的幅度A与相位
:
(5)
(6)
根据式(5)、(6)可求出信号的幅值与相位,其中相位
是采样金属信号
与参考信号之间的相位差。
4. 金属检测算法设计
常见的金属检测设备的检测方法是判断信号的幅值是否超过阈值,然而当金属异物体积较小时,该方法对信号幅值的判断不够精确,导致检测率下降。为了解决这一问题,本系统将卷积神经网络(CNN)与金属检测相结合,通过学习大量样本数据,自动提取金属信号特征,实现高效、精确的金属检测[16]。
与传统方法不同的是,本系统不仅处理信号的幅值信息,还利用CNN提取和分析信号的相位信息。这种双信息处理的方法显著提高了系统对产品效应和环境噪声的抗干扰能力,使得在复杂环境中也能准确检测出微小金属异物。金属检测算法的具体流程如图5所示。
Figure 5. Flow chart of metal detection algorithm
图5. 金属检测算法流程图
4.1. 信号预处理及特征提取
在金属检测信号进入神经网络训练模型前,需要尽可能提高信号的信噪比,需要对原始检测数据进行预处理及特征提取。由于产品效应的存在,金属信号淹没于产品信号之下,使得金属异物难以检测。本文采用坐标旋转法,可以有效地抑制产品信号对金属信号的干扰。图6为无金属卤水鸭掌数据的拟合图像,图中所标出的每个数据点都分别包含了I分量电压值与Q分量电压值,设每次采集到的数据矩阵为Y,则第k个数据点为
。
Figure 6. Fitting chart of Metal free duck paw product data
图6. 无金属的鸭掌产品数据拟合图
在使用坐标旋转算法之前,需要知道相位的旋转角度,这个旋转角度根据不同产品的平均相位来设置。取20次无金属卤水鸭掌的测试数据,利用最小二乘拟合来计算出产品的平均相位,拟合直线如图6所示。
设最小二乘拟合得到的直线为:
(7)
则可以计算出检测信号的特征相位为:
(8)
根据求得的特征相位
,利用式(9)可以对待检测的产品信号进行坐标旋转,旋转后得到
:
(9)
其中旋转矩阵T定义为:
(10)
图7为产品含有1.5 mm铁质异物的检测信号,图8为该信号进行坐标旋转后的图像。将两个图像进行对比可以看出,坐标旋转后,信号的I分量幅值大幅减少,产品效应对金属信号的干扰变弱。
Figure 7. Duck paw product (+∅ = 1.5 Fe) (Before coordinate rotation)
图7. 鸭掌产品带有1.5 mm的Fe颗粒(坐标旋转前)
Figure 8. Duck paw product (+∅ = 1.5 Fe) (After coordinate rotation)
图8. 鸭掌产品带有1.5 mm的Fe颗粒(坐标旋转后)
FPGA对金检信号的解调速率为400 Hz,每件产品经过金属检测传感器的时间约为1.0 s,所以每次采集400个数据点,其中包含了产品信号以及空机信号。图8的数据总共有300个采样点,而200个数据点足够反映产品信号的特征,包含了检测信号的幅值及相位信息,其余数据点都是空机运行状态。所以检测数据将通过光电开关来进行规则化,截取有效的200个采样点,为进入神经网络模型做准备。
4.2. 基于卷积神经网络的MD-net分类模型
本文以经典的卷积神经网络模型LeNet-5 [17]为参考,结合金属检测信号的相关特征,设计了专用于金属异物检测的Metal Detection-net网络(MD-net),MD-net网络结构如图9所示。该网络模型由四个卷积层,四个激活层,一个池化层,全连接层和输出层构成。
Figure 9. MD-net structure
图9. MD-net结构
(1) 输入层:在金属异物尺寸较小,且带有强产品效应的情况下,仅依靠信号幅值难以分辨金属异物,因此信号相位也作为神经网络模型的输入。
(2) 卷积层:本文的神经网络模型是基于多卷积层设计的,每个卷积层叠加多个卷积核对检测信号进行特征提取,这有助于保留检测数据显著特征。MD-net总共有四个卷积层,分别为c1层、c2层、c3层、c4层,每层的卷积核个数依次为16、32、32、64。四个卷积层后面都使用了激活函数对卷积层的输出进行非线性变换,增强网络的表达能力。若j个卷积核卷积以产生j个不同的特征图,即:
(11)
其中,
表示第K层的第j个特征图,
表示卷积核,
表示特征量,
为偏差量,
是激活函数。
(3) 池化层:在卷积层c1提取到特征后,利用池化层进行下采样,保留了信号特征的同时,提高了计算效率。
(4) 输出层:将提取到的特征输入到全接连层,全连接层输出一个节点,使用Sigmoid函数作为激活函数,最后输出结果会映射到0~1之间。输出结果大于0.5的数据标记为“1”,判定为检测到金属异物;输出结果小于等于0.5标记为“0”,判定为无金属异物。
4.3. MD-net模型分析
本文所设计的ME-net的网络相关参数如表1所示。模型的训练在Windows10专业版操作系统上进行,CPU型号为AMD Ryzen-5 2600,运行内存32 GB,GPU为RTX 3060,通过Python和PyTorch深度学习框架实现。数据来源于金属检测机对产品的测试信号,样本总容量为3000,其中训练数据有1500 (产品、产品 + 金属各占50%),测试数据样本为1500 (产品、产品 + 金属各占50%)。
Table 1. MD-net network model parameters
表1. MD-net网络模型参数
层类型 |
核数量 |
核尺寸 |
步长 |
填充 |
输出 |
输入层 |
— |
— |
— |
— |
200 × 2 |
卷积层_1 |
16 |
1 × 3 |
1 |
Same |
200 × 2 × 16 |
ReLU_1 |
— |
— |
— |
— |
200 × 2 × 16 |
池化层_1 |
— |
1 × 2 |
2 |
— |
100 × 1 × 16 |
卷积层_2 |
32 |
1 × 3 |
1 |
Same |
100 × 1 × 32 |
ReLU_2 |
— |
— |
— |
— |
100 × 1 × 32 |
卷积层_3 |
32 |
1 × 3 |
1 |
Same |
100 × 1 × 32 |
ReLU_3 |
— |
— |
— |
— |
100 × 1 × 32 |
卷积层_4 |
64 |
1 × 3 |
1 |
Same |
100 × 1 × 64 |
ReLU_4 |
— |
— |
— |
— |
100 × 1 × 64 |
全连接层 |
— |
— |
— |
— |
1 |
输出层 |
— |
— |
— |
— |
1 |
通过准确率(Acc)、召回率(Recall)、精确率(Precision)和F1分数四个指标,对MD-net网络模型的性能进行评估,其计算公式如下:
(12)
(13)
(14)
(15)
其中,
表示正确预测为带金属异物的样本数,
表示正确预测为无金属异物的样本数,
表示错误预测带有金属异物的样本数,
表示错误预测不带金属异物的样本数。
图10是模型的准确率–损失值与迭代次数之间的关系图,测试的产品为卤水鸭掌,在MD-net网络模型训练过程中,损失值逐步下降,准确率逐步上升,在迭代了45次以后,损失值几乎不再发生变化。到了第50次迭代,网络模型趋于稳定,且分类性能良好,无过拟合现象出现。
Figure 10. Relationship curve of accuracy-loss value-iteration times
图10. 准确率–损失值–迭代次数关系曲线
另外,基于MD-net模型,我们又训练了其他产品的测试集数据,得到了如表2所示的MD-net模型性能评估参数。从表中的数据可以看出,不同种类的产品所训练出的MD-net网络,对金属异物的分类效果有细微差别。由于鸭掌含有骨头、盐水,以及酸菜含盐量高,产品效应大,因此分类效果最好的是面包,F1分数达到了95.00%。结果表明,该模型在金属检测方面展示出了优异的性能。
Table 2. MD-net model performance evaluation parameters
表2. MD-net模型性能评估参数
产品种类 |
准确率Acc. |
召回率Recall |
精确率Precision |
F1 |
卤水鸭掌 |
92.00% |
91.45% |
92.38% |
91.91% |
酸腌菜 |
93.75% |
93.96% |
93.50% |
93.73% |
干面包 |
95.00% |
95.47% |
94.52% |
95.33% |
5. 系统试验及分析
根据以上金属检测系统方案完成硬件电路,并且在PC端上位机实现金属异物检测算法的部署。金属检测传感器的尺寸为470 mm × 225 mm (宽 × 高),信号激励频率为300 kHz;产品传输装置来自于上海晶默电子科技有限公司,传送带速度为22 m/min;PC端配置是华硕电脑,操作系统为Windows 10 64位旗舰,第12代酷睿i7 CPU,内存32 GB;试验金属异物种类方面,用塑料卡片塑封了直径为0.8~3.0 mm的铁质(Fe)颗粒、1.2~3.0 mm的不锈钢(SUS)颗粒和1.0~3.0 mm的无铁合金(No-Fe),覆盖了食品加工流程中常见的金属异物。在系统检测之前,要对各产品进行模型训练,训练样本总容量为3000,其中训练数据有1500 (产品、产品 + 金属各占50%),测试数据样本为1500 (产品、产品 + 金属各占50%),训练模型参数与表1一致。
5.1. 无产品的单独金属检测
对应产品的网络模型训练完成后将部署在PC上位机中。首先进行在不带产品情况下的金属检测,无产品效应的影响,可以直接反映了系统对单独金属的检测灵敏度。不同种类及尺寸的金属在传送带上重复通过100次,检测的准确率如表3所示。
Table 3. Accuracy of individual metal testing
表3. 单独金属测试的准确率
种类/尺寸(mm) |
0.8 |
1.0 |
1.2 |
1.5 |
2 |
2.5 |
3.0 |
无金属 |
100% |
100% |
100% |
100% |
100% |
100% |
100% |
铁(Fe) |
97% |
99% |
100% |
100% |
100% |
100% |
100% |
不锈钢(SUS) |
— |
— |
96% |
98% |
100% |
100% |
100% |
无铁合金(No-Fe) |
— |
96% |
99% |
100% |
100% |
100% |
100% |
根据表3所展示的单独金属测试准确率可知,本系统所实现的金属检测灵敏度符合国标GB/T25345-2010要求,检测灵敏度与国标对比如表4所示。
Table 4. Single metal detection sensitivity
表4. 单金属检测灵敏度
金属种类 |
国标要求检测尺寸 |
本系统检测最小尺寸 |
结论 |
Fe |
1.2 mm |
0.8 mm |
合格 |
SUS |
1.5 mm |
1.2 mm |
合格 |
No-Fe |
1.5 mm |
1.0 mm |
合格 |
5.2. 带产品的金属检测
金属检测的测试产品选取了在实际应用中比较典型的几类产品,具有代表性。干面包几乎不含水,无盐;酸腌菜含水较少,含盐量最高;铝膜外包装的辣条体积小、铝膜产生的产品效应极强;卤水鸭张的含盐量较高,水分含量高,骨头密度大,产生的产品效应最强。
我们把不同产品数据集训练后的模型分别部署在PC上位机,然后开始对不同产品的金属检测灵敏度进行测,以寻找本系统能稳定检测到的最小金属颗粒尺寸。不同产品、不同异物的测试次数都限制为300次。不同产品金属灵敏度的测试结果如表5所示。
Table 5. Sensitivity of metal detection for different types of products
表5. 不同产品的金属检测灵敏度
产品/金属种类 |
Fe |
SUS |
No-Fe |
干面包 |
∅ = 0.8 mm |
∅ = 1.5 mm |
∅ = 1.2 mm |
酸腌菜 |
∅ = 1.2 mm |
∅ = 2.0 mm |
∅ = 1.5 mm |
辣条 |
∅ = 1.5 mm |
∅ = 3.0 mm |
∅ = 3.0 mm |
卤水鸭掌 |
∅ = 1.5 mm |
∅ = 2.5 mm |
∅ = 2.5 mm |
从表5中可以得出以下结论:干面包的产品效应最低,检测灵敏度最高;因为铝膜包装的存在,产品辣条受到产品效应的影响最大,检测灵敏度最低。综合上述几类产品来看,本系统对铁(Fe)异物的检测效果最好,而对于不锈钢(SUS)和非铁金属(No-Fe)的检测效果相对较差。因为Fe的电导率小,电导率越小,电流通过介质的阻力越大,传感器接收到的产品效应信号越弱,所以传感器的检测灵敏度最高。同理,No-Fe的检测灵敏度要优于SUS。试验完成后,得到MD-net模型对不同种类金属的平均识别准确率如表6所示。
Table 6. The average recognition rate of different types of metals in each product
表6. 各产品不同种类金属的平均识别率
产品/金属种类 |
Fe |
SUS |
No-Fe |
干面包 |
99.74% |
99.12% |
99.45% |
酸腌菜 |
98.92% |
95.33% |
96.71% |
辣条 |
90.76% |
83.45% |
89.92% |
卤水鸭掌 |
92.66% |
89.73% |
90.84% |
6. 结论
传统的金属检测方法是判断检测信号的幅度是否超过阈值,但此类方法检测灵敏度低、误报率较高,对金属异物的检测率低。针对以上问题,本系统采用经典的金属检测装置,把卷积神经网络与金属异物检测技术相结合,设计了MD-net模型对金属检测信号实现自动分类,实现金属异物的高精度检测。试验结果表明,无产品效应情况下,本系统可检测的Fe、SUS、No-Fe颗粒的最小直径分别为0.8 mm、1.5 mm、1.2 mm;当面对强产品效应的产品时,金属异物的最小检测直径为1.2 mm,识别准确率可达98.92%,表现出了较好的检测性能。MD-net卷积神经网络模型通过学习金属信号的波形数据及相关特征,提高了系统对产品信号和金属信号的分辨能力。另外,本系统检测的对象均为单颗粒金属异物,且产品效应的影响依旧很大,对于特殊产品(如含有铝膜包装的辣条、含有骨头的鸭掌)的平均识别率不高,检测系统还需要进一步的优化和完善,以适应多种产品的金属异物检测。