1.本发明涉及机器视觉检测技术领域,具体涉及一种自动识别太阳能电池内部缺陷的方法。
背景技术:
2.基于机器视觉的光电半导体产品缺陷自动检测是目前行业的一大刚需,特别是太阳能电池的生产过程由若干复杂的技术组成,受到数千个工艺参数的影响。一旦出现差错,这些有害影响就会在太阳能电池的外部或内部表现为缺陷。
3.局部缺陷检测技术大致分为基于模板匹配、基于低秩表示和基于模型的方法。基于模板匹配方法的有效性取决于检测样本与模板的准确对齐、相似的局部亮度变化和具有足够代表性的模板,不适用于本发明所面临的复杂场景;基于低秩表示方法的核心是基于纹理先验知识构造一个字典矩阵,但字典矩阵越大,计算时间越长,难以保证实时性;而基于深度学习模型的方法在数据匮乏时,数据不足会导致过拟合和泛化能力差,此外,为大规模数据集标注图像标签既费时费力,又不适合高速生产线。因此,设计一种更通用的太阳能电池内部缺陷检测算法面临着速度快、精度高、鲁棒性强、兼容性好的挑战。
技术实现要素:
4.本发明的目的是为了解决现有技术中的上述缺陷,提供一种自动识别太阳能电池内部缺陷的方法。
5.本发明的目的可以通过采取如下技术方案达到:
6.一种自动识别太阳能电池内部缺陷的方法,所述方法包括以下步骤:
7.s1、选取一副太阳能电池样本图像作为输入图像,生成输入图像的显著性图,在不均匀背景下不受监督地获取不同大小的显著目标;
8.s2、基于全局结构信息进行粗检测,在显著性图中将可能有缺陷的前景与背景区分开来,并最大限度保护缺陷形状信息;
9.s3、基于多尺度局部分析依据粗检测得到的结果对太阳能电池内部缺陷进行精细分割,在像素级对可能存在缺陷的区域进行准确分割。
10.进一步地,所述步骤s1中生成输入图像的显著性图的过程如下:
11.s1.1、从数据集中选取一个大小为m
×
n位图作为输入图像i(x,y),利用傅里叶变换ft得到频域图像i(u,v),其中,m为图像的高,n为图像的宽:
[0012][0013]
其中,x、u∈[0,m-1],y、v∈[0,n-1],re(u,v)和im(u,v)分别为频域图像的实部与虚部,将图像转化为频域图像后,通常将表示均匀重复模式的频率分量置零,这样有利于周期性纹理表面的局部缺陷检测。;
[0014]
s1.2、在复域对频域图像i(u,v)进行奇异值分解,因为通过将较小的奇异值置零,
保留较大的奇异值来重建图像这个简单的差异处理之后,可以去除背景纹理,从而明显增强复原图像中的异常,所以在此保留前k1个较大的奇异值重建新的频域图像i
′
(u,v)=re
′
(u,v) j
·
im
′
(u,v):
[0015][0016]
其中,矩阵u和矩阵v分别由和的正交特征向量组成,uk和vk分别是矩阵u和矩阵v的第k列元素,符号表示转置,i表示i(u,v)的简称,re
′
(u,v)和im
′
(u,v)表示频域图像i
′
(u,v)的实部和虚部,λk是由i的奇异值λ1,λ2,
…
,λr组成的对角矩阵的第k个元素;
[0017]
s1.3、将频域图像i
′
(u,v)的实部、虚部和频域图像i(u,v)的实部、虚部分别进行对比获取重构的实部rre
*
(u,v)和虚部im
*
(u,v)为:
[0018][0019]
其中,min(
·
)表示逐像素计算两幅图像的最小值,|
·
|表示求取图像的绝对值;
[0020]
s1.4、利用重构的实部re
*
(u,v)和虚部im
*
(u,v)得到新的频域图像i
*
(u,v),同时,根据傅里叶反变换ift得到空间域的重构图像i
*
(x,y):
[0021][0022]
在重构图像i
*
(x,y)中,较亮的异常变暗,较暗的异常变亮,即前景强度趋于背景强度,更有利于显著性图的生成;
[0023]
s1.5、生成显著性图s(x,y):
[0024]
s(x,y)=α
·
d β
·b[0025]
其中,表示的是暗缺陷,表示的是暗缺陷,表示的是亮缺陷,表示一个大小为m
×
n且所有元素都为0的矩阵,α和β设置为0或者1,max(
·
)表示计算最大值,b和d的减法确保了不同图像的不同灰度范围被转换成了一个统一的基准。
[0026]
进一步地,所述步骤s2中进行粗检测的实现过程为:
[0027]
s2.1、对显著性图s(x,y)进行二值化阈值处理:
[0028][0029]
其中,1代表有缺陷的像素,0代表无缺陷的像素,阈值t∈[0,255],二值化处理之后的图像b(x,y)的所有像素灰度值均由0和1组成;
[0030]
s2.2、因为显著性图s(x,y)的灰度直方图中没有驼峰,所以很难自适应获取阈值t的大小,所以利用图像中的全局结构信息,设计了两个卷积核δ1、δ2对v(x,y)进行卷积操作得到卷积图像b6(x,y)和b7(x,y),其中,卷积核的形式如下;
[0031][0032]
s2.3、为了获取阈值t,对卷积图像b6(x,y)和b7(x,y)的直方图进行归一化处理得到概率分布直方图p(g):
[0033][0034]
其中,灰度值为g的像素个数由hg表示,所有的像素个数表示为表示,所有的像素个数表示为
[0035]
s2.4、引入香农熵来衡量全局结构信息的平均不确定性为h(g):
[0036][0037]
其中,log()表示求对数操作;
[0038]
s2.5、计算得到b6(x,y)和b7(x,y)的熵为h
b6
和h
b7
,设定一个度量标准为δ:
[0039]
δ=8
·hb6-7
·hb7
;
[0040]
为了使基于全局结构信息阈值的粗检测可以保持缺陷的完整形状,所以此处系数设为8和7;
[0041]
s2.6、遍历所有的阈值t得到相应的度量标准δ
t
,并根据最大的度量标准获取的阈值t
*
,利用阈值法得到感兴趣区域b
*
(x,y)的图像:
[0042][0043]
感兴趣区域b
*
(x,y)中最大限度的保留了图像中的缺陷信息;
[0044]
进一步地,所述步骤s3中基于多尺度局部分析依据粗检测得到的结果对太阳能电池内部缺陷进行精细分割的过程为:
[0045]
s3.1、对图像b
*
(x,y)进行连通域操作,使b
*
(x,y)由多个不同的连通域组成,找到所有连通域中最长的边l
max
,给定多尺度z,自适应计算步长q和滑动掩膜的宽度wz:
[0046][0047]
其中,int(
·
)表示取整操作,floor(
·
)表示向下取整操作,此处,z=5;;
[0048]
s3.2、为了检测不同对比度的缺陷,利用局部统计信息和相对阈值r,推导出局部平均图像μz(x,y)和局部标准差图像σz(x,y):
[0049][0050]
其中,表示为卷积算子,表示所有元素全为1的尺寸为wz×
wz的掩膜;
[0051]
s3.3、因为局部对比度与σ(x,y)和r相关,所以定义一个容差图εz(x,y):
[0052][0053]
其中,max
*
(
·
)表示逐像素计算两幅图像的最大值,表示比例因子,表示所有元素全为r的尺寸为m
×
n的矩阵;
[0054]
s3.4、生成候选图像cz(x,y):
[0055][0056]
其中,and和or分别表示与操作和或操作,az(x,y)=μz(x,y) εz(x,y),mz(x,y)=μz(x,y)-εz(x,y);
[0057]
s3.5、通过并运算将多尺度检测掩膜中的所有输出组合起来生成最终的图像:
[0058][0059]
其中,∪(
·
)表示组合运算。
[0060]
本发明相对于现有技术具有如下的优点及效果:
[0061]
(1)本发明设计了显著性图,突出显示了嵌入在具有异质纹理和不均匀亮度背景中的太阳能电池内部缺陷;
[0062]
(2)本发明提出了一种基于全局结构信息和多尺度局部分析的由粗到细的精密缺陷检测方法,对于待检测的缺陷样本形式及样本量要求不是很高,能适应不同场景的需求;
[0063]
(3)由于给出了加速策略,本发明所提出的方法可以应用于在线检测。
附图说明
[0064]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0065]
图1是本发明公开的一种自动识别太阳能电池内部缺陷的方法的流程图;
[0066]
图2是本发明实施例中选择的输入样本图像;
[0067]
图3是本发明实施例中依据样本图像生成的显著性图;
[0068]
图4是本发明实施例中灰度直方图;
[0069]
图5是本发明实施例中粗检测的结果示意图;
[0070]
图6是本发明实施例中精检测的结果示意图。
具体实施方式
[0071]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0072]
实施例1
[0073]
本实施例主要针对太阳能电池内部缺陷提出一种自动化检测技术,在不均匀背景下不受监督地获取不同大小的显著目标,并基于全局结构信息进行粗检测,在显著性图中将可能有缺陷的前景与背景区分开来,并尽可能保护缺陷形状信息。在此基础上,基于多尺度局部分析依据粗检测得到的结果对太阳能电池内部缺陷进行精细分割,在像素级对可能存在缺陷的区域进行准确分割。
[0074]
图1是本实施例公开的一种自动识别太阳能电池内部缺陷的方法的框架图,下面通过具体实施例来进行说明。一种自动识别太阳能电池内部缺陷的方法,具体步骤如下:
[0075]
s1、选取一副太阳能电池样本图像作为输入图像,利用傅里叶变换和反变换以及奇异值分解生成输入图像的显著性图,在不均匀背景下不受监督地获取不同大小的显著目标;
[0076]
s2、由于灰度直方图中没有波峰,所以在应用阈值法区分前景和背景的时候很难确定理想的阈值,因此应用卷积核充分利用全局结构信息进行粗检测,在显著性图中将可能有缺陷的前景与背景区分开来,并尽可能保护缺陷形状信息;
[0077]
s3、在上一步粗检测得到的结果中会存在较多的误检测,所以进一步基于多尺度局部分析依据粗检测得到的结果对太阳能电池内部缺陷进行精细分割,在像素级对可能存在缺陷的区域进行准确分割。
[0078]
本发明提出的一种自动识别太阳能电池内部缺陷的方法通过以下技术方案进一步实现:
[0079]
本实施例中,步骤s1中生成输入图像显著性图的具体过程如下:
[0080]
s1.1、从数据集中选取一个大小为m
×
n的8位图作为输入图像i(x,y),利用傅里叶变换ft得到频域图像i(u,v),其中,m为图像的高,n为图像的宽:
[0081][0082]
其中,x、u∈[0,m-1],y、v∈[0,n-1],re(u,v)和im(u,v)分别为频域图像的实部与虚部;
[0083]
s1.2、在复域对频域图像i(u,v)进行奇异值分解,保留前k1个较大的奇异值重建新的频域图像i
′
(u,v)=re
′
(u,v) j
·
im
′
(u,v):
[0084]
[0085]
其中,矩阵u和矩阵v分别由和的正交特征向量组成,uk和vk分别是矩阵u和矩阵v的第k列元素,符号表示转置,i表示i(u,v)的简称,re
′
(u,v)和im
′
(u,v)表示频域图像i
′
(u,v)的实部和虚部,λk是由i的奇异值λ1,λ2,
…
,λr组成的对角矩阵的第k个元素;
[0086]
s1.3、将频域图像i
′
(u,v)的实部、虚部和频域图像i(u,v)的实部、虚部分别进行对比获取重构的实部re
*
(u,v)和虚部im
*
(u,v)为:
[0087][0088]
其中,min(
·
)表示逐像素计算两幅图像的最小值,|
·
|表示求取图像的绝对值;
[0089]
s1.4、利用重构的实部re
*
(u,v)和虚部im
*
(u,v)得到新的频域图像i
*
(u,v),同时,根据傅里叶反变换ift得到空间域的重构图像i
*
(x,y):
[0090][0091]
s1.5、生成显著性图s(x,y):
[0092]
s(x,y)=α
·
d β
·b[0093]
其中,表示的是暗缺陷,表示的是暗缺陷,表示的是亮缺陷,表示一个大小为m
×
n且所有元素都为0的矩阵,α和β设置为0或者1,max(
·
)表示计算最大值。当α或β设为1时,触发相应的检测部分。
[0094]
本实施例中,步骤s2中对图像缺陷进行粗检测的具体过程为:
[0095]
s2.1、对显著性图s(x,y)进行二值化阈值处理:
[0096][0097]
s2.2、设计两个卷积核δ1、δ2对b(x,y)进行卷积操作得到卷积图像b6(x,y)和b7(x,y)其中,卷积核的形式如下;
[0098][0099]
s2.3、对卷积图像b6(x,y)和b7(x,y)的直方图进行归一化处理得到概率分布直方图p(g):
[0100][0101]
其中,灰度值为g的像素个数由hg表示,所有的像素个数表示为表示,所有的像素个数表示为
[0102]
s2.4、引入香农熵来衡量全局结构信息的平均不确定性为h(g):
[0103][0104]
其中,log()表示求对数操作;
[0105]
s2.5、计算得到b6(x,y)和b7(x,y)的熵为h
b6
和h
b7
,设定一个度量标准为δ:
[0106]
δ=8
·hb6-7
·hb7
[0107]
s2.6、遍历所有的阈值t得到相应的度量标准δ
t
,并根据最大的度量标准获取的阈值t
*
利用阈值法得到感兴趣区域b
*
(x,y)的图像:
[0108][0109]
在本实施例中,步骤s3的具体过程为:
[0110]
s3.1、对图像b
*
(x,y)进行连通域操作,使b
*
(x,y)由多个不同的连通域组成,找到所有连通域中最长的边l
max
,给定多尺度z,自适应计算步长q和滑动掩膜的宽度wz:
[0111][0112]
其中,int(
·
)表示取整操作,floor(
·
)表示向下取整操作;s3.2、利用局部统计信息和相对阈值r,推导出局部平均图像μz(x,y)和局部标准差图像σz(x,y):
[0113][0114]
其中,表示为卷积算子,表示所有元素全为1的尺寸为wz×
wz的掩膜;
[0115]
s3.3、定义一个容差图εz(x,y):
[0116][0117]
其中,max
*
(
·
)表示逐像素计算两幅图像的最大值,表示比例因子,表示所有元素全为r的尺寸为m
×
n的矩阵;
[0118]
s3.4、生成候选图像cz(x,y):
[0119][0120]
其中,and和or分别表示与操作和或操作,az(x,y)=μz(x,y) εz(x,y),mz(x,y)=μz(x,y)-εz(x,y);
[0121]
s3.5、通过并运算将多尺度检测掩膜中的所有输出组合起来生成最终的图像:
[0122][0123]
其中,u(
·
)表示组合运算。
[0124]
实施例2
[0125]
在本实施例中,将本发明提出的方法(pm)与傅里叶变换(ft)及奇异值分解(svd)两种经典算法进行了比较,采用假阳性率(fpr)、假阴性率(fnr)和平均绝对误差(mae)进行了各算法的性能评估,它们的定义如下:
[0126][0127][0128][0129]
fp表示像素级伪缺陷区域,tn表示像素级真背景区域,fn表示像素级未检测到的缺陷区域,tp表示像素级真缺陷区域。即fpr定义为被错误检测为缺陷的完好像素所占的比例,fnr表示被错误预测为背景的缺陷像素所占的比例,mae表示被错误区分为背景或缺陷的像素所占的比例。可见,指标(fpr、fnr和mae)的值越小,算法检测到的结果越优。
[0130]
表1.不同算法的检测结果表
[0131]
方法fprfnrmaepm0.000190.299000.00302ft0.003880.494530.00568svd0.004980.244070.00862
[0132]
实验结果表明,本发明提出的先生成显著性图,再基于全局结构信息和多尺度局部分析的由粗到细的精密缺陷检测方法取得了最优的检测结果。
[0133]
综上所述,上述实施例公开的一种自动识别太阳能电池内部缺陷的方法,提出了一种通用的基于显著性图的由粗到精的方法,可用于不同生产工艺下太阳能电池内部缺陷的自动检测。
[0134]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-778.html