APP下载

大功率激光焊接图像边缘检测系统的实现

2020-06-20潘高超刘飞朋顾菊平

机械设计与制造 2020年6期
关键词:彩色图像熔池像素点

华 亮 ,潘高超 ,刘飞朋 ,顾菊平

(1.南通大学电气工程学院,江苏 南通 226019;2.南通大学江苏省新能源装备及其智能测控重点实验室,江苏 南通 226019)

1 引言

激光焊接技术是一种高效的、高质量的焊接技术,其具有能量密度大、焊接速率快、焊接质量好、线能量输入小等长处[1]。为了充分利用激光焊接的优点,提高生产效率和质量,焊接过程的实时检测与评估多年来一直被研究[2-5]。Park经过对CO2激光焊接过程中红外和紫外光的检测和分析,实现了基于模糊理论的光线与熔池误差问题的识别[6]。文献[7]把CO2激光焊接TA15钛合金作为研究对象,研究了红外辐射特性,并通过监测设备发现激光焊接过程中热输入和熔池成形的影响,完成了焊接过程的稳定性观察。文献[8]通过对高速相机获取的光纤激光焊接图像的分析,明确了等离子体波动与关键孔之间的关系,实现了焊接质量的实时检测。这些系统通常基于PC机,成本较高,对激光焊接质量实时监控专用集成电路的研究较少。处理焊接的熔池图像,四元数是一个很好的工具[9-10]。四元数是Clifford代数的子代数,数学家通常称之为几何代数[11]。FPGA一直被用来解决复杂系统和实时性要求高的问题。Franchini提出了一个在Clifford代数框架下给出的几何向量的彩色图像边缘检测方法和架构,并已成功地在FPGA板上实现了多光谱磁共振(MR)图像的特征提取[12]。在RGB颜色空间,可以用四元数使激光焊接彩色图像的三个颜色通道(RGB)作为一个整体,这种方法用来处理彩色图像边缘检测问题,优势明显。基于FPGA和四元数的方法,研制了高强度低合金厚钢板的激光焊接彩色熔池图像边缘提取专用集成电路,以舰用钢HSLA-115为对象,验证了系统的可行性。

2 基于四元数的彩色图像边缘检测

2.1 三维向量空间中的四元数旋转

四元数旋转的基本原理如下:

假设一个空间向量Q(x,y,z)以一个单位四元数u为旋转轴,旋转2θ度。此时,向量Q为一个纯虚四元数Q=xi+yi+zk。经过推导,可以证明,该向量的旋转结果如下:

如果令U=cosθ+usinθ,则上式可化简为:

图1 四元数旋转示意Fig.1 The Image of Quaternion Rotation

2.2 引入欧氏距离变换

在RGB空间中,用R、G和B的三个相等分量表示的灰度向量,可以作为判断彩色图像边缘的标尺。假设将某一单位灰度矢量作为旋转轴,当旋转角θ=π/2时,那么对应的旋转矢量。任一彩色图像的像素矢量对应的纯四元数q,对其进行Rq变换。即,将矢量q以r为旋转轴旋转π角度,也就是把矢量q以单位灰度矢量r为轴,作轴对称变换。在作轴对称后,进行q+Rq的运算,其结果必定是一个RGB三分量值相等的四元数[19]。根据这一特性,则对于任意的两个彩色图像像素矢量q1和q2,对其做q2+Rq1的运算,若q1和q2完全相同的话,则其运算结果必定为一个灰度矢量(即RGB三分量值相等)。若q1和q2色调相近,那么其运算结果也必定趋近于灰度矢量。故根据所得到的结果中三分量值的相近程度,就可以判断出当前彩色图像像素点是否为图像的边缘点。彩色图像像素的邻域示意图,如图2所示。

需要对当前所要进行判断的像素点的相邻两像素点进行运算,例如 q(m-1,n-1)+Rq(m-1,n+1)。为了充分考虑当前像素点所处的环境,文中会采取对3*3领域内的像素点做配对运算,同时考虑到各向异性的问题,会当前像素点进行的周围像素点进行多向配对运算,例如对于图二中的点(m,n),会分别将其周围的与点(m-1,n-1)与点(m+1,n+1)点(m-1,n)与点(m+1,n)、点(m-1,n+1)与点(m+1,n-1)以及点(m,n-1)与点(m,n+1)即对其纵向、横向、以及斜向的对应的两个像素点进行配对运算,然后再对各对结果进行求和。

图2 像素邻域示意图Fig.2 Schematic Diagram of Pixel Neighborhood

