一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种太阳能电池背面电极的分割方法与流程

2021-11-20 05:08:00 来源:中国专利 TAG:


1.本发明涉及机器视觉检测技术领域,具体涉及一种太阳能电池背面电极的分割方法。


背景技术:

2.太阳能是一种可再生能源,具有容易获取、可持续利用、环保等优点。基于光伏效应,太阳能电池可以将太阳能转化为电能,因此太阳能电池有着很大的市场前景。但是,太阳能电池的生产是一个复杂的过程,在生产过程中出现任何意想不到的错误都会导致缺陷的发生,这可能会对电池造成很大的损害。因此,一个质量检测体系对于太阳能电池生产线是至关重要的。
3.为了识别和分割太阳能电池或其他工业产品中的各种缺陷,在过去的十年里,大量基于机器视觉的方法被提出。比如otsu法,基于canny的方法,离散余弦变换法(dct),支持向量机法(svm),但这些方法大多是针对特定类型的缺陷,如微裂纹、污渍、划痕、孔洞等与背景灰度不同的缺陷。


技术实现要素:

4.本发明的目的是为了解决现有技术中的上述缺陷,提供一种太阳能电池背面电极的分割方法。
5.本发明的目的可以通过采取如下技术方案达到:
6.一种太阳能电池背面电极的分割方法,所述分割方法包括以下步骤:
7.s1、粗定位:利用投影法和多项式拟合法对电池硅片图像中的54个背面电极进行粗定位,经裁剪得到54个尺寸为128
×
158的粗定位图像i
r
,r=1,2

54,每张粗定位图像包含一个电极;
8.s2、精定位:基于sobel算子计算出粗定位图像i
r
的梯度图i
c
,利用最大值投影法计算梯度图i
c
中每行和每列的最大值p
x
和p
y
,对p
x
和p
y
计算加权平均值并基于此得到电极精定位图像记为i
d

9.s3、边缘分割:根据精定位图像i
d
的梯度直方图,选取三个阈值,得到精定位图像i
d
对应的二值图像使用种子生长法选择目标边缘点从二值图像中进一步对电极进行边缘分割得到边缘分割结果g
123

10.s4、区域生成:对边缘分割结果g
123
绘制封闭轮廓,得到最终分割出来的太阳能电池背面电极m3。
11.进一步地,所述步骤s1中对电极进行粗定位的过程如下:
12.s1.1、利用sobel算子计算电池硅片图像水平和垂直两个方向的梯度,记为g
x
和g
y

13.[0014][0015]
其中,i
r
为粗定位图像;
[0016]
s1.2、采用均值投影法,通过计算g
x
每一列的均值将g
x
投影到y轴上,记为m
y
,通过计算g
y
每一行的均值将g
y
投影到x轴上,记为m
x

[0017]
s1.3、利用三阶多项式拟合m
x
,拟合结果记为m
fx
,并定义一个中间变量m
p
为:
[0018]
m
p
=maximum(m
x

m
fx
,0)
[0019]
其中,maximum()表示取较大值;
[0020]
s1.4、定义一个阈值t
m

[0021][0022]
其中,n
p
是m
p
中大于0的个数,m
p
(i
t
)是一维向量m
p
第i
t
个值,i
t
的取值范围为从1到n
x
,写作i
t
∈{1,2,

,n
x
},n
x
是m
x
的长度;
[0023]
s1.5、利用阈值t
m
,将m
p
进行二值化得到b
x
=[b
x
(1),b
x
(2),

,b
x
(i
t
),]:
[0024][0025]
其中b
x
(i
t
)是一维向量b
x
的第i
t
个元素;
[0026]
s1.6、从无缺陷的电池硅片样品中获取电极模板t
p
,将t
p
视为滑动窗口,在b
x
上滑动,计算t
p
和b
x
交集最大的位置,即可得到电极所在的列位置;
[0027]
s1.7、重复步骤s1.3

步骤s1.6进行电极行位置的粗定位,根据获取的电极行、列位置对硅片进行裁剪得到粗定位图像i
r

[0028]
进一步地,所述步骤s2中对电极进行精定位的过程如下:
[0029]
s2.1、使用sobel算子计算粗定位图像i
r
的梯度图,记为i
c

[0030]
s2.2、采用最大值投影法,计算梯度图i
c
每一行的最大值记为p
x
,计算梯度图i
c
每一列的最大值记为p
y

[0031]
s2.3、根据p
y
计算一个加权平均值,记为a
w
,由下式得到:
[0032][0033]
其中,p
y
(j)是一维向量p
y
的第j个元素,w
j
=abs(j

n
y
/2),j∈{1,2,

,n
y
},n
y
是p
y
的长度,abs()表示的是绝对值操作;
[0034]
s2.4、将a
w
与p
y
在同一个坐标轴中表示出来,a
w
与p
y
相交形成的闭合区域中面积最大的区域就是电极所在的位置,将该区域的两个端点p1和p2向p
y
两侧移动到最近的极小值点;
[0035]
s2.5、对p
x
重复步骤s2.3和s2.4,最终得到一个电极的包围矩形,使用包围矩形从原图中裁剪出精定位图像i
d

[0036]
进一步地,所述步骤s3中对电极进行边缘分割的过程如下:
[0037]
s3.1、利用sobel算子得到水平和垂直两个方向的梯度图i
x
和i
y

[0038]
s3.2、经过一个5
×
5的高斯核模糊后,对梯度图i
x
和i
y
使用非极大值抑制来细化边缘;
[0039]
s3.3、将梯度图i
y
归一化到0~255范围内,计算其直方图h
y
,再将h
y
转换到0~1的概率范围,h
y
的累加和,记为a
sy
,由下式计算:
[0040][0041]
其中,h
y
(j
h
)是一维向量h
y
的第j
h
个值,i
a
∈{1,2,

,255};
[0042]
s3.4、阈值t满足以下的条件:
[0043]
a
sy
(i
a
1)>p&&a
sy
(i
a
)≤p
[0044]
其中,&&表示逻辑与运算,p是给定的比例系数,此处,对于一个h
×
w图像,i
y
的比例系数p
y
(i
p
)定义为:
[0045][0046]
类似的,i
x
的比例系数p
x
(j
p
)定义为:
[0047][0048]
设置i
p
分别等于2、3、4,j
p
分别等于3、4、5,根据p的设计可以分别得到i
y
和i
x
各自的三个阈值,由高阈值到低阈值,从i
y
得到3个二值图像,分别记为b
y1
、b
y2
和b
y3
,从i
x
得到3个二值图像,分别记为b
x1
、b
x2
和b
x3

[0049]
s3.5、使用“按位或”操作将两张对应的二值图像进行组合,再使用形态学闭操作来连接小间隙得到g1、g2和g3三幅图像,用公式表达为:
[0050]
g
i
=(b
yi
∪b
xi
)

k
[0051]
其中,∪表示按位或操作,

示形态学闭操作,k是一个3
×
3的结构元素,b
xi
取值分别为b
x1
、b
x2
和b
x3
,b
yi
取值分别为b
y1
、b
y2
和b
y3

[0052]
s3.6、g1的每一列中,p
f
和p
l
分别对应第一个和最后一个白点的位置。令p
f
和p
l
之间的点为1,其他的点为0,结果记为m
c
;对g1中的每一行进行相同的操作,得到m
r
,计算二者的并集,m
or
=m
c
∪m
r
,获得一个掩模m
or
,利用掩膜m
or
消除g2和g3中的噪声点得到g2′
和g3′

[0053]
g2′
=g2·
m
or
[0054]
g3′
=g3·
m
or
[0055]
其中,
·
表示点乘运算;
[0056]
s3.7、采用一种基于种子生长的方法来选择目标边缘点:
[0057][0058]
g
s
=g2′‑
g
12
[0059]
g3″
=g3′‑
g
s
[0060][0061]
其中,表示种子生长过程,g
123
是最终的边缘分割结果,g
12
、g
s
、g3″
为计算过程的不同中间变量。
[0062]
进一步地,所述步骤s4中区域生成过程如下:
[0063]
s4.1、将轮廓分为上、下、左、右四个部分,分别表示为p
u
、p
d
、p
l
和p
r

