董晓冬,周金柱,林强强,杜志强,蔡云霓
(西安电子科技大学高性能电子装备机电集成制造全国重点实验室,陕西 西安 710071)
印制电路板装配是指将特定的贴装元件贴装到印制电路板上使其具有特定功能的过程[1]。在表面贴装工艺流程中,自动光学检测(Automated Optical Inspection, AOI)是一种广泛应用的利用机器视觉对印制电路板存在的缺陷进行自动化检测的技术[2]。
现阶段,在AOI检出印制电路板装配故障后,缺少对电路板装配故障的后续分析应用,制造和设计阶段的信息交互出现割裂。“反演”是指针对制造、运维等过程中的故障,通过模型计算将信息推荐到设计端以优化设计。因此,利用反演方法可以实现信息互通,挖掘装配故障数据,使检测结果由点及面,对提升电路板设计制造迭代效率具有重要意义。
数据类型可以分为欧氏结构数据(Euclidean Structure Data)和非欧结构数据(Non-Euclidean Structure Data)。欧氏结构数据包括图像等排列整齐的数据,非欧结构数据包括人际关系、知识图谱、蛋白质结构等数据。目前电路板装配故障相关研究主要是将电路板归类为欧氏结构数据并利用图像技术进行故障诊断,没有将电路板的电路结构看作图(Graph)结构数据并利用图神经网络(Graph Neural Network,GNN)进行研究。
文献[3]最早在2008年提出了GNN的概念,利用神经网络模型的近似性质处理各种图结构数据,并达到了一定的精度。
文献[4]在GNN的基础上,将图拉普拉斯矩阵的卷积运算引入到一般域的图结构数据中并建立了第一个图卷积神经网络(Graph Convolutional neural Network, GCN)模型。
近年来,GCN已应用于多个领域,例如计算机视觉[5]、自然语言处理[6]、生物化学[7]、推荐系统[8]等。在故障相关领域,文献[9]提出了一种多感受野图卷积网络,用来进行有效的智能故障诊断,不仅学习来自不同感受野的特征,还将学习到的特征融合,用作增强的特征表示。文献[10]提出了一种基于半监督图卷积深度信念网络算法的机电系统智能故障诊断方法,设计了新的自适应局部图学习方法来构建图邻居关系。但是,目前尚未出现将图卷积神经网络引入电路板装配故障相关领域的研究。
电路板设计具有模块化和固定化的设计思维模式,相似的电路模块往往出现相似故障,包括器件或电路板两个层级故障。例如,某电路板需要使用某计算电路,设计师一般会将成熟的电路模块直接移植到新电路板中,这就可能带来相似的质量问题。目前主流的图像识别电路板装配故障诊断技术是将电路板看作欧氏结构数据进行计算。本文提出在AOI系统获取电路板装配故障后,利用图卷积神经网络反演相似故障,并给电路板设计师推送反演设计方案,辅助设计师更改设计,减少资源浪费,降低返工率。
本文主要的创新点如下:
1)首次提出电路板装配故障反演方法,为设计师提供高效的电路板设计辅助,提高设计制造迭代效率,并提出了电路板电路结构的图化方法和器件编码方法,将图卷积神经网络应用于电路板装配故障反演领域。
2)提出批量双模型图卷积相似度算法,可以高效识别待检测电路板的相似故障器件点,并给出相似度评分,对设计反演进行有效量化。
1.1 图卷积神经网络(GCN)
文献[11]引入切比雪夫多项式近似方法,减少模型参数,对权重矩阵进行归一化,得到了1阶图卷积神经网络[12]。
图G通过邻接矩阵和度矩阵来描述空间关系。定义邻接矩阵为A,节点i和节点j连接边的权重由A的第i行第j列元素Aij表示。图G的度矩阵D的元素可表示为:
对A做归一化处理,则图G的拉普拉斯变换为:
式中,I为单位阵。
图G的卷积公式可定义为:
式中:σ为激活函数;
W(k)表示图G第k层的权值矩阵;
H(k)∈Rn(k)×d为图G第k层的表示矩阵,n(k)为图G第k层的节点数量,d为隐藏层维度。H(0)为节点特征矩阵。
1.2 PageRank算法
Larry Page最早于1998年提出了PageRank算法。PageRank的基本思想是:设Si为节点i的入链集合,节点j的出链数量为M,该节点的PageRank值为Rj,将节点i所有入链节点的PageRank值相加,得到节点i的PageRank值,计算公式为:
引入一般随机模型,即1阶马尔科夫链[13]后:
式中,a为阻尼因子,0 ≤a≤1,表示任意一个节点到其他节点的概率。
本文提出的基于图卷积神经网络的电路板装配故障反演方法主要流程见图1。AOI检测到电路板制造过程发生装配故障后将信息发送到反演算法平台,平台利用批量双模型图卷积相似度算法计算得到故障相似度,将结果推送给电路板设计师进行反演提升。
图1 反演方法流程图
2.1 算法基本框架
批量双模型图卷积相似度算法见图2。算法的输入来源包括目标电路板和待检测电路板群。目标电路板是已诊断出故障的电路板,并且进行了故障器件点定位。待检测电路板群包括待制造和已制成电路板的集合。本算法的主要功能是在待检测电路板群中找到可能发生与目标电路板相似故障的器件点,并得出相似度评分,用于后续反演。
图2 批量双模型图卷积相似度算法
将目标电路板A的图化数据分别与待检测电路板群B的每一个电路板Bi的图化数据进行组合,形成批量数据。组合过程为:首先利用PageRank算法找出A和Bi图化数据重要度最低的图节点,用无向边连接两节点,组合完成后得到图数据Gi。本文所述方法可以减少对原电路结构信息的破坏。
批量双模型图卷积相似度算法主要结构包括第一模型M和第二模型M′。模型M包含图卷积神经网络层、全连接层和softmax层,模型M′包含图卷积神经网络层、全连接层和余弦相似度计算层。利用图节点分类任务完成模型M的训练后,将其图卷积神经网络层和全连接层的全部参数迁移到模型M′上,并冻结所有参数。模型M′利用模型M的已训练参数完成后续的相似度计算。余弦相似度算法时间复杂度低,易于实现,可以较好地表达两个图节点嵌入向量的相似度,因此本文选用余弦相似度进行计算。
将拼接后的图数据Gi划分为训练集、验证集和测试集,将训练集和验证集送入第一模型M进行训练和验证,并在测试集上对模型M进行评估。训练完成后,将模型M的参数迁移到模型M′,并将Gi全部输入模型M′,得到Gi的图节点嵌入向量。将目标电路板A故障器件点图化后的向量和Gi每一个图节点的嵌入向量做相似度计算,得到的结果即为相似度评估指标。
2.2 电路板电路结构图化
印制电路板有单面、双面和多层板之分[14]。电路板电路结构图化(Graphization)的对象为电路板的器件及其电连关系。经过分析,将电路板电路结构抽象为器件、走线和并联点3种图节点类型,这样就可以充分表达电路板电路结构的特征,用于后续装配故障的反演。器件和并联点用图的节点表示,记为V,走线用图的无向边表示,记为E。利用图的节点和边可以充分表达电路的结构。
工业生产中,电路板的连接信息和构成信息通常作为数据形成管理文档。连接信息主要包括器件之间的连接关系,构成信息包括位号、器件类型、器件型号、器件生产厂家、封装类型等。对电路板的器件和并联点进行编号,并构建独热矩阵作为描述电路板的特征矩阵。将构成信息作为独热矩阵的分段目标类型。例如,独热矩阵每一行的前几位表示器件类型,后几位表示器件型号等。使用器件类型作为独热矩阵的训练独热标签。将待检测电路板群图化后记为G={G1,G2,···,Gn},第i个电路板图数据记为Gi= (Vi,Ei,Xi),Vi为第i个电路板图数据的图节点集合,Ei为第i个电路板图数据的关系集合,Xi ∈Rni×m为器件和并联点的独热特征矩阵,ni为第i个电路板图数据的图节点数量,m为电路板图数据的图节点特征维度,第i个电路板图数据的独热标签记为Yi ∈Rn×1。
2.3 算法模型训练与测试
本文提出的算法包括两个模型,主要流程为训练、测试第一模型M,然后利用第二模型M′得到输出结果。具体步骤为:
1)第一模型训练数据为Gi的图节点特征矩阵、独热标签和连接关系;
按照8:1:1随机划分训练集、验证集和测试集。
2)用两个图卷积层提取图节点特征,使用一个全连接层分类特征。Gi上的图卷积神经网络第k+1层表示矩阵的计算公式为:
式中:L(Y,Y′)为图Gi的交叉熵损失;
n为图节点数量;
C为器件类型数量;
yij是第i个图节点的实际类别概率分布是第i个图节点的预测类别概率分布。通过误差反向传播算法更新神经网络参数和权重。
3)第一模型M训练完成后,利用准确率、召回率和F1值测试模型M的效果。准确率P、召回率R和F1值3个评价指标的定义为:
式中:TP为真正类;
FP为假正类;
FN为假负类。
4)将第一模型M的参数迁移到第二模型M′,并冻结参数。将Gi的图节点特征矩阵和连接关系全部输入模型M′,得到图节点嵌入向量。
5)对目标向量(故障器件点图化后的向量)x与Gi的第i个图节点嵌入向量hi做余弦计算,得到相似度打分s,将s作为反演采纳重要度评估指标推送给设计师。s的计算公式为:
2.4 设计反演推送
得到相似度打分后,设定推荐阈值,对超过推荐阈值的数个相似电路板器件点利用生产制造管理文档溯源,将待检测电路板群的器件点信息(位号和器件型号)、目标电路板已发生的故障、要注意的问题等反演到的设计信息推送给相关的设计师,完成辅助设计。建立目标电路板和待检测电路板群的档案文件并保存双模型参数,若目标电路板后续诊断发现故障,通过第二模型得出新的相似度打分,并进行新的设计反演推送。
3.1 实验参数
实验主要的软件环境:Python3.8,PyTorch 1.13和PyTorch Geometric 2.0.0;
硬件环境:中央处理器为Intel®Core™i7-10700F,内存容量为64 GB,图形处理器为NVIDIA 3060。批量双模型图卷积相似度算法的网络层结构如表1所示。
表1 图卷积神经网络超参数
批量大小表示在每个图数据Gi上的网络批量大小。随机失活表示网络随机失活的节点保留概率。网络采用Adam优化算法、反向传播更新网络参数以及负对数似然损失函数。
3.2 数据集介绍
本文所使用的数据集为企业射频电路板的电路图数据。本文的实验分为3种工况:工况一的拼接图数据为55个元件,12条连接关系;
工况二的拼接图数据为139个元件,23条连接关系;
工况三的拼接图数据为303个元件,45条连接关系。按照器件类型构建独热矩阵表示特征,共规定了包括并联点、未知类型在内的12个标签类别。
3.3 网络在不同工况下的实验结果
网络确定超参数后,对3种工况下的数据进行故障设计反演实验。实验分为两个阶段,第一阶段评估第一模型的训练结果,第二阶段评估整个网络对故障设计反演的效果。
第一阶段实验研究的是3种工况下第一模型的训练损失变化情况以及分类准确度、召回率和F1值的变化情况。训练损失实验结果如图3所示。
图3 3种工况下训练损失变化曲线
从图3可见,第一模型在所有工况下,经过100次训练后,负对数似然损失就已经降低到了1以内,这表明图卷积神经网络具有非常好的适用能力。在600次训练后,损失曲线基本不再下降。
在12个分类标签的情况下,工况一在600次训练后的准确率、召回率和F1值均达到90%以上,工况三均达到75%以上。第一模型的实验结果(图4)仅为网络评估的可视化中间参考值,第二模型给出的各器件点相似度评分才是网络最终输出结果。
图4 第一模型测试指标变化曲线
第二阶段实验研究的是3种工况下第二模型对待检测电路板群器件点与目标电路板装配故障器件点的相似度评估结果。
将3种工况下的目标电路板分别随机设置3个故障器件点,实验对象为与3个工况的目标电路板拼接的待检测电路板。实验表明,每个工况下获得最高评分的3个点均为待检测电路板群中与目标电路板对应的相似器件点。
工况一的相似度评分结果如图5所示,3个器件点的相似度分别为0.85,0.87,0.89。
图5 工况一的实验结果
将工况二相似度评分最高的50个点取出,工况二的相似度评分结果如图6所示,最高3个点的相似度评分分别为0.94,0.98,0.94。
图6 工况二的实验结果
将工况三相似度评分最高的50个点取出,工况三的相似度评分结果如图7所示。最高3个点的相似度评分分别为0.87,0.84,0.83。
图7 工况三的实验结果
本文提出了基于图卷积神经网络的电路板装配故障反演方法,首次将电路板电路结构作为非欧结构数据进行研究,利用图卷积神经网络完成第一模型的训练后,第二模型利用余弦相似度得出待检测电路板群器件点的相似度评分,并将结果推荐到电路板设计师完成辅助设计。通过对比实验与分析得出以下结论:
1)图卷积神经网络可以解决本文提出的实际问题,1次训练后的损失值即降到2左右。在12个分类标签的情况下,工况一的准确率、召回率和F1值仍可达到90% 以上。
2)本文所提方法在3个工况下均能得到较好的反演效果。工况二中3个对应器件点的最高相似度评分均达到0.9以上,且与其他器件点相比具有较高的分辨力;
工况一和工况三中,对应器件点的相似度评分达到0.8以上。实验结果表明,本方法可以为设计师提供更具针对性的设计反演建议。