国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進PP-YOLOv2的IC引腳焊接缺陷檢測算法研究

2023-11-03 11:34:12王學影胡曉峰
計量學報 2023年10期
關鍵詞:損失卷積精度

李 娜, 王學影, 胡曉峰, 郭 斌, 羅 哉

(中國計量大學 計量測試工程學院,浙江 杭州 310018)

1 引 言

在人工智能、機器人、半導體、航空航天等高新技術飛速發(fā)展的環(huán)境下,印刷電路板(printed circuit boards, PCB)制造作為高新技術的基礎產(chǎn)業(yè),在各個高新技術產(chǎn)業(yè)的發(fā)展中發(fā)揮重要的作用。在PCB上焊接集成電路(integrated circuit, IC)、電容、電阻等元器件之后,才能組裝為電子設備[1]。PCB板上元器件的焊接質(zhì)量將直接影響產(chǎn)品的性能指標,尤其貼片IC引腳多、間距小,使得貼片IC的焊接缺陷檢測的難度要高于其他元器件。

傳統(tǒng)的PCB缺陷檢測方法有人工目檢、在線測試和功能測試[2],其中人工目檢容易受到工作人員情緒、經(jīng)驗等主觀因素的影響,導致缺陷檢測的準確率和效率較低;在線測試的主要方式為飛針測試,屬于接觸式測量,在一定程度上,會對電路板造成二次損壞;功能測試基于自動化測試原理,采用各種測試設備對特定板或特定單元進行測試,具有測試速度慢、不支持參數(shù)測量的缺點。

機器視覺是一種無接觸、無損傷的自動檢測技術[3],近年來得到了迅速發(fā)展,基于機器視覺的PCB缺陷檢測備受關注。Malge P S等[4]提出了一種基于形態(tài)圖像分割算法的PCB缺陷檢測與分類系統(tǒng),能夠檢測短路、開路等多個缺陷;Kumar M等[5]提出了彩色平面提取、LUT變換等圖像增強方法和標準數(shù)據(jù)生成算法完成對PCB的缺陷檢測;Gaidhane V H等[6]提出了一種相似性度量方法,對PCB缺陷進行檢測?;趥鹘y(tǒng)圖像處理和機器視覺的方法,需要進行特征提取、模板匹配等操作,對于不同的PCB板,需要重新建模,耗時且繁瑣。近年來,隨著深度學習模型在人臉識別、缺陷檢測、目標跟蹤等領域成功應用[7~9],基于深度學習的PCB缺陷檢測也得到了快速發(fā)展。Ding R等[10]基于Faster R-CNN提出了一種微小的缺陷檢測網(wǎng)絡,提高了PCB缺陷檢測的性能。殷政[11]建立深度卷積網(wǎng)絡,對不同型號的IC引腳焊接缺陷進行檢測。李澄非等[12]基于YOLOv4提出了一種PCB缺陷檢測方法,達到了較高的檢測精度。由于IC引腳小而密集,對其缺陷檢測具有很高的難度,針對這些存在的問題,本文提出改進的PP-YOLOv2算法,完成對IC引腳焊接缺陷的檢測。

2 檢測流程

提出改進的PP-YOLOv2算法對IC引腳焊接缺陷進行檢測,檢測流程圖如圖1所示。

圖1 檢測流程圖Fig.1 Flow chart of detection

對采集到的IC引腳焊接缺陷圖像進行標注,制作成Pascal VOC格式的數(shù)據(jù)集,劃分訓練集、驗證集、測試集的比例為6:2:2,將訓練集、驗證集輸入改進的PP-YOLOv2網(wǎng)絡中進行迭代,優(yōu)化網(wǎng)絡參數(shù),加速網(wǎng)絡收斂,模型訓練完畢之后,使用測試集檢驗網(wǎng)絡對新的缺陷圖像檢測的能力。工業(yè)上要求缺陷檢測的平均準確率大于95%,如果模型的性能達到要求,則將模型應用到在線檢測系統(tǒng)中,否則,優(yōu)化網(wǎng)絡,繼續(xù)訓練。

3 網(wǎng)絡模型算法

基于深度學習的目標檢測算法分為:兩階段檢測算法和單階段檢測算法。兩階段目標檢測算法將檢測任務分2個階段,首先找出目標的候選區(qū)域,對是否為目標做初步判斷;然后再對候選區(qū)域進行分類和回歸,對候選區(qū)域的位置進行修正,最后輸出目標的類別。其代表算法有R-CNN[13],Fast R-CNN[14],Faster R-CNN[15]。單階段目標檢測算法沒有候選區(qū)域生成階段,直接輸出物體的類別概率以及位置坐標信息,代表算法有YOLO[16]、YOLOv3[17]、SSD[18]等。

本文基于PP-YOLOv2算法對IC引腳焊接缺陷進行檢測,為了提高PP-YOLOv2算法對IC引腳焊接缺陷此種小而密集情況的目標識別能力,本文在網(wǎng)絡的特征提取部分后加入注意力機制SE(squeeze and excitation)模塊,進一步提高網(wǎng)絡特征提取能力。

3.1 改進的PP-YOLOv2算法

PP-YOLOv2是Huang X等[19]提出的一種改進的基于PaddlePaddle的YOLOv3模型,是基于anchor-based的單階段目標檢測算法,網(wǎng)絡由骨干網(wǎng)絡,檢測頸和檢測頭組成,引入注意力機制SE模塊的PP-YOLOv2網(wǎng)絡結(jié)構如圖2所示。

圖2中,骨干網(wǎng)絡為Resnet50-vd網(wǎng)絡[20,21],檢測頸為路徑聚合網(wǎng)絡(path aggregation network,PAN)[22],檢測頭有3種尺度的輸出,SE Block表示注意力機制[23]。

3.1.1 改進后的PP-YOLOv2骨干網(wǎng)絡

該模型的骨干網(wǎng)絡采用Resnet50-vd網(wǎng)絡,相比于YOLOv3的骨干網(wǎng)絡Darknet53網(wǎng)絡,Resnet50-vd可以根據(jù)不同需要適當?shù)卦黾泳W(wǎng)絡分支,具有更強的普適性。IC引腳小且高密度,經(jīng)典的神經(jīng)網(wǎng)絡在卷積計算過程中,將目標中心像素點與其卷積核矩陣范圍內(nèi)的像素點加入計算,而IC引腳焊接缺陷的尺寸不一、形狀多變,導致檢測效果不佳。因此,本文在Resnet50-vd網(wǎng)絡基礎上,用可變卷積層(deformable convolutional networks, DCN)代替了最后一級的3×3卷積層,提升感受野與實際目標缺陷形狀的匹配度。改進后的PP-YOLOv2骨干網(wǎng)絡結(jié)構如圖3所示。

圖3 改進后的骨干網(wǎng)絡結(jié)構圖Fig.3 Structure of the improved backbone network

3.1.2 改進后的PP-YOLOv2檢測頸

檢測頸采用PAN,自上而下地聚合特征信息,在特征金字塔網(wǎng)絡的基礎上添加了自下而上的路徑增強結(jié)構,增加了跳轉(zhuǎn)連接,將低層特征信息傳遞給高層,利用準確的低層定位信號增強特征層次,進而縮短低層與頂層特征之間的信息路徑。檢測頸PAN結(jié)構詳見圖2,PAN中detection block的結(jié)構如圖4所示。

圖4 Detection block的結(jié)構圖Fig.4 Structure of detection block

圖4中,上一級輸入的特征圖,分為2個部分,一部分通過1×1卷積,另一部分通過多層卷積,再相加,最后經(jīng)過1×1卷積輸出。

3.1.3 改進后的PP-YOLOv2檢測頭

改進后的PP-YOLOv2的檢測頭由一個3×3卷積層和一個1×1卷積層組成,輸出通道為3×(K+5),其中3表示3種大小的錨框,K表示預測的類的個數(shù),5表示每個預測框的4個位置參數(shù)和1個包含物體的概率參數(shù)。

3.1.4 注意力機制SE模塊

對于卷積神經(jīng)網(wǎng)絡輸出的H×W×C的特征圖,C是通道,也表示特征的數(shù)量,H和W分別是原始圖片經(jīng)過壓縮后的圖的高度和寬度,改進后的PP-YOLOv2在骨干網(wǎng)絡后加入SE模塊,SE給特征圖中的每個通道,通過神經(jīng)網(wǎng)絡算出梯度并且前向傳播和后向反饋來學習得到不同的權重,有利于網(wǎng)絡學習各個特征通道之間的關系,提高網(wǎng)絡對密集小目標的檢測精度。SE結(jié)構圖如圖5所示。

圖5 SE結(jié)構圖Fig.5 Structure of SE

由圖5可知,SE模塊首先對輸入的特征圖全局平均池化,將輸入的特征圖壓縮成為1×1×C的特征通道向量ZC,計算公式如下:

(1)

式中:uc表示特征向量。

再使用全連接神經(jīng)網(wǎng)絡經(jīng)過激活函數(shù)等操作賦予特征通道向量不同的權重,計算公式如下:

SC=σ(W2g(W1ZC))

(2)

最后通過乘法逐通道加權到C個通道上,完成在通道維度上對原始特征的重標定,并作為輸出值,計算公式如下:

(3)

3.2 Mish激活函數(shù)

Mish是自正則的非單調(diào)神經(jīng)激活函數(shù)[24],有助于保持較小的負值,穩(wěn)定網(wǎng)絡的梯度流;而且,與其他激活函數(shù)相比,無窮階連續(xù)性和光滑性具有更好的泛化能力,可以提高檢測的精度。因此,本文將Mish激活函數(shù)應用于檢測頸部。Mish激活函數(shù)如圖6所示。

定義和求導公式如下:

f(x)=x×tanh(ln(1+ex))

(4)

(5)

式中:x表示輸入;w=4(x+1)+4e2x+e3x+ex(4x+6);δ=2ex+e2x+2。

3.3 損失函數(shù)

改進算法的損失函數(shù),包括坐標回歸和分類的損失函數(shù),去掉了平滑的L1損失,增加了iou損失和iou感知損失,以適應檢測的回歸任務,提高了定位精度。IC引腳焊接缺陷檢測模型的損失函數(shù)可以表示為

floss=λ1fxy loss+λ2fwh loss+λ3fobj loss+λ4fcls loss

+λ5fiou loss+λ6fiou aware loss

(6)

式中:λ1,λ2,…,λ6是權重參數(shù);fxy loss和fwh loss是坐標損失函數(shù);fobj loss是置信度損失函數(shù);fcls loss是類別損失函數(shù);fiou loss是預測框和真實框交并比損失函數(shù);fiou aware loss是預測框和真實框交并比感知損失函數(shù)。fiou loss和fiou aware loss公式為

(7)

fiou aware loss=-t×log(σ(p))-(1-t)

×log(1-σ(p))

(8)

3.4 評價指標

3.4.1 檢測精度

平均精確度(average precision, AP)是對數(shù)據(jù)集中單個類別檢測精度衡量的指標,平均檢測精度均值(mean average precision, mAP)是對數(shù)據(jù)集中所有類別目標的檢測精度衡量的指標。mAP是各個缺陷類別的AP的平均值,AP由準確率-召回率(precision-recall)曲線下覆蓋的面積得到,準確率、召回率由混淆矩陣計算得到,混淆矩陣如表1所示。

表1 混淆矩陣Tab.1 Confusion matrix

表1中:TP表示預測結(jié)果中預測框被正確預測為正樣本的個數(shù);FN表示正樣本被錯誤預測為負樣本的個數(shù);FP表示負樣本被錯誤預測為正樣本的個數(shù);TN表示預測框被正確預測為負樣本的個數(shù)。

(1) 準確率P又稱查準率,指分類過程中模型所預測的所有正樣本內(nèi)預測正確的比例,其公式為

P=TP/(TP+FP)

(9)

(2) 召回率R又稱查全率,指分類過程中模型預測正確的正樣本占真實正樣本的比例,其公式為

R=TP/(TP+FN)

(10)

(3) 以P為縱軸,R為橫軸作圖,得到模型的P-R曲線。計算P-R曲線與坐標軸所圍的面積,即對P-R曲線求積分可得到該類別的平均精度AP,AP值越高表明檢測效果越好。其公式如下:

(11)

式中r表示召回率變量。

(4) mAP是評價模型綜合性能的重要指標,代表著模型在所有類別目標上的平均檢測精度,其公式如下:

(12)

式中:M表示檢測目標的種類數(shù);APi為每一類目標的平均精度。

3.4.2 檢測速度

每秒幀數(shù)(frame per second, FPS)表示測試樣本總數(shù)與測試樣本進行檢測所消耗時間的比值,計算公式為

FPS=N/T

(13)

式中:N表示測試樣本總數(shù);T表示測試樣本進行檢測所消耗的時間。

4 實驗準備

4.1 圖像采集

本文實驗數(shù)據(jù)由搭建的圖像采集硬件平臺采集得到,計算機發(fā)出采集指令,運動控制器控制PCB板在軌道上移動,移動到指定位置停止,打開光源,相機拍攝IC圖像,存入計算機。共計采集1 000幅圖像。

4.2 數(shù)據(jù)增強

當訓練樣本數(shù)較少時,使用深度學習算法容易導致過擬合現(xiàn)象,難以訓練出具有好的魯棒性的模型。數(shù)據(jù)增強是一種常見的技術,能夠降低過擬合,訓練出具有好的泛化能力的模型,從而更好的對缺陷進行識別。因此,本文通過5種數(shù)據(jù)增強方法對IC數(shù)據(jù)樣本進行擴充,以增強數(shù)據(jù)的豐富性。采用的數(shù)據(jù)增強的方法有:平移、翻轉(zhuǎn)、對比度變換、縮放變換、mosaic數(shù)據(jù)增強。經(jīng)過數(shù)據(jù)增強后共得到1×104幅圖片,并且圖片大小全部Resize為640×640,數(shù)據(jù)增強示例如圖7所示。

圖7 4種數(shù)據(jù)增強方法示例Fig.7 Examples of four data enhancement methods

4.3 數(shù)據(jù)集制作

為了使采集的圖片數(shù)據(jù)在模型訓練及測試時更加標準,將經(jīng)過數(shù)據(jù)增強后的圖片數(shù)據(jù)制作成Pascal VOC格式的數(shù)據(jù)集。拍攝得到的IC引腳焊接缺陷共有4種,分別為短路(short_circuit)、缺腳(missing_pin)、翹腳(pin_cocked)、少錫(little_tin),選用LabelImg對缺陷進行標注,標注后的每一幅圖片都會生成對應xml格式的標注文件,該文件包含圖片的名稱及尺寸信息,缺陷名稱及缺陷標注框的位置信息等。劃分訓練集、驗證集、測試集的比例為6:2:2。

5 實驗與分析

5.1 實驗環(huán)境

計算平臺配置如下:CPU為Intel(R) Core(TM) i7-7700@3.60 GHz;GPU為NVIDIA GeForce GTX 1070;內(nèi)存16 GB;操作系統(tǒng)Win10;深度學習框架為PaddlePaddle 2.0.2;CUDA 10.2。

5.2 配置訓練參數(shù)

數(shù)據(jù)集共1×104幅,劃分訓練集6 000幅,驗證集2 000幅,測試集2 000幅。訓練集和驗證集共計8 000幅圖片,設置Batch size為20,則Batch數(shù)為400,輸入圖像尺寸為640×640,初始學習率設置為0.001 25,動量參數(shù)設置為0.9,整個訓練過程分為100個Epoch,則總迭代次數(shù)為4×104次。

PP-YOLOv2使用3個不同尺度的特征圖預測缺陷,每個尺度的特征圖包含3種預測信息,因此共有9個anchor參數(shù)。不同數(shù)據(jù)集中目標的尺寸和長寬比不同,為了更加準確地識別本文制作數(shù)據(jù)集中的缺陷,改進的算法采用k-means++聚類算法對所有的缺陷框大小聚類,最終得到9個聚類中心,分別為:(18,61), (18,79), (72,20), (59,29), (56,37), (37,58), (50,84), (51,85), (84,60)。

5.3 實驗結(jié)果與分析

為了驗證改進后網(wǎng)絡的性能,在相同的實驗環(huán)境下,應用相同的IC引腳焊接缺陷數(shù)據(jù)集分別對YOLOv3算法、PP-YOLOv2算法、改進算法網(wǎng)絡訓練100輪,損失值曲線對比如圖8所示。

圖8 3種網(wǎng)絡訓練損失值變化曲線Fig.8 Variation curve of three network training loss values

可見,隨著訓練輪數(shù)的增加,3種網(wǎng)絡的損失函數(shù)曲線整體上均呈下降趨勢。YOLOv3算法損失值曲線有震蕩,PP-YOLOv2算法損失值在訓練22輪左右收斂,改進算法損失值在訓練32輪左右收斂,改進算法損失值相比于原始PP-YOLOv2算法來說收斂較慢,這是因為在網(wǎng)絡結(jié)構中添加了SE模塊,所以增加了計算量。最終經(jīng)過100輪迭代訓練后,YOLOv3算法損失值收斂至0.2,PP-YOLOv2算法損失值收斂至0.1,改進算法損失值收斂至0.04,改進算法相比其他2種算法的收斂值更小。綜上所述,改進算法的損失曲線收斂值最小且趨于穩(wěn)定,比其他2種算法效果更好。

在訓練期間每經(jīng)1輪就在驗證集上驗證模型效果,平均精度曲線對比如圖9所示。

圖9 3種網(wǎng)絡訓練平均精度變化曲線Fig.9 Variation curve of mAP of three network training

