本发明涉及计算机视觉及工业自动化,具体涉及基于半监督辅助学习(semi-supervised auxiliary learning,ssal)语义分割的注塑制品表面缺陷检测方法。
背景技术:
1、注塑成型是一个复杂的过程,其产品质量容易受到工艺参数和环境条件的影响。即便是在稳定生产的情况下,注塑机的性能波动和材料的参数变化等影响因素仍然会导致注塑缺陷的出现,对注塑制品的外观和性能产生严重影响。因此,对注塑制品进行缺陷检测是注塑成型生产质量控制中的重要一环。
2、现有的缺陷检测手段主要依靠人工检测,这种方式效率低下,易受主观性影响,无法实现缺陷反馈。机器视觉和机器学习算法可以用于表面缺陷的自动化检测,但是它们的准确率相对较低,而且难以适应生产线调整所带来的变化。
3、近年来,深度学习算法在图像分类、目标检测、语义分割等领域取得了重大进展,并且因其端到端和鲁棒性强等特点被广泛应用于缺陷检测领域。语义分割算法在面对形态各异的缺陷时,可以逐像素地区分图像中缺陷区域和正常区域,为实现精确的缺陷量化提供了必要条件。
4、此外,在实际的工业生产情况中,由于缺陷样本的不平衡性,深度学习方法容易出现过拟合现象,导致检测精度下降。为缓解过拟合问题,数据增强、数据合成和迁移学习等技术被广泛应用于模型训练。然而,这些方法在训练过程中所用的数据均源自已有的缺陷样本,无法解决样本缺乏的根本问题,而且可能会将噪声和人工信息引入到模型中,同时,生产过程中许多不包含缺陷的样本并没有得到充分利用。
5、公开号为cn 110473173 a的专利申请文件公开了一种基于语义分割的缺陷检测方法,包括:制作物体表面缺陷训练图像集;完成表面缺陷图像的手动标注;搭建应用于物体表面缺陷检测的深度学习语义分割缺陷检测模型;进行深度学习语义分割缺陷检测模型的训练;基于已训练的深度学习语义分割缺陷检测模型,进行物体表面缺陷检测;得到对应输出的具有缺陷种类标签图像,获得缺陷检测结果。该发明仅采用缺陷样本图像进行模型训练,没有充分利用不包含缺陷的样本图像,无法解决样本缺乏的根本问题。
6、因此,亟需寻找一种新的注塑制品表面缺陷的检测方法,充分利用不包含缺陷的样本对注塑制品缺陷进行精确检测,以满足工业场景的应用具有重要意义。
技术实现思路
1、本发明的目的在于提供一种基于半监督辅助学习语义分割的注塑制品表面缺陷检测方法,充分利用不包含缺陷的样本,提高语义分割模型在小样本数据集下对注塑制品缺陷的检测准确率和泛化能力,满足工业场景的应用需求。
2、一种基于半监督辅助学习语义分割的注塑制品表面缺陷检测方法,包括以下步骤:
3、步骤a:获取注塑制品样本图像,构建语义分割数据集和图像重建数据集;
4、步骤b:构建ssal网络模型,将语义分割数据集和图像重建数据集中的图像输入到ssal网络模型中进行语义分割任务和图像重建任务的交替训练;
5、步骤c:将待检测的注塑制品样本图像输入到步骤b训练好的ssal网络模型中进行缺陷的语义分割,将不同的缺陷标记为对应的像素值,得到语义分割结果图;
6、步骤d:根据语义分割结果图,将注塑制品缺陷区域量化,得到缺陷检测结果。
7、进一步地,步骤a中,获取注塑制品样本图像,构建语义分割数据集和图像重建数据集的具体步骤为:
8、步骤a1:收集若干包含表面缺陷的注塑制品样本和若干不包含表面缺陷的注塑制品样本,采集注塑制品样本图像,获得包含注塑制品表面缺陷的图像和不包含注塑制品表面缺陷的图像;
9、步骤a2:对包含注塑制品表面缺陷的图像进行标注,获得对应的语义分割标签图像;
10、步骤a3:使用数据增强扩充包含注塑制品表面缺陷的图像及其对应的语义分割标签图像,将扩充后得到的包含注塑制品表面缺陷的图像及其对应的语义分割标签图像组成语义分割数据集;使用数据增强扩充不包含注塑制品表面缺陷的图像,将扩充后得到的不包含注塑制品表面缺陷的图像与扩充后得到包含注塑制品表面缺陷的图像组成图像重建数据集。
11、进一步地,步骤a3中,所述的数据增强扩充包括图像翻转、图像缩放和图像扭曲。
12、进一步地,步骤a3中,所述的语义分割数据集包含像素级的语义分割标签图像,所述的图像重建数据集不包含语义分割标签图像。
13、进一步地,步骤b中,所述的ssal网络模型包括主干网络部分和网络输出部分:
14、所述主干网络部分由编码部分和解码部分依次连接构成,编码部分的输入为主干网络部分的输入,解码部分的输出为主干网络部分的输出,
15、所述编码部分主要由一个初始卷积模块和四个连续的下采样模块依次连接构成,每个下采样模块由一个最大池化层和若干个卷积层依次连接构成,每个卷积层由二维卷积层和relu层依次连接构成;
16、所述解码部分主要由四个连续的上采样模块构成,每个上采样模块由一个上采样层、一个拼接层和两个卷积层依次连接构成;每个卷积层由二维卷积层和relu层依次连接构成;
17、初始卷积模块的输出特征图和第四个上采样模块中上采样层的输出特征图经过拼接层按照通道维度进行拼接后输入到第四个上采样模块中的卷积层中,第一个下采样模块输出的特征图和第三个上采样模块中上采样层的输出特征图经过拼接层按照通道维度进行拼接后输入到第三个上采样模块中的卷积层中,第二个下采样模块输出的特征图和第二个上采样模块中上采样层的输出特征图经过拼接层按照通道维度进行拼接后输入到第二个上采样模块中的卷积层中,第三个下采样模块输出的特征图和第一个上采样模块中上采样层的输出特征图经过拼接层按照通道维度进行拼接后输入到第一个上采样模块中的卷积层中,第四个下采样模块输出的特征图被作为第一个上采样模块的输入;
18、所述网络输出部分主要由语义分割输出分支和图像重建输出分支构成,
19、所述语义分割输出分支由一个二通道卷积层构成,语义分割输出分支的输入是主干网络部分的输出;
20、所述图像重建输出分支由一个三通道卷积层构成,图像重建输出分支的输入是主干网络部分的输出。
21、进一步地,所述的主干网络部分的编码部分中,每个下采样模块处理后将特征图的尺寸减小一倍,并将特征图的深度增大一倍,最终得到所需的特征图。
22、进一步地,所述的主干网络部分的解码部分中,四个连续的上采样模块中依次设置双线性插值上采样层,逐层将特征图的尺寸增大一倍,并将特征图的深度减小一倍。
23、进一步地,步骤b中,所述的语义分割任务为主任务,所述的图像重建任务为辅助任务,图像重建任务在无标签数据集上进行半监督辅助学习。
24、进一步地,步骤b中,ssal网络模型进行语义分割任务和图像重建任务交替训练所使用的网络结构和模型参数是共享的。
25、进一步地,步骤b中,所述的将语义分割数据集和图像重建数据集中的图像输入到ssal网络模型中进行语义分割任务和图像重建任务的交替训练的具体步骤为:
26、步骤b1:将语义分割数据集划分为语义分割训练集和语义分割验证集,将图像重建数据集划分为图像重建训练集和图像重建验证集;
27、步骤b2:加载图像重建训练集,冻结语义分割输出分支,解冻图像重建输出分支,进行图像重建任务训练;
28、步骤b3:加载语义分割训练集,冻结图像重建输出分支,解冻语义分割输出分支,进行语义分割任务训练;
29、步骤b4:加载图像重建验证集,冻结语义分割输出分支,解冻图像重建输出分支,验证当下ssal网络模型参数的图像重建性能;
30、步骤b5:加载语义分割验证集,冻结图像重建输出分支,解冻语义分割输出分支,验证当下ssal网络模型参数的语义分割性能;
31、步骤b6:保留在语义分割验证集上表现最优的模型。
32、进一步地,步骤b2-b5中,所述的冻结是指使图像重建输出分支或语义分割输出分支中的模型参数无法参与网络训练阶段的前向传播、误差计算、梯度计算、梯度反向传播和权重更新过程。
33、进一步地,步骤b2-b5中,所述的解冻是指使图像重建输出分支或语义分割输出分支中的模型参数参与网络训练阶段的前向传播、误差计算、梯度计算、梯度反向传播和权重更新过程。
34、进一步地,步骤b2中,所述的加载图像重建训练集,冻结语义分割输出分支,解冻图像重建输出分支,进行图像重建任务训练的具体步骤为:
35、步骤b21:加载图像重建训练集中的图像,复制第一份作为图像重建任务输入图像,复制第二份作为图像重建任务标签图像,将图像重建任务输入图像输入ssal网络模型,得到图像重建结果;
36、步骤b22:将图像重建结果和图像重建任务标签图像输入ssim(structuresimilarity index measure)损失函数,通过ssim损失优化ssal网络模型参数,ssim损失函数lssim的计算公式如下:
37、
38、其中y代表真实标签,代表图像重建预测结果,代表的均值,代表的均方差,代表和y的协方差,c1和c2是两个小常量,用于避免分母为零的情况。
39、进一步地,步骤b21中,以特定概率随机修改图像重建任务输入图像的色度、饱和度和明度。
40、进一步地,步骤b3中,所述的加载语义分割训练集,冻结图像重建输出分支,解冻语义分割输出分支,进行语义分割任务训练的具体步骤为:
41、步骤b31:将语义分割训练集中的图像输入ssal网络模型,得到语义分割结果;
42、步骤b32:将语义分割结果和语义分割训练集中的标签图像输入交叉熵损失函数或focal loss损失函数,通过交叉熵损失函数或focal loss损失函数优化ssal网络模型参数,focal loss损失函数的计算公式如下:
43、
44、其中y代表真实标签,y′代表语义分割预测结果,α代表类别权重,γ用于调整易分类样本被降低权重的速度。
45、进一步地,步骤b31中,将语义分割训练集中的图像输入ssal网络模型前以特定概率随机翻转、缩放和扭曲语义分割任务输入图像,并以特定概率随机修改语义分割任务输入图像的色度、饱和度和明度。
46、进一步地,步骤b32中,将语义分割结果和语义分割训练集中的标签图像输入交叉熵损失函数或focal loss损失函数前对语义分割任务标签图像执行与语义分割任务输入图像输入ssal网络模型前相同的随机翻转、缩放和扭曲操作。
47、进一步地,步骤b6中,表现最优是指损失函数值最小。
48、进一步地,步骤c中,所述的将待检测的注塑制品图像输入到步骤b训练好的ssal网络模型中进行缺陷的语义分割,将不同的缺陷标记为对应的像素值的具体步骤为:
49、步骤c1:针对ssal网络模型,加载步骤b中在语义分割验证集上表现最优的模型的参数;
50、步骤c2:冻结图像重建输出分支,使图像重建输出分支中的模型参数无法参与模型推理阶段的计算;
51、步骤c3:将待检测的注塑制品图像,输入到训练好的ssal网络模型中进行缺陷的语义分割,得到语义分割结果图。
52、为验证模型的检测效果,本发明将待检测的注塑制品图像进行标注,得到对应的语义分割标签图像,将待检测的注塑制品图像的语义分割标签图像与其语义分割结果图相比较,计算预测误差。
53、进一步地,步骤d中,所述的将注塑制品缺陷区域量化包括遍历语义分割结果图中每一个像素点并统计不同像素值的数量。
54、相比于现有技术,本发明至少具备以下有益效果:
55、(1)本发明采用计算机视觉技术,可以对生产线上的注塑制品进行自动化的缺陷检测,语义分割检测可以快速、准确地检测注塑缺陷的种类,节省人工成本,提高检测效率;
56、(2)本发明可以精确地量化注塑缺陷的大小,避免因检测人员主观判断引起的误差,降低对检测人员判断经验的依赖程度;
57、(3)本发明可以充分利用生产过程中大量的无缺陷的注塑制品样本,降低对标签数据的数据量的需求,增强语义分割模型对注塑制品轮廓信息的提取能力和对缺陷区域的定位能力,最终提高语义分割模型在小样本数据集下对注塑制品缺陷的检测准确率和泛化能力,满足了工业场景的应用需求。