陈智强,楼佩煌,钱晓明
(南京航空航天大学 机电学院,江苏 南京 210016)
作为太阳能发电的主要载体材料,硅电池片的产量近年来迅速增长[1]。太阳能电池的生产需要很多的工序。在生产出标准硅电池片后,先将单片太阳能硅电池片焊接为电池串,再将电池串敷设层压成为太阳能电池板。为了提高焊接质量和效率,目前在硅电池片集成过程中使用自动串焊机。
在硅电池片表面缺陷检测方面,国内外学者已经做了较为深入的研究。孙智权、童钢等[2]对制备过程中或焊前单片电池片的表面缺陷检测做了相应研究,其成果方法对于单片电池片的固有缺陷如边缘缺损、断栅裂纹有较好的检测效果,但均属于离线或生产节拍较慢的制备生产线测量,未在高速集成生产线进行相应实验;高志良[3]对太阳能电池自动焊接中的视觉检测关键技术进行研究,设计了面向自动焊接过程的检测系统,讨论了电池片偏转、分级相关方法,但其检测仍然针对焊接前的电池片,对于焊后成串电池的焊带偏移、脏污划痕及一些焊后尺寸测量未加讨论。硅电池片焊后缺陷主要由串焊机自动焊接产生或串焊机焊前检测的漏检造成,主要有边角缺损、色差、脏污、划痕、断栅、露白、尺寸偏差等缺陷。
对于电池片的赃污、划痕等缺陷检测,现有研究一般通过多种滤波、图像增强与阈值门限操作等预处理,将待检特征分离后再进行特征识别[3-4],对于不同缺陷采用的投影特征或纹理特征也不相同。WANG Yong-qing等[5]提出将矩特征与SVM结合的监督算法,对于电池片生产过程均具有较好的检测效果,然而对于经常更换电池片种类与部分检测指标的集成生产线,样本的多样性要求较高,一种无监督的目标检测方法更具优势;周维芳等[6]采用局部自适应阈值的二值化处理方法并做水平投影来提取缺陷信息,通过缺陷的矩形轮廓信息检测断线、履带印等缺陷,效果良好,但对集成过程中的其他缺陷如脏污、划痕尚未深入研究;龙建武等[7]提出一种自适应最小误差阈值分割算法,仅含一个敏感性很低的参数,同时对均匀光照图像以及不均匀光照小目标图像均有着优秀的处理效果,提升了最小误差算法的分割性能,但该算法仅限于对文本、米粒等小目标图像的处理,无法处理大目标图像。
针对太阳能硅电池片由单片焊接为电池串的串焊生产线,本文提出一种焊后硅电池片多种缺陷在线检测方法。
本文提出的硅电池片缺陷识别方法首先通过CCD摄像机在线采集每一节拍的片间图像,然后对采集得到的图像进行图像预处理。焊接生产线控制器在获取串焊机输送停止信号时,在线检测控制器则控制相机获取片间图像,并对获取的图像进行预处理。经过图像预处理后得到的二值化图像,对其进行感兴趣区域分割,针对崩边、断栅、赃污等不同缺陷将图像划分为传送带、片间距、主副栅等不同区域[8]。本研究在进行某项缺陷检测时仅对部分感兴趣区域进行特征识别,从而缩短检测时间,实现对所要求尺寸的精确测量以及缺陷检测。
整个视觉检测的处理流程如图1所示。
图1 系统流程图
焊接采用的焊带是镀锡铜带,在电池片主栅上喷涂助焊剂,银浆在红外加热作用下与焊带形成银锡合金层。焊接过程中,会因为焊带切断应力、翻面真空吸力、焊带偏移、助焊剂残留等各种原因导致包括边角缺损、赃污划痕、焊接短路在内的多种缺陷,影响硅电池光电转化效率(FF)。目前,焊前检测还不能完全杜绝断栅缺陷。
本文检测的主要缺陷如图2所示。
图2 常见焊后缺陷
对于划痕、赃污、缺边3种特征类缺陷,先通过初步的感兴趣区域分割与图像预处理,去除无关区域,再根据不同特征进行处理,根据面积、外接圆半径、长度等参数筛选真实缺陷;对于尺寸类缺陷如焊带偏移、起焊点短路等,则采用基于像素点的影像测量方法,通过采样区域的最小外界矩形得到所需尺寸,从而据此对所检电池串做出评判。
本文采用CCD彩色相机采集电池串图像,通过GigE接口获取CCD相机采集得到的电池串原始图像。将采集得到的图像转换至RGB空间和三角变换的IHS空间,S分量即饱和度下的图像中电池片与露出的传送带有较好的分割效果。采用动态阈值方法,将S分量进行均值滤波后作为模板,将模板中的像素值减去设定值与S分量对应点的值比较,即相当于对平滑去噪的图像进行阈值化,减少普通阈值下的噪声。对动态阈值后的图像进行形态学处理,对二值图像进行开运算可以去除一些细小的毛刺,由于片间边缘对片间距测量有精度要求,故在不影响精度的前提下采用小结构元处理,处理后的边缘可用canny算子提取。
普通阈值与动态阈值下边缘区的截取图像如图3所示。
图3 普通阈值与动态阈值后的图像
对于不同的检测参数,实际需要检测的图像在原图中中只占一小部分,可根据已得到的上下边缘与中央边缘建立坐标,从而设置感兴趣区域,只提取包含待检测区域的一小部分图像,减少大量的像素点,提高算法的效率。采用一种图像掩膜的方法来设置不规则的感兴趣区域。由于硅电池片具有的高度对称性,主体检测区域由片间区轴线对称展开。
主栅与辅栅的定位坐标为:
(1)
式中:n—主栅条数;D—主栅宽度;d—辅栅宽度;Yi—主栅定位坐标;yi—辅栅定位坐标。
主辅栅区域长度覆盖全片,宽度由电池规格决定,因此掩膜由计算出的矩形左上角点y坐标即可得到。本研究用掩膜对待处理的图像进行全部或局部的遮挡,使得原图在感兴趣区域内的像素值保持不变。每一帧图像的主体检测区主要检测断栅、赃污和划痕缺陷,上下边缘检测区识别边角缺陷,片间区与主栅区用于片间距、焊带偏移量的视觉测量,辅栅区的白色虚线对断栅、划痕等多种缺陷的检测有所干扰,在检测时用以屏蔽。
焊后电池串的主要几何类检测要求为片间距与焊带偏移量。通过动态阈值得到上下边缘、中央片间区、主辅栅区域及硅电池片主体感兴趣区域掩膜,尺寸测量使用主栅区与片间区掩膜屏蔽原图无关区域,构建取样矩形单元及集合运算得到包含待检测尺寸的特征矩形,从而计算需求尺寸。
以焊带偏移检测为例,正确焊接的焊带在主体检测区域的打光条件下呈现不反光的深色,偏移的焊带会使焊后电池片产生露白现象。掩膜处理后的主栅区域即为感兴趣区域,但整条主栅区域过于狭长,且焊带的物理特性使其的弯折一般不会产生弧状弯曲而是线性偏折,可利用相交线所夹线段的数学增长特性设计一种合理的采样方式,缩短检测时间。
对于单个主栅区域焊带状态建立模型如下:以主栅区域左下角点为坐标原点,焊带弯折n次,即将焊带分为n+1段矩形,假设每段焊带起始点的集合为(x[n],y[n]),相关参数计算如下:
(2)
(3)
式中:S—取样区偏移(露白)面积;L—取样长度;x[i]—起始点横坐标;y[i]—起始点纵坐标。
本研究分别取2、3、4、5个取样矩形对10幅典型偏移的主栅区域图像进行处理,L均取5,取样数3、4具有最显著特征,考虑到算法时间因素每条主栅取3个取样矩形。取样矩形二值化特征明显,阈值化后用canny算子得到露白区轮廓,对此轮廓取最小包围矩形,矩形左上角点与右下角点的y坐标差值作为检测指标。差值计算方法为统计目标路径的像素值与标定后像素当量的乘积。
像素是图像坐标系内的单位,将图像坐标系的测量结果转化为世界坐标系的真实值,需要对影像获取装置进行标定。由摄像机成像几何关系可得:
(4)
式中:fu,fv—u轴和v轴上的归一化焦距,fu=f/dX,fv=f/dY;f—相机的焦距;dX,dY—传感器u轴和v轴上单位像素的大小;fu、fv、u0、v0只与摄像机内部参数有关,故称矩阵M1为内参数矩阵。
由于本文方法的影像系统位置固定不变,只需标定内参数即可得到像素当量,即每个像素点对应实际尺寸为0.06 mm,结合边缘检测算法得到的单像素边缘,最终检测精度为0.1 mm。
尺寸检测的另一个参数片间距检测方法与其类似,只是检测区域由水平的主栅区域变为中央片间区。片间区的左右边界由预处理阶段得到,其精度满足要求,用4个或以上取样矩形与片间区做交集运算,再对得到的特征矩形求最小包围,最终算出需要尺寸。单帧图像中每条主栅均有一个片间距值,任一片间距值不在要求区间内,即判断有短(断)路缺陷。
区域分割后的断栅特征检测区域栅线中心像素值为255,氮化硅像素值为0,标准硅电池分割后的栅线将氮化硅分割为面积相等的矩形块,因此可利用其连通性检测每块独立氮化硅的面积,再通过频域处理分离出面积突变的面积单元,从而得到断栅数量。
断栅检测流程如图4所示。
图4 断栅检测流程
当系统获取当前帧硅电池片图像后,此时经过预处理后得到的图像如图4(a)所示(矩形框内为单个检测区域,一帧图像包含12至20块检测区不等)。
区域生长(即漫水填充)算法是目前应用最为广泛的连通域检测方法。经过预处理后的断栅检测区图像具有较好的对称及规律性,在起始点选择时可进行优化,如图4(b)所示。
对生长中止规则的评价函数也是区域生长算法处理能力的重要影响因素,待选像素的灰度级和已加入生长区像素的相似性可用于提高算法的处理速度。本文提出了一种改进的区域生长算法,实现对断栅区域的快速检测。
以其中一块断栅检测区为例,从该区域左上角像素开始行扫描。当提取到的像素点的灰度值为0时,将该点坐标值赋值给ui,依次判断该像素点后5个点的灰度值是否也为0。若不满足,将ui清除,继续向右扫描判断黑色氮化硅区域。若满足,此时ui的值即为提取到的第一条氮化硅区域的起始种子点。提取到起始点之后,采用改进的扫描线填充算法逐个对氮化硅区域进行填充,设B和P分别是n×2和m×2的矩阵,将扫描得到的起始点放入b[i],以第一区域B[0]为例,算法具体填充过程如下:
(1)将b[0]作为扫描线段起点,从b[0]向右扫描,当连续3个非0像素出现时,将中间像素存入P[0](P01,P02),作为水平扫描线段的终点,将此线段填充该区域设定颜色C[0],计算扫描线段长度L,若大于预设值的P[i]数目超过阈值,一般为8个像素,执行步骤(3);
(2)对b[0]的下邻域进行判断,像素坐标记为(B11,B12),若(B11,B12)为0,则对b[2]重复步骤(1)线扫填充过程,并循环向下扫描,直到b[i]不为0;
(3)以P[i]为第二种子点,对下邻域进行反向线段扫描填充,与步骤(2)类似;
(4)从具有最大Bij的区域像素b[end]向右扫描,直到提取到的像素点的灰度值为0时,将该点坐标值赋值给ui,依次判断该像素点后5个点的灰度值是否也为0。若不满足,将ui清除,继续向右扫描判断黑色氮化硅区域。若满足,此时ui的值即为下一条氮化硅区域的起始种子点,由此专转向步骤一开始循环,直到b[end]到达整块断栅检测区最右端。
采用线扫式填充,避免了全局使用4邻域或8邻域遍历导致的堆栈溢出及内存占用过多等问题,并能有效提高算法运行效率。但原有的线段扫描式填充在狭小路径连通型区域表现不佳,存在填充不完全等问题,因此本文算法针对断栅造成的狭小路径连通区域作出相应改进,在扫描线通过狭小路径后生成新种子点,从而彻底填充。而传统的多种子点并发填充算法不能有效区分不同氮化硅区域,不便于之后的面积计算。
本研究将不同的氮化硅区域着色后,即取[1,255]中不同灰度值。循环对每个区域像素点个数进行计数。出现断栅的相邻氮化硅区域面积会成倍增加,从而能轻松判断面积突变区域得到断栅数量及所在区域编号,如图4(c)所示。对单个检测区处理完成后,对剩余检测区做同样处理,将断栅数求和并在原图标记位置。
为改善本文断栅特征检测方法的准确性与鲁棒性,笔者将本文方法与直接区域生长、栅线种子填充及灰度差分统计方法进行对比实验,根据结果绘制的ROC曲线。
硅电池片在串焊前同样会经过视觉、激光、电泳等多种方式检测内部区域的缺陷,但其针对的多是裂纹、缺边、漏印等硅电池片生产工序中常见的问题,而在串焊的物料转移和高温焊接过程中,二次污染与运料划伤不可避免,因此仍需对中央检测区进行脏污与划痕检测。
由于不同规格的电池片(如多晶与单晶)氮化硅色度不同,本研究以实验采集确定的不同参数对分割后的主体检测区域进行自适应阈值二值化,来得到较好的特征识别效果。如对于脏污与划痕缺陷,所作图像预处理有一定区别。但处理后的图像仍会出现多重缺陷不便于统计,因此可采用多种特征进行特征区分。常用的特征如周长、不变矩、最小外接圆和伸长度等。
计算特征区域周长则是基于边界追踪算法,先利用Canny算子得到区域外轮廓,再随机选取起始点,以八邻域方向顺时针扫描,满足灰度条件即作为下一个起点,直到回到原点,最终可求得轮廓周长。选取周长特征避免了阈值化轮廓闭合不佳导致的溢出问题,但算法执行时间较长。
不变矩中的零阶矩即区域的面积,使用类似断栅检测中处理方法,对一定灰度的像素点进行统计,根据像素比例关系得出赃污面积。但赃污的灰度跨度较大,自适应二次阈值不能得到较为准确的轮廓;对于划痕则面积法误差更大。中心矩作为一种图像数据的统计特征,可用来表现特征区域内的像素同质性,即像素偏离中心的程度。
最后根据零阶矩、外接圆半径R、归一中心矩η等参数的范围将不属于检测范围的异类缺陷剔除。
实验中将检测系统架设于多栅串焊机的焊接工位与原先的人工检测工位之间,主要包括在线检测控制器、CCD数字相机、镜头光源组件等。CCD安装在暗箱内部,位于传送带正上方。该实验检测结果如图5所示。
图5 实验结果
为了验证整个检测系统的稳定性,该实验识别单晶、多晶4种不同色度的硅电池串,生产系统控制器与在线检测控制器实时通讯,在传送带处于停止节拍时获取图像,在生产线试运行2周,以采集数据并验证提出算法的稳定性。对示例图片中缺陷进行检测的结果如图6所示。
图6 部分实验结果图
实验中利用openCV计时函数获得的相应数据如表1所示。
表1 部分实验数据
表1中时间数据为在CPU主频为1.8 GHz的计算机上使用200组样本图片运行检测的均值。在生产线连续30天运行中整个检测程序总的运行时间不超过1 s,包括读取图片与显示结果的时间,充分满足了串焊生产线在线检测的需求。
同时为进一步定量比较断栅检测算法的性能,笔者采用ROC曲线进行比较分析,如图7所示。
图7 3种方法的ROC特性曲线
该曲线描述了不同方法在对同一断栅特征检测时得到的虚警率(误检率)Pf与检测率Pd间的变化关系。从ROC曲线中可以看出,本文方法上升速度最快,其检测性能优于针对栅线的种子填充;而栅线法又优于直接的区域生长方法。
最后5天在线检测率统计数据如表2所示。
表2 连续5天在线检测率统计
检测次数以处理的图像张数计算,检测率约达99.5%。标定像素当量为0.06 mm,尺寸测量精度可达0.1 mm。
(1)本研究提出了一种无监督的缺陷检测方法,它对先验样本无特别要求,通过基于改进的区域生长算法与不变矩特征识别的硅电池片缺陷识别方法,首先通过边缘定位,在整幅图片中分割不同ROI区域。然后,通过所提出的方法精确识别多种缺陷。对电池串多重缺陷综合评价检测准确度高,虚警率控制在2%以下综合检测率达99.5%;
(2)本研究提出的改进的区域生长算法能够快速返回各氮化硅连通区域的面积、区域的中心位置;根据氮化硅区域面积的数据特征,分离面积激增的区域,在区域的理想栅线处标明断栅;利用不变矩与最小外接
圆等特征去除图像多次处理后仍存在的杂点或检测标准外的缺陷。多重缺陷检测总时间控制在1 s内,充分满足串焊生产线在线检测需求;
(3)本研究提出的特征矩形测量方法能够快速精确测算电池串(板)中的片间距、起焊点位置等尺寸参数。利用此方法结合基于亚像素的视觉测量方法,在样机系统试运行中检测精度可达0.1 mm。