1.一种基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,包括下述步骤:
针对划痕、毛丝、浅色脏污和深色脏污类型的缺陷,设定控制缺陷结构参数,创建仿真缺陷数据库;
所述划痕和毛丝类型的缺陷由线状类缺陷仿真方法生成;
所述浅色脏污和深色脏污类型的缺陷由块状类缺陷仿真方法生成;
采用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;
对收集到的实际缺陷样本进行数据扩增;
通过仿真缺陷数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用,完成实际缺陷检测过程的分类和识别。
2.根据权利要求1所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述线状类缺陷仿真方法包括下述步骤:
采用随机游走算法,生成线状缺陷的整体骨架;
将骨架转化成连通区域,对线状区域进行膨胀处理;
将所生成的线状区域按照高斯分布进行灰度值填充;
将填充后的区域与无缺陷背景的图片进行图像融合,最终得到人工仿真的线状类缺陷图片。
3.根据权利要求2所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述生成线状缺陷的整体骨架,具体计算公式为:
θi=θi-1+sgn·δθ+sgn·δφ;
xi=xi-1+s·cosθi;
yi=yi-1+s·sinθi;
其中,(xi,yi)为骨架在第i个点上的位置,θi表示骨架在第i个点时的方向角,δθ为限定角度变化区间内的随机分布,δφ决定是否存在角度突变,sgn为符号函数,其值为1或-1,决定角度变化的增减方向,s为骨架长度变化的步长;
所述对线状区域进行膨胀处理,具体步骤包括:
将骨架分切分成小段,对每个小段进行不同的膨胀尺度,得到不同宽度的线状区域,对膨胀后的区域进行区域开运算处理;
所述将所生成的线状区域按照高斯分布进行灰度值填充,具体步骤包括:
利用区域腐蚀和布尔差运算将膨胀后的线状区域分为两部分:靠近中心骨架区域和边缘区域,将这两部分区域按照不同的高斯分布进行灰度值填充;
所述将填充后的区域与无缺陷背景的图片进行图像融合,具体计算公式为:
val_fusion(i,j)=(1-α)·val_background(i,j)+α·val_defect(i,j)
其中,val_background(i,j)、val_defect(i,j)和val_defect(i,j)分别为无缺陷背景图像、已填充灰度线状缺陷区域以及融合后缺陷图像在行列坐标为(i,j)处的灰度值,α为融合系数,其取值区间在0到1之间。
4.根据权利要求1所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述块状类缺陷仿真方法包括整体呈团状的缺陷的仿真,以及簇状类缺陷的仿真;
所述整体呈团状的缺陷的仿真包括下述步骤:
生成一条随机的不规则的闭合曲线,将所述闭合曲线围成的闭合区域作为块状缺陷的生成区域,对闭合区域进行高斯分布灰度填充或者纹理填充,与无缺陷背景进行图像融合;
所述簇状类的缺陷仿真包括下述步骤:
利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,对图片进行阈值处理得到随机簇状纹理区域,与不规则闭合曲线形成的区域进行区域布尔交运算,得到仿真缺陷簇状区域,对簇状区域进行纹理填充后,与无缺陷背景进行图像融合。
5.根据权利要求4所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述生成一条随机的不规则的闭合曲线,具体步骤包括:
首先在[0,2π]区间内生成k-1个随机数,按照从小到大顺序进行排序,得到k-1个角度值;
确定k个角度值后,在[0,2π]区间内随机指定一个初始值作为初始点a1的角度,然后依次每次变化角度为δθi,直到确定结构点ak的位置,具体表示为:
其中,θ0表示初始角度,ρ表示结构点到中心点o之间的距离,ρμ为基础半径的数值,决定块状缺陷的整体大小,ρδ为0到δ之间的随机数,决定半径大小的波动情况,sgn为符号函数,其值为1或-1,决定半径变化的增减方向;
k个结构点确定,即分别获得了结构点的行和列坐标向量,进行b样条曲线插值,形成一条闭合曲线,该曲线围成的闭合区域为块状缺陷的生成区域。
6.根据权利要求4所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,具体包括:
通过改变分形叠加权重、频率或变换方式获得不同结构的二维纹理图;
获取二维纹理图后,将其转化到灰度区间[valmin,valmax]内的灰度值以获得灰度图像,具体转化公式为:
其中,min为求最小值函数,max为求最大值函数。
7.根据权利要求4所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述灰度填充采用高斯分布噪声生成的纹理进行填充、或采用分形叠加柏林噪声生成的纹理进行填充,或采用实际缺陷形成的纹理进行填充。
8.根据权利要求7所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述采用实际缺陷形成的纹理进行填充,具体步骤包括:
首先,从原始的缺陷样图中随机抽取一个小块,并放置于目标大尺寸缺陷图的左上角,按照从左到右,从上到下,计算小块重叠区域中数据与原始图像数据中每块的相似度,在两个小块的重叠区域中寻找出最优的拼接路径,利用已有的小尺寸缺陷样本图片合成大尺寸缺陷样本图片,进而将合成的缺陷纹理对生成的不规则区域进行灰度值填充。
9.根据权利要求8所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述相似度计算公式为:
其中,m和n分别表示重叠区域的高和宽,fblock(i,j)为重叠区域对应的目标图像在(i,j)处的灰度值,fp(i,j)为重叠区域对应的原缺陷样图小块在(i,j)处的灰度值,k为样图中选取的小块的总个数,min为求最小值函数;
所述在两个小块的重叠区域中寻找出最优的拼接路径,具体计算两个小块重叠区域每个像素值差距的大小,
采用差值的平方表示:
dis(i,j)=[fa(i,j)-fb(i,j)]2,i=1,2,...m,j=1,2,...n,
其中,m和n分别表示重叠区域的高和宽,fa(i,j)和fb(i,j)为重叠区域两小块在(i,j)处的灰度值,最优的拼接路径上所有点对应的dis(i,j)的和最小。
10.一种基于人工缺陷仿真的弱监督机器视觉检测系统,其特征在于,包括:创建仿真缺陷数据库模块、划痕和毛丝类型的缺陷生成模块、浅色脏污和深色脏污类型的缺陷生成模块、训练模块、数据扩增模块和分类识别模块;
所述创建仿真缺陷数据库模块用于针对划痕、毛丝、浅色脏污和深色脏污类型的缺陷,设定控制缺陷结构参数,创建仿真缺陷数据库;
所述划痕和毛丝类型的缺陷生成模块采用线状类缺陷仿真方法生成划痕和毛丝类型的缺陷;
所述浅色脏污和深色脏污类型的缺陷生成模块采用块状类缺陷仿真方法生成浅色脏污和深色脏污类型的缺陷;
所述训练模块采用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;
所述数据扩增模块用于对收集到的实际缺陷样本进行数据扩增;
所述分类识别模块用于通过仿真缺陷数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用,完成实际缺陷检测过程的分类和识别。