得到结果后,就需要衡量RGB三分量的值是否相近,而这实质上是衡量结果矢量的纯虚四元数部分和与其最模接近的灰度矢量的相近程度,而两个矢量的相近程度通常用欧几里得距(Euclidean distance)来衡量。

三维空间的欧几里得距离计算公式如下:

当两矢量的欧几里得距离接近或等于0时,可认为该点是非边缘点;反之,则可以认为该点为边缘点。

3 基于FPGA的四元数运算精度分析

在设计中,硬件采用Altera公司的Cyclone III系列:EP3C2-5Q240C8N和外部晶振为50 MHz。在程序中,每个四元数被分成四个16位二进制数据进行运算,乘法器是FPGA的嵌入式乘法器。我们使用Quartus II软件设计程序在FPGA实现,和ModelSim软件进行仿真分析。两个随机数A和B,他们加、减、乘、倒数和共轭运算的结果,如表1~表5所示。

表1 四元数加法运算结果及分析Tab.1 Addition Results and Analysis

表2 四元数减法运算结果及分析Tab.2 Subtraction Results and Analysis

表3 四元数乘法运算结果及分析Tab.3 Multiplication Results and Analysis

表4 四元数倒数运算结果及分析Tab.4 Reciprocal Results and Analysis

表5 四元数共轭运算结果及分析Tab.5 Conjugate Operation Results and Analysis

以上是采用FPGA进行四元数基本运算的误差分析,后续设计的所有运算都是在这几种基本运算基础上拓展开来的。在测试中,操作过程是用二进制形式表示的,采用16位数据中的低8位表示小数。如表所示,基于FPGA的硬件计算误差主要来自十六进制转换误差。从表格的绝对误差和相对误差来看,基于FPGA的四元数运算误差很小,结果精度高,完全可以满足图像处理系统的需要。

4 焊接图像采集与处理系统的设计

系统设计的主要框图,如图3所示。

图3 系统设计框图Fig.3 The Design Block Diagram of System

系统设计框图,如图3所示。摄像头采集图像,并输入FPGA,最终采用TFT液晶显示屏进行可视化处理;框图中整个系统的核心模块是图像处理模块,整个过程是将激光焊接熔池彩色图像直接导入到FPGA中,通过基于四元数旋转所构建的滤波器进行滤波去噪以及边缘提取,同时完成边缘提取后的图像的存储和显示。

4.1 矢量中值滤波算法的FPGA实现

对于这样一个 3*3 的滤波窗口中,A、B、C、D、E、F、G、H、I分别表示在该滤波窗口中的对应像素点,如图4所示。对于像素点A来说,考虑其周围的八个点,计算每个点与其他七个点之间的欧几里得距的和,找出其中最小的一组,并用来代替中心点A的值,以达到滤波的效果。在实际操作过程中,因FPGA中开平方的运算时间和资源消耗较大,因此省略了开平方的运算,直接用开平方之前的和。这样做对滤波器的输出影响并不大。

图4 匹配像素的位置Fig.4 The Position of Matched Pixel

矢量中值滤波器的算法流程图,如图5所示。

图5 滤波器的流程图Fig.5 The Flow Chart of Filter

基于四元数的旋转和欧氏距离的边缘检测算法流程图,如图6所示。将经过计算所得到的欧几里得距与设定的阈值进行比较,并将比较的结果作为判断是否为边缘点的依据:如果欧几里得距大于阈值,则A是边缘点,从而保持A的值不变,即保持原色彩;若欧几里得距小于或等于阈值,则A为非边缘点,并将A的值设为0,即A为黑色,如此实现了边缘点与非边缘点的区分。处理算法与例化的RAM联系在一起,例化了三个RAM内核:pic,f_pic和e_pic。分别为原始图像、经滤波处理后的图像、边缘提取后的图像。处理算法与例化的RAM联系,如图7所示。

图6 算法流程图Fig.6 The Flow Chart of Algorithm

图7 边缘检测流程图Fig.7 The Flow Chart of Edge Detection

4.2 图像显示模块的设计

采用1.8 TFT LCD来实现处理后图像的显示。显示过程中,只需将原先存储在f_pic中的图像数据进行显示。由于滤波的过程中将图像中的非边缘点设置成了为黑色,这样就能很容易将图像中的目标和背景区分开来。

图像显示模块的程序设计框图,如图8所示。在具体的设计中,选取边缘处理模块中的结束标志,作为该模块中的开始信号。

图8 图像显示模块的流程图Fig.8 The Flow Chart of Image Display Module

5 实验结果

对舰用高强低碳合金钢HSLA-115进行研究实验,采用的是TLF15000型15kW大功率CO2激光制造系统,实验焊接方式为拼焊。激光焊接过程中采用aca2000-340kc Basler相机采集图像并压缩后导入FPGA中。实验所用的大功率激光焊接机和图像采集系统,如图9所示。

图9 大功率激光焊接机及图像采集系统Fig.9 High Power Laser Welding Machine and Image Acquisition System

实际系统的顶层文件设计,如图10所示。由于省去了摄像头模块,因此我们替换了原来的RAM:pic,变成了ROM:pic,这样一来可以使系统更加简便。sys_clk为系统时钟50MHz;rst_n为系统复位按钮;CS为液晶屏片选信号;SCK为液晶屏串行时钟信号;RS为液晶屏指令/数据选择信号;SDA为液晶屏串行数据端口;RESET为液晶屏复位端口;Pic为存放原始图像的ROM;f_pic为存放处理后的图像的RAM;sys为滤波器顶层封装;my_tft为液晶显示屏驱动显示顶层封装。

图10 实际系统的顶层设计Fig.10 The Top Layer Design of the Actual System

为简化实验验证过程,经过专业相机拍摄得到激光焊接彩色焊接图像以后,我们还需要对所采集到的图像进行处理与裁剪,使之能够符合显示屏的尺寸。将图像数据压缩后导入FPGA,将经过预处理的图片放入例化的ROM:pic中,对图片进行矢量中值滤波以及基于四元数的边缘提取处理。通过Modelsim软件对程序进行仿真,FPGA内部相应标志位局部放大后,如图11所示。

图11 内部标志位的变化的放大图Fig.11 The Larger Version of Internal Flags

data_done为一行数据读取结束标志;j_end为一行数据处理结束标志;e_datadone为处理后一行数据输出结束标志;kk为列计数器;k为行计数器;done为全部数据处理完毕标志。

通过图11可以观察到系统复位键以及done标志位的波形,从标志位波形可以计算出FPGA处理一幅图像所需的时间。

焊接前期对不同厚度的钢板进行多种坡口尺寸的加工:14mm、12mm、10mm中间开Y形坡口,单边10度,两边夹角共20度,根部留2mm为I形。8mm、6mm不用开坡口。

对四组不同的焊接图像进行边缘处理。第一组的焊接结果为焊穿,功率10kW,速度0.6m/min,钢板厚度6mm;第二组的焊接结果为焊透,功率8kW,速度0.6m/min,钢板厚度6mm;第三组的焊接结果为焊透,功率14kW,速度0.4m/min,钢板厚度8mm;第四组焊接结果为未焊透,功率10kW,速度为0.6m/min,钢板厚度8mm。以逐行扫描方式,提取出四组熔池图像边缘的长和宽为分别为:75,21;74,19;129,38;88,27(单位为像素)。由得到的结果数据,然后对比建立的数据库,为激光焊接参数的实时调整和焊接质量的控制提供依据,如图12所示。

图12 熔池原图及处理结果图Fig.12 Original Drawing of Molten Pool and Processing Result Diagram

采用这里的FPGA系统图像处理的时间为6ms左右,可以满足实时处理的需要。

6 结论

提出基于FPGA结合四元数空间旋转算法的大功率激光焊接彩色图像边缘检测的新方法。该方法能检测出熔池边缘的细节,提取的熔池彩色图像边缘精确合理,同时,在运算中保留了彩色熔池图像R、G、B之间的相关性,保留了更多的轮廓特征(包括亮度和颜色转换)。彩色图像R、G、B单一分量的图像数据存在明显的局限性,处理单一分量数据往往难以满足实际需求,为了对观测目标有一个更加全面、清晰、准确的理解与认识,把彩色图像R、G、B数据综合起来进行处理显得非常重要和实用。提取出的彩色激光焊接图像的熔池尺寸数据可以作为激光焊接质量实时判定、焊接参数调节的依据。该系统具有可移植性强、实时性强、抗干扰能力强等优点。它不仅适用于大功率激光焊接的在线监测,在工业制造、医疗诊断、日常生活等其他图像处理领域也有较好的推广价值。

猜你喜欢

彩色图像熔池像素点
微熔池凝固组织的数值模拟研究
基于局部相似性的特征匹配筛选算法
激光熔覆产生的熔池温度与对流分析
基于FPGA的实时彩色图像边缘检测
温度梯度区域熔化作用下熔池迁移的元胞自动机模拟*
基于5×5邻域像素点相关性的划痕修复算法
基于专家模糊技术的彩色图像对比度增强方法
基于canvas的前端数据加密
基于视觉注意的全参考彩色图像质量评价方法
基于最大加权投影求解的彩色图像灰度化对比度保留算法