基于机器视觉的金刚线表面质量检测

2020-09-23 07:04刘明宇佃松宜
关键词:金刚轮廓颗粒

刘明宇,佃松宜

(四川大学电气工程学院,成都 610065)

1 引 言

近年来,伴随着光伏行业、新材料、新能源等高新技术行业的崛起,金刚线在电子信息、航空航天、宝石加工、新能源等行业得到了广泛使用.金刚线用于太阳能硅片、LED、半导体、宝石、光学玻璃等贵重材料以及精密器件的切割,具有切割效率高,精度高等显著优点.现阶段金刚线已完全用于单晶硅切割并正在向多晶硅切割发展,相较于传统的切割砂线,金刚线更加环保、耐磨且使用寿命长,具有更好的应用前景[1].切割晶体硅时,金刚线质量的好坏直接影响所切割出的硅片的质量和效率[2-3].决定金刚线质量最重要的参数是固结在其表面的不同规格大小的砂石颗粒的数量以及其在线体表面所凸起的高度[1].晶体硅原材料的切割成本占据了硅电池成本中的重要部分,为了降低硅电池生产成本,金刚线的线径细化生产十分重要,同时伴随而来金刚线检测难度增加的问题[4].

现有国内外金刚线质量检测方法可大致分为人工离线检测与基于机器视觉的在线检测方法[5].传统的金刚线检测方法借助人工检测的手段,在显微镜下拍摄金刚线图像并经过人工检测分析获取金刚线的相关质量参数,因此不能进行定量检验分析.王飞杨等人所提出的基于机器视觉的金刚线在线检测技术[5]能将检测结果及时的反馈到生产线上以调整生产的工艺参数.然而该技术的弊端在于检测功能单一,只能对检测指标中的“出刃率”进行计算,不能对影响到金刚线质量的另外一项重要检测指标“出刃高度”进行计算,由此出现了金刚线表面质量检测功能单一的问题.另外,在线检测过程中生产流水线上的金刚线一直处于高速运动状态,获取其清晰图像存在一定难度,检测精度会因为图像质量较差的情况而大幅下降.对于金刚线的离线检测,张文晔所提出的基于机器视觉的金刚砂线颗粒检测方法[6]针对粘连颗粒的分割问题进行研究用于计算“出刃率”,并不能计算“出刃高度”,故仍存在检测功能单一的问题.目前国内对金刚线质量检测方法理论的研究和设备开发的报道非常少.而针对基于机器视觉的金刚线表面质量检测的研究,据我们所知,目前在国内仍处于空白阶段,针对上述问题,本文提出了一系列检测方法用于计算描述金刚线质量情况的“出刃率”、“出刃高度”两大性能指标,并开发了完整的检测设备加以实现.

基于机器视觉的金刚线离线表面质量检测,不但解决了基于机器视觉在线检测方法的功能单一、检测精度受图像质量影响而不稳定的问题,而且还解决了人工离线质量检测的效率低下、成本高、无法定量描述检测结果的问题.经过多次的测试实验,本文所提出的检测光源与照明方式,有利于提高所获取图像的质量.针对于单帧图像所计算的出刃高度不具备一般性的问题,设计了可令待检测金刚线围绕其中心做同轴转动的机械结构,通过多次旋转线体与图像拍摄的方式不仅可获取更为精准的出刃高度数据,并且在一定程度上不加以验证的还原了平铺式的金刚线的三维显微形貌.最后,针对金刚线的各类性能指标要求,设计了用于评判金刚线质量情况的“出刃率”、“出刃高度”两大检测算法,完成了对金刚线的质量检测与三维表面重建.

2 系统结构组成

金刚线表面质量检测系统主要由图像采集系统、运动控制系统、基于机器视觉的图像分析处理系统等三大部分组成,其整体结构框图如图1所示.

2.1 图像采集系统

图像采集系统由光源、相机、远心镜头组成.由于相机的曝光时间很短,需要使用高强度的光源才能产生足够的光通量,因此选择LED点光源作为光源,LED光源具有亮度恒定、功率大、色度均匀,使用寿命长的特点[7-8].考虑到视场范围需大于1 mm的问题,故选用500万像素的工业相机,其像元尺寸为2.2 μm.金刚线线径范围在70 ~150 μm,且砂石颗粒大小范围为3~9 μm,为保证清晰成像,远心镜头放大倍率选择为6倍时可保证0.37 μm的成像精度.

2.2 运动控制系统

运动控制系统用于实现金刚线的同轴旋转以及图像采集装置的径向移动.

2.3 基于机器视觉的图像分析处理系统

基于机器视觉的图像分析处理系统用于实现出刃率、出刃高度等检测功能的实现.图2为金刚线质量检测系统整体设计图.

图2 系统整体设计图Fig. 2 Integrated system design

3 检测原理与算法

金刚线表面质量检测主要依据机器视觉原理,利用灰度像机和远心镜头获取放大后的金刚线显微图像,针对“出刃率N”、“出刃高度H”两项行业内用于描述金刚线质量情况的检测指标进行计算.(本文实验中金刚线线径80 μm左右,在其上所附着的砂石颗粒大小形状不一,范围3~8 μm).图3为经过远心镜头放大后的金刚线显微图像.

图3 金刚线Fig.3 Diamond wire

行业内用于描述金刚线表面质量情况的检测指标如下[9].

(1) 出刃率N. 表示金刚砂线每毫米长度内线体圆周上的所有出刃颗粒数量总和,如图4所示.

图4 出刃率Fig.4 The output rate of the blade

(2) 出刃高度H. 表示线据出刃磨粒最高点至线体表面的距离,如图5所示.

图5 出刃高度Fig.5 The blade height

3.1 金刚线“出刃率”检测

3.1.1 检测流程 金刚线的“出刃率”检测主要依据机器视觉原理,利用高清摄像机配合双远心6倍放大镜头获取金刚线图像,针对“出刃率N”进行计算.本文提出的金刚线颗粒检测算法流程如图6所示.

(1) 获取图像. 采用前向照明技术并调节光源入射角度保证获取到较为理想的待处理金刚线显微图像.

(2) 图像预处理. 采用高斯滤波算法,用于在去除图像噪声的同时保留轮廓信息.

(3) 形态学运算与二值化处理.便于获取目标轮廓.

(4) 拓扑结构分析. 用于计算待检测金刚线的“出刃率N”.

图6 颗粒检测流程Fig.6 Particle detection process

3.1.2 光学成像与图像获取 针对从金刚线图像中分离出颗粒目标从而对其进行相关分析的问题,基于将轮廓检测结果转化为分层区域树的方法[10]虽能通过调节阈值的方式来获取不同细节度的分割结果,但是由于不同阈值下的分割结果不同,且分割精度无法满足检测要求,因此我们借助于前向照明技术来获取更容易进行颗粒分割的原始图像信息.

通过采用前向照明并调节光源相对于待检测金刚线入射角度的方式,使得图像中背景区域、金刚线体及线体表面颗粒呈现较高的对比度与灰度值差异,从而砂石颗粒在图像中的轮廓更为明亮,而钢丝面在图像中较为灰暗.对于二者灰度值的差异,通过全局二值化的的操作,将图像中金刚石颗粒的灰度值置为255(最高灰度值,亮白色);将钢丝表面的灰度值置为0(最低灰度值,暗黑色),由此便于后续对于颗粒的轮廓分析.检测光路如图7所示.

图7 照明方式Fig.7 Lighting mode

3.1.3 颗粒检测算法

1) 图像预处理.

图像预处理的主要目的是滤除图像中的无关信息并恢复有用的真实信息.由于均值滤波和中值滤波对于高频轮廓的辨别能力较差,故本文中采用高斯滤波的方法在去除图像噪声的同时保留图像的轮廓.其中二维高斯滤波核中(x,y)的系数取值如下.

(1)

通过高斯滤波器的滤波结果为

(2)

其中,σ为高斯分布参数;n为滤波核的大小;(i,j)为图像中的像素坐标;I为滤波前像素值;I′为滤波后像素值.

2) 形态学运算与阈值处理.

对于二值图像中可能存在颗粒孔洞、颗粒断裂、颗粒黏连从而导致颗粒统计不准确的问题,首先进行腐蚀操作,用以除去小的杂质,并将图像中黏连在一起的颗粒进行分割.设I为图像区域集合,S为具有原点的结构元素;(S)x表示为S平移x;S对I的腐蚀运算定义为

SΘI={x|(S)x⊆I}

(3)

(4)

