首页> 中国专利> 一种基于X射线图像的输油管道焊缝缺陷检测方法

一种基于X射线图像的输油管道焊缝缺陷检测方法

摘要

本发明公开了一种基于X射线图像的输油管道焊缝缺陷检测方法。本发明使用显著性转换对单通道焊缝灰度图进行处理得到显著性图像,本发明提出快速显著性检测算法(Fast Visual Saliency,FVS)得到显著性图像。原图像与显著性图像构成二通道输入,接着通过滑窗提取训练样本,并提取LBP(Local Binary Patterns)与灰度共生特征,与图像列向量一起作为特征向量。本发明提出判别稀疏重构投影(DSRP)的特征提取方法,对特征数据进行降维的同时使算法更鲁棒;最后通过训练SVM分类器进行分类,从而提高检测的准确率。

著录项

  • 公开/公告号CN106228565A

    专利类型发明专利

  • 公开/公告日2016-12-14

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201610625731.4

  • 发明设计人 王帅;张倩;刘想;程建;

    申请日2016-08-02

  • 分类号G06T7/00(20060101);G06K9/46(20060101);G06K9/36(20060101);G06K9/62(20060101);

  • 代理机构成都弘毅天承知识产权代理有限公司;

  • 代理人李龙

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-06-19 01:07:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-04

    授权

    授权

  • 2017-01-11

    实质审查的生效 IPC(主分类):G06T7/00 申请日:20160802

    实质审查的生效

  • 2016-12-14

    公开

    公开

说明书

技术领域:

本发明用于管道焊接缺陷检测领域,它特别涉及到了X射线焊缝图像缺陷检测领域。

背景技术:

X射线图像缺陷检测是缺陷识别的前提步骤,缺陷检测的结果将影响识别是否正确。X射线图像的缺陷检测具有如下几个难点:焊缝背景起伏较大,缺陷边缘模糊,焊波的存在使焊缝背景更复杂多变,诸多的噪声对缺陷的干扰。传统的分割算法无法同时克服上述几个难点而得到很好的检测结果。通过分割算法得到的结果会包含一些噪声杂点、焊波以及一些伪缺陷。通常通过形态学处理可以去掉一些检测出的小区域目标,但是焊波与伪缺陷无法与缺陷分离开来。

现在人们已经使用模式识别的方法进行缺陷检测,通过提取特征训练分类器的方法对缺陷与非缺陷进行分类,从而解决传统分割算法无法分离焊波、伪缺陷与缺陷的问题。然而通过对分割图像进行分类的方法过于依靠分割结果,而通常的分割算法并没有一个统一的评价标准,因而并没有成熟的X射线最佳分割算法。

本发明提出基于显著性和判别稀疏重构投影的缺陷检测方法。训练过程使用随机采样获得训练样本,并提取图像块原始图像与显著性图像的纹理特征,然后使用判别稀疏重构投影进行特征降维,并训练SVM分类器进行分类。检测过程使用滑动块形式遍历图像,提取纹理特征,基于判别稀疏重构投影与SVM实现缺陷检测。

本发明提出缺陷图像特征提取算法——判别稀疏重构投影(Discriminant Sparse Reconstruction Projections,DSRP),本发明提出结合监督稀疏重构误差与Fisher判别准则实现缺陷图像特征的有效提取。

基于显著性和判别稀疏重构投影实现焊缝图像缺陷检测。训练过程:使用随机采样获得训练样本,并提取样本框中原始图像与显著性图像的纹理特征,串联原始图像数据构成特征向量,然后使用判别稀疏重构投影进行特征降维,并训练SVM分类器。检测过程:使用滑动块形式遍历图像,提取图像块特征向量,基于判别稀疏重构投影与SVM实现缺陷检测。结合缺陷检测效果论述基于显著性和判别稀疏重构投影的缺陷检测方法的有效性。

发明内容

本发明的目的在于提高缺陷识别率。本发明为了实现上述目的,采用以下技术方案:

基于X射线图像的输油管道焊缝缺陷检测,包括如下步骤:

步骤1、快速显著性检测,对每张原始图像,使用快速显著性检测算法(Fast Visual Saliency,FVS)进行显著性检测,得到显著性图像;并创建相同大小的零值矩阵J保存结果;

步骤2、使用矩形窗M×N对所有的样本图片进行随机采样,通过矩形窗内缺陷真值区域所占窗面积的比例与阈值比较,来判断该窗是否正样本,最终得到正样本图像和负样本图像各N0个;

步骤3、计算正负样本图像与显著性图像的灰度共生矩阵特征与LBP特征,并与原始图像灰度值、显著性图像值构成样本向量;

步骤4、基于步骤3得到的样本向量,使用DSRP方法对样本向量进行稀疏表示提取特征,并将提取结果保存投影矩阵P,并根据提取的特征训练SVM分类器;

步骤5、预测验证,使用投影矩阵P对测试样本进行特征提取,使用步骤4中训练好的SVM分类器进行预测验证,调整参数,重复步骤4,直到识别率达标;

步骤6:对于一个待检测图片,进行预处理得到焊缝位置,求其显著性图像,并创建零值矩阵J0保存结果;

步骤7:使用M×N滑块遍历图像,步长取L,判断滑块是否在焊缝以内,如果在焊缝外则计算下一个位置;

步骤8:计算滑窗内待检测图片与显著性图像的灰度共生矩阵特征与LBP特征,并与原始图像灰度值、显著性图像值构成特征向量;

步骤9:使用步骤4中得到的投影矩阵P,对步骤8得到的特征向量进行特征提取,使用步骤4节中训练好的SVM分类器进行预测,如果预测结果为缺陷,则对矩阵J0的M×N滑块区域的值加1;

步骤10:对矩阵J0进行阈值t分割,即矩阵J0中大于t的值作为缺陷区域。

上述技术方案中,步骤1具体包括以下步骤:

1.1输入灰度图像I;

1.2计算灰度图像I的积分图像;

1.3计算子显著性图像;

(a)计算中心区域与环绕区域的灰度均值;

(b)计算中心激励显著性图像与中心抑制显著性图像;

1.4计算显著性图像。

上述技术方案中,步骤2具体包括以下步骤:

2.1利用预处理得到的焊缝位置进行判断随机窗是否在焊缝内,使用焊缝内区域所占窗面积的比例作为判断参数,选取阈值为τ1

2.2通过矩形窗内缺陷真值区域所占窗面积的比例与阈值比较,来判断该窗是否正样本,选择的阈值为τ2,即矩形窗内缺陷区域比例大于τ2时判断为正样本,反之判断为负样本,最终正负样本各N0个;

上述技术方案中,步骤4具体包括以下步骤:

对样本数据进行一次预筛选,去掉常数项,对每个样本进行归一化处理,并将数据分为训练字典与测试样本,本文字典包含N1个正样本与N2个负样本,使用判别稀疏重构投影(DSRP)方法对训练字典进行稀疏表示提取特征,保存投影矩阵P,并对训练样本所提取的特征训练SVM分类器,这里核函数选择径向基核,径向基核参数g为α;

4.1输入数据

4.2求稀疏权重矩阵

(d)计算yi的同类重构误差Ri与异类重构误差Qi

(e)令更新Sβ=Sβ+Qi(Qi)T-Ri(Ri)T

4.3求样本的类间散度矩阵Sb,y与类内散度矩阵Sw,y

4.4选取Fisher准则与重构误差矩阵的比例λ,求S=Sβ+λ(Sb,y-Sw,y);

4.5求矩阵S的特征值与特征向量,选取特征值最大的k个值与之对应的特征向量得到投影矩阵P;

4.6基于投影矩阵P和样本向量进行特征提取。

上述技术方案中,步骤5中所述参数为λ、k,通过选取不同的Fisher准则与重构误差矩阵的比例λ、样本投影后特征的维数为k,可以得到最高的识别率以及对应的λ和k值。

