本发明涉及钢铁产品质量识别,尤其涉及一种基于多目标进化深度学习的钢铁产品质量缺陷识别方法。
背景技术:
1、钢铁产品具备生产规模庞大、加工便利、性能多样可靠、价格低廉、使用便捷及可回收等特点,是工业生产和日常生活中至关重要且应用广泛的产品之一。在钢铁产品的制造过程中,表面所呈现的夹杂、结疤、划痕、裂纹以及斑点等各类缺陷类型,大幅度降低了产品的抗腐蚀性、耐磨性和疲劳强度等重要性能指标。因此识别与检测钢铁产品表面质量是判定其整体质量的关键手段。
2、在钢铁产品表面质量检测领域,正确识别表面缺陷显得尤为重要。受加热制度、生产工艺、冷却速度、热处理方式等多种因素的综合影响,钢铁产品表面缺陷呈现出多样性和复杂性。传统的在线检测方法主要依赖人工观察和经验判断表面缺陷类型,这不仅浪费劳动力,而且难以实现高效准确的检测。深度学习模型通过组合低层特征形成更抽象的高层表示,以描述属性类别或特征,从而发现数据的分布式特征表示,具有较强的鲁棒性、及泛化能力,采用深度学习技术进行钢铁表面图像特征提取和缺陷检测逐渐成为研究热点。
3、对于钢铁产品表面缺陷识别的方法,已经有不少专利进行了阐述。例如,专利cn112164040a采用半监督深度学习算法实现钢铁产品表面缺陷检测,使神经网络模型能够适应无标签的样本数据,大幅减少分类器需要的有标签样本数据,降低了分类器训练的成本。专利cn109242825 a提供了一种基于深度学习技术的钢铁产品表面质量检测方法并搭建了配套的识别装置,其优势在于可以根据设备性能和模型规模来分布式地部署与应用神经网络模型,并实时、高精度地检测钢铁产品表面质量。
4、上述专利均采用固定结构的神经网络模型进行钢铁产品表面质量检测,要求使用者需预先人工定义模型结构。然而,对于特定问题,过于简单的模型结构可能导致精度不足,而过于复杂的模型则可能降低模型的泛化能力。这种对人工经验的依赖性限制了深度学习技术在钢铁产品表面质量检测领域的进一步应用。
技术实现思路
1、本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于多目标进化深度学习的钢铁产品质量缺陷识别方法,融合多目标进化算法与深度学习技术优势,采用自动加深技术随机生成具有较高识别准确率的原始钢铁产品质量缺陷识别模型,然后利用多目标差分进化算法优化自动生成的原始质量缺陷识别模型结构,以平衡模型复杂度和识别准确率两个优化目标。通过实验测试,所提方法成功摆脱了依靠人工经验定义网络结构,同时所获得的质量缺陷识别模型在识别准确率与模型复杂度方面表现出较理想的性能。
2、为解决上述技术问题,本发明所采取的技术方案是:基于多目标进化深度学习的钢铁产品质量缺陷识别方法,包括以下步骤:
3、步骤1:收集钢铁生产加工过程中的产品表面缺陷图片,得到样本图像数据。
4、步骤2:对步骤1获取的样本图像数据进行缺陷类型标注,以及数据集划分;
5、步骤2.1:对步骤1获取的样本图像数据按照产品表面缺陷种类进行缺陷类型标注;
6、步骤2.2:将步骤2.1标注后的样本图像数据按比例划分为训练数据集、验证数据集和测试数据集;
7、步骤3:采用自动神经网络加深技术构建原始钢铁产品质量缺陷识别模型;
8、步骤3.1:模型初始化过程,随机生成一个残差块作为初始钢铁产品质量缺陷识别模型进行钢铁产品质量缺陷识别,通过训练初始钢铁产品质量缺陷识别模型,获得在验证数据集上的评价指标,即识别准确率,将其准确率记为模型准确率;
9、步骤3.1.1:随机生成一个残差块作为初始钢铁产品质量缺陷识别模型;随机生成的残差块由若干残差层组成,每个残差层包括两个卷积层和两个批量归一化层,在同一个残差块内所有卷积层的卷积核个数均相同;每个残差块用三个参数来表示,即:残差层层数、卷积核数以及是否下采样,其中残差层层数表示当前残差块中残差层层数;卷积核数表示当前残差块中所有卷积层的滤波器个数;而是否下采样则表示当前残差块是否对其输入进行下采样操作;通过对三个参数进行随机取值生成初始钢铁产品质量缺陷识别模型;
10、步骤3.1.2:训练步骤3.1.1生成的初始钢铁产品质量缺陷识别模型,获得在验证数据集上的识别准确率,将其记为模型准确率;
11、步骤3.2:采用自动神经网络加深技术对初始质量缺陷识别模型进行多轮神经网络自动加深过程;在每轮加深过程中,生成随机个数的残差块,然后依次将随机生成的残差块添加至初始钢铁产品质量缺陷识别模型中,通过训练得到基于验证数据集的准确率,每轮加深过程结束后,返回得到的最佳模型以及所对应的基于在验证数据集上的最高准确率;
12、步骤3.2.1:在一轮次自动神经网络加深过程中,根据步骤3.1.1的方式随机生成多个不同网络结构的残差块;
13、步骤3.2.2:将步骤3.2.1生成的多个不同网络结构的残差块依次分别添加至初始钢铁产品质量缺陷识别模型中,得到多个新的钢铁产品质量缺陷识别模型并进行训练,以获取在验证数据集上识别准确率最高的新网络作为下一次自动神经网络加深的初始钢铁产品质量缺陷识别模型。每一次对初始钢铁产品质量缺陷模型添加新的残差块时,重新训练新的钢铁产品质量缺陷识别模型,其模型参数设置同步骤3.1.2一致;通过训练新的钢铁产品质量缺陷识别模型获取基于验证数据集的评估指标,即准确率,将该准确率记为测试准确率;
14、步骤3.2.3:在添加残差块的过程中,若所添加的残差块是当前轮次加深过程中首个随机生成的残差块,则将添加残差块的模型训练获取的测试准确率赋值为当前轮次在验证数据集上获得的最高准确率,并将添加残差块的模型记为当前轮次自动神经网络加深所获得的最佳模型;
15、步骤3.2.4:若添加的残差块非当前轮次加深过程中随机生成的首个残差块,但其测试准确率大于当前轮次自动神经网络加深后得到的最高准确率,则将该测试准确率视为最高准确率,并将添加残差块后的新的钢铁产品质量缺陷识别模型记为当前轮次自动神经网络加深所得的最佳模型;
16、步骤3.2.5:判断当前添加残差块后的新的钢铁产品质量缺陷识别模型是否为当前轮次尝试的最后一个模型,若是,则当前轮次自动神经网络加深过程结束,返回当前轮次得到的最佳模型以及所对应的基于验证数据集的最高准确率,并将所获取的最佳模型作为下一轮次加深过程的初始钢铁产品质量缺陷识别模型;若不是,则返回步骤3.2.2;
17、步骤3.3:比较步骤3.2自动神经网络加深过程中获取的基于验证集的最高准确率与步骤3.1获取的模型准确率,若前者大于后者,则记加入模型后对模型性能未提升的残差块数为0,并将前者赋值给后者;反之,则将加入模型后对模型性能未提升的残差块数加1;
18、步骤3.4:在一次神经网络自动加深过程中,若连续2轮次添加残差块于初始钢铁产品质量缺陷识别模型后未带来模型性能提升,则停止当前轮次自动神经网络加深过程,并将当前轮次所获取的最佳模型记为原始钢铁产品质量缺陷识别模型,以及记录2轮次未提升性能的模型及对应的准确率;反之,则返回到步骤3.2,继续执行新一轮次的神经网络模型加深过程;
19、步骤3.5:一次自动加深过程停止后,判断本次是否为设置的最后一次自动神经网络加深过程,如果不是,则返回步骤3.1进行新一次自动神经网络加深过程获取新的原始钢铁产品质量缺陷识别模型;若本次为最后一次自动神经网络加深过程,则返回所有自动神经网络加深过程的最佳模型;
20、步骤4:采用多目标差分进化算法对步骤3中得到的最佳原始钢铁产品质量缺陷识别模型进行剪枝处理,并重新训练,使模型在保持准确率的前提下,降低网络计算复杂度;选择钢铁产品质量缺陷识别模型在验证数据集上的误差率,即准确率与1的差值,以及模型的每秒浮点运算次数flops作为两个优化目标;
21、步骤4.1:首先对原始钢铁产品质量缺陷识别模型进行编码表示,采用一串0/1编码表示质量缺陷识别模型,其中0代表舍弃卷积滤波器,1代表保留卷积滤波器;
22、步骤4.2:基于编码后的原始钢铁产品质量缺陷识别模型和预设的种群大小,生成用于多目标差分进化算法剪枝过程的初始种群;
23、步骤4.3:对初始种群中的每个个体进行训练,并获取基于验证数据集的评价指标准确率和模型总的每秒浮点运算次数flops,模型总的每秒浮点运算次数flops为模型二维卷积结构的每秒浮点运算次数flops_1与模型全连接层的每秒浮点运算次数flops_2之和;
24、步骤4.4:采用多目标差分进化算法对钢铁质量缺陷识别模型进行剪枝过程,其操作过程包括差分变异、交叉和选择保留个体,通过这些操作逐步优化种群中的个体;
25、步骤4.4.1:根据预设的初始变异算子以及当前进化代数,确定本次进化采用的变异算子;利用该算子对父种群中的个体进行差分变异过程,得到变异子种群;
26、使用的差分变异策略表达式如下:
27、
28、其中,代表第t次迭代中所产生的第i个差分变异向量,f为变异算子,代表从种群中随机选取的三个不同的个体,o1、o2以及o3是在区间[0,p)内与i不等的随机整数,且满足两两互不相同;
29、采取了一种自适应变异算子的策略,通过动态调整f的取值,以平衡搜索过程中搜索效率和全局最优解精度之间的关系,其公式如下:
30、f=f0×2λ (2)
31、
32、式中,f0表示初始变异算子,gprune表示最大进化代数,g表示当前进化代数;
33、步骤4.4.2:将父种群和变异子种群按照设置的交叉概率进行交叉操作实现信息交换,从而产生新的子代种群;
34、步骤4.4.3:使用训练数据集对子代种群进行训练,然后利用验证数据集评估模型性能,得到对应的模型误差率及模型总的flops;
35、步骤4.4.4:根据多目标优化算法的pareto支配原理,将父代种群个体与子代种群个体进行支配操作;若其中一方个体支配对应的另一方个体,则记录该支配个体;反之,两个个体互不支配,则同时记录两个个体;
36、步骤4.4.5:步骤4.4.4操作完成后,返回所记录的个体集合;
37、步骤4.4.6:比较步骤4.4.5获取的个体集合大小与种群p的大小,若二者相同,则将该个体集合作为下一代父种群;否则,依据帕累托等级以及拥挤度距离在该个体集合中选择作为下一代父种群的个体;
38、步骤4.5:若当前进化代数小于最大进化代数gprune,返回至步骤4.4继续执行该步骤;否则,将步骤4.4获取的种群大小的个体集合作为最终种群;
39、步骤5:对步骤4.5获取的最终种群进行非支配排序,得到帕累托前沿,在帕累托前沿中选择边界解和knee解;
40、根据获取的帕累托前沿,按照每个个体两个适应度值即:误差率与flops,选择重边界解、轻边界解以及偏好knee解,其中重边界解表示具有最高准确率的解,轻边界解代表具有最小flops的解,而偏好knee解是依据偏好向量r进行选择的;通过偏好向量r计算出帕累托前沿中每个个体的加权诱导范数,选择加权诱导范数值最小的个体作为偏好knee解;
41、步骤6:依据步骤5获取的knee解所对应的钢铁产品质量缺陷识别模型重新进行训练获得在测试数据集上对应的准确率,验证模型有效性。
42、采用上述技术方案所产生的有益效果在于:本发明提供的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,针对目前在钢铁产品质量图像识别领域,深度学习技术所采用的神经网络模型结构需要通过人工预先定义。这种方法对技术人员的专业知识水平和实践经验等依赖度较高,且在实践中很难实现模型复杂度与识别准确率之间的平衡。本发明针对上述问题,融合了多目标进化算法与深度学习技术优势,提出了一种基于多目标进化深度学习的钢铁产品质量图像识别算法。首先,利用自动神经网络加深技术随机生成具有较高识别准确率的原始钢铁产品质量缺陷识别模型,然后采用多目标差分进化算法优化自动生成的原始质量缺陷识别模型结构,以平衡模型复杂度和识别准确率两个优化目标。通过实验测试,所提方法成功摆脱了依靠人工经验定义网络结构,同时所获得的质量缺陷识别模型在识别准确率与模型复杂度方面表现出较理想的性能。
1.一种基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤2对步骤1获取的样本图像数据按照产品表面缺陷种类进行缺陷类型标注;将标注后的样本图像数据按比例划分为训练数据集、验证数据集和测试数据集。
3.根据权利要求2所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤3包括:
4.根据权利要求3所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤3.1包括:
5.根据权利要求4所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤3.2包括:
6.根据权利要求5所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤4选择钢铁产品质量缺陷识别模型在验证数据集上的误差率以及模型的每秒浮点运算次数flops作为多目标差分进化算法的两个优化目标。
7.根据权利要求6所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤4包括:
8.根据权利要求7所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤4.4包括:
9.根据权利要求8所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述4.4.1使用的差分变异策略表达式如下:
10.根据权利要求1所述的基于多目标进化深度学习的钢铁产品质量缺陷识别方法,其特征在于:所述步骤5根据获取的帕累托前沿,按照每个个体两个适应度值即:误差率与模型总的每秒浮点运算次数flops,选择重边界解、轻边界解以及偏好knee解,其中重边界解表示具有最高准确率的解,轻边界解代表具有最小flops的解,而偏好knee解是依据偏好向量r进行选择的;通过偏好向量r计算出帕累托前沿中每个个体的加权诱导范数,选择加权诱导范数值最小的个体作为偏好knee解。