当前位置:首页 期刊杂志

支持向量机在超声无损检测中的应用

时间:2024-05-04

(北京卫星环境工程研究所,北京 100094)

0 引言

目前国外的超声无损检测系统已经发展到很高的水平,研制出了很多数字化、智能化的超声无损检测设备,当然价格也是十分高昂,但国内相关研究却乏善可陈,因此这方面的研究具有重要的意义[1-2]。

超声波在被测试件中传播,在穿过界面和障碍块时会发生以上的反射、折射、衍射和干涉等现象,超声波的频率幅值和相位等参数会发生变化,因此回波信号可以反映试件内部众多的缺陷信息。但是如今大部分的手持式的超声无损探伤仪器均为通过人工读取到的首波时间、幅值来判断该被测试件是否有内部缺陷,大大降低的检测的效率和准确性[3]。

实际上,回波信号中的首波时间,波速,波形峰值,频率分量等,都蕴含着大量的信息,通过算法将多种信息融合,可以令机器对缺陷的判断与识别更加准确,从而代替当前的人工肉眼观看并依赖经验判断的方法[4-5]。对信息特征的提取根据处理域可分为:频域分析法,时域分析法和时频分析法[6]。

支持向量机(Support Vector Machine, SVM) 是一种监督式学习的机器学习方法,机器学习本质上就是对问题真实模型的逼近[7-8]。

支持向量机的基本思想是:针对低维空间中的非线性可分的数据样本,为了实现其线性可分,建立一个非线性映射,将样本转换到高维空间,并在高维空间中搜索分类超平面,当某个分类超平面两侧的两类样本之间距离最远,这就是最优的超平面[9-11]。其特点有:实现了最优化结构风险,对小样本数据的学习具有良好的泛化能力,避免了神经网络算法中存在的过拟合问题;可以通过设置惩罚参数和核函数等参数来实现非线性分割。由于SVM算法有这些特点,因此它经常被应用在小样本的分类上和非线性实际问题的分类上。

对于实际的超声无损检测实验来说,我们只能从被测试件表面,通过肉眼判断出该被测试件的表面某一部分是完好的,测试此部分的数据即可得到数据标签均为无缺陷的训练集。在这种情况下,无法得到标签为有缺陷的训练集信号,训练数据不均衡,比例严重失调,那么此时用到的方法就是单分类支持向量机(One Class SVM),即为一分类支持向量机。与传统二分类的SVM相比,One Class SVM可以训练出一个高维超球面,把训练数据尽量紧的包围起来。

One Class SVM常用于数据离群点检测、异常检测等。对于实际的被测试件来说,在缺陷诊断之前,通常不能得到含有缺陷信息的回波信号,只能根据试件表面的完整性测得一些代表无缺陷的回波信号,也就是支持向量机只有一类标签为“无缺陷”的训练数据,所以选择One Class SVM实现分类。

1 超声无损检测系统结构及原理

1.1 系统硬件设计

本系统设计的超声无损检测系统如图1所示,包括4大部分:

图1 超声无损检测系统结构

1.1.1 FPGA核心控制模块

控制系统的整体工作时钟,控制LCD1602显示激发信号的幅值和频率,产生方波控制信号,通过USB接口实现与上位机的通讯,传到上位机显示并保存,以便后期进行回波信号的处理。

1.1.2 激励信号发射模块

对方波控制信号进行两次功率放大,以产生幅值为50—300 V可调、频率为10—80 Hz可调的高压负脉冲,激发换能器。

1.1.3 超声回波信号接收模块

超声回波信号接收模块主要是对超声回波信号做放大、滤波等预处理使其满足研究要求,放大倍数为前置放大62 dB,二级放大0—25 dB可调,带通滤波器带宽1—100 kHz左右。

1.1.4 超声回波信号采集模块

超声信号采集模块完成回波信号的调理和12位的AD采样,采集频率为5MHz,分辨率为2.4mV,精度为1.5mV。将模拟回波信号变为数字信号存储在FPGA片内存储器中。

1.1.5 PC上位机

