本发明涉及工业视觉检测,具体涉及一种基于梯度重参数化目标检测的金属表面缺陷检测实现方法。
背景技术:
1、传统的缺陷检测方法通常依赖于人工目测,成本高且效率低下。随着深度学习的不断发展,机器视觉逐渐取代人工目测用以各种产品制造过程中的缺陷检测。其中众多金属在生产过程中会出现针孔、褶皱、擦伤、脏污、斑块、开裂以及内含物等缺陷,会对后续生产产品的质量、安全性、修复成本、生成效率甚至环境保护产生很大的影响。为了保证产品的质量,降低修复成本,需对金属表面进行缺陷检测。工业缺陷检测算法落地面临的挑战主要有以下几点:1、模型参数量庞大、计算复杂度高;此类模型难以部署在专用的嵌入式设备中,如需部署此类的神经网络模型,需要用到昂贵的服务器设备进行推理,且功耗大,会造成较大的成本支出。2、重参数化模型架构的缺陷;采用重参数化模型架构进行优化模型是现在的主流方法之一,该架构模型虽然可以在推理时不影响推理速度的情况下提高准确率,但是在其训练过程中,训练模型存在多分支的结构,会导致训练时间大大提升;而且,通常对于嵌入式设备来说,往往需要对模型进行量化后部署,该架构模型由于权重分布的问题,在进行量化时会有很大的精度损失。
技术实现思路
1、本发明的目的在于提供一种基于梯度重参数化目标检测的金属表面缺陷检测实现方法,该方法有利于降低计算复杂度,并提高金属表面缺陷检测精度。
2、为了实现上述目的,本发明采用的技术方案是:一种基于梯度重参数化目标检测的金属表面缺陷检测实现方法,包括以下步骤:
3、s1、采集金属表面图像数据,并对图像数据进行缺陷标注;
4、s2、构建用于缺陷检测的目标检测模型,并结合梯度重参数化对目标检测模型进行量化感知训练,并对得到的目标检测模型进行评估,得到最佳模型;
5、s3、对训练好的模型进行子图优化;
6、s4、将优化后的模型部署至嵌入式设备中,用于金属表面缺陷检测。
7、进一步地,步骤s1中,通过工业相机采集生产流程中的缺陷图像和良品图像,使用标注软件labelimage对采集到的缺陷图像进行标注,获得相对应的xml格式的标签信息。
8、进一步地,步骤s2中,构建的用于缺陷检测的目标检测模型为改进后的pp-picodet模型,其包括主干网络lcnet、特征融合层和pico检测头;
9、基于pp-picodet模型进行改进,以得到改进后的pp-picodet模型的具体方法为:
10、将hard-wish激活函数替换成relu激活函数;
11、将模型中5×5大小的卷积核替换成3×3大小的卷积核,并去除模型主干网络中的se模块;
12、去除neck中相邻两个分支间的信息互通,并用1×1卷积进行通道对齐;
13、去除pico检测头中的任务对齐模块align_head;
14、在sigmoid和transpose算子前的卷积添加伪量化节点,为后续子图优化做准备。
15、进一步地,步骤s2中,梯度重参数化的具体实现方法为:
16、将主干网络中lcnet改为多分支形式,所述多分支形式是在原模型的基础上添加3×3卷积分支或1×1卷积分支;
17、在添加的3×3卷积分支或1×1卷积分支上添加一个可训练的向量,并利用超搜索的方法搜索该向量的值;
18、利用超搜索得到的向量值初始化模型参数,并构建梯度编码矩阵,最终得到梯度重参数化优化器;
19、然后,利用梯度重参数化优化器对改进后的pp-picodet模型进行训练。
20、进一步地,根据公式构建梯度编码矩阵,具体如下:
21、
22、其中,m为梯度编码矩阵,sc和tc为超搜索得到的向量值,p=2和q=2表示3×3内核的中心点与1×1分支相关联。
23、进一步地,步骤s2中,对目标检测模型进行量化感知训练,并对目标检测模型进行评估,得到最佳模型,其具体实现方法为:
24、在改进后的pp-picodet模型中的卷积层和线性层前插入伪量化节点;
25、利用梯度重参数化优化器对模型进行权重更新;
26、对模型进行评估,选取最佳模型,具体评估指标为map,公式如下:
27、
28、其中,ap的计算公式如下:
29、ap=∑(recall[i]-recall[i-1])*precision[i]
30、其中,recall和precious分别是召回率和精度。
31、进一步地,步骤s3中,对训练好的模型进行子图优化,具体包括:
32、安装并搭建paddlelite opt工具;
33、将训练好的目标检测模型输入至opt工具中进行子图优化,最后生成nb文件。
34、与现有技术相比,本发明具有以下有益效果:本发明提供了一种基于梯度重参数化目标检测的金属表面缺陷检测实现方法,该方法利用改进后的pp-picodet模型实现金属表面缺陷检测,通过模型改进更适合于嵌入式设备中部署运行,大大降低了工厂设备的功耗需求以及成本支出,并利用梯度重参数化的方式对模型进行训练,在不提升参数量的情况下显著提升模型性能,并保证了模型量化后的准确率;然后经过子图优化将优化后的模型部署到嵌入式设备中,实现对金属表面缺陷的精准检测。
1.一种基于梯度重参数化目标检测的金属表面缺陷检测实现方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于梯度重参数化目标检测的金属表面缺陷检测实现方法,其特征在于,步骤s1中,通过工业相机采集生产流程中的缺陷图像和良品图像,使用标注软件labelimage对采集到的缺陷图像进行标注,获得相对应的xml格式的标签信息。
3.根据权利要求1所述的基于梯度重参数化目标检测的金属表面缺陷检测实现方法,其特征在于,步骤s2中,构建的用于缺陷检测的目标检测模型为改进后的pp-picodet模型,其包括主干网络lcnet、特征融合层和pico检测头;
4.根据权利要求3所述的基于梯度重参数化目标检测的金属表面缺陷检测实现方法,其特征在于,步骤s2中,梯度重参数化的具体实现方法为:
5.根据权利要求4所述的基于梯度重参数化目标检测的金属表面缺陷检测实现方法,其特征在于,根据公式构建梯度编码矩阵,具体如下:
6.根据权利要求4所述的基于梯度重参数化目标检测的金属表面缺陷检测实现方法,其特征在于,步骤s2中,对目标检测模型进行量化感知训练,并对目标检测模型进行评估,得到最佳模型,其具体实现方法为:
7.根据权利要求1所述的基于梯度重参数化目标检测的金属表面缺陷检测实现方法,其特征在于,步骤s3中,对训练好的模型进行子图优化,具体包括: