一种基于视觉Transformer的刨花板表面缺陷检测方法与流程

    专利查询2022-07-07  134


    一种基于视觉transformer的刨花板表面缺陷检测方法
    技术领域
    1.本发明涉及刨花板表面缺陷检测的技术领域,更具体地,涉及一种基于视觉transformer的刨花板表面缺陷检测方法。


    背景技术:

    2.刨花板表面缺陷是评判刨花板质量的重要指标之一,刨花板表面缺陷存在影响外观、降低强度、影响二次加工等弊端,对用户造成安全隐患,对企业带来经济损失,因此,为保障刨花板质量,表面缺陷检测是刨花板加工过程中必不可少的环节。
    3.传统的刨花板表面检测方法依赖生产线工人肉眼观察后根据经验对刨花板质量进行评级,但生产线上刨花板的运动速度可达1.5~2m/s,工人经过长时间的肉眼观察,易产生视觉疲劳,导致漏检率高、误检率高,影响检测效果。
    4.随着机械化、自动化的发展,基于视觉的刨花板表面缺陷检测系统逐渐被应用到生产线上,实现无人干预、无损检测。刨花板表面缺陷类型较多、模式复杂,传统的机器视觉算法需要人工设计特征,难以适应复杂多变的缺陷数据,鲁棒性和泛化性较差;基于通用卷积神经网络的缺陷检测算法,通过机器学习的方式自动提取图像局部特征,实现对缺陷区域的分割,但刨花板表面缺陷的尺度范围跨度较大,如划痕通常较长、砂穿面积较大、大刨花面积较小等,导致分割效果不稳定。


    技术实现要素:

    5.本发明针对现有技术不足,提供一种基于视觉transformer的刨花板表面缺陷检测方法,利用视觉transformer的自注意力机制、u形跨层网络结构的低层细节与高层语义跨层融合特性,实现端到端的语义分割算法,解决刨花板表面缺陷尺度范围跨度较大的问题,降低漏检率与误检率,提高缺陷区域分割的精确率。
    6.为解决上述技术问题,本发明所采用的技术方案是:一种基于视觉transformer的刨花板表面缺陷检测方法,包括以下步骤:
    7.(1)数据集制作:收集海量刨花板表面缺陷的图片,设定缺陷类别、初始分辨率和初始维度;将所有图片按一定的比例划分训练集、验证集与测试集;将训练集和验证集的图片裁剪成若干个分块图片,每个分块图片的分辨率和维度都为初始分辨率和初始维度;对分块图片依据缺陷类别进行语义分割标注;
    8.(2)预设的临界维度,构建一个基于视觉transformer的语义分割网络:所述语义分割网络由输入模块、编码器、瓶颈模块、解码器、输出模块、跳跃连接构成;
    9.所述输入模块,用于将输入图片进行[-0.5,0.5]归一化,并按4x4网格的方式进行图片分块获得输入处理图片;所述输入处理图片的维度为目标维度;
    [0010]
    所述编码器,由线性变换层组件、编码swin transformer模块组件与分块合并组件构成,用于逐层特征编码;
    [0011]
    所述线性变换层组件用于将输入处理图片进行特征升维操作获得特征数据;所述
    transformer模块2、swin transformer模块3、swin transformer模块7,且分别对应解码swin transformer模块为swin transformer模块10,swin transformer模块9和swin transformer模块8和swin transformer模块7。
    [0023]
    特别的,所述临界维度为512,
    [0024]
    特别的,所述瓶颈模块由swin transformer模块5和swin transformer模块6串联组成;所述瓶颈模块输出为经过swin transformer模块5、swin transformer模块6进行自注意力表征学习后的特征数据。
    [0025]
    特别的,所述dice loss为:
    [0026][0027]
    其中,x表示输入样本,fi(x)表示第i个类别的预测结果,yi表示第i个类别对应的真实标签;
    [0028]
    特别的,所述步骤(4)中,采用步骤(3)中的损失函数进行监督训练的具体方法为使用学习率为0.001的adamw优化器进行训练,并采用步骤(3)中的损失函数进行监督训练。
    [0029]
    与现有技术相比,本发明所具有的有益效果为:
    [0030]
    本发明的语义分割网络为u形跨层网络结构,输入模块、编码器负责底层特征提取,解码器和输出模块负责高层语义提取,两边通过跳跃连接进行跨层融合。本发明与现有刨花板表面缺陷检测做法相比,利用视觉transformer的自注意力机制、u形跨层网络结构的低层细节与高层语义跨层融合特性,实现端到端的语义分割算法,解决刨花板表面缺陷尺度范围跨度较大的问题,降低漏检率与误检率,提高缺陷区域分割的精确率。
    附图说明
    [0031]
    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    [0032]
    图1为本发明实施例的整体流程图。
    [0033]
    图2为本发明实施例的构建一个基于视觉transformer的语义分割网络的流程图。
    具体实施方式
    [0034]
    下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
    [0035]
    需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
    [0036]
    此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而
    是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
    [0037]
    在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
    [0038]
    如图1所示,本实施例的一种基于视觉transformer的刨花板表面缺陷检测方法,包括以下步骤:
    [0039]
    (1)数据集制作:收集海量刨花板表面缺陷的图片,设定缺陷类别、初始分辨率和初始维度;将所有图片按0.8:0.1:0.1的比例划分训练集、验证集与测试集;设初始分辨率为1024x1024,初始维度为1,通过滑窗的方式将训练集和验证集的图片裁剪成若干个1024x1024x1的分块图片。对分块图片依据缺陷类别进行语义分割标注。缺陷类别包含大刨花、划痕、砂穿、粉尘斑、鼓泡、胶斑、裂缝、乌云斑、油污、缺边、缺角、凹坑。
    [0040]
    (2)预设的临界维度,如图2所示,构建一个基于视觉transformer的语义分割网络:语义分割网络由输入模块、编码器、瓶颈模块、解码器、输出模块、跳跃连接构成。
    [0041]
    输入模块:将1024x1024x1的输入图片进行[-0.5,0.5]归一化,并按4x4网格的方式进行图片分块获得输入处理图片。输入处理图片为256x256 x16,即目标维度为16;
    [0042]
    编码器,由线性变换层组件、编码swin transformer模块组件与分块合并组件构成,用于逐层特征编码;
    [0043]
    线性变换层组件用于将输入处理图片进行特征升维操作获得特征数据。编码swin transformer模块组件有若干个接收分辨率和维度都不同的编码swin transformer模块,每个编码swin transformer模块用于对接收指定维度的特征数据进行自注意力表征学习,并进行低层细节与高层语义跨层融合。分块合并组件有若干个接收维度不同的分块合并,每个分块合并用于将接收编码swin transformer模块组件指定维度的特征数据后将特征数据按2x2邻域进行连接,分辨率2倍下采样,并进行2倍维度的升维,得到特征数据并对比临界维度;若特征数据未达到临界维度则继续输入相应的编码swin transformer模块,直至得到的特征数据达到临界维度后输入至瓶颈模块。
    [0044]
    编码swin transformer模块分别为swin transformer模块1、swin transformer模块2、swin transformer模块3、swin transformer模块7,且分别对应解码swin transformer模块为swin transformer模块10,swin transformer模块9和swin transformer模块8和swin transformer模块7。
    [0045]
    本实施例中,临界维度为512。线性变换层将256x256x16图像数据映射到256x256x32特征数据,进行特征升维操作;swin transformer模块1对256x256x32特征数据进行自注意力表征学习,通过跳跃连接1输入至解码器模块的swin transformer模块10,进行低层细节与高层语义跨层融合;分块合并1按2x2邻域进行连接,分辨率2倍下采样,并进行2倍维度的升维,得到128x128x64的特征数据;swin transformer模块2对128x128x64特征数据进行自注意力表征学习,通过跳跃连接2输入至解码器模块的swin transformer模块9,进行低层细节与高层语义跨层融合;分块合并2按2x2邻域进行连接,分辨率2倍下采
    样,并进行2倍维度的升维,得到64x64x128的特征数据;swin transformer模块3对64x64x128特征数据进行自注意力表征学习,通过跳跃连接3输入至解码器模块的swin transformer模块8,进行低层细节与高层语义跨层融合;分块合并3按2x2邻域进行连接,分辨率2倍下采样,并进行2倍维度的升维,得到32x32x256的特征数据;swin transformer模块4对32x32x256特征数据进行自注意力表征学习,通过跳跃连接4输入至解码器模块的swin transformer模块7,进行低层细节与高层语义跨层融合;分块合并4按2x2邻域进行连接,分辨率2倍下采样,并进行2倍维度的升维,得到16x16x512的特征数据。
    [0046]
    瓶颈模块,用于深度特征的自注意力表征学习,加速训练收敛速度;所述瓶颈模块的输入为编码器模块输出的特征数据,输出为自注意力表征学习后的特征数据至解码器,输入的特征数据与输出的特征数据的分辨率、维度保持不变。瓶颈模块由swin transformer模块5和swin transformer模块6串联组成。瓶颈模块输出为经过swin transformer模块5、swin transformer模块6进行自注意力表征学习后的特征数据。
    [0047]
    解码器,为由分块扩展组件、解码swin transformer模块组件构成,用于逐层特征解码;所述分块扩展组件有若干个接收维度不同的分块拓展,每个分块拓展将接收的特征数据进行2倍降维得到,再进行特征重分配得到2倍上采样的特征数据,将特征数据并对比预设的目标维度;若特征数据未达到目标维度则继续输入至相应的解码swin transformer模块,直至得到的特征数据达到目标维度后输入至输出模块;所述解码swin transformer模块包括若干个解码swin transformer模块,且解码swin transformer模块接收分辨率和维度与编码swin transformer模块相对应。解码swin transformer模块用于将分块扩展输出的特征数据进行自注意力表征学习,通过跳跃连接接收解码器模块的swin transformer模块,进行低层细节与高层语义跨层融合。
    [0048]
    本实施例中,分块扩展1将瓶颈模块swin transformer模块6的16x16x512特征数据作为输入,先进行2倍降维得到16x16x256的特征数据,再进行特征重分配得到2倍上采样的32x32x256特征数据;swin transformer模块7将分块扩展1输出的32x32x256特征数据进行自注意力表征学习,通过跳跃连接4输入至解码器模块的swin transformer模块7,进行低层细节与高层语义跨层融合;分块扩展2将swin transformer模块7的32x32x256特征数据作为输入,先进行2倍降维得到32x32x128的特征数据,再进行特征重分配得到2倍上采样的64x64x128特征数据;swin transformer模块8将分块扩展2输出的64x64x128特征数据进行自注意力表征学习,通过跳跃连接3输入至解码器模块的swin transformer模块8,进行低层细节与高层语义跨层融合;分块扩展3将swin transformer模块8的64x64x128特征数据作为输入,先进行2倍降维得到64x64x64的特征数据,再进行特征重分配得到2倍上采样的128x128x64特征数据;swin transformer模块9将分块扩展3输出的128x128x64特征数据进行自注意力表征学习,通过跳跃连接2输入至解码器模块的swin transformer模块9,进行低层细节与高层语义跨层融合;分块扩展4将swin transformer模块9的128x128x64特征数据作为输入,先进行2倍降维得到128x128x32的特征数据,再进行特征重分配得到2倍上采样的256x256x32特征数据;swin transformer模块10将分块扩展4输出的256x256x32特征数据进行自注意力表征学习,通过跳跃连接1输入至解码器模块的swin transformer模块10,进行低层细节与高层语义跨层融合;分块扩展5将swin transformer模块10的256x256x32特征数据作为输入,先进行2倍降维得到256x256x16的特征数据,再进行特征重
    分配得到4倍上采样的1024x1024x16特征数据。
    [0049]
    编码器的swin transformer模块组件通过跳跃连接输入至解码器模块中分辨率和维度都相同的swin transformer模块组件。
    [0050]
    输出模块,用于对解码器模块最终分块扩展输出的特征数据进行线性映射后得到输出结果;本实施例中,输出模块通过分块扩展5输出的1024x1024x16特征数据进行线性映射,得到1024x1024x12输出结果,其中,12为缺陷类别数。
    [0051]
    (3)构建损失函数:采用dice loss作为损失函数;
    [0052]
    dice loss为:
    [0053][0054]
    其中,x表示输入样本,fi(x)表示第i个类别的预测结果,yi表示第i个类别对应的真实标签。
    [0055]
    (4)模型训练:将训练集输入至步骤(2)中的语义分割网络,使用学习率为0.001的adamw优化器进行训练,并采用步骤(3)中的损失函数进行监督训练。训练过程中,将验证集输入至训练好的中间模型进行验证,获得训练好的模型参数。
    [0056]
    (5)模型推理:将步骤(4)中训练好的模型参数加载至步骤(2)的语义分割网络,并将步骤(1)中测试集的刨花板表面缺陷的图片进行滑窗裁剪成分块图片,依次将分块图片输入至语义分割网络进行推理,得到每个分块图片的输出结果,最后将每个分块图片的输出结果合并成整块结果。
    [0057]
    虽然结合附图描述了本发明的实施方式,但是专利所有者可以在所附权利要求的范围之内做出各种变形或修改,只要不超过本发明的权利要求所描述的保护范围,都应当在本发明的保护范围之内。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实例的说明只是用于帮助理解本发明的方法及其核心思想。以上仅是本发明的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其它场合的,均应视为本发明的保护范围。
    转载请注明原文地址:https://tc.8miu.com/read-1703.html

    最新回复(0)