PC上位机作为人机交互接口,可以进行数据的存储和重现。PC机通过USB接口与下位机的FPGA进行通讯。

1.2 FPGA逻辑模块化设计

模块化设计思想在大规模复杂FPGA系统设计时应用广泛,模块化设计可以提高设计效率并减短设计周期同时保证工程的质量。模块化设计指的是将一个大系统按照一定标准分割成几个相对独立的模块,模块间做好接口的统一,然后每个模块就有了输入输出参数,可以对每个相对简单的模块就行设计,最后将所有模块整合在一起,完成整体设计。

本系统FPGA 逻辑设计主要包含:

PLL时钟模块:利用 FPGA 内部的IP核对输入的全局时钟信号进行倍频移相处理,产生用于SignalTap II显示和USB传输的分频时钟;

AD模块:采集超声回波信号的数据,并且产生发射电路需要的激励控制信号;

ADC0809模块:采集发射电路用到的高压电源的电压;

USB模块:传输数据到上位机软件进行显示和保存;

SignalTap II 模块:利用JTAG传输数据并在电脑端显示;

ADConversion模块:把ADC0809模块采集到的高压电源电压的数据转换成实际电压的BCD码;

FREQUENT_BCD模块 :把发射电路中激励控制信号的频率转换成实际频率的BCD码;

LCD1602显示配置模块,显示高压电源的实际电压和激励控制信号的频率。

2 超声回波信号分析及缺陷诊断方法设计

本系统中超声回波信号分析及SVM缺陷诊断过程为:

1)时域、时频域特征分析;

2)主成分分析法特征提取;

3)SVM模型参数优化;

4)训练缺陷诊断SVM模型;

5)缺陷诊断结果输出。

2.1 回波信号特征提取

2.1.1 时域特征分析

回波信号的声程不同时,差异首先会在时域特征参数中显示出来,首先进行时域特征的提取,每个信号提取出九种特征:

首波时间;峰峰值;整流平均值;方差;均方根;波形因子;峰值因子;峭度因子;脉冲因子,组成特征向量T1。

2.1.2 时频域特征分析

分析平稳时变信号时,单独进行频域和时域分析就可以得到足够的信号信息了,而在实际的工程中,往往面对的是非平稳时变信号。而在超声检测中,分析的回波信号就是典型的非平稳时变信号。这时候,时频分析法(JTFA)即时频联合域分析(Joint Time-Frequency Analysis)就可以发挥作用,时变非平稳信号可以通过时频分析进行有效分析。时频分析方法能够分析得到信号在时间维度和频率维度上的联合分布信息,可表示出频率能量在时间维度上的变化情况,相较于单独的时域分析法和频域分析法,有着天然的优势,的到了广泛的关注。时频分析实际是建立了信号在时间和频率两个参数下的表达函数,可以得到信号能量在时域和频域的二位分布,这种分布成为时频分布。

小波分析是一种对信号进行变换分析的新方法,它是在短时傅里叶变换局部化思想的基础上发展来的。

如果给定母小波ψ(t)=db18、尺度因子a和位移因子b(其中a>0),那么母小波ψ(t)=db18做伸缩和平移后得到一组小波函数ψ(t)=db18,其中:

(1)

则原始信号f(t)以小波ψ(t)为基的小波变换是:

(2)

小波时频分析的窗口大小固定,但可以改变频率窗和时间窗的形状,具有多分辨率分析的特点,对于分析超声回波这类非平稳信号非常适合。

而小波变换中,高频部分的分辨率较低,分析精度低,而小波包分析则是把该段高频部分继续细分,明显提高了时频分辨率,具有广泛的应用价值。

小波包分解将信号频带进行了多层次划分,每个结点都可以重构出一个新的信号,即为原始信号在特定频段下的分解波形。其近似系数和细节系数对原始信号的局部信息做了更为精细的刻画。由于不同频率的信号声衰减系数不同,那么声波遇到缺陷就会在频率上和不同频率的波形上反映出来某些特征信息。