发明的创新点在将图像的显著性特征引入到焊缝缺陷检测中,并根据焊缝过渡性边缘的性质提出一种快速显著性检测算法(FVS),该算法在保留了细节信息的同时抑制了复杂背景,图像的显著性特征对于缺陷检测具有提升效果。针对稀疏近邻保持嵌入(SNPE)算法对缺陷样本特征提取存在不足,提出一种基于稀疏表示的特征提取算法DSRP,从焊缝图像样本的特点出发,分析选取稀疏表示模型,通过构建稀疏重构误差矩阵与Fisher准则成功将高维数据降低到低维进行有效分类。

本发明的优点:本发明用基于显著性和稀疏表示的缺陷检测算法提高了缺陷检测的准确性。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1是基于显著性和稀疏表示的缺陷检测算法流程;

图2是焊缝图像预处理流程。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

下面结合图1、图2对本发明作详细说明。

本发明的检测系统分为两个部分,第一个部分是使用训练样本进行求取DSRP算法的投影矩阵与SVM分类器模型;第二个部分是使用滑动窗遍历图像进行缺陷检测。

第一部分:

步骤1、快速显著性检测

对每张图像,使用快速显著性检测算法(Fast Visual Saliency,FVS)进行显著性检测,得到中心抑制显著性图像;并创建相同大小的零值矩阵J保存结果。FVS算法实现步骤为:

1.1输入灰度图像I

1.2计算灰度图像I的积分图像G

灰度图像的积分图像G是指将原图I左上角到点(x,y)所构成矩形区域的灰度值之和作为积分图像G点(x,y)的值。按照公式计算灰度图像I的积分图像G,(x',y')为图像I的坐标。

1.3计算子显著性图像

按照以下流程分别对环形区域大小ξ∈{σ123456}计算子显著性图像IntOn,ξ、IntOff,ξ

计算中心区域与环绕区域的灰度均值Tcen、Tsur,ξ

定义矩形区域左上角点(x1,y1),左下角点(x2,y2)。

Tcen(x,y)=I(x,y)

rectsum(x1,y1,x2,y2)=G(x2,y2)-G(x1-1,y2)-G(x2,y1-1)+G(x1-1,y1-1)

Tsur(x,y,ξ)=rectsum(x-ξ,y-ξ,x+ξ,y+ξ)-I(x,y)(2ξ+1)2-1

(b)计算中心激励显著性图像与中心抑制显著性图像IntOn,ξ、IntOff,ξ

IntOn,ξ(x,y)=max{Tcen(x,y)-Tsur(x,y,ξ),0}

IntOff,ξ(x,y)=max{Tsur(x,y,ξ)-Tcen(x,y),0}

1.4计算显著性图像IntOn、IntOff

按照下列公式将子显著性图像按像素相加得到图像I的显著性图像IntOn、IntOff

IntOn(x,y)=ΣξIntOn,ξ

IntOff(x,y)=ΣξIntOff,ξ

步骤2、使用矩形窗M×N对所有的样本图片进行随机采样

2.1利用预处理得到的焊缝位置进行判断随机窗是否在焊缝内,使用焊缝内区域所占窗面积的比例作为判断参数,选取阈值为τ1

2.2通过矩形窗内缺陷真值区域所占窗面积的比例与阈值比较,来判断该窗是否正样本。选择的阈值为τ2,即矩形窗内缺陷区域比例大于τ2时判断为正(缺陷)样本,反之判断为负(背景)样本,最终正负样本各N0个。

步骤3、计算滑窗内原始图像与显著性图像的灰度共生矩阵特征与LBP特征,并与原始图像灰度值、显著性图像值构成样本向量

步骤4、提取特征,训练SVM分类器

对样本数据进行一次预筛选,去掉常数项,对每个样本进行归一化处理。并将数据分为训练字典与测试样本,本文字典包含N1个正样本与N2个负样本。使用判别稀疏重构投影(DSRP)方法对训练字典进行稀疏表示提取特征,保存投影矩阵P,并对训练样本所提取的特征训练SVM分类器,这里核函数选择径向基核,径向基核参数g为α。DSRP算法步骤如下:

4.1输入数据

输入n个带标签样本i=1,2,…,n,m为数据维数,测试数据i=1,2,…,p。

