技术领域
[0001] 本发明实施例涉及滤清器的表面缺陷检测技术领域,尤其涉及一种基于小样本训练集的滤清器表面缺陷检测系统及设备。
相关背景技术
[0002] 滤清器是汽车发动机系统中的重要零部件之一,主要作用是过滤液体或者气体种类的杂质、预防燃油系统堵塞、减少机械磨损,从而保证发动机的稳定运行。滤清器表面在其实际生产过程中由于加工设备、生产工艺、生产原料等因素,会不可避免地造成锈迹、底漆划痕等表面缺陷,这些缺陷会有损产品性能、影响商业用途。目前的滤清器外观缺陷主要依靠人工检测和传统的图像处理方法进行检测。使用人工抽检的方法成本高,不仅劳动强度大,而且不能及时准确地判断出表面瑕疵,同时还会有较大可能性产生失误,质检的效率难以把控。近年来,图像识别技术取得了重大进展,但传统的图像识别在缺陷检测时往往受限于网络结构和算法效率,难以实现快速准确的识别。YOLOv7虽然在目标检测领域有所突破,但在小目标识别方面仍有改进空间。并且在实际工业应用中难以收集大规模的数据集用于模型训练,小规模数据集无法实现对深度网络的有效训练和优化。因此,开发一种基于小样本训练集的滤清器表面缺陷检测系统及设备,可以有效克服上述相关技术中的缺陷,就成为业界亟待解决的技术问题。
具体实施方式
[0026] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0027] 本发明实施例提供了一种基于小样本训练集的滤清器表面缺陷检测系统,参见图1,该系统包括:图像采集模块,用于收集滤清器缺陷图像数据;图像标记模块,对采集到的图像进行标注;图象扩充模块,使用缺陷图像对StyleGAN3生成对抗网络模型进行训练,使用训练好的模型生成缺陷图像,将缺陷图像与完好图像相融合,扩充预定数量样本数据集;
目标检测模型,用于识别滤清器生产流水线上带有缺陷的滤清器产品。
[0028] 需要说明的是,StyleGAN3是一种生成对抗网络模型,能够根据随机的一组向量生成特定的图像。图像扩充首先将收集到的缺陷图像裁剪出来,然后将收集到的缺陷图像制作成缺陷数据集,训练StyleGAN3模型,随后使用训练好的StyleGAN3模型生成拟真的缺陷图像,使用图像融合的方式将缺陷图像合成到无缺陷滤清器图像上,得到带有缺陷的滤清器图像。
[0029] 本申请提供的基于小样本训练集的滤清器表面缺陷检测系统,其缺陷检测系统通过在YOLOv7的基础上加以改进,添加注意力机制,修改网络结构,替换损失函数,实现了对工滤清器表面缺陷的高效识别,同时使用一种小样本数据集扩充方法,在样本有限的情况下能够生成拟真的样本图像,能够实现对深度学习模型进行有效的训练。
[0030] 参见图3,基于上述系统实施例的内容,作为一种可选的实施例,本发明实施例中提供的基于小样本训练集的滤清器表面缺陷检测系统,所述目标检测模型网络结构为:图像输入‑Backbone模块‑Head模块‑预测输出;Backbone模块由CBS模块、ELAN模块及MP模块构成,结构为CBS‑CBS‑CBS‑CBS‑ELAN‑MP‑ELAN‑MP‑ELAN‑MP‑ELAN;Head模块由PAFPN模块,REP模块,Conv模块及Biformer模块构成,结构为PAFPN‑Biformer‑REP‑Conv;PAFPN模块由CBS模块,ELAN‑H模块,SPPCSPC模块,MP模块,UPSample模块及Concat模块构成,结构为两个分支:SPPCSPC‑CBS‑UPSample‑Concat‑ELAN‑H‑CBS‑UPSample‑Concat‑ELAN‑H和MP‑Concat‑ELAN‑H‑MP‑Concat‑ELAN‑H。Conv模块为卷积层,用于进行图像卷积。Head模块中有两个Biformer模块分支,用于对应提取不同的图像深度。
[0031] 目标检测模型通过修改YOLOv7分支预测结构,将原本的三分支预测模型改为二分支,提高训练检测速度;在每个分支中添加注意力机制,提高模型对预定目标缺陷的感知能力;使用Wise‑IoU损失函数替换YOLOv7原始损失函数,提高模型的泛化能力;通过训练集对目标检测模型进行训练,训练网络的参数;使用验证集对目标检测模型进行参数调优,获得训练完成的目标检测模型;利用测试集对训练完成的目标检测模型进行测试得到输出,测试通过的模型用于滤清器生产流水线,识别带有缺陷的滤清器产品。
[0032] 基于上述系统实施例的内容,作为一种可选的实施例,本发明实施例中提供的基于小样本训练集的滤清器表面缺陷检测系统,CBS模块由Conv,BN及SiLU模块构成,结构为:Conv‑BN‑SiLU,模块顺次相连;ELAN模块由CBS模块和Concat模块构成,结构为两个一层CBS模块,一个三层CBS模块和五个CBS模块迭加分别与Concat层相连。
[0033] 基于上述系统实施例的内容,作为一种可选的实施例,本发明实施例中提供的基于小样本训练集的滤清器表面缺陷检测系统,MP模块由MaxPool模块,CBS模块,Concat模块构成,结构为MaxPool‑CBS和CBS‑CBS分别与Concat层相连。MaxPool模块是最大池化层,可以去除冗余信息,扩大感知野。Concat模块为融合模块,将同样大小但参数不一致的通道合并叠加。
[0034] 基于上述系统实施例的内容,作为一种可选的实施例,本发明实施例中提供的基于小样本训练集的滤清器表面缺陷检测系统,REP模块由Conv模块,BN模块和add模块构成,结构为两个Conv‑BN和BN分支分别与add层相连。
[0035] 基于上述系统实施例的内容,作为一种可选的实施例,本发明实施例中提供的基于小样本训练集的滤清器表面缺陷检测系统,Biformer模块使用双级路由注意力机制,对预定目标缺陷识别清晰且达到预定计算量,Biformer模块由DWConv模块,LN模块,Bi‑level Routing Attention模块和MLP模块构成,结构为DWConv‑LN‑Bi‑level Routing Attention‑MLP。DWConv模块为深度卷积层,用于对图像进行深度卷积。
[0036] 基于上述系统实施例的内容,作为一种可选的实施例,本发明实施例中提供的基于小样本训练集的滤清器表面缺陷检测系统,BN模块用于批量归一化,计算公式为:
[0037]
[0038] 其中,yi是归一化并缩放后的输出,γ和β是可学习的缩放和偏移参数,ai是输入值,μB是最小批量的均值, 是最小批量的方差,ε是常数,用于稳定数值。
[0039] 基于上述系统实施例的内容,作为一种可选的实施例,本发明实施例中提供的基于小样本训练集的滤清器表面缺陷检测系统,SiLU模块激活函数模块,计算公式为:
[0040]
[0041] 其中,x为该激活函数的输入,以向量表示;exp为指数函数。SiLU函数的特点是,在输入值接近于0时,它的输出接近于输入值,而在输入值远离0时,它的输出接近于输入值的符号。这种特性使得SiLU在处理小的输入值时表现非常好。
[0042] 本发明实施例提供的基于小样本训练集的滤清器表面缺陷检测系统及设备,通过使用图像扩充方法针对小样本问题生成拟真图像扩充数据集,使得深度学习模型能够得到有效的训练,其次优化YOLOv7网络结构,添加注意力机制和修改损失函数,在保持检测速度的同时提高了检测精度,尤其是针对小目标缺陷的检测。
[0043] 本发明实施例的系统是依托电子设备实现的,因此对相关的电子设备有必要做一下介绍。基于此目的,本发明的实施例提供了一种电子设备,如图2所示,该电子设备包括:至少一个处理器(processor)、通信接口(Communications Interface)、至少一个存储器(memory)和通信总线,其中,至少一个处理器,通信接口,至少一个存储器通过通信总线完成相互间的通信。至少一个处理器可以调用至少一个存储器中的逻辑指令,以实现系统实施例中提供的各种系统。
[0044] 此外,上述的至少一个存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的全部系统或部分系统。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0045] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0046] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)实现各个实施例或者实施例的一些部分所述的方法或系统。
[0047] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于这种认识,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0048] 需要说明的是,术语“包括”、“包含”或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。任何“预定阈值”,“预设阈值”等类似表述如未标出具体数值,则本领域普通技术人员可以通过简单试验或相应调试确定其具体数值。
[0049] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。