选取小波基ψ(t)=db18,对回波信号进行五层小波包分解,分别计算第五层每个节点的的能量占总能量的比值,得到能量最大的两个节点(5,0)(5,1),以两点的能量占比作为参数,组成2维的特征向量T2。同时对节点(5,0)(5,1)重构的信号分别选取T1所述的9维数学特征和统计特征参数, 并将其组成18维的特征向量T3,组成结合了时域和时频域分析结果的29维特征向量:

T=[T1,T2,T3]

2.2 主成分分析降维法

提取回波信号的各个特征参数是诊断的重要环节,直接决定了检测结果的准确性,在实际情况中,如果采用了多种信号表征方式,则得到的参数会包含相同的信息,而且与结果相关的特征参数只占参数的一部分,所以会有大量的特征参数是重复参数。有用特征的重复表达对于信号处理增加了难度,降低了效率。为了实现参数压缩,聚焦有用的关键参数,减小分析计算量,人们提出了主成分分析法(Principle Component Analysis,PCA),对提取的特征指标在不影响分析结果的情况下进行简化,进而降低数据维度,提高分析效率。

原始数据归一化后的特征矩阵X可表示为:

(3)

(4)

最后根据此样本协方差进行主成分分析即可得到样本的各主成分。 根据主成分的计算过程可以得知,它是将d个随机变量的方差和表示成K个不相关的特征向量的方差和λ1+λ2+…λK。这里不同的方差λi表示所对应的特征向量占所有方差和的比率,也即是通常说的贡献率,此贡献率值越大,表示所对应的主成分能表征原始样本的可能就越大。

通常说来,第一主成分不足以表征原始样本,需要按照贡献率从大到小的顺序从中选取r个主成分来表示原始样本,可通过一个贡献率累积值来确定r的值,贡献率累计值可表示为:

(5)

根据实际需要,wr可有不同的选择,通常控制在 85%以上。

2.3 SVM缺陷诊断

在机器学习中,单分类主要是通过从只包含一类数据的训练集中学习,从而在所有测试数据中识别该特定类。单分类与传统的二分类问题不同,甚至比传统分类问题更复杂,传统分类模型的训练集中包含所有类的数据,分类面是由所有类的数据共同决定的,目标是将各类数据区分。而单分类模型的训练集中只包含一类数据,目标是判断测试数据是否属于这一类。

在针对实际试件的检测中,我们只需要知道此试件的某一部分是有缺陷还是无缺陷,而不需要知道具体是什么类型的缺陷,所以选择One Class SVM算法对特征提取后的数据集进行训练,建立缺陷分类模型。

所以测试方案为:针对试件中有一部分已知是无缺陷的,测得此无缺陷部分的回波信号作为训练集,另一些代表有缺陷和无缺陷的信号作为测试集。基于SVM分类的超声回波信号缺陷诊断模型工作流程如图2所示。

图2 缺陷诊断流程

1)将所有回波信号的高维原始特征向量归一化,归一化的区间是[0,1]。

2)为了实现参数压缩,聚焦有用的关键参数,减小分析计算量,采用主成分分析法(Principle Component Analysis,PCA)降维,为了尽可能还原原始样本,将累积贡献率定为 97%,进而降低数据维度,提高分析效率。

3)训练集中的特征向量进行SVM分类器建模,按照网格搜索算法给惩罚参数nu和核函数参数g赋值。本论文是按照最小值-10,最大值0,步进值大小为0.2给nu赋值;按照最小值-10,最大值10,步进值大小为 0.5给 g赋值。与此同时,按照交叉验证思想,进行10折交叉验证,选择出学习准确率最高的一组最优参数组合,作为最终SVM 分类模型参数。

4)利用测试集中的数据作为分类器的输入数据,检验模型的准确率是否达到要求。

3 实验结果与分析

3.1 检测系统及诊断算法测试方案

为了证明系统的有效性,我们选用有缺陷的木质材料作为被测试件,对系统的整体性能进行验证,包括验证系统硬件各模块的可用性及SVM方法进行缺陷诊断结果的准确率。