形态学运算的完成,使得后续的轮廓分析更为方便和准确.图8(a)为所获取的原始图像,图8(b)为阈值190下经过形态学处理后的图像.

(a) 原始图像(a) Original image

(b) 阈值为190的金刚线图像(b) Image with a threshold of 190图8 阈值化处理Fig.8 Threshold processing

3) 拓扑结构分析求取指标N.

在实现图像中目标颗粒与背景的完全分离的基础之上,采用利用边界跟踪分析二值图像拓扑结构的方法[11]提取图像中的每个颗粒所对应的独立轮廓,处理后的独立轮廓总个数即为金刚线“出刃率N”.

3.2 金刚线“出刃高度”检测与表面重建

3.2.1 检测流程 针对金刚线“出刃高度H”的检测,在检测系统中设计了“转线装置”,可获取同一检测点位下不同角度的金刚线图像,依据机器视觉原理,用以计算更为准确的“出刃高度H”并实现金刚线的三维平铺式重建.本文提出的金刚线“出刃高度H”以及三维表面重建的检测算法流程如图9所示.

(1) 获取图像.针对待检测点位,利用“转线装置”均匀转动金刚线,获取该点位下不同角度的72幅图像.

(2) 边沿直线拟合.用改进的最小二乘法进行金刚线图像中的边沿线拟合.

(3) 求取指标H. 针对每幅图像实时更新H.

(4) 轮廓提取与三维点云生成.根据拟合直线与所提取轮廓信息,借助本文所提出的坐标变换方法,生成三维点云.

(5) 三维表面重建.将三维点云进行渲染获取金刚线的三维平铺图.

图9 线体检测流程Fig.9 Line detection process

3.2.2 转线机构设计 关于“出刃高度H”的计算,由于单幅图像无法反映颗粒的高度信息,于是我们将计算颗粒的高度信息转化为计算“图像中处于线体边缘附近的颗粒顶端距离线体边缘的距离”.然而金刚线表面附着有若干颗粒,上述方法只能计算出当前图像拍摄视角下部分颗粒顶端距离线体的距离,如果只针对单幅图像进行颗粒的出刃高度统计,可能会忽略其他颗粒从而导致出刃高度计算值偏小.

为了使出刃高度的计算更具一般性,在检测系统中加入转线机构,如图10所示.该机构可令待检测金刚线围绕其中心做同轴转动.于是可拍摄获取到360°的金刚线图像.考虑到时间成本问题,本检测系统设置转动机构每隔5°转动一次,针对同一检测点位共扫描到72幅不同角度下所拍摄的金刚线显微图像,用于进行金刚线的三维表面重建以及指标H的计算.

图10 转线机构Fig.10 Rotating components

3.2.3 边界线拟合 由于在进行与线体分析相关的各项检测指标的算法实现时皆涉及到线体的边界拟合[12],因此,对于金刚线图像的边界线拟合是进行线体分析的关键一步.对于图像中金刚线体上边线的拟合,传统的霍夫直线检测算法[13]会同时检测出若干条直线且精度不佳,而我们希望精准的识别出图像中金刚线体上边线所对应的唯一一条直线.因此采用迭代加权最小二乘法[14]来拟合图像中金刚线体的上边线.其中设待拟合直线定义为

ax+by+c=0

(5)

约束条件为

a2+b2=1

(6)

由此最小化目标函数定义为

λ(a2+b2-1)

(7)

其中,λ为拉格朗日乘子,此时对c求导得

(8)

其中,x、y的加权平均值表示为

(9)

另设

(10)

分别对式(9)中a、b求偏导并整理后得

(11)

最终求解特征向量以获得待拟合直线.

图11(a)为直径为80 μm左右的某品牌金刚线的显微图像,图11(b)为对其轮廓中的上边线进行拟合的结果.图11(c)为所寻找的拟合线在原始图像上的表示.可发现,改进的最小二乘算法对于拟合金刚线的边线有着很好的效果.

(a) 原始图像(a) Original image

(b) 轮廓的上边线拟合(b) Fitting of the upper edge of the contour

(c) 拟合线在原始图像上的表示(c) The fitting line on original image图11 金刚线边界拟合Fig.11 Boundary fitting of diamond line

