基于分形方法的载人压力容器内壁缺陷可视化检测方法

2021-12-27 07:12张鹏丛林
机械制造与自动化 2021年6期
关键词:轮廓线凹坑内壁

张鹏,丛林

(烟台宏远氧业股份有限公司,山东 烟台 264004)

0 引言

由于高压氧舱的工作环境处于高压下,对各部分的要求都比较高,高压氧舱的缺陷检测成为热点之一。高压氧舱在使用过程中,不可避免地会对内壁造成一定程度的损伤,如划痕、凹坑等缺陷。在高压环境的作用下,一些小缺陷会不断放大,如果不及时发现和处理,将造成严重后果。对此,国内外相关学者展开了大量研究,其中,国外学者专注于硬件设计部分,如渐开式外开舱门等,而国内学者专注于软件优化部分,如文献[1]反应堆压力容器内壁面异种金属焊接缺陷的修复及力学评价方法和文献[2]研究的收发式X型涡流检测探头在压力容器顶盖焊缝检测中的运用成果。

分形方法对零散、连续、关联度小、非均衡、长期相关的问题具有很好的统计效果[3]。因此,本文在分形方法的基础上,提出了载人压力容器内壁缺陷可视化检测方法。根据不同的缺陷类型,确定相应的判别依据。本文以凹坑缺陷为例,其创新之处在于对目标缺陷中间隔的区域进行填充,将其他缺陷类型的干扰信息剔除干净,保留凹坑缺陷信息,测量其轮廓线长度和外接圆圆度,选取符合条件的轮廓线进行拟合处理,利用腐蚀运算和膨胀运算实现对缺陷的检测,为提升其有效性以及准确率提供保障。

1 基于分形方法的缺陷参数确定

1.1 分形维数的确定

分形维数不仅对整数有效[4],对分数同样有效。

可通过以下幂指数分布来定义分形维数:

(1)

式中:r为特征线度,如时间、长度等,本文取时间的定义,第1年表示为r1=1,第2年表示为r2=2;N为与r有关的数目,如缺陷指数等;C为常数项;D为分维数。

本文中,D为常数项,任意取两点(Ni,ri)、(Nj,rj),作为分形参数使用,也就是D和C的值,即有:

D=ln(Ni/Nj)/ln(rj,ri)

(2)

C=NirD

(3)

在计算对数时数值不能为负数,所以当Ni中含有负数值时,必须对所有N值添加一个常数项保证所有数为整数,即将所有N值进行平移处理。为了使计算结果更精确,可在计算之前对所有N值先进行平移处理后再代入式中进行计算。

1.2 变换形成的分形

在实际运算时,只给出了数据点信息[5],它们之间的函数关系是未知的,因此需要变换R或者N,使得数据点信息可以采用本文的分形方法来处理。累积和变换步骤如下。

步骤一:将数据点(Ni,ri)置入双对数坐标中,为了使数据点与分形模型融合,将Ni置换为一个基本序列:

{Ni}={N1,N2,N3,…}(i=1,2,…,n)

(4)

其他的序列也可根据这种基本序列来构造。假设构造一阶累积和序列S1,其中S11=N1,S12=N1+N2,S13=N1+N2+N3等,以此类推可构造二阶、三阶累积和序列,则有:

{S1i}={N1,N1+N2,N1+N2+N3,…} (i=1,2,…,n)

{S2i}={S11,S11+S12,S11+S12+S13,…} (i=1,2,…,n)

{S3i}={S21,S21+S12,S21+S22+S23,…} (i=1,2,…,n)

{S4i}={S31,S31+S32,S31+S32+S33,…} (i=1,2,…,n)

(5)

步骤二:将数据点(S1i,ri)(i=1,2,…,n)置入双对数坐标中,获得离散的分形模型。

步骤三:将各阶累积和构成的数据点分别置于双对数坐标上,与分形分布模型进行对比,选择效果最佳的变换并得到相应的分形参数,即本文中的缺陷参数。利用分形方法,将数据点信息置于双对数坐标上来构建各阶累积和,并将各阶累积和构成的数据点同样置于双对数坐标上,以此选取最佳的分形参数作为缺陷参数。

2 载人压力容器内壁缺陷可视化检测模型

本文为了获取高压氧舱内壁缺陷图像,利用移动相机在不同的内壁位置获取完整的图像信息。

2.1 通过边缘检测获得内壁缺陷

凭借Canny算子完成对缺陷的边缘检测,通过计算缺陷图像中各个点的一阶差分获得各点梯度的幅值和方向,从而实现对缺陷图像的边缘检测[6]。

