董曉冬,周金柱,林強強,杜志強,蔡云霓
(西安電子科技大學高性能電子裝備機電集成制造全國重點實驗室,陜西 西安 710071)
印制電路板裝配是指將特定的貼裝元件貼裝到印制電路板上使其具有特定功能的過程[1]。在表面貼裝工藝流程中,自動光學檢測(Automated Optical Inspection, AOI)是一種廣泛應用的利用機器視覺對印制電路板存在的缺陷進行自動化檢測的技術(shù)[2]。
現(xiàn)階段,在AOI檢出印制電路板裝配故障后,缺少對電路板裝配故障的后續(xù)分析應用,制造和設(shè)計階段的信息交互出現(xiàn)割裂?!胺囱荨笔侵羔槍χ圃?、運維等過程中的故障,通過模型計算將信息推薦到設(shè)計端以優(yōu)化設(shè)計。因此,利用反演方法可以實現(xiàn)信息互通,挖掘裝配故障數(shù)據(jù),使檢測結(jié)果由點及面,對提升電路板設(shè)計制造迭代效率具有重要意義。
數(shù)據(jù)類型可以分為歐氏結(jié)構(gòu)數(shù)據(jù)(Euclidean Structure Data)和非歐結(jié)構(gòu)數(shù)據(jù)(Non-Euclidean Structure Data)。歐氏結(jié)構(gòu)數(shù)據(jù)包括圖像等排列整齊的數(shù)據(jù),非歐結(jié)構(gòu)數(shù)據(jù)包括人際關(guān)系、知識圖譜、蛋白質(zhì)結(jié)構(gòu)等數(shù)據(jù)。目前電路板裝配故障相關(guān)研究主要是將電路板歸類為歐氏結(jié)構(gòu)數(shù)據(jù)并利用圖像技術(shù)進行故障診斷,沒有將電路板的電路結(jié)構(gòu)看作圖(Graph)結(jié)構(gòu)數(shù)據(jù)并利用圖神經(jīng)網(wǎng)絡(Graph Neural Network,GNN)進行研究。
文獻[3]最早在2008年提出了GNN的概念,利用神經(jīng)網(wǎng)絡模型的近似性質(zhì)處理各種圖結(jié)構(gòu)數(shù)據(jù),并達到了一定的精度。
文獻[4]在GNN的基礎(chǔ)上,將圖拉普拉斯矩陣的卷積運算引入到一般域的圖結(jié)構(gòu)數(shù)據(jù)中并建立了第一個圖卷積神經(jīng)網(wǎng)絡(Graph Convolutional neural Network, GCN)模型。
近年來,GCN已應用于多個領(lǐng)域,例如計算機視覺[5]、自然語言處理[6]、生物化學[7]、推薦系統(tǒng)[8]等。在故障相關(guān)領(lǐng)域,文獻[9]提出了一種多感受野圖卷積網(wǎng)絡,用來進行有效的智能故障診斷,不僅學習來自不同感受野的特征,還將學習到的特征融合,用作增強的特征表示。文獻[10]提出了一種基于半監(jiān)督圖卷積深度信念網(wǎng)絡算法的機電系統(tǒng)智能故障診斷方法,設(shè)計了新的自適應局部圖學習方法來構(gòu)建圖鄰居關(guān)系。但是,目前尚未出現(xiàn)將圖卷積神經(jīng)網(wǎng)絡引入電路板裝配故障相關(guān)領(lǐng)域的研究。
電路板設(shè)計具有模塊化和固定化的設(shè)計思維模式,相似的電路模塊往往出現(xiàn)相似故障,包括器件或電路板兩個層級故障。例如,某電路板需要使用某計算電路,設(shè)計師一般會將成熟的電路模塊直接移植到新電路板中,這就可能帶來相似的質(zhì)量問題。目前主流的圖像識別電路板裝配故障診斷技術(shù)是將電路板看作歐氏結(jié)構(gòu)數(shù)據(jù)進行計算。本文提出在AOI系統(tǒng)獲取電路板裝配故障后,利用圖卷積神經(jīng)網(wǎng)絡反演相似故障,并給電路板設(shè)計師推送反演設(shè)計方案,輔助設(shè)計師更改設(shè)計,減少資源浪費,降低返工率。
本文主要的創(chuàng)新點如下:
1)首次提出電路板裝配故障反演方法,為設(shè)計師提供高效的電路板設(shè)計輔助,提高設(shè)計制造迭代效率,并提出了電路板電路結(jié)構(gòu)的圖化方法和器件編碼方法,將圖卷積神經(jīng)網(wǎng)絡應用于電路板裝配故障反演領(lǐng)域。
2)提出批量雙模型圖卷積相似度算法,可以高效識別待檢測電路板的相似故障器件點,并給出相似度評分,對設(shè)計反演進行有效量化。
文獻[11]引入切比雪夫多項式近似方法,減少模型參數(shù),對權(quán)重矩陣進行歸一化,得到了1階圖卷積神經(jīng)網(wǎng)絡[12]。
圖G通過鄰接矩陣和度矩陣來描述空間關(guān)系。定義鄰接矩陣為A,節(jié)點i和節(jié)點j連接邊的權(quán)重由A的第i行第j列元素Aij表示。圖G的度矩陣D的元素可表示為:
對A做歸一化處理,則圖G的拉普拉斯變換為:
式中,I為單位陣。
圖G的卷積公式可定義為:
式中:σ為激活函數(shù);W(k)表示圖G第k層的權(quán)值矩陣;H(k)∈Rn(k)×d為圖G第k層的表示矩陣,n(k)為圖G第k層的節(jié)點數(shù)量,d為隱藏層維度。H(0)為節(jié)點特征矩陣。
Larry Page最早于1998年提出了PageRank算法。PageRank的基本思想是:設(shè)Si為節(jié)點i的入鏈集合,節(jié)點j的出鏈數(shù)量為M,該節(jié)點的PageRank值為Rj,將節(jié)點i所有入鏈節(jié)點的PageRank值相加,得到節(jié)點i的PageRank值,計算公式為:
引入一般隨機模型,即1階馬爾科夫鏈[13]后:
式中,a為阻尼因子,0 ≤a≤1,表示任意一個節(jié)點到其他節(jié)點的概率。
本文提出的基于圖卷積神經(jīng)網(wǎng)絡的電路板裝配故障反演方法主要流程見圖1。AOI檢測到電路板制造過程發(fā)生裝配故障后將信息發(fā)送到反演算法平臺,平臺利用批量雙模型圖卷積相似度算法計算得到故障相似度,將結(jié)果推送給電路板設(shè)計師進行反演提升。
圖1 反演方法流程圖
批量雙模型圖卷積相似度算法見圖2。算法的輸入來源包括目標電路板和待檢測電路板群。目標電路板是已診斷出故障的電路板,并且進行了故障器件點定位。待檢測電路板群包括待制造和已制成電路板的集合。本算法的主要功能是在待檢測電路板群中找到可能發(fā)生與目標電路板相似故障的器件點,并得出相似度評分,用于后續(xù)反演。
圖2 批量雙模型圖卷積相似度算法
將目標電路板A的圖化數(shù)據(jù)分別與待檢測電路板群B的每一個電路板Bi的圖化數(shù)據(jù)進行組合,形成批量數(shù)據(jù)。組合過程為:首先利用PageRank算法找出A和Bi圖化數(shù)據(jù)重要度最低的圖節(jié)點,用無向邊連接兩節(jié)點,組合完成后得到圖數(shù)據(jù)Gi。本文所述方法可以減少對原電路結(jié)構(gòu)信息的破壞。
批量雙模型圖卷積相似度算法主要結(jié)構(gòu)包括第一模型M和第二模型M′。模型M包含圖卷積神經(jīng)網(wǎng)絡層、全連接層和softmax層,模型M′包含圖卷積神經(jīng)網(wǎng)絡層、全連接層和余弦相似度計算層。利用圖節(jié)點分類任務完成模型M的訓練后,將其圖卷積神經(jīng)網(wǎng)絡層和全連接層的全部參數(shù)遷移到模型M′上,并凍結(jié)所有參數(shù)。模型M′利用模型M的已訓練參數(shù)完成后續(xù)的相似度計算。余弦相似度算法時間復雜度低,易于實現(xiàn),可以較好地表達兩個圖節(jié)點嵌入向量的相似度,因此本文選用余弦相似度進行計算。
將拼接后的圖數(shù)據(jù)Gi劃分為訓練集、驗證集和測試集,將訓練集和驗證集送入第一模型M進行訓練和驗證,并在測試集上對模型M進行評估。訓練完成后,將模型M的參數(shù)遷移到模型M′,并將Gi全部輸入模型M′,得到Gi的圖節(jié)點嵌入向量。將目標電路板A故障器件點圖化后的向量和Gi每一個圖節(jié)點的嵌入向量做相似度計算,得到的結(jié)果即為相似度評估指標。
印制電路板有單面、雙面和多層板之分[14]。電路板電路結(jié)構(gòu)圖化(Graphization)的對象為電路板的器件及其電連關(guān)系。經(jīng)過分析,將電路板電路結(jié)構(gòu)抽象為器件、走線和并聯(lián)點3種圖節(jié)點類型,這樣就可以充分表達電路板電路結(jié)構(gòu)的特征,用于后續(xù)裝配故障的反演。器件和并聯(lián)點用圖的節(jié)點表示,記為V,走線用圖的無向邊表示,記為E。利用圖的節(jié)點和邊可以充分表達電路的結(jié)構(gòu)。
工業(yè)生產(chǎn)中,電路板的連接信息和構(gòu)成信息通常作為數(shù)據(jù)形成管理文檔。連接信息主要包括器件之間的連接關(guān)系,構(gòu)成信息包括位號、器件類型、器件型號、器件生產(chǎn)廠家、封裝類型等。對電路板的器件和并聯(lián)點進行編號,并構(gòu)建獨熱矩陣作為描述電路板的特征矩陣。將構(gòu)成信息作為獨熱矩陣的分段目標類型。例如,獨熱矩陣每一行的前幾位表示器件類型,后幾位表示器件型號等。使用器件類型作為獨熱矩陣的訓練獨熱標簽。將待檢測電路板群圖化后記為G={G1,G2,···,Gn},第i個電路板圖數(shù)據(jù)記為Gi= (Vi,Ei,Xi),Vi為第i個電路板圖數(shù)據(jù)的圖節(jié)點集合,Ei為第i個電路板圖數(shù)據(jù)的關(guān)系集合,Xi ∈Rni×m為器件和并聯(lián)點的獨熱特征矩陣,ni為第i個電路板圖數(shù)據(jù)的圖節(jié)點數(shù)量,m為電路板圖數(shù)據(jù)的圖節(jié)點特征維度,第i個電路板圖數(shù)據(jù)的獨熱標簽記為Yi ∈Rn×1。
本文提出的算法包括兩個模型,主要流程為訓練、測試第一模型M,然后利用第二模型M′得到輸出結(jié)果。具體步驟為:
1)第一模型訓練數(shù)據(jù)為Gi的圖節(jié)點特征矩陣、獨熱標簽和連接關(guān)系;按照8:1:1隨機劃分訓練集、驗證集和測試集。
2)用兩個圖卷積層提取圖節(jié)點特征,使用一個全連接層分類特征。Gi上的圖卷積神經(jīng)網(wǎng)絡第k+1層表示矩陣的計算公式為:
式中:L(Y,Y′)為圖Gi的交叉熵損失;n為圖節(jié)點數(shù)量;C為器件類型數(shù)量;yij是第i個圖節(jié)點的實際類別概率分布是第i個圖節(jié)點的預測類別概率分布。通過誤差反向傳播算法更新神經(jīng)網(wǎng)絡參數(shù)和權(quán)重。
3)第一模型M訓練完成后,利用準確率、召回率和F1值測試模型M的效果。準確率P、召回率R和F1值3個評價指標的定義為:
式中:TP為真正類;FP為假正類;FN為假負類。
4)將第一模型M的參數(shù)遷移到第二模型M′,并凍結(jié)參數(shù)。將Gi的圖節(jié)點特征矩陣和連接關(guān)系全部輸入模型M′,得到圖節(jié)點嵌入向量。
5)對目標向量(故障器件點圖化后的向量)x與Gi的第i個圖節(jié)點嵌入向量hi做余弦計算,得到相似度打分s,將s作為反演采納重要度評估指標推送給設(shè)計師。s的計算公式為:
得到相似度打分后,設(shè)定推薦閾值,對超過推薦閾值的數(shù)個相似電路板器件點利用生產(chǎn)制造管理文檔溯源,將待檢測電路板群的器件點信息(位號和器件型號)、目標電路板已發(fā)生的故障、要注意的問題等反演到的設(shè)計信息推送給相關(guān)的設(shè)計師,完成輔助設(shè)計。建立目標電路板和待檢測電路板群的檔案文件并保存雙模型參數(shù),若目標電路板后續(xù)診斷發(fā)現(xiàn)故障,通過第二模型得出新的相似度打分,并進行新的設(shè)計反演推送。
實驗主要的軟件環(huán)境:Python3.8,PyTorch 1.13和PyTorch Geometric 2.0.0;硬件環(huán)境:中央處理器為Intel?Core?i7-10700F,內(nèi)存容量為64 GB,圖形處理器為NVIDIA 3060。批量雙模型圖卷積相似度算法的網(wǎng)絡層結(jié)構(gòu)如表1所示。
表1 圖卷積神經(jīng)網(wǎng)絡超參數(shù)
批量大小表示在每個圖數(shù)據(jù)Gi上的網(wǎng)絡批量大小。隨機失活表示網(wǎng)絡隨機失活的節(jié)點保留概率。網(wǎng)絡采用Adam優(yōu)化算法、反向傳播更新網(wǎng)絡參數(shù)以及負對數(shù)似然損失函數(shù)。
本文所使用的數(shù)據(jù)集為企業(yè)射頻電路板的電路圖數(shù)據(jù)。本文的實驗分為3種工況:工況一的拼接圖數(shù)據(jù)為55個元件,12條連接關(guān)系;工況二的拼接圖數(shù)據(jù)為139個元件,23條連接關(guān)系;工況三的拼接圖數(shù)據(jù)為303個元件,45條連接關(guān)系。按照器件類型構(gòu)建獨熱矩陣表示特征,共規(guī)定了包括并聯(lián)點、未知類型在內(nèi)的12個標簽類別。
網(wǎng)絡確定超參數(shù)后,對3種工況下的數(shù)據(jù)進行故障設(shè)計反演實驗。實驗分為兩個階段,第一階段評估第一模型的訓練結(jié)果,第二階段評估整個網(wǎng)絡對故障設(shè)計反演的效果。
第一階段實驗研究的是3種工況下第一模型的訓練損失變化情況以及分類準確度、召回率和F1值的變化情況。訓練損失實驗結(jié)果如圖3所示。
圖3 3種工況下訓練損失變化曲線
從圖3可見,第一模型在所有工況下,經(jīng)過100次訓練后,負對數(shù)似然損失就已經(jīng)降低到了1以內(nèi),這表明圖卷積神經(jīng)網(wǎng)絡具有非常好的適用能力。在600次訓練后,損失曲線基本不再下降。
在12個分類標簽的情況下,工況一在600次訓練后的準確率、召回率和F1值均達到90%以上,工況三均達到75%以上。第一模型的實驗結(jié)果(圖4)僅為網(wǎng)絡評估的可視化中間參考值,第二模型給出的各器件點相似度評分才是網(wǎng)絡最終輸出結(jié)果。
圖4 第一模型測試指標變化曲線
第二階段實驗研究的是3種工況下第二模型對待檢測電路板群器件點與目標電路板裝配故障器件點的相似度評估結(jié)果。
將3種工況下的目標電路板分別隨機設(shè)置3個故障器件點,實驗對象為與3個工況的目標電路板拼接的待檢測電路板。實驗表明,每個工況下獲得最高評分的3個點均為待檢測電路板群中與目標電路板對應的相似器件點。
工況一的相似度評分結(jié)果如圖5所示,3個器件點的相似度分別為0.85,0.87,0.89。
圖5 工況一的實驗結(jié)果
將工況二相似度評分最高的50個點取出,工況二的相似度評分結(jié)果如圖6所示,最高3個點的相似度評分分別為0.94,0.98,0.94。
圖6 工況二的實驗結(jié)果
將工況三相似度評分最高的50個點取出,工況三的相似度評分結(jié)果如圖7所示。最高3個點的相似度評分分別為0.87,0.84,0.83。
圖7 工況三的實驗結(jié)果
本文提出了基于圖卷積神經(jīng)網(wǎng)絡的電路板裝配故障反演方法,首次將電路板電路結(jié)構(gòu)作為非歐結(jié)構(gòu)數(shù)據(jù)進行研究,利用圖卷積神經(jīng)網(wǎng)絡完成第一模型的訓練后,第二模型利用余弦相似度得出待檢測電路板群器件點的相似度評分,并將結(jié)果推薦到電路板設(shè)計師完成輔助設(shè)計。通過對比實驗與分析得出以下結(jié)論:
1)圖卷積神經(jīng)網(wǎng)絡可以解決本文提出的實際問題,1次訓練后的損失值即降到2左右。在12個分類標簽的情況下,工況一的準確率、召回率和F1值仍可達到90% 以上。
2)本文所提方法在3個工況下均能得到較好的反演效果。工況二中3個對應器件點的最高相似度評分均達到0.9以上,且與其他器件點相比具有較高的分辨力;工況一和工況三中,對應器件點的相似度評分達到0.8以上。實驗結(jié)果表明,本方法可以為設(shè)計師提供更具針對性的設(shè)計反演建議。