[0064]
s4.2、p
u
和p
d
分别记录g
123
中每一列第一个和最后一个白点的位置,两个白点分别记为p
f
和p
l
;如果p
f
、p
l
相连通,即二者之间的点全是白点,标志f
ud
被设为1,否则设为0;
[0065]
s4.3、利用标志f
ud
和曲线修改方法,对p
u
使用最小值函数修改,对p
d
使用最大值函数修改得到更新后的p
u
和p
d

[0066]
s4.4、将p
u
与一维向量k进行卷积运算消除p
u
中由于噪声引起的剧烈跳变,过程如下:
[0067][0068]
其中,表示卷积运算;
[0069]
s4.5、设置一个阈值t
u
,若g
u
(i)>t
u
,则将对应位置的标志置为1,否则置为0,g
u
(i)是g
u
的第i个元素,最后利用标志并使用线性插值法对p
u
进一步更新,
[0070]
s4.6、对p
d
、p
l
和p
r
重复步骤s4.4和s4.5进行同样的处理;
[0071]
s4.7、令p
u
和p
d
之间的点为1生成掩模m1,令p
l
和p
r
之间的点为1生成掩模m2,计算二者的交集:
[0072]
m3=m1∩m2[0073]
其中,∩表示“按位与”运算,m3表示最后的结果,代表电极的区域。
[0074]
进一步地,所述分割方法中利用标志向量f修改曲线c,过程如下:如果在一个连续的区间,如[a1,a
k
],其中a1,a
k
为区间的两个端点,且a
k
>a1,对任意i
f
∈[a1,a
k
],有f(i
f
)=1,对任意有f(i
f
)=0,f(i
f
)表示标志向量f的第i
f
个元素,则使用区间两端的相邻点c(a1‑
1),c(a
k

1)通过一个函数f(c(a1‑
1),c(a
k

1))计算整个区间的替代值,来取代曲线c在这个区间上的值,其中函数f根据不同的需求选取为最小值函数、最大值函数和线性插值函数中的一种。
[0075]
本发明相对于现有技术具有如下的优点及效果:
[0076]
(1)本发明利用粗定位和精定位将硅片中的电极全部切割出来,去除了大部分不均匀、复杂的背景;
[0077]
(2)电极最明显的特征是其周围或内部有较强的梯度强度。因此,梯度是用于分割电极的主要信息,通常情况下,梯度图的强度范围较大,很难选择一个阈值来区分目标和噪声。本发明中首先利用电极的形状先验,基于直方图选取了三个阈值,得到对应的二值图像,然后使用种子生长方法来选择目标边缘点得到了效果较优的边缘分割结果;
[0078]
(3)本发明在区域生成中提出了一种利用标志修改曲线的方法,在基于边缘分割结果的基础上得到了电极最终的分割检测结果。
附图说明
[0079]
图1是本发明中公开的太阳能电池背面电极分割方法的流程图;
[0080]
图2是本发明中原始图像以及粗定位结果示意图;
[0081]
图3是本发明中粗定位算法的主要变量示意图;
[0082]
图4是本发明中精定位算法结果示意图;
[0083]
图5是本发明边缘分割算法中的中间变量示意图,其中,图5(a)、图5(b)、图5(c)表示的是根据三个阈值获得的二值图像,图5(d)表示的是边缘分割的最终结果,图5(e)、图5(f)分别表示的是根据图5(a)和图5(b)得到的掩膜,图5(g)表示的是图5(e)和图5(f)的并集,即最终得到的掩膜,图5(h)是最终得到的电极区域;
[0084]
图6是本发明使用标志修改曲线的示例图;
[0085]
图7是本发明中四部分轮廓处理前后示意图,其中,图7(a)是上下部分轮廓处理前后示意图;图7(b)是左右部分轮廓处理前后示意图;
[0086]
图8是不同方法的分割结果对比图,图8中从第一行到最后一行依次是:测试图像、标签,分别来自dct