4.2求稀疏权重矩阵X

假设n个训练样本i=1,2,…,n,对应相关的过完备字典其中n表示字典原子个数。分为C类,第c类构成字典矩阵所有样本构成字典矩阵Y=[Y1,…,Yc,…,YC],使用下式

minxiλ||x||1+12||y-Dx||2

s.t.1=1Txi

xi≥0

其中xi=[xi,1,xi,2,…xi,i-1,0,xi,i+1,…,xi,n]T,xi≥0表示稀疏权重向量所有分量不为负,xi,j,j=1,2,…,n表示xi的第j个元素,将求得的权重向量按字典顺序集合起来构成n×n的稀疏权重矩阵X=[x1,x2,…,xn]。

用解l1范数最优化问题的方法(比如LASSO算法)求稀疏权重矩阵X=[x1,x2,…,xn]。求解xi时:

计算yi的同类重构误差Ri与异类重构误差Qi

同类重构误差矩阵:

Ri=yi-Ycxic

Ψ(c)定义为c的补集:

Ψ(c)=[1,…,c-1,c+1,…,C]

YΨ(c)表示去除c类字典剩下的字典集合:

YΨ(c)=[Y1,…,Yc-1,Yc+1,…,YC]

表示xi中非c类字典原子的稀疏系数的集合:

异类重构误差矩阵:

Qi=yi-YΨ(c)xiΨ(c)

(b)令更新Sβ=Sβ+Qi(Qi)T-Ri(Ri)T

4.3根据下式求样本y的类间散度矩阵Sb,y与类内散度矩阵Sw,y

Sb,z为投影后样本的类间散度矩阵,也就是投影样本均值的协方差矩阵。Sb,y为样本的类间散度矩阵。

Sb,z=(m1,z-m2,z)(m1,z-m2,z)T

=PT(m1,y-m2,y)(m1,y-m2,y)TP

=PTSb,yP

两类样本均值:

m1,z=1N1ΣziC1zi=1N1ΣyiC1PTyi=PT1N1ΣyiC1yi=PTm1,y

m2,z=1N2ΣziC2zi=1N2ΣyiC2PTyi=PT1N2ΣyiC2yi=PTm2,y

其中m1,z、m2,z为投影后样本的均值,m1,y、m2,y为原始样本均值。N1、N2为两类样本数目。

类内散度矩阵是所有样本距离该样本中心的散度矩阵之和。Sw,z是全体投影样本的类内散度矩阵。

Sw,z=S1,z+S2,z

=PTS1,zP+PTS2,zP

=PTSw,yP

S1,z、S2,z是两类投影样本的类内散度矩阵。S1,y、S2,y是两类原始样本的类内散度矩阵,Sw,y是全体原始样本的类内散度矩阵。

4.4选取Fisher准则项与重构误差项的比例λ,求S=Sβ+λ(Sb,y-Sw,y)。

4.5求S的特征值与特征向量,选取特征值最大的k个值与之对应的特征向量得到投影矩阵P。

4.6特征提取,特征矩阵z'i=PTy'i,i=1,2,…,p。

步骤5、预测验证

使用投影矩阵对测试样本进行特征提取,使用步骤4中训练好的SVM分类器进行预测验证。通过选取不同的λ(Fisher准则与重构误差矩阵的比例)、k(样本投影后特征的维数为),可以得到最高的识别率以及对应的λ和k值。

第二部分:

步骤1:

对于一个待检测图片,进行预处理得到焊缝位置,求其显著性图像,并创建相同大小的零值矩阵J保存结果。

步骤2:

使用M×N滑块遍历图像,这里步长取L,判断滑块是否在焊缝以内,如果在焊缝外则计算下一个位置。

步骤3:

计算滑窗内原始图像与显著性图像的灰度共生矩阵特征与LBP特征。

步骤4:

使用第一部分步骤4中得到的投影矩阵P,进行特征提取,使用第一部分步骤4节中训练好的SVM分类器进行预测,如果预测结果为缺陷,则对矩阵J的M×N滑块区域的值加1。

步骤5:

对矩阵J进行阈值t分割,即矩阵J中大于t的值作为缺陷区域。

实施例1

本发明主要采用计算机仿真的方法进行验证,所有步骤、结论都在MATLAB-R2015a上验证正确。具体实施步骤如下:

本发明的检测系统分为两个部分,第一个部分是使用训练样本进行求取DSRP算法的投影矩阵与SVM分类器模型;第二个部分是使用滑动窗遍历图像进行缺陷检测。

第一部分:

步骤1、快速显著性检测

对每张图像,使用快速显著性检测算法(Fast Visual Saliency,FVS)进行显著性检测,得到中心抑制显著性图像;并创建相同大小的零值矩阵J保存结果。FVS算法实现步骤为:

1.1输入灰度图像I

1.2计算灰度图像I的积分图像G

灰度图像的积分图像G是指将原图I左上角到点(x,y)所构成矩形区域的灰度值之和作为积分图像G点(x,y)的值。按照公式计算灰度图像I的积分图像G,(x',y')为图像I的坐标。

1.3计算子显著性图像

按照以下流程分别对环形区域大小ξ∈{12,24,28,48,56,112}计算子显著性图像IntOn,ξ、IntOff,ξ

定义矩形区域左上角点(x1,y1),左下角点(x2,y2)。

(a)计算中心区域与环绕区域的灰度均值Tcen、Tsur,ξ

Tcen(x,y)=I(x,y)

rectsum(x1,y1,x2,y2)=G(x2,y2)-G(x1-1,y2)-G(x2,y1-1)+G(x1-1,y1-1)

Tsur(x,y,ξ)=rectsum(x-ξ,y-ξ,x+ξ,y+ξ)-I(x,y)(2ξ+1)2-1

(b)计算中心激励显著性图像与中心抑制显著性图像IntOn,ξ、IntOff,ξ

IntOn,ξ(x,y)=max{Tcen(x,y)-Tsur(x,y,ξ),0}

IntOff,ξ(x,y)=max{Tsur(x,y,ξ)-Tcen(x,y),0}

1.4计算显著性图像IntOn、IntOff

按照下列公式将六幅子显著性图像按像素相加得到图像I的显著性图像IntOn、IntOff

IntOn(x,y)=ΣξIntOn,ξ

IntOff(x,y)=ΣξIntOff,ξ

步骤2、使用矩形窗24×24对所有的样本图片进行随机采样

2.1利用预处理得到的焊缝位置进行判断随机窗是否在焊缝内,使用焊缝内区域所占窗面积的比例作为判断参数,选取阈值为0.9,即焊缝内区域需要占90%以上。

2.2通过矩形窗内缺陷真值区域所占窗面积的比例与阈值比较,来判断该窗是否正样本。选择的阈值为0.02,即矩形窗内缺陷区域比例大于0.02时判断为正(缺陷)样本,反之判断为负(背景)样本,最终正负样本各6000个。

步骤3、计算滑窗内原始图像与显著性图像的灰度共生矩阵特征与LBP特征,并与原始图像灰度值、显著性图像值构成样本向量

步骤4、提取特征,训练SVM分类器

对样本数据进行一次预筛选,去掉常数项,对每个样本进行归一化处理。并将数据分为训练字典与测试样本,本文字典包含500个正样本与500个负样本。使用判别稀疏重构投影(DSRP)方法对训练字典进行稀疏表示提取特征,保存投影矩阵P,并对训练样本所提取的特征训练SVM分类器,这里核函数选择径向基核,径向基核参数g为15。DSRP算法步骤如下:

4.1输入数据

输入带标签样本i=1,2,…,1000,测试数据i=1,2,…,5000。

4.2求稀疏权重矩阵X

假设1000个训练样本i=1,2,…,1000,对应相关的过完备字典分为2类,第c类构成字典矩阵所有样本构成字典矩阵Y=[Y1,Y2],使用下式

minxiλ||x||1+12||y-Dx||2

s.t.1=1Txi

xi≥0

其中xi=[xi,1,xi,2,…xi,i-1,0,xi,i+1,…,xi,n]T,xi≥0表示稀疏权重向量所有分量不为负,xi,j,j=1,2,…,1000表示xi的第j个元素,将求得的权重向量按字典顺序集合起来构成n×n的稀疏权重矩阵X=[x1,x2,…,xn]。

用解l1范数最优化问题的方法(比如LASSO算法)求稀疏权重矩阵X=[x1,x2,…,xn]。求解xi时:

计算yi的同类重构误差Ri与异类重构误差Qi

同类重构误差矩阵:

Ri=yi-Ycxic

Ψ(c)定义为c的补集:

Ψ(c)=[1,…,c-1,c+1,…,C]

YΨ(c)表示去除c类字典剩下的字典集合:

YΨ(c)=[Y1,…,Yc-1,Yc+1,…,YC]

表示xi中非c类字典原子的稀疏系数的集合:

异类重构误差矩阵:

Qi=yi-YΨ(c)xiΨ(c)

(b)更新Sβ=Sβ+Qi(Qi)T-Ri(Ri)T

其中P为投影矩阵

4.3根据下式求样本y的类间散度矩阵Sb,y与类内散度矩阵Sw,y

Sb,z为投影后样本的类间散度矩阵,也就是投影样本均值的协方差矩阵。Sb,y为样本的类间散度矩阵。

Sb,z=(m1,z-m2,z)(m1,z-m2,z)T

=PT(m1,y-m2,y)(m1,y-m2,y)TP

=PTSb,yP

两类样本均值:

m1,z=1N1ΣziC1zi=1N1ΣyiC1PTyi=PT1N1ΣyiC1yi=PTm1,y

m2,z=1N2ΣziC2zi=1N2ΣyiC2PTyi=PT1N2ΣyiC2yi=PTm2,y

其中m1,z、m2,z为投影后样本的均值,m1,y、m2,y为原始样本均值。N1、N2为两类样本数目。

类内散度矩阵是所有样本距离该样本中心的散度矩阵之和。Sw,z是全体投影样本的类内散度矩阵。

Sw,z=S1,z+S2,z

=PTS1,zP+PTS2,zP

=PTSw,yP

S1,z、S2,z是两类投影样本的类内散度矩阵。S1,y、S2,y是两类原始样本的类内散度矩阵,Sw,y是全体原始样本的类内散度矩阵。

4.4选取Fisher准则项与重构误差项的比例λ=0.4,求S。

S=Sβ+λ(Sb,y-Sw,y)

4.5求S的特征值与特征向量,选取特征值最大的15个值与之对应的特征向量得到投影矩阵P。

4.6特征提取,特征矩阵z'i=PTy'i,i=1,2,…,5000。

步骤5、预测验证

使用投影矩阵对测试样本进行特征提取,使用步骤4中训练好的SVM分类器进行预测验证。通过选取不同的λ(Fisher准则与重构误差矩阵的比例)、k(样本投影后特征的维数为),可以得到λ=0.4,k=15时具有很好的识别率。

第二部分:

步骤1:

预处理步骤如下:

图像降噪:提高图像质量减少噪声的干扰。

图像增强:提高图像视觉效果与对比度。

焊道提取:提取感兴趣区域,减少非焊缝区域对缺陷检测的影响。

步骤2:

使用M×N滑块遍历图像,步长取L=2,判断滑块是否在焊缝以内,如果在焊缝外则计算下一个位置。

步骤3:

计算滑窗内原始图像与显著性图像的灰度共生矩阵特征与LBP特征。

步骤4:

使用第一部分步骤4中得到的投影矩阵P,进行特征提取,使用第一部分步骤4节中训练好的SVM分类器进行预测,如果预测结果为缺陷,则对矩阵J的M×N滑块区域的值加1。

步骤5:

对矩阵J进行阈值130分割,即矩阵J中大于130的值作为缺陷区域。矩阵J的阈值选择偏小,可以使正检率接近100%,选择偏大,检测出的缺陷区域边缘会更好的近似缺陷形状,便于后续的识别任务。。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号