1.本发明涉及图像处理技术领域,具体涉及基于图像处理的除氧器焊接质量检测方法。
背景技术:2.除氧器是锅炉及供热系统的关键设备之一,除氧器质量会影响锅炉给水管道、省煤器和其它附属设备在生产过程中是否会遭到严重腐蚀,除氧器在使用时需要将其焊接,焊接是一种基本的工件连接方法,焊缝质量会直接影响除氧器的结构使用性能和使用寿命,但是焊接后的焊缝无法避免的会产生各种缺陷,其在降低产品美观的同时,还会影响除氧器的使用性能,因此对除氧器的焊接质量进行检测十分重要。
3.传统的焊缝缺陷检测方法为区域生长算法,选取种子像素点进行区域生长得到焊缝区域的缺陷区域,但是区域生长算法选取种子像素点时,根据缺陷区域像素点灰度值小于正常区域像素点的灰度值这一特征进行随机选取,并进行区域生长得到缺陷区域,该方法在进行区域生长时,是所有缺陷类型共同生长,因此,根据区域生长规则,极易将正常区域生长为缺陷区域,造成缺陷区域的误分,导致最终所得缺陷区域不准确,从而导致除氧器焊接质量评估不准确。
技术实现要素:4.本发明提供基于图像处理的除氧器焊接质量检测方法,以解决现有的区域生长所得缺陷区域不准确的问题。
5.本发明的基于图像处理的除氧器焊接质量检测方法,采用如下技术方案:获取除氧器上的焊缝区域的灰度图像,根据灰度图像中像素点的灰度均值和灰度图像中每列像素点的灰度均值得到灰度图像中的多个正常灰度列和异常灰度列;获取正常灰度列的每行像素点的灰度均值集合,根据正常灰度列的每行像素点的灰度均值集合构建正常灰度列的灰度抛物线函数,根据灰度抛物线函数得到正常灰度列的最大灰度差和正常灰度列的每行像素点的标准灰度值;获取每个异常灰度列中每个像素点的灰度值与该像素点所在行像素点的标准灰度值的差值,根据该差值与最大灰度差得到缺陷像素点的连续序列;获取每个缺陷像素点的连续序列中像素点的灰度值与该像素点所在行像素点的标准灰度值的差值集合,根据每个差值集合中的差值的大小得到穿透缺陷的种子像素点;获取每个缺陷像素点的连续序列中灰度值最小的像素点,计算该灰度值最小的像素点与其所在行的像素点的灰度差得到灰度差序列,根据灰度差序列中的灰度差为正数的个数得到凹陷缺陷的种子像素点;根据穿透缺陷的种子像素点和凹陷缺陷的种子像素点进行区域生长得到穿透缺陷区域和凹陷缺陷区域,根据穿透缺陷区域和凹陷缺陷区域的面积得到焊缝质量。
6.进一步的,所述正常灰度列和异常灰度列是按如下方法确定的:
当灰度图像中每列像素点的灰度均值小于灰度图像中像素点的灰度均值时,该列像素点为异常灰度列;当灰度图像中每列像素点的灰度均值大于等于灰度图像中像素点的灰度均值时,该列像素点为正常灰度列。
7.进一步的,所述正常灰度列的最大灰度差是按如下方法确定的:获取正常灰度列中每个像素点的灰度值和该像素点所在行像素点的标准灰度值的差值;选取最大差值作为正常灰度列的最大灰度差。
8.进一步的,所述缺陷像素点的连续序列是按如下方法确定的:根据每个异常灰度列中每个像素点的灰度值与该像素点所在行像素点的标准灰度值的差值得到多个差值序列;当差值序列中的差值大于最大灰度差时,该差值对应的像素点为疑似缺陷像素点;获取每个差值序列中连续出现的疑似缺陷像素点,当连续出现的疑似缺陷像素点的长度大于该差值序列长度的0.1倍时,该连续出现的疑似缺陷像素点为缺陷像素点连续序列。
9.进一步的,所述得到穿透缺陷的种子像素点的方法是:获取正常灰度列的每行像素点的标准灰度值中的最大值和最小值;将每行像素点的标准灰度值中的最大值和最小值之差作为标准灰度差;统计每个差值集合中差值大于标准灰度差的差值个数,根据每个差值集合中差值大于标准灰度差的差值个数与对应差值集合中的差值个数的比值得到该差值集合对应的缺陷像素点的连续序列中存在穿透缺陷像素点的概率;当该缺陷像素点的连续序列中存在穿透缺陷像素点的概率大于预设阈值时,将该缺陷像素点的连续序列中灰度值最小的像素点作为穿透缺陷的种子像素点。
10.进一步的,所述灰度差序列是按如下方法确定的:当该灰度值最小的像素点与其所在行的像素点的灰度差为正数时,将该灰度差记为;当该灰度值最小的像素点与其所在行的像素点的灰度差为负数时,将该灰度差记为;当该灰度值最小的像素点与其所在行的像素点的灰度差为0时,将该灰度差记为0,并得到灰度差序列。
11.进一步的,所述得到凹陷缺陷的种子像素点的方法是:根据灰度差序列中的灰度差为正数的个数与灰度差序列中灰度差个数的比值得到该缺陷像素点的连续序列中存在凹陷缺陷像素点的概率;当该缺陷像素点的连续序列中存在凹陷缺陷像素点的概率大于预设阈值时,将该缺陷像素点的连续序列中灰度值最小的像素点作为凹陷缺陷的种子像素点。
12.进一步的,所述得到穿透缺陷区域和凹陷缺陷区域的方法是:分别获取穿透缺陷的种子像素点和凹陷缺陷的种子像素点的灰度值;
获取穿透缺陷的种子像素点的8邻域内每个像素点的灰度值和该8邻域内每个像素点对应的标准灰度值的差值,将该差值作为穿透缺陷对应的目标差值;获取穿透缺陷的种子像素点的灰度值与该穿透缺陷的种子像素点8邻域内每个像素点的灰度差值,将该灰度差值作为穿透缺陷对应的灰度差值;获取抛物线函数纵向的最大高度差,当穿透缺陷对应的目标差值大于最大高度差,且穿透缺陷的种子像素点的8邻域内像素点对应的穿透缺陷对应的灰度差值小于最大高度差时,将该像素点与穿透缺陷的种子像素点连通;将穿透缺陷的种子像素点的8邻域内连通的像素点继续作为穿透缺陷种子像素点,同理对其8邻域进行的像素点进行连通,直到穿透缺陷种子像素点8邻域内的像素点无满足穿透缺陷对应的灰度差值小于最大高度差的像素点时,停止区域生长得到穿透缺陷区域;同理,得到凹陷缺陷对应的目标差值和凹陷缺陷对应的灰度差值,获取抛物线函数中相邻函数值的最大差值,根据凹陷缺陷的种子像素点的灰度值、凹陷缺陷对应的目标差值和凹陷缺陷对应的灰度差值进行区域生长得到凹陷缺陷区域。
13.本发明的有益效果是:本发明首先根据灰度图像的整体灰度均值和每列像素点的灰度均值粗略的划分灰度图像中存在缺陷的列和正常列,根据正常列构建抛物线函数,其中,抛物线函数表征了正常列每行的正常灰度值,即每行灰度值的基准值,再根据异常列和每行灰度值的基准值的差异得到了缺陷像素点的连续序列,由于该缺陷像素点的连续序列是根据多个基准值得到的,因此,相比于直接根据灰度值获取缺陷像素点更加准确;对缺陷像素点的连续序列进一步进行分析,根据该缺陷像素点的连续序列中像素点的灰度值和对应的基准值的差值得到穿透缺陷种子像素点,根据该缺陷像素点的连续序列中的灰度值最小的像素点得到凹陷缺陷的种子像素点,其中,获取穿透缺陷种子像素点和凹陷缺陷的种子像素点分别结合了穿透缺陷和凹陷缺陷在焊缝区域的分布特征,二次细分缺陷类型的种子像素点,最终实现了区域生长的自适应,使得最终所得缺陷区域更加准确,根据缺陷区域对除氧器的焊接质量进行评估,评估结果也更加准确。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1为本发明的基于图像处理的除氧器焊接质量检测方法的实施例的流程图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.本发明的基于图像处理的除氧器焊接质量检测方法的实施例,如图1所示,包括:
除氧器对密封性要求高,而造成焊缝过凸起的缺陷可通过后期打磨去除,但气孔和烧穿等缺陷会造成焊缝凹陷或者穿透,其对焊接质量的影响较大,需要重新进行焊接处理,因此本方案主要检测焊缝凹陷和穿透的缺陷。
18.s1、获取除氧器上的焊缝区域的灰度图像,根据灰度图像中像素点的灰度均值和灰度图像中每列像素点的灰度均值得到灰度图像中的多个正常灰度列和异常灰度列。
19.获取除氧器上的焊缝区域的灰度图像的具体步骤为:使用厂房穹顶灯光进行照明,利用工艺相机采集除氧器上焊缝图像,采用dnn语义分割的方式来识别分割图像中的目标获取除氧器上的焊缝区域图像,该dnn网络的相关内容为使用的数据集为俯视采集的除氧器上焊接区域图像数据集;需要分割的像素,共分为2类,即训练集对应标签标注过程为:单通道的语义标签,对应位置像素属于背景类的标注为0,属于焊缝的标注为1;网络的任务是分类,所以使用的loss函数为交叉熵损失函数。至此,通过dnn实现了除氧器上焊接区域图像的处理,得到了焊缝区域图像,对焊缝区域图像进行灰度化处理,利用自适应中值滤波进行去噪处理,再使用直接线性拉伸法进行图像增强处理,最终得到除氧器上的焊缝区域的灰度图像。
20.获取正常灰度列和异常灰度列的具体步骤为:获取灰度图像中每列像素点的灰度均值,获取灰度图像中所有像素点的灰度均值,当灰度图像中每列像素点的灰度均值小于灰度图像中像素点的灰度均值时,该列像素点为异常灰度列;当灰度图像中每列像素点的灰度均值大于等于灰度图像中像素点的灰度均值时,该列像素点为正常灰度列。
21.s2、获取正常灰度列的每行像素点的灰度均值集合,根据正常灰度列的每行像素点的灰度均值集合构建正常灰度列的灰度抛物线函数,根据灰度抛物线函数得到正常灰度列的最大灰度差和正常灰度列的每行像素点的标准灰度值。
22.由于焊缝中凹陷或者穿透的缺陷会影响图像中列像素灰度值变化规律,因此需要先选取列像素灰度值变化规律置信度较高的非缺陷区域,进行像素灰度值变化的抛物线拟合,表示标准的像素灰度值,用以后续的缺陷精准识别。
23.构建正常灰度列的灰度抛物线函数的具体步骤为:获取正常灰度列的每行像素点的灰度均值集合,,其中表示正常灰度列中的第一行的纵坐标值,表示正常灰度列中的最后一行的纵坐标值。再对集合进行灰度抛物线拟合,拟合的灰度抛物线函数的具体表达式为:式中:表示正常灰度列的第i行像素点的标准灰度值,表示正常灰度列的第i行像素点,,a、b、c为常数。抛物线拟合为现有技术。
24.得到正常灰度列的最大灰度差和正常灰度列的每行像素点的标准灰度值的具体步骤为:获取正常灰度列中每个像素点的灰度值和该像素点所在行像素点的标准灰度值的差值,选取最大差值作为正常灰度列的最大灰度差;将正常灰度列的每行坐标输入灰度抛物线函数所得结果为对应行像素点的标准灰度值。
25.需要说明的是,凹陷和穿透缺陷区域的像素点灰度值应远小于对应的拟合像素灰度值,对于造成焊缝穿透的缺陷,其缺陷深度应远大于焊缝高于母材的高度,故其所有缺陷
像素点灰度值与对应的标准拟合像素灰度值的差异应远大于焊缝本身高度变化造成的灰度差异。而正常像素点灰度值与对应的标准拟合像素灰度值的差异不会大于焊缝本身高度变化造成的灰度差异。
26.s3、获取每个异常灰度列中每个像素点的灰度值与该像素点所在行像素点的标准灰度值的差值得到缺陷像素点的连续序列。
27.根据每个异常灰度列中每个像素点的灰度值与该像素点所在行像素点的标准灰度值的差值得到多个差值序列;其中,每个异常灰度列对应一个差值序列。
28.当差值序列中的差值大于最大灰度差时,该差值对应的像素点为疑似缺陷像素点;获取每个差值序列中连续出现的疑似缺陷像素点,当连续出现的疑似缺陷像素点的长度大于该差值序列长度的0.1倍时,该连续出现的疑似缺陷像素点为缺陷像素点的连续序列。据此,得到所有缺陷像素点的连续序列。
29.s4、获取每个缺陷像素点的连续序列中像素点的灰度值与该像素点所在行像素点的标准灰度值的差值集合,根据每个差值集合中的差值的大小得到穿透缺陷的种子像素点。
30.得到穿透缺陷的种子像素点的具体步骤为:获取每个缺陷像素点的连续序列中像素点的灰度值与该像素点所在行像素点的标准灰度值的差值集合,获取正常灰度列的每行像素点的标准灰度值中的最大值和最小值;将每行像素点的标准灰度值中的最大值和最小值之差作为标准灰度差;统计每个差值集合中差值大于标准灰度差的差值个数,根据每个差值集合中差值大于标准灰度差的差值个数与对应差值集合中的差值个数的比值得到该差值集合对应的缺陷像素点的连续序列中存在穿透缺陷像素点的概率;当该缺陷像素点的连续序列中存在穿透缺陷像素点的概率大于90%时,将该缺陷像素点的连续序列中灰度值最小的像素点作为穿透缺陷的种子像素点。
31.s5、获取每个缺陷像素点的连续序列中灰度值最小的像素点,计算该灰度值最小的像素点与其所在行的像素点的灰度差得到灰度差序列,根据灰度差序列中的灰度差为正数的个数得到凹陷缺陷的种子像素点。
32.对于焊缝凹陷,其从凹陷最深像素点向四周灰度递增的变化,而正常像素点的变化符合抛物线变化,因此根据像素点与周围像素点的灰度差判断凹陷缺陷种子像素点。
33.得到灰度差序列的具体步骤为:当该灰度值最小的像素点与其所在行的像素点的灰度差为正数时,将该灰度差记为1;当该灰度值最小的像素点与其所在行的像素点的灰度差为负数时,将该灰度差记为-1;当该灰度值最小的像素点与其所在行的像素点的灰度差为0时,将该灰度差记为0,并得到灰度差序列。
34.得到凹陷缺陷的种子像素点的具体步骤为:根据灰度差序列中的灰度差为正数的个数与灰度差序列中灰度差个数的比值得到该缺陷像素点的连续序列中存在凹陷缺陷像素点的概率;当该该缺陷像素点的连续序列中存在凹陷缺陷像素点的概率大于90%时,将该缺陷像素点的连续序列中灰度值最小的像素点作为凹陷缺陷的种子像素点。
35.s6、根据穿透缺陷的种子像素点和凹陷缺陷的种子像素点进行区域生长得到穿透缺陷区域和凹陷缺陷区域,根据穿透缺陷区域和凹陷缺陷区域的面积得到焊缝质量。
36.穿透缺陷和凹陷缺陷区域内的像素灰度变化存在较大的差异,传统的区域生长算法的生长规则统一,因此单一的生长阈值易造成缺陷区域的误分,并且两类缺陷对焊接质
量的影响不同,单一阈值生长分割缺陷区域,无法将两类缺陷区分。因此需要针对不同的缺陷设置不同的生长规则。
37.获取穿透缺陷的种子像素点的灰度值;获取穿透缺陷的种子像素点的8邻域内每个像素点的灰度值和该8邻域内每个像素点对应的标准灰度值的差值,将该差值作为穿透缺陷对应的目标差值;获取穿透缺陷的种子像素点的灰度值与该穿透缺陷的种子像素点8邻域内每个像素点的灰度差值,将该灰度差值作为穿透缺陷对应的灰度差值;获取抛物线函数纵向的最大高度差,当穿透缺陷对应的目标差值大于最大高度差,且穿透缺陷的种子像素点的8邻域内像素点对应的穿透缺陷对应的灰度差值的绝对值小于最大高度差时,将该像素点与穿透缺陷的种子像素点连通;将穿透缺陷的种子像素点的8邻域内连通的像素点继续作为穿透缺陷种子像素点,同理对其8邻域进行的像素点进行连通,直到穿透缺陷种子像素点8邻域内的像素点无满足穿透缺陷对应的灰度差值的绝对值小于最大高度差的像素点时,停止区域生长得到穿透缺陷区域;具体表达式为:式中:表示穿透缺陷的种子像素点的8邻域内第g个像素点对应的标准灰度值和该穿透缺陷的种子像素点灰度值的差值,表示穿透缺陷的种子像素点的灰度值,表示穿透缺陷的种子像素点的8邻域内第g个像素点的灰度值,表示抛物线函数纵向的最大高度差,表示穿透缺陷的种子像素点的8邻域内第g个像素点为穿透缺陷像素点的概率。
38.其中,穿透缺陷表现为缺陷处不存在焊缝,因此穿透缺陷的像素点与其对应的正常像素点的灰度差应大于g值,故穿透缺陷边缘点与正常点的灰度差也应大于g值,故当种子点的邻域像素点同时符合这两个条件时,该像素点为穿透缺陷像素点的概率为1时与种子点进行合并连通,将穿透缺陷的种子像素点的8邻域内连通的像素点继续作为穿透缺陷种子像素点,同理对其8邻域进行的像素点进行连通,直到穿透缺陷种子像素点8邻域内的像素点无满足穿透缺陷对应的灰度差值小于最大高度差的像素点时,停止区域生长得到穿透缺陷区域;而穿透缺陷的种子像素点的8邻域内的像素点不同时满足时,该像素点为穿透缺陷像素点的概率为0,不参与区域生长。
39.同理,得到凹陷缺陷对应的目标差值和凹陷缺陷对应的灰度差值,根据凹陷缺陷的种子像素点的灰度值、凹陷缺陷对应的目标差值、凹陷缺陷对应的灰度差值和抛物线函数中相邻函数值的最大差值进行区域生长得到凹陷缺陷区域,抛物线中相邻数值的差异为,其中,取差异数据中的最大值h,即相邻
函数值的最大差值,凹陷缺陷边缘像素点与正常像素点的灰度差异值应大于h,故凹陷缺陷种子像素点8邻域像素点为凹陷缺陷像素点的概率的具体表达式为:式中:表示凹陷缺陷的种子像素点的8邻域内第r个像素点对应的标准灰度值和该凹陷缺陷的种子像素点灰度值的差值,表示凹陷缺陷的种子像素点的灰度值,表示凹陷缺陷的种子像素点的8邻域内第r个像素点的灰度值,表示相邻函数值的最大差值,表示凹陷缺陷的种子像素点的8邻域内第r个像素点为凹陷缺陷像素点的概率。该公式与穿透缺陷种子点8邻域像素点为穿透缺陷像素点的概率表达式逻辑类似,可获得凹陷缺陷区域,本发明不再赘述。
40.根据穿透缺陷区域和凹陷缺陷区域的面积得到焊缝质量的具体步骤为:获取焊缝上穿透缺陷区域的面积和凹陷缺陷区域的面积。故该焊缝质量s为:式中:为焊缝上的穿透缺陷面积,为焊缝上的凹陷缺陷面积,和分别为穿透缺陷和凹陷缺陷对应权值,s表示焊缝质量。
41.其中,穿透缺陷相较于凹陷缺陷对焊缝的损伤更为严重,因此本发明中的值为0.8,的值为0.2,穿透缺陷和凹陷缺陷均为焊缝缺陷,因此两者加权求和可反映焊缝质量,越大焊缝质量越差。
42.选取10张焊缝质量较差,需要敲掉重新焊接的焊缝图像,根据本发明的方式计算各图像内的焊缝质量s,取这组数据的均值为,以为阈值,若当前焊缝的质量,则敲掉该焊缝,控制焊接设备重新焊接。否则根据各缺陷区域在灰度图像内的坐标位置,控制焊接设备对检测出的缺陷区域进行补焊操作,保证除氧器的焊接质量。
43.本发明的有益效果是:本发明的有益效果是:本发明首先根据灰度图像的整体灰度均值和每列像素点的灰度均值粗略的划分灰度图像中存在缺陷的列和正常列,根据正常列构建抛物线函数,其中,抛物线函数表征了正常列每行的正常灰度值,即每行灰度值的基准值,再根据异常列和每行灰度值的基准值的差异得到了缺陷像素点的连续序列,由于该缺陷像素点的连续序列是根据多个基准值得到的,因此,相比于直接根据灰度值获取缺陷像素点更加准确;对缺陷像素点的连续序列进一步进行分析,根据该缺陷像素点的连续序列中像素点的灰度值和对应的基准值的差值得到穿透缺陷种子像素点,根据该缺陷像素点的连续序列中的灰度值最小的像素点得到凹陷缺陷的种子像素点,其中,获取穿透缺陷种子像素点和凹陷缺陷的种子像素点分别结合了穿透缺陷和凹陷缺陷在焊缝区域的分布特征,二次细分缺陷类型的种子像素点,最终实现了区域生长的自适应,使得最终所得缺陷区域更加准确,根据缺陷区域对除氧器的焊接质量进行评估,评估结果也更加准确。
44.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精
神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。