t、ced、dct

svm、fcn和pm的结果。
具体实施方式
[0087]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0088]
实施例
[0089]
本实施例主要针对太阳能电池背面电极提出了一种智能分割技术,利用边缘强度投影和模板匹配方法依次获得电极的粗略位置和较精准位置;然后采用阈值法和种子生长法提取电极边缘点,最后利用边缘点生成一个闭合的区域来表示电极的形状。
[0090]
图1是本实施例公开的一种太阳能电池背面电极分割方法的流程图,下面通过具体实施例来进行说明。一种太阳能电池背面电极分割方法,具体步骤如下:
[0091]
s1、粗定位:利用投影法和多项式拟合法对电池硅片图像中的54个背面电极进行粗定位,经裁剪得到54个尺寸为128
×
158的粗定位图像i
r
,r=1,2

54,每个粗定位图像包含一个电极,图2中显示了此步骤得到的粗定位结果,从图2可以明显看出所有的电极小矩形位置都被大致定位出来了;
[0092]
s2、精定位:基于sobel算子计算出粗定位图像i
r
的梯度图i
c
,利用最大值投影法计算梯度图i
c
中每行和每列的最大值p
x
和p
y
,对p
x
和p
y
计算加权平均值并基于此得到包含电极精定位结果的梯度直方图i
d
,图4中对p
x
和p
y
均有显示,最终的精定位结果也在图4中显示出来,图4中的小矩形将整个电极包含在其中,同时,几乎没有过多的背景存在,精定位的效果十分显著;
[0093]
s3、边缘分割:根据精定位图像i
d
的梯度直方图选取三个阈值,得到精定位图像i
d
对应的二值图像使用种子生长法选择目标边缘点从二值图像中进一步对电极进行边缘分割得到边缘分割结果g
123
,图5(a)、图5(b)、图5(c)就是基于选取的三个阈值,并进行相应的组合和形态学闭操作得到的初步边缘分割图像。图5(d)即为利用种子生长法在初步边缘分割结果的基础上得到的最终边缘分割结果;
[0094]
s4、区域生成:对边缘分割结果g
123
绘制封闭轮廓,得到最终分割出来的太阳能电池背面电极m3,效果如图5(h)所示,边缘分割和区域生成的结果在精定位的基础上又有了进一步的提升,在保留电极的情况下尽最大的可能将所有的背景都成功剔除。
[0095]
本发明提出的一种太阳能电池背面电极分割方法通过以下技术方案进一步实现:
[0096]
本实施例中,步骤s1中对电极进行粗定位的具体过程如下:
[0097]
s1.1、利用sobel算子计算电池硅片图像水平和垂直两个方向的梯度,记为g
x
和g
y

[0098][0099][0100]
其中,i
r
为粗定位图像,由于电极周围有很强的梯度强度,利用sobel算子可以很好的将电极的行列位置粗略的确定下来;
[0101]
s1.2、采用均值投影法,通过计算g
x
每一列的均值并将g
x
投影到y轴上,结果记为m
y
,通过计算g
y
每一行的均值并将g
y
投影到x轴上,结果记为m
x
,投影法是将二维矩阵转换为一维向量的常见方法;
[0102]
s1.3、利用三阶多项式拟合m
x
,拟合结果记为m
fx
,在实践中对m
x
以10为间隔进行采样来降低运算负担,并定义一个中间变量m
p
为:
[0103]
m
p
=maximum(m
x

m
fx
,0)
[0104]
其中,maximum()表示取较大值;
[0105]
s1.4、定义一个阈值t
m

[0106][0107]
其中,n
p
是m
p
中大于0的个数,m
p
(i
t
)是一维向量m
p
第i
t
个值,i
t
的取值范围为从1到n
x
,写作i
t
∈{1,2,

,n
x
},n
x
是m
x
的长度;
[0108]
s1.5、利用阈值t
m
,将m
p
进行二值化得到b
x
=[b
x
(1),b
x
(2),

,b
x
(i
t
),

]:
[0109][0110]
其中b
x
(i
t
)是一维向量b
x
的第i
t
个元素。在b
x
中等于1的区域就是可能的电极列位置,b
x
的结果如图3所示;
[0111]
s1.6、从无缺陷的电池硅片样品中获取电极模板t
p
,将t
p
视为滑动窗口,在b
x
上滑动,计算t
p
和b
x
交集最大的位置,即可得到电极所在的列位置;
[0112]
s1.7、重复步骤s1.3

步骤s1.6进行电极行位置的粗定位,根据获取的电极行、列位置对硅片进行裁剪得到粗定位图像i
r

[0113]
本实施例中,步骤s2中对电极进行精定位的具体过程如下:
[0114]
s2.1、使用sobel算子计算粗定位图像i
r
的梯度图,记为i
c

[0115]
s2.2、采用最大值投影法,计算梯度图i
c
每一行的最大值记为p
x
,计算梯度图i
c
每一列的最大值记为p
y

[0116]
s2.3、根据p
y
计算一个加权平均值,记为a
w
,由下式得到:
[0117][0118]
其中,p
y
(j)是一维向量p
y
的第j个元素,w
j
=abs(j

n
y
/2),j∈{1,2,

,n
y
},n
y
是p
y
的长度,abs()表示绝对值操作;
[0119]
s2.4、将a
w
与p
y
在同一个坐标轴中表示出来,a
w
与p
y
相交形成的闭合区域中面积最大的区域就是电极所在的位置,将该区域的两个端点p1和p2向p
y
两侧移动到最近的极小值点;
[0120]
s2.5、对p
x
重复步骤s2.4和s2.4,最终得到一个电极的包围矩形,使用包围矩形,从原图中裁剪出精定位图像i
d
。这样可以将电极定位在小范围内,因而能去除大部分不均匀、复杂的背景,为后续分割做进一步的铺垫。
[0121]
本实施例中,步骤s3中对电极进行边缘分割的过程如下:
[0122]
s3.1、利用sobel算子得到水平和垂直两个方向的梯度图i
x
和i
y

[0123]
s3.2、经过一个5
×
5的高斯核模糊后,对梯度图i
x
和i
y
使用非极大值抑制来细化边缘;
[0124]
s3.3、将梯度图i
y
归一化到0~255范围内,计算其直方图h
y
,再将h
y
转换到0~1的概率范围。h
y
的累加和,记为a
sy
,由下式计算:
[0125][0126]
其中,h
y
(j
h
)是一维向量h
y
的第j
h
个值,i
a
∈{0,1,

,255};
[0127]
s3.4、阈值t满足以下的条件:
[0128]
a
sy
(i
a
1)>p&&a
sy
(i
a
)≤p
[0129]
其中,&&表示逻辑与运算,p是给定的比例系数,此处,对于一个h
×
w图像,i
y
的比例系数p
y
(i
p
)定义为:
[0130][0131]
类似的,i
x
的比例系数p
x
(j
p
)定义为:
[0132][0133]
设置i
p
分别等于2、3、4,j
p
分别等于3、4、5,根据p的设计可以分别得到i
y
和i
x
各自的三个阈值,由高阈值到低阈值,从i
y
得到3个二值图像,分别记为b
y1
、b
y2
和b
y3
,从i
x
得到3个二值图像,分别记为b
x1
、b
x2
和b
x3

[0134]
s3.5、使用“按位或”操作将两张对应的二值图像进行组合,再使用形态学闭操作来连接小间隙得到g1、g2和g3三幅二值图像,用公式表达为:
[0135]
g
i
=(b
yi
∪b
xi
)

k
[0136]
其中,∪表示按位或操作,

表示形态学闭操作,k是一个3
×
3的结构元素;
[0137]
s3.6、二值图像g1的每一列中,p
f
和p
l
分别对应第一个和最后一个白点的位置。令p
f
和p
l
之间的点为1,其他的点为0,结果记为m
c
。对g1中的每一行进行相同的操作,得到m
r
。计算二者的并集,m
or
=m
c
∪m
r
,可获得一个掩模m
or
,利用掩膜m
or
消除g2和g3中的噪声点得到g2′
和g3′