Canny算子实现边缘检测的过程为:

1)计算各点梯度的幅值和方向

对图像进行平滑处理,即利用σ=2的高斯滤波,对图像各点进行差分计算,根据式(6)的一元差分方程计算得到二元一阶差分方程:

(6)

G(i,j)=|f(i,j)-f(i+1),(j+1)|+|f(i+1,j)-f(i,j-1)|

(7)

Canny算子利用两个矩阵分别对各个梯度的x方向和y方向求卷积值,以此获得该梯度的幅值和方向。x方向和y方向卷积算子的计算式为

(8)

通过式(8)计算可得到x方向和y方向的一阶偏导值,各个梯度的幅值和方向为:

P(i,j)=[f(i,j+1)-f(i,j)+f(i+1,j+1)-f(i+1,j)]/2
Q(i,j)=[f(i,j)-f(i+1,j)+f(i,j+1)-f(i+1,j+1)]/2

(9)

(10)

2)梯度幅值的非极大值抑制

对图像中各点梯度的最大值和极大值点做非极大值抑制处理,即可使缺陷的边缘逐渐细化。

3)双阈值算法的缺陷检测和边缘连接

运用T1和T2(T1

图1 Canny算子缺陷提取结果

2.2 缺陷拟合获得完整的缺陷轮廓

获取缺陷图像的边缘信息后,可能会出现轮廓不完整的情况,而且Canny算子提取的是所有缺陷的边缘信息,本文仅对凹坑缺陷进行分析,所以需要将其他类型的缺陷剔除掉,只保留凹坑缺陷的边缘信息[7]。

Canny算子的检测结果中多多少少包含了一些其他类型的缺陷信息,根据每种缺陷类型的几何特点,实施以下步骤完成对缺陷轮廓的筛选和拟合:

1)凹坑缺陷的轮廓线长度在1~1 000像素之间,所以将不在范围内的轮廓线去除;

2)对保留下来的轮廓线进行拟合处理;

3)轮廓线最外层的最小外接圆,圆度保持在0.4~0.6之间,轮廓线≥20像素;

4)对保留下来的轮廓线再次进行拟合处理。

通过以上4个步骤即可将其他类型的缺陷剔除干净,只保留凹坑缺陷信息,并获得了清晰的轮廓图像。其中外接椭圆的圆度计算公式如下:

(11)

(12)

(13)

式中:p为外接椭圆中心点;p_i为外接椭圆轮廓上各点;F为外接椭圆的面积。

筛选后各个亚像素轮廓即待拟合的区域[8],相邻两条轮廓线之间的最大距离为d≤MaxDistAbs、最大相对距离为d/l≤MaxDistRel;二者之间延长线的最大距离为s≤MaxShift,最大角度为α≤MaxAngle,对轮廓线拟合情况的判别示意图如图2所示。针对不同的缺陷类型,轮廓线拟合参数为:划痕缺陷的轮廓线拟合参数MaxDistAbs=30,MaxDistRel=1,MaxShift=2,α=π/12。容器内壁缺陷的第一次轮廓线拟合参数为MaxDistAbs=10,MaxDistRel=1,MaxShift=10,α=π/6。第二次轮廓线拟合参数为MaxDistAbs=30,MaxDistRel=1,MaxShift=10,α=π/3。

图2 缺陷轮廓拟合条件

2.3 凹坑缺陷表征化处理

在检测高压氧舱内壁凹坑缺陷时,还需对平面缺陷做有规则的表征化处理,处理后的图像统一为圆形或者矩形。所以,在拟合轮廓线之前,需要将凹坑缺陷信息转换为区域单位。对完成转换的缺陷类型进行一系列的形态学处理,使缺陷图像变得有规则、可合并。

a)形态学处理规则

1)腐蚀运算与膨胀运算

利用腐蚀运算可有效缩小图像中的目标区域轮廓。实现步骤为:首先确定结构元素和中心点信息,并以中心点作为结构元素的中心坐标,在目标图像上遍历。遍历的过程中,将可以被区域完全包含的结构元素坐标保留下来,建立集合L存储这些坐标信息。最后,将集合L中所有的坐标点连接在一起,形成的区域即为腐蚀运算的结果。假设A、B分别为二维图像Z2中的一个子集,那么A被B的腐蚀运算过程可分为以下3种:

A⊙B={c∈Z2}|c+b∈A,∨b∈B

A⊙B={c∈Z2|Bc∈A}

A⊙B=∪b∈BA-b

(14)