3.2.4 计算指标H当获取到金刚线轮廓的拟合边线后,该拟合线可用于筛选边界轮廓.即:只保留处于拟合线以上的部分的金刚线图像边界轮廓信息,该部分轮廓信息真实反映了颗粒在线体表面以上的凸起情况.另外,可计算出筛选后的边界点至拟合直线的距离,其中的最大距离即为当前图像的“出刃高度”.加入转线机构后,可获取到同一检测点位下不同角度图像的出刃高度,其中最大值作为当前检测点位下的“出刃高度H”,如图12中对计算后的当前指标H用绿色线条进行表示.

图12 H在图像上的表示Fig.12 The representation of H on the original image

3.2.5 生成三维点云 将72幅不同旋转角下对于同一根金刚线的扫描图像分别进行上述的轮廓提取与筛选工作,可获取到72组不同的轮廓线条,其中每一个轮廓线条都反映了当前视角下位于金刚线本体上边沿以上部分的轮廓信息.由于上述轮廓线条沿竖直方向的坐标信息可以反映颗粒的高度信息,于是我们采用了如下的坐标变换来获取到金刚线的三维平铺点云数据,设Pix、Piy、Piz分别表示待生成点云中第i个3维点的x、y、z坐标,Rix、Riy分别表示从图像中所提取的第i个边界轮廓2维点的x、y坐标,则

(12)

(1) 点云数据的x(水平)分量对应轮廓线条的x分量.

(2) 点云数据的z(高度)分量对应轮廓线条的y分量.

(3) 点云数据的y(竖直)分量从0开始依据金刚线体周长和扫描次数的比例关系依次递增.

金刚线直径为D,扫描次数为72,则点云数据y分量的每次增量为:πD/72.对某金刚线进行72次扫描后所获取的三维点云散点图如图13所示,点云数据在x、z方向是连续的,在y方向是离散的,且扫描次数越多,点云数据y方向的连续性越好,同时三维重构的细节更为细腻.相应的也会产生更多的时间消耗.

图13 某段金刚线的三维散点图(俯视)Fig.13 3D scatter plot of a diamond line (top view)

将上述散点图进行渲染后效果如图14所示.图14即为该段金刚线的三维立体平铺图,由图14可知,重建金刚线的三维平铺图可更为直观的展示颗粒在线体上的分布情况,对于调整金刚线的电镀工艺有着积极的反馈作用[5-6].

图14 某段金刚线的最终三维重建效果图Fig.14 The final 3D reconstruction of a certain diamond line

4 实 验

为了验证本论文所提出方法的可行性,我们在CPU Inter core i5-4460(3.2 GHz),内存8 GB硬件系统以及Visual Studio 2013和OpenCV3.3.1环境下,对某品牌下80 μm左右线径的金刚线样线进行检测.图15为进行检测过程中的设备.在实验中主要针对不同电镀工艺下的7段金刚线共进行85次(每次检测在标记点位后先在显微镜下进行人工检测作为参考值)点位检测.其“出刃率”、“出刃高度”的检测结果分别如表1和表2所示.

图15 检测过程中的设备Fig.15 Equipment in the process of detection

表1 出刃率计算结果比对Tab.1 Comparison on the output rate of the blade

表2 出刃高度计算结果比对Tab.2 Comparison on the output rate of the blade

金刚线应用广泛,其质量检测对于调整金刚线制作工艺从而生产出高质量金刚线有着重要意义.但是目前国内针对于离线多指标检测金刚线质量情况的应用相对较少,检测方法也较为传统.本文着眼于金刚线质量检测的实际应用,以填补目前市面上基于机器视觉的金刚线质量检测的空缺,提出了用于计算金刚线“出刃率”、“出刃高度”两大重要检测指标的具体实现方法并不加以验证的提出了金刚线的三维表面重建方法,为后续的深入研究提供有价值的参考,具有一定的先进性.通过对金刚线的上述检测指标进行分析与相关实验,验证了本文方法的可行性.实验结果证明本文方法将用于描述金刚线质量情况的两大检测指标进行了量化计算,很大程度上降低劳动成本,对提高金刚线的生产质量有一定积极意义.

猜你喜欢
金刚轮廓颗粒
管式太阳能集热器的颗粒换热模拟
追影记
跟踪导练(三)
基于近场散射的颗粒粒径分布测量
古文字中“口”部件的作用研究
镇咳宁颗粒的质量标准研究
Huber集团的新型颗粒捕集器再生系统
儿童筒笔画
创造早秋新轮廓