圖9顯示,隨著訓練輪數(shù)的增加,3種網(wǎng)絡的平均精度曲線整體上均呈上升趨勢。YOLOv3算法平均精度曲線有波動,經(jīng)過90輪訓練后模型mAP達到最高為82%。PP-YOLOv2算法平均精度曲線經(jīng)過45輪訓練后mAP穩(wěn)定在90%左右,經(jīng)66輪訓練后模型mAP達到最高為91%。改進算法平均精度曲線在30輪訓練后模型的mAP穩(wěn)定在95%左右,經(jīng)49輪訓練后模型mAP達到最高為96%。

分別使用3種模型在IC引腳焊接缺陷測試集上進行預測,性能對比如表2所示。

表2 3種模型檢測性能對比Tab.2 Comparison of detection performance of three models

表2顯示,YOLOv3模型對短路、缺腳、翹腳、少錫4種缺陷的AP差為19.4%,表明模型性能隨著缺陷復雜度增加大幅降低。PP-YOLOv2模型對4種缺陷的AP差為9.1%,表明模型對于復雜缺陷的識別能力有所提高。改進算法對4種缺陷的AP差為2.1%,各缺陷的平均檢測精度較為均衡,模型性能得到大幅提高。在閾值為0.5的情況下,改進模型的mAP達到96.6%,與YOLOv3、PP-YOLOv2相比,分別提高了14.9%, 5.1%。檢測速度上,改進模型的檢測速度遠快于YOLOv3的檢測速度,改進模型比PP-YOLOv2的檢測速度稍慢,原因是SE模塊增加了推理時間,但是其速度在IC質(zhì)檢要求范圍內(nèi)。

分別使用YOLOv3、PP-YOLOv2和改進模型對2幅圖片進行檢測,檢測結(jié)果如圖10所示。

圖10 3種模型對2張圖片檢測結(jié)果Fig.10 Detection results of three models on two images

3種模型檢測結(jié)果的統(tǒng)計情況如表3所示。

表3 3種模型對左、右圖檢測結(jié)果Tab.3 Detection results of three models on the left and right images 個數(shù)

由圖10和表3可以看出:改進模型較準確地檢測出了圖中所有的缺陷,而其他兩種模型存在漏檢和錯檢,這說明改進算法模型的識別效果更好。

6 結(jié) 論

本文提出一種基于改進PP-YOLOv2算法的IC引腳焊接缺陷檢測方法。

1) 針對IC引腳小而密集導致缺陷難以檢測的問題,本文在Resnet50-vd網(wǎng)絡基礎上,使用可變卷積層DCN,提升了感受野與實際目標缺陷形狀的匹配度。

2) 在骨干網(wǎng)絡后加入SE模塊,增加了對小目標的感知能力,使用Mish激活函數(shù)改善梯度消失的問題,穩(wěn)定了訓練過程,進而提高了缺陷檢測精度。

3) 使用k-means++聚類算法確定先驗框的大小,加快了模型收斂,提升了檢測精度和速度。

改進算法mAP達到了96.6%,與YOLOv3、PP-YOLOv2相比,mAP分別提高了14.9%、5.1%,改進算法對單幅圖片的檢測時間僅為0.151 s,遠快于YOLOv3,比PP-YOLOv2的檢測速度慢。

本研究為IC引腳焊接缺陷檢測提供了新的研究思路和方法,可為小目標和密集目標的檢測提供理論支持和參考。

猜你喜歡
損失卷積精度
少問一句,損失千金
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
胖胖損失了多少元
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于DSPIC33F微處理器的采集精度的提高
電子制作(2018年11期)2018-08-04 03:25:38
基于傅里葉域卷積表示的目標跟蹤算法
GPS/GLONASS/BDS組合PPP精度分析
一般自由碰撞的最大動能損失
改進的Goldschmidt雙精度浮點除法器
项城市| 阿荣旗| 固阳县| 龙游县| 西城区| 陆河县| 承德县| 达孜县| 扶沟县| 周至县| 西乌珠穆沁旗| 盘锦市| 耒阳市| 康乐县| 常山县| 桓台县| 巩义市| 保靖县| 宜良县| 平江县| 隆林| 绿春县| 南郑县| 鄂温| 剑川县| 孟州市| 吕梁市| 通江县| 海宁市| 锦州市| 凤凰县| 黔西| 来凤县| 商洛市| 临沭县| 千阳县| 连云港市| 思茅市| 水城县| 台南市| 大姚县|