周钢亮, 秦 昊, 林卓胜, 张 昱
(1.五邑大学 智能制造学部, 广东 江门 529020;2.广东省科学院智能制造研究所, 广东 广州 510075)
在铝型材挤压模设计中,分流孔的设计是其重要组成部分及难点所在。根据型材面进行分流孔的设计较为困难,虽然有对应的设计原则,能够根据挤压比、型材面特性、挤压机压力、挤压产品数目及其排列位置综合设计分流孔,但没有特定的公式可以参考,更多的是凭借以往的设计经验[1-2]。理论上,一种型材面存在多种可行的分流孔设计方案,可从模具可挤压性、经济性等综合因素判断较为合理的设计方案,模具设计师需花费大量时间调整设计分流孔,因此分流孔模具设计智能化具有重要的实际工程意义[3],能够提升模具设计效率,但这同时对模具设计知识固化提出了挑战。
目前,J LLORCA-SCHENK 等对分流孔设计进行几何数据的统计分析,拟合出2 套线性与非线性的模具设计公式,并采用有限元模拟证实其有效性[4]。章弦采用人工智能与数值模拟方法研究挤压模分流桥结构设计的优化[5]。于利伟归纳平面模与分流组合模的结构设计原则,将模具结构和工艺参数化,利用MenuScript 脚本文件对UG 进行二次开发[6]。M KAZUYA 等提出通用锻模设计方法GeneDie,结合专家系统改进了知识设计方法以实现模具智能设计[7]。以上学者结合不同方法研究模具设计,提供不同结构的设计方案,但采用机器学习方法与分流孔结构研究较少。
近年来,随着计算机运算能力的不断提升和机器学习与神经网络算法的快速发展,机器学习和深度学习在各行业得到应用。薛阳等采用卷积神经网络对不同模态数据提取特征并融合,在有噪声情况下可以较好判断滚动轴承的状况[8]。张胜文等构建深度学习零件特征分类器以及将加工零件图像特征化,能准确分类加工零件的结构[9]。张文广等提出基于残差网络构建迟滞特性图的检测方法,判断执行器的磨损老化状况,正确地对执行器进行迟滞检测[10]。C SUMAN 等采用3 种模型(ResNet、VGG、CNN)提取不同模态特征,应用不同的注意力机制融合,输入全连接层,通过sigmoid 函数最终输出预测分类[11]。特征选择算法的数值数据处理能力出众,其中ReliefF 算法属于过滤式特征选择方法,具有易实现、易结合的特点。ZHANG B S 等基于ReliefF 算法提出随机多子空间的特征选择方法,在不同分类器下的试验结果都高于其他特征选择算法[12];XUE Y 等提出了一种基于ReliefF 多目标算法的混合特征选择算法,能够充分利用过滤式与包裹式方法的优点,在切割大量特征的同时保证了良好的分类性能[13]。
现针对当前机器学习在挤压模设计领域的缺失,构建分流孔模具设计数据库,通过数据增强手段,如几何变换、增加分流孔较少类别样本、平衡每类样本的数量。利用卷积神经网络模型(convolutional neural networks,CNN)对型材面提取图像特征,使用ReliefF 算法筛选有效数值特征,以多模态融合的方式,构建一个基于多模态信息融合的分流孔分类模型(classification model based on multimodal information fusion,CMMIF),展开分流孔分类方法研究。最后在模具设计数据集上与主流基线模型进行试验对比,证实CMMIF 在分流孔分类上具有优势。
基于多模态信息融合的分流孔分类模型(CMMIF)的整体架构如图1 所示,模型主要由3 个主体部分构成,分别是基于卷积神经网络CNN 的简单图像型材截面特征提取、ReliefF 算法选择分流孔设计相关数值特征和多模态融合与分类方法。
图1 CMMIF整体架构
对于图像模态部分,型材截面由黑色线条构成,属于简单图像,其中有效像素点占比较少,如果采用类似VGG、ResNet 等深度神经网络,可能会导致无效像素点在特征向量中占比较重,而忽视型材截面图像。为了避免该问题,卷积神经网络作为提取特征的主要算法,设计了五层网络结构的CNN,如图2 所示。CNN 的输入是256×256×1 的单通道图片,经过3个以3×3为卷积核卷积层与3个采用最大池化方法的池化层进行卷积提取图片特征,生成特征向量,以ReLU 为激活函数[14],用于保留图像的重要细节,同时能够减少参数。CNN 的最后连接2 个全连接层,采用dropout 方法[15]从网络中随机删除节点,减少网络的过拟合。该CNN 结构简单,训练效率高,用于抽取型材截面的特征。
图2 神经网络模型结构
分流孔数值属性多,维度较高,有非连续性数据,为了能够更好挖掘分流孔数值属性与分流孔的关系,采用ReliefF 算法对数值数据进行建模,选择相关性较高的数值属性。ReliefF 算法是对Relief 算法的一种改进[13],能够处理多分类的特征,该算法根据各个不同特征和类别的关联性计算其权重。分流孔数据库中提供8种特征值,分别是型材面名称、模具编号、最小外接圆直径、面积、周长、挤压机压力、型材材料和挤压比。首先,随机从分流孔数据库中挑选一个训练样本R,并从样本R的相同类型的数据中获取k个近邻样本集合H(Near Hits);其次,从样本R的不同类型样本的数据中找出k个最近邻样本M(Near Misses);最后计算R与H和M中样本的距离,如果类间距大于类内距,增加该属性特征的权重W,反之则减少权重[16]。不断迭代更新n次后再将每个属性的特征权重取均值,根据设定阈值a,筛选出大于阈值的特征[12]。算法流程如图3所示。
图3 ReliefF算法流程
CNN 提取的图片特征与ReliefF 算法选择的数值特征,采用Concatenate 函数实现特征融合,组成全新的长向量,该方法不仅能提升多模态分类模型的性能,而且方式简单有效[17]。提取的型材截面特征向量表示为v1,(v1∈R576)和v2,(v2∈R4),将2 个向量于同一阶进行组合,得到多模态特征向量如公式(1)所示。
其中,⊕表示拼接操作;580表示融合后多模态特征向量的维度。对于多分类问题,神经网络输出层的激活函数选择SoftMax 函数。模型的损失函数选择多分类交叉熵损失函数,如公式(2)所示。
其中,n表示分类个数;yi表示实际分类;ai表示模型分类预测值。损失函数用于衡量预测结果和实际标签之间的差异,通过最小化loss 函数来优化模型参数。
试验设计如下:构建分流孔数据集与设计预处理方法;搭建试验环境,确定使用CNN 与RelifF 算法,调整试验参数;设置不同模态的对照试验与不同模型的对照试验,用精确率、召回率、F1值作为试验的评价指标,分析试验结果得出最后结论。
试验数据集来自于企业模具设计部近3年挤压模设计数据,其中包含模具型材面图、平面设计图、三维图、仿真结果与仿真视频等,主要使用的数据是型材图与平面设计图。型材图中包含的数据由型材面图片与型材的周长、最小外截面直径、拟采用挤压机压力、材料等信息。模具平面设计图记录分流孔数目、位置、大小等相关信息,具体信息如图4所示。
图4 模具设计数据集属性
数值数据中采用one-hot 将离散型数据处理成连续型,之后用Min-Max 归一化方法将连续型数值映射到[0,1]区间,简化计算。数据样本中分流孔数目类别从一孔至八孔都涵盖在内,但每类分流孔数目数量分布不均衡,四孔数据居多,二孔、七孔与八孔数据较少,采用数据增强方法,增加较少的类别样本数量,使每类样本数量相差不大。增强后的数据集每类样本数目如图5 所示。训练集、验证集和测试集以数据集7∶2∶1随机划分。
分流孔分类模型使用Python3.6编写,在Pytorch搭建深度学习网络;电脑运行环境:操作系统为Windows10,CPU 为Intel i5-7300HQ,内存为32G,显卡为NVIDIA RTX1050(2G 显存)。利用OpenCV 读取型材面图片,将调整为256×256 的灰度图像,使用transforms 函数归一化处理,作为模型的输入。随机梯度下降(stochastic gradient descent,SGD)算法[18]作为权重更新优化方法,初始学习率与动量分别设置为0.01 与0.9。试验数据batch_size 与训练轮数epoch 分别设置为20 与30。网络中隐藏层采用了dropout 策略避免过度拟合,并设置为0.5。为保证结果的可靠性,减少特殊情况,采用10折交叉方法。即通过重复10 次试验,将得到的指标结果进行平均,作为最终的结果。
分析分流孔分类情况,选择评价指标有3个:精确率(precision)、召回率(recall)、F1值[19]。每一类分流孔数目的评价指标具体计算方法如公式(3)~(5)所示。
其中,TP表示真阳的数量;FP表示假阳的数量;FN表示假阴的数量。
2.4.1 CMMIF分类试验
CMMIF 训练目标为预测分流孔类别,因此对模型不同模态进行分类试验对比,比较分流孔分类效果,分析单模态与多模态的分流孔分类情况,分类结果如表1所示。首先,从单模态角度进行对比,图片特征的分类能力略强于数值特征,分类能力没有较大的差距,评价指标平均准确率相差3.97%,召回率相差2.89%,F1相差5.71%。2 种单独模态的分类结果准确率都不高,F1指标得分相对较低,表明单模态数据并不能较好表示分流孔数目的细节信息,仍有较大改进的空间。将单模态与多模态行进对比,结合图片与数值,多模态分类性能均优于各单模态的分类结果,有较大的提升,平均准确率提升30.39%,召回率提升30.11%,F1提升27.39%。这表明图片特征与数值特征两者能够弥补各自特征的不足,多模态数据能够更好表示分流孔的特征,帮助模型较为准确分类分流孔数目,同时验证了卷积神经网络能够应用到模具的智能化设计中。
表1 不同模态分流孔分类结果
CMMIF 不足:多模态的特征提取未必是最优的方案,对模型中的参数需要进一步进行调整;收集数据时间成本高,难收集,导致数据样本量不足;该研究仅考虑2 种模态数据,结合其他模态特征可能会更加准确描述分流孔。由于企业数据资源的限制,目前没有公开的挤压模设计数据集能够进行验证。
2.4.2 对比模型设计试验
为了评估模型的分类表现,选择多种模型进行对比试验。
(1)VGG19 与ResNet18[11]。这2 种模型是深度神经网络结构的代表,在视觉任务上有较好的效果,具有验证深层网络提取简单图形后的分类能力。
(2)SIFT+SVM[20]。图片特征采用传统特征提取SIFT 方法,该算法使用广泛,具有良好的表现,支持向量机作为分类器,验证传统图片特征提取分类方法在简单图片上的表现。
(3)无ReliefF数值特征筛选。CMMIF数值数据不使用ReliefF 算法,将全部的数值特征融合图片特征,验证ReliefF算法在选择数值特征时的有效性。
将多模态模型CMMIF 同其他基线模型进行对比,平均评估指标比较结果如表2 所示。从表2 可以看出,由浅层CNN 构造的CMMIF 在各项指标中均值达到最优效果,平均F1值为91.83%。而作为对比由深层CNN 构造的VGG19 模型F1值最低仅为37.12%,说明深度CNN 网络模型对简单图片的分类效果未必最佳;图像特征采用SIFT 的多模态特征与SVM 分类器组合模型分类结果与单模态图片类似,比使用SVM 的CMMIF 中F1值下降了13.67%,说明SIFT 提取的图片特征与数值特征融合后表现分流孔特征能力较弱;对比不同的分类器对分类结果的影响,CMMIF 中全连接层后分别接入SoftMax 与SVM 分类器,SoftMax 分类器F1值比传统SVM 分类器高13.01%,SoftMax 分类器对多模态数据分类效果更佳;不采用ReliefF 算法选择数值特征模型比CMMIF 中F1值降低2.86%,表明ReliefF 算法能正确选择与分流孔相关的数值特征,并提高模型的精度。
表2 CMMIF模型同各基线模型的对比结果
为了实现分流孔设计的智能化,针对当前挤压模设计中分流孔数目研究不足的问题,提出基于多模态融合的分流孔数目分类模型CMMIF。该模型通过图像识别、CNN 图像特征提取、ReliefF 数值特征选择与特征融合等技术的综合运用,能够准确地根据型材面预测最佳分流孔数目。该研究初步探索了神经网络在模具设计智能化的应用,能为挤压模行业设计师提供分流孔数目位置和大小的设计思路,为后续分流孔规格检查,同时为实现分流孔设计的智能化提供支撑。
未来研究中,尝试采集更多模态数据,优化神经网络结构提取更佳的数据特征,并能结合其他技术如知识图谱实现智能化挤压模设计。