[0138]
g2′
=g2·
m
or
[0139]
g3′
=g3·
m
or
[0140]
其中,
·
表示点乘运算;
[0141]
s3.7、采用一种基于种子生长的方法来选择目标边缘点:
[0142][0143]
g
s
=g2′‑
g
12
[0144]
g3″
=g3′‑
g
s
[0145][0146]
其中,表示种子生长过程,g
123
是最终的边缘分割结果,展示在图5(d)中,g
12
、g
s
、g3″
为计算过程的不同中间变量。
[0147]
本实施例中,步骤s4中区域生成的过程如下:
[0148]
s4.1、将轮廓分为上、下、左、右四个部分,分别表示为p
u
、p
d
、p
l
和p
r

[0149]
s4.2、p
u
和p
d
分别记录g
123
中每一列第一个和最后一个白点的位置,两个白点分别记为p
f
和p
l
;如果p
f
与p
l
相连,即二者之间的点全是白点,标志f
ud
被设为1,否则设为0;
[0150]
s4.3、利用标志f
ud
和曲线修改方法,对p
u
使用最小值函数修改,p
d
使用最大值函数修改得到更新后的p
u
和p
d
,利用标志修改曲线的示例图如图6所示,图6中展示的是利用线性插值函数y=1.25x 2来修改曲线c的过程,但在此处,选择最小值函数和最大值函数进行修改;
[0151]
s4.4、将p
u
与一维向量k进行卷积运算消除p
u
中由于噪声引起的剧烈跳变,过程如下:
[0152][0153]
其中,在此处表示卷积运算,k的取值在此处设置为k=[

1,2,

1];
[0154]
s4.5、设置一个阈值t
u
,若g
u
(i
g
)>t
u
,则将对应位置的标志置为1,否则置为0,g
u
(i
g
)是g
u
的第i
g
个元素,其中t
u
在实验中设为10,使用线性插值法对p
u
进一步更新;
[0155]
s4.6、对p
d
、p
l
和p
r
重复步骤s4.4和s4.5进行同样的处理;
[0156]
s4.7、令p
u
和p
d
之间的点为1生成掩模m1,令p
l
和p
r
之间的点为1生成掩模m2,计算二者的交集:
[0157]
m3=m1∩m2[0158]
其中,∩表示“按位与”运算,m3表示最后的结果,代表电极的区域,结果显示在图5(h)中;
[0159]
在本实施例中,选取50幅有缺陷图像和50幅无缺陷图像作为测试集,训练集中包含25张缺陷图像和25张无缺陷图像。实施例中的所有方法都使用测试集进行性能评估,将四种方法与本发明提出的方法进行了比较,第一种方法是otsu法加dct,记为dct

t。第二种方法是canny边缘检测方法,记为ced,联合dct和支持向量机(svm)分类器是第三种方法,全连接网络(fcn)是最后一种方法。不同方法测量结果如下表1所示:
[0160]
表1.两种形式的评价指标表
[0161][0162][0163]
各度量标准定义如下:
[0164][0165][0166][0167]
其中,fp为tp分别是实验中的假阳性和真阳性,fn和tn分别为假阴性和真阴性。因此,fpr是实验中阴性像素被错判为阳性的比例,fnr则是阳性像素被错判为阴性的比例,mae是错分类的像素占所有像素的比例。另外,三个评价指标会以两种形式计算,一种是像素级形式(pixel

wise form),用来评估分割方法的像素级精度,另一种是样本级形式(sample

wise form),用来评估方法识别缺陷的能力。利用分割结果,可以识别样本有无缺陷。在样本级形式中,fpr是阴性样本被错判为阳性样本的比例,fnr则是阳性样本被错判为阴性样本的比例,mae是错分类的样本占所有样本的比例。
[0168]
从表1可以看出,总的来说,pm的性能比实验中所有的比较方法都要好。
[0169]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献