对于一个结构复杂,装配困难的装配对象而言,内部的零件也是多种多样的,而在对零件对象的信息进行自动提取的过程中,在没有人为对零件体类别进行划分的前提情况下,无法直接确定零件类别。装配对象内部的结构层次对于实例推理有着十分重要的影响,若无法对内部的零件进行类别上的分层,就无法清晰地解析装配对象内部的信息,从而影响推理的精确度,进一步阻碍较高层次的知识模式被发现。
在针对零件识别与分类方面文献[1]利用Canny边缘算子识别零件的图形轮廓并进行特征匹配以完成对工业零件的分类;文献[2]提出一种基于机器视觉的零件外形轮廓分类方法;文献[3]为了解决零件类型的确定问题,将卷积神经网络组织与数据分类进行匹配;文献[4]研究了图像特征提取的常见方法,并结合零件的特点,重点研究了零件的形状特征和几何特征提取方法。目前在对零件分类的研究上主要是采用图像识别方法[5][6][7],本文创新性提出通过对零件的属性参数和特征参数的提取,利用XGBoost算法识别零件并按照结构类型和功能类型对其进行分类。
2.零件类别概念分层的方案设计
2.1.类别划分
零件大类由其功能与结构划分人为定义主要为以下几种:
1)按功能划分:连接件(A),紧固件(B),定位件(C),密封件(D),传动件(E),支承件(F);
2)按结构划分:轴类件(G),盘类件(H),肋板件(I),箱盖件(J),叉架件(K);
3)其他标注:其他件(M)。
在以往人工对零件进行编码时其规则主要通过“功能编码–结构编码”的方法,例如对于法兰盘这一零件,它属于盘类零件,主要是起到轴向定位的作用,因此它的编码为“C-H”。如果无法对某零件的结构或者功能有清晰地了解,可以通过其他件(M)进行编码,例如对于花键而言,它是起到了连接的作用,而结构却无法进行清晰地辨认,因此它的编码可以是“A-M”。利用这种简单的编码方法对零件大类进行划分,零件有了清晰的归属,也使得装配对象有了更加丰富的内在信息[8],但在数据量巨大的情况下
Figure1.Conceptualhierarchicaldesignbasedonpartcategory
2.2.XGBoost方法
XGBoost算法的是每棵回归树、每个叶子节点都会有自己的得分[9],得分相加就是最终预测结果的产生,为了学习得到模型中的最优参数,对于分类问题,可以采用逻辑回归函数映射成概率,以下就是最小化的正则化目标[10]:
3.双目标划分
Figure2.ModeltrainingflowchartofXGBoost
Figure3.Materialsparsitymatrixofparts
在影响零件类型最为重要的前20个的特征中,绝大部分还是材料属性。除此之外结构类别的划分更加依赖于零部件的特征属性,例如:表面积,槽数,顶点数,面数。而功能类别的划分更加依赖于零件的材料,其中316L不锈钢成为材料属性中对分类器贡献度最高的特征。
(a)(b)
Figure4.XGBoost-basedpartfeaturecorrelationranking.(a)Importanceoffeaturesrelatedtostructuretype;(b)Importanceoffeaturesrelatedtofunctionaltypes
可以观察到树的生长状态,首先从SS316L材料属性作为根属性进行延伸,第二层的划分特征为顶点数,第三层是槽数,第四层为面数与体积,第五层输出子叶节点,保证每次延伸的增益大于0.1,且保证树的深度小于5层,防止树结构太复杂而导致的模型过拟合。
Table1.SelectionofinitialhyperparametricvaluesofXGBoost
Figure5.ThethirdtreemodelstructureofXGBoostmodelofstructuretype
Table2.XGBoostmodelevaluation(structuretype)
Table3.XGBoostmodelevaluation(functiontype)
其中查准率表示的意思是预测是正例的样本中被正确分类的样本的比例。查全率表示的意思是真实是正例的样本中被分类正确的样本的比例。F1值是对查准率与查全率得一种综合的衡量标准,F1值越接近1,模型的训练效果越好。由上述的两个模型评估报告可以看出模型的性能不错,但仍然有很大的提升空间,尤其是对功能类别的划分,由于样本的标签分布很多时候是不平衡的,因此在一些类型在分类器上的表现跳跃性较强,继续采集稀缺样本,以及升采样与降采样的方法可以解决样本不平衡问题。
4.优化
Table4.BayesianoptimizationofXGBoosthyperparameters
在设置完调节参数之后,还需要对迭代次数进行设置,贝叶斯迭代的方法主要分为两种[15],一种是探索,就是点的选择位置会尽可能远离已知点,点的分布会尽可能平均,而另一种则是利用,即尽量挖掘已知点周围的点,使其进入一个局部最大的情况。这里选择探索的次数为5次,利用的次数为25次,进行总和为30次的优化。
Table5.HyperparametersadjustmentafterBayesianoptimization
Table6.EvaluationreportofoptimizedXGBoostmodel(structuretype)
Table7.EvaluationreportofoptimizedXGBoostmodel(functiontype)
Figure6.EvaluationofmodeleffectbeforeandafterBayesianoptimization.(a)Effectcomparisonofstructuralcategorymodelbeforeandafteroptimization;(b)Effectcomparisonoffunctioncategorymodelbeforeandafteroptimization
通过贝叶斯优化后的模型在同一套数据集上明显优于优化前期,除了查准率有了些许下降之外,其他指标都有一定的提升,其中最明显的是结构类型划分模型的查全率,有了15%的提升,准确率也分别提升了将近2%,优化效果较为明显。
Figure7.Threedimensionalmodeloffrontguiderailofcleaningmachine