在遍历过程中,将可以被区域完全包含的结构元素坐标点、区域外的点、与结构元素有交集的点全部保留下来,将两种坐标取并集,并用集合L表示。最后,将集合L内所有的坐标点连接在一起,形成的区域即为膨胀运算结果。假设A、B分别为二维图像中的一个子集,则A被B膨胀的过程可以表示为

A⊕B={c∈Z2|c=a+b,a∈A,b∈B}

A⊕B=∪b∈BMb

(15)

以此,可以切断区域之间的连接,直接过滤出小而独立的点区域,缩小缺陷区域的轮廓信息。

2)开运算和闭运算

在特定区域内,对于同一个结构元素来说,先对其进行腐蚀运算再进行膨胀运算。假设A、B分别为二维图像Z2中的一个子集,用A对B实施开运算的过程为

A·B=(A⊙B)⊕B

(16)

闭运算是对目标图像先膨胀后腐蚀的过程,与开运算恰恰相反。假设A、B分别为二维图像Z2中的一个子集,用A对B实施闭运算的过程为

A·B=(A⊕B)⊙B

(17)

开运算可有效消除图像中的细小对象、平滑区域边缘和分离区域,但可保留图像中符合结构元素的区域。

闭运算可有效填充图像中的细小对象、连接相邻的区域以及将间隔的小区域融合在一起等。

b)凹坑缺陷检测

为了确保得到一个完整的缺陷信息,并且能有效合并,在综合对比了多个尺寸后,本文采用半径为3.5个像素的圆形结构对缺陷区域做膨胀操作。检测目标缺陷和完成区域转换后的目标缺陷以及经过膨胀操作后的效果如图3所示。

图3 膨胀操作结果

经过膨胀运算后,每个缺陷中的细小区域都可进行合并,但如图3所示,部分缺陷内部存在孔洞,部分区域并不能很好地实现连接。为了解决这个问题,本文在进行膨胀运算后对存在孔洞的区域又进行了闭运算。

将实际缺陷尺寸测量结果与计算后的缺陷尺寸结果对比,根据阈值标准来判断该高压氧舱是否合理,若不合格,将缺陷表明、注释。

3 仿真实验

为了检测本文方法的有效性,在缺陷检测和准确率两方面进行实例的仿真实验,以山东半岛国家自主创新示范区为实验环境,在深海载人潜水系统中,以2 m×4 m×9 m压力容器为实验对象,设工作温度为37 ℃,工作压力为14.4/4.0 MPa,焊接系数为0.85,X射线检验为15%,试验压力为16.5 MPa,实验过程如下所示:

当发现压力容器内壁有磕痕后,排除那些遗留下来的“先天缺陷”,采用水平测量仪对构件吊具水平度进行复测,检验使用中产生的“后天缺陷”,以防止压力容器失效和突然事故的发生。其中,泵进3处,纵缝6处,环缝和飘缝各5处,共19处缺陷,长度平均值为5.64 mm。在载人压力容器内固定相机并进行图像采集,进行多次仿真实验和实验结果,从中随机抽取5次实验数据如表1所示。

表1 实验结果

注:偏差率的计算公式为(偏差值/实际缺陷个数的值)×100%。

如表1所示,在同一实验环境下,本文方法可以有效检测出容器内壁的缺陷,稳定成像,符合现场实际应用条件,由此可以证明本文方法在缺陷检测方面具有较强的有效性。

4 结语

为了解决高压氧舱内壁出现细小缺陷而导致的安全性问题,本文提出了基于分形方法的载人压力容器内壁缺陷可视化检测方法,利用Canny算子实现对缺陷的提取、边缘轮廓的拟合和缺陷规则化处理等,实现对容器内壁缺陷的有效检测,有效解决了成像难、缺陷检测困难的问题。

值得一提的是,根据缺陷类型的不同,修改算法参数和相关阈值数,可实现对其他缺陷类型的检测。

猜你喜欢
轮廓线凹坑内壁
立体图像任意剖面轮廓线提取方法仿真研究
垣曲北白鹅墓地出土的青铜匽姬甗(M3:10)
腐蚀凹坑干涉效应与疲劳寿命计算
含有不同间距凹坑缺陷的发酵罐应力分析与计算
基于HTML5的凸轮廓线图解法App教学软件研究
膀胱内壁子宫内膜异位1例
集流管内壁冲压模具设计
含凹坑缺陷结构疲劳寿命的快速估算方法
核电反应堆压力容器顶盖J型接头内壁残余应力
基于鼻子下轮廓线的鼻尖定位法