木质被测试件的俯视图如图3所示。在试件上表面比较均匀的分布28个待测点,每两个点之间测一组数据,共可得到378组数据。其中试件的上半部分分布着待测点1到16号,我们认定这一部分是已知的、试件无缺陷的部分,这一部分的16个点,可以测得120组数据,这些数据将作为SVM分类器的训练集,其余的258组数据作为测试集。

图3 被测试件

对同一试件的测试中,保持激发电压恒定,测量不同测试点之间的回波信号,保存并分析其特征。本实验中,激发电压为120 V恒定,AD采样率为5 MHz,超声传感器主频为50 kHz。

3.2 检测系统实测信号特征分析

实际测得378组回波信号数据,得到8192×378的一个矩阵,每一列是信号的8192个数据点,其中部分无缺陷和有缺陷的回波信号波形如图4和图5所示。两图对比可以看出部分有无缺陷的回波信号之间差异很大,部分差异很小,很多信号依靠人工判读都无法识别。

进行回波信号缺陷诊断,首先对每一组回波信号进行特征分析,得到2.1节所述的29维特征向量,即得到一个29×378的特征矩阵,特征分析可以让回波信号数据的维数大大减小。

图4 无缺陷回波信号

图5 有缺陷回波信号

特征矩阵每一列是一个样本,由于同一个样本中,不同特征值之间数值差异较大,所以对特征矩阵进行行归一化,归一化范围为[0,1]。

然后利用PCA降维算法进行特征提取,前十维特征的贡献率如表1所示,为了兼顾尽量更好地还原数据样本和特征降维减少计算量,贡献率定为97%,所以选取降维矩阵中的前八维特征向量。

表1 降维矩阵前 维特征向量的累积贡献率

利用已知数据分类标签为无缺陷的120组数据作为训练集,建立SVM分类器模型,利用网格搜索法结合十折交叉验证对模型参数进行调整,调整后的具体模型参数为:

1)SVM类型:单分类one-class SVM。

2)核函数类型:高斯核函数。

3)交叉验证模式:10折交叉验证。

4)惩罚参数nu:0.0034。

5)核函数参数g:0.0078。

最后得到在上述模型参数下,模型的准确率为98%。

3.3 基于SVM的缺陷诊断算法诊断结果分析

利用未在训练集中用到的258组数据作为测试集,输入到模型中进行测试,有248个数据都预测正确,准确率为96.124%,结果如图6所示。

图6 测试数据分类结果

其中有波形50, 100, 130, 132, 141, 151, 161, 162, 210, 211共计10个数据发生判断错误,波形50, 100, 130, 132, 141是无缺陷被判断为有缺陷,波形151, 161, 162, 210, 211是有缺陷的被判断为无缺陷,这些波形差异很小,每个波形都既有有缺陷的特征和无缺陷的特征,无法诊断其损伤特性。此种误差带来的诊断的不确定性,可以通过多测几组不同距离和方向的数据来尽量减小和消除。

通过上述实验可以发现,本检测系统在波形显示和数据分析方面有较好的正确性和可靠性。分类模型训练只需要较少的数据就可以得到较高的准确率。

4 结束语

本论文针对传统的超声波检测设备对试件缺陷诊断不准确的问题,提出了一种机器学习在超声波无损检测中的应用,并对实际试件进行了实验验证。

首先从时域和时频域两个方面进行了回波信号的特征选择,然后运用PCA的方法进行数据特征提取与筛选,接着建立SVM分类器模型,并利用网格搜索算法结合十折交叉验证对模型参数进行调整,最后用测试集数据对模型进行评估,最终使用硬件系统实际测量超声波回波信号和对回波信号进行分析诊断并验证诊断准确率,实验表明回波信号发射和采集稳定可靠,诊断准确率较高,本检测系统比较完善。

本研究中的基于SVM方法的缺陷诊断算法,是通过对时频域分析后的回波信号进行学习,建立判断规则,就可以得知试件各个部分的缺陷诊断结果,并实验验证该算法的准确率可达95%以上,解决了传统的人工肉眼识别、经验判断的缺陷诊断模式不准确的问题,对解决自动化诊断超声回波信号具有切实可行的指导意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!