本發(fā)明及pcba檢測(cè),具體為一種基于圖像識(shí)別的pcba表面缺陷檢測(cè)方法及系統(tǒng)。
背景技術(shù):
1、印制電路板(printed?circuit?board,pcb)作為電子元器件安裝和電路電氣連接的載體,是各類(lèi)型電子產(chǎn)品的重要組成部分,其生產(chǎn)制造的發(fā)展水平對(duì)計(jì)算機(jī)、消費(fèi)電子、通信設(shè)備、汽車(chē)電子和工業(yè)裝備等行業(yè)的技術(shù)進(jìn)步發(fā)揮了基礎(chǔ)性作用。在pcb生產(chǎn)制造中,pcb組裝(printed?circuit?board?assembly,pcba)的質(zhì)量控制對(duì)于電子產(chǎn)品最終質(zhì)量表現(xiàn)有著重要影響。隨著當(dāng)今?pcba加快朝著微型化、輕薄化和密集化方向發(fā)展,人工目視檢測(cè)和在線電氣檢測(cè)由于視線和電氣接觸受限,已難以滿(mǎn)足電子電路制造業(yè)對(duì)于pcba質(zhì)量控制的需求。
2、pcba是電子電路制造中將電子元器件通過(guò)表面工藝組裝在pcb裸板上這一制程的縮寫(xiě),一般也可指代已完成元件組裝的pcb。目前的主流表面工藝包括雙列直插封裝(dualinline?package,dip)和表面貼裝技術(shù)(surface?mount?technology,smt),由于smt在組裝密度、抗震能力、高頻特性和生產(chǎn)效率等方面的優(yōu)勢(shì),已成為電子組裝業(yè)中最流行的技術(shù),推動(dòng)和促進(jìn)了電子設(shè)備的片式化、小型化和輕薄化。smt是借助貼片機(jī)和焊料將各種表面安裝元件(surface?mount?device,smd)貼裝在pcb基板表面,并經(jīng)過(guò)焊接、清洗和測(cè)試實(shí)現(xiàn)組裝的工藝過(guò)程。smt通常使用回流焊接工藝,受焊料和助焊劑質(zhì)量、焊接溫度、基板氧化狀況、貼片機(jī)工作誤差等因素影響,可能在貼片過(guò)程中出現(xiàn)焊點(diǎn)少錫、虛焊、助焊劑殘留、錫珠、元件歪斜、缺件等缺陷。
3、目前,在pcba表面工藝缺陷檢測(cè)的場(chǎng)景中,存在以下的限制條件:
4、受工控機(jī)安裝空間、供電功率和散熱等因素限制,難以使用高性能的gpu,計(jì)算資源有限;
5、pcba上元件種類(lèi)多樣,各類(lèi)元件外形特征差異較大,如果通過(guò)一個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)多種元件的分類(lèi),不但網(wǎng)絡(luò)學(xué)習(xí)難度過(guò)大,且不符合功能模塊化、組合化的可擴(kuò)展性設(shè)計(jì)理念。因而考慮對(duì)每種元件訓(xùn)練一個(gè)分類(lèi)網(wǎng)絡(luò),在實(shí)際使用時(shí)系統(tǒng)根據(jù)元件類(lèi)型自動(dòng)調(diào)用對(duì)應(yīng)的模型進(jìn)行處理,這就對(duì)網(wǎng)絡(luò)模型的參數(shù)規(guī)模和加載速度提出了較高要求。
6、很多算法已經(jīng)研究了基于傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的pcb裸板表面缺陷檢測(cè)方法。一些方法包括提取pcb缺陷區(qū)域相關(guān)的邊界像素,將梯度方向信息作為特征向量進(jìn)行缺陷分類(lèi)與識(shí)別。這種方法能夠識(shí)別pcb表面劃傷、毛刺等缺陷,但在缺陷與背景環(huán)境對(duì)比度較低時(shí)存在難以檢測(cè)的問(wèn)題。另一種方法利用形態(tài)學(xué)來(lái)提取pcb缺陷區(qū)域進(jìn)行缺陷分類(lèi),降低了缺陷識(shí)別的誤判率。然而,在基于形狀特征提取缺陷時(shí),對(duì)形狀差異較大的同類(lèi)缺陷可能無(wú)法很好地識(shí)別。
7、一些研究者提出了改進(jìn)模板匹配的pcb缺陷多級(jí)檢測(cè)算法,以提高pcb缺陷檢測(cè)的準(zhǔn)確性。但是,這也帶來(lái)了在缺陷與模板差異較大時(shí)檢測(cè)準(zhǔn)確度降低的問(wèn)題。還有基于加速魯棒特征和隨機(jī)森林的機(jī)器學(xué)習(xí)方法,可以在沒(méi)有正常圖像的情況下對(duì)pcb進(jìn)行缺陷檢測(cè),但無(wú)法處理不同尺度的缺陷和復(fù)雜多變的外部光照環(huán)境。另外,基于殘差學(xué)習(xí)的思想設(shè)計(jì)的方法利用圖像下采樣方法對(duì)圖像感受野進(jìn)行擴(kuò)大,提高去噪效率,解決了pcb圖像檢測(cè)清晰度不夠的問(wèn)題。
8、將深度學(xué)習(xí)引入到pcb缺陷檢測(cè)中也是目前pcb缺陷檢一個(gè)主流方向。例如,現(xiàn)有技術(shù)提出一種雙流卷積神經(jīng)網(wǎng)絡(luò),通過(guò)使用兩個(gè)焊料區(qū)域來(lái)檢查表面貼裝技術(shù)組裝缺陷,但模型的復(fù)雜度和計(jì)算量也大大增加。還有一些研究者提出了構(gòu)建一個(gè)基于特征金字塔網(wǎng)絡(luò)的增強(qiáng)特征提取網(wǎng)絡(luò),用于檢測(cè)?pcb缺陷,但檢測(cè)精度受到一定限制。雖然深度學(xué)習(xí)已應(yīng)用于pcb缺陷檢測(cè),但仍需進(jìn)一步提高識(shí)別精度和識(shí)別速度。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問(wèn)題是提供一種基于圖像識(shí)別的pcba表面缺陷檢測(cè)方法及系統(tǒng),以解決背景技術(shù)中所述現(xiàn)有技術(shù)的不足。
2、為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施例提供如下技術(shù)方案:一種基于圖像識(shí)別的pcba表面缺陷檢測(cè)方法,包括以下步驟:
3、收集并構(gòu)建不限于焊接缺陷、元器件缺陷、pcb板缺陷、其他缺陷的多類(lèi)pcba整體缺陷圖像數(shù)據(jù)集,并進(jìn)行預(yù)處理;所述預(yù)處理包括隨機(jī)旋轉(zhuǎn)、裁剪、歸一化;
4、構(gòu)建預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,對(duì)預(yù)處理后的pcba整體缺陷圖像數(shù)據(jù)集進(jìn)行分類(lèi);
5、針對(duì)整體缺陷分類(lèi)結(jié)果,構(gòu)建基于yolox網(wǎng)絡(luò)的局部目標(biāo)識(shí)別方法;
6、基于局部目標(biāo)識(shí)別方法對(duì)pcba表面進(jìn)行局部缺陷檢測(cè)。
7、進(jìn)一步的,所述構(gòu)建預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,對(duì)預(yù)處理后的pcba整體缺陷圖像數(shù)據(jù)集進(jìn)行分類(lèi),具體為:
8、根據(jù)imagenet數(shù)據(jù)集訓(xùn)練基于mobilenetv2、efficientnet-b0的分類(lèi)網(wǎng)絡(luò);
9、使用訓(xùn)練好的mobilenetv2和efficientnet-b0網(wǎng)絡(luò)作為預(yù)訓(xùn)練模型,并對(duì)預(yù)訓(xùn)練模型遷移訓(xùn)練,把最后的分類(lèi)層設(shè)置為4類(lèi),然后設(shè)計(jì)3個(gè)輕量級(jí)cnn分支,將efficientnet-b0作為主分支對(duì)pcba圖像提取全局特征信息,用兩個(gè)mobilenetv2分支分別提取局部區(qū)域的缺陷特征和非缺陷特征;
10、利用concatenate函數(shù)對(duì)這些區(qū)域進(jìn)行特征融合之后,連接全局平均池化層,再添加dropout層;
11、使用設(shè)置為4類(lèi)的softmax分類(lèi)器,從而完成pcba圖像缺陷分類(lèi)。
12、進(jìn)一步的,還包括對(duì)預(yù)訓(xùn)練模型引入注意力機(jī)制,具體為在mobilenetv2的bottleneck層之前和之后分別添加一個(gè)cbam模塊構(gòu)成?attention-mobilenetv2網(wǎng)絡(luò)。
13、進(jìn)一步的,所述構(gòu)建基于yolox網(wǎng)絡(luò)的局部目標(biāo)識(shí)別方法,具體為:
14、yolox網(wǎng)絡(luò)包括輸入端、主干特征提取網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和預(yù)測(cè)端;
15、在輸入端使用不限于旋轉(zhuǎn)、縮放、翻轉(zhuǎn)、裁剪的方法對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng);
16、主干特征提取網(wǎng)絡(luò)使用sdconv進(jìn)行替換,負(fù)責(zé)圖像的特征提??;包括多個(gè)bconv卷積層、e‐elan卷積層、mpconv卷積層和sppcspc融合層;其中,bconv卷積層提取不同尺度的圖像特征,e-elan卷積層通過(guò)引導(dǎo)不同特征組的計(jì)算塊學(xué)習(xí)更多樣化的特征,mpconv卷積層融合正常bconv卷積處理的特征信息與maxpool擴(kuò)張感受野的特征信息,sppcspc融合層解決了圖像失真和重復(fù)特征提取的問(wèn)題;
17、將頸部網(wǎng)絡(luò)區(qū)域e-elan卷積層和mpconv卷積層中的bconv替換為sdconv;
18、在預(yù)測(cè)端通過(guò)repconv卷積層對(duì)pafpn輸出的大、中、小三個(gè)不同尺度的特征進(jìn)行圖像通道數(shù)調(diào)整;
19、加入空間金字塔池化模塊sppcspc中引入注意力機(jī)制;
20、將mish激活函數(shù)更換為swish激活函數(shù)。
21、進(jìn)一步的,所述基于局部目標(biāo)識(shí)別方法對(duì)pcba表面進(jìn)行局部缺陷檢測(cè),具體為:
22、完成pcba圖像缺陷分類(lèi)后,將存在整體缺陷的圖像進(jìn)而二次預(yù)處理形成檢測(cè)數(shù)據(jù)集,并將檢測(cè)數(shù)據(jù)集劃分檢測(cè)測(cè)試集和檢測(cè)訓(xùn)練集;
23、將所述檢測(cè)訓(xùn)練集和二次預(yù)處理后形成的標(biāo)注信息輸入到y(tǒng)olox網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,yolox網(wǎng)絡(luò)通過(guò)前向傳播計(jì)算梯度,采用隨機(jī)梯度下降算法根據(jù)梯度更新yolox網(wǎng)絡(luò)模型的權(quán)值參數(shù);
24、根據(jù)yolox網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果和標(biāo)注計(jì)算損失函數(shù),直到達(dá)到指定的迭代次數(shù)或收斂條件,形成基礎(chǔ)yolox網(wǎng)絡(luò)模型;其中損失函數(shù)包含置信度損失、分類(lèi)概率損失和邊界框回歸損失三部分;
25、對(duì)基礎(chǔ)yolox網(wǎng)絡(luò)模型執(zhí)行剪枝操作,生成剪枝后的改進(jìn)yolox網(wǎng)絡(luò)模型,在數(shù)據(jù)集上訓(xùn)練生成剪枝后的改進(jìn)yolox網(wǎng)絡(luò)模型,重新調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)中的通道或?qū)訑?shù);
26、使用剪枝后大型網(wǎng)絡(luò)中保留的參數(shù)來(lái)初始化剪枝后的網(wǎng)絡(luò),繼續(xù)在訓(xùn)練集上進(jìn)行幾輪微調(diào)進(jìn)一步調(diào)整模型參數(shù),在微調(diào)過(guò)程中對(duì)卷積層內(nèi)核的權(quán)重進(jìn)行排序,移除權(quán)重值排序最低的卷積核以及其對(duì)應(yīng)的特征映射圖,并清除相關(guān)的連接;在原來(lái)剪枝掉的卷積層中,重新生成新的卷積核并進(jìn)行初始化權(quán)重賦值,用剩下的權(quán)重值對(duì)新的卷積核進(jìn)行賦值并訓(xùn)練,得到最終剪枝后的yolox網(wǎng)絡(luò)模型;
27、將檢測(cè)測(cè)試集輸入到剪枝后的yolox網(wǎng)絡(luò)模型進(jìn)行網(wǎng)絡(luò)測(cè)試,檢測(cè)分類(lèi)后的圖像缺陷情況。
28、進(jìn)一步的,所述二次預(yù)處理包括:
29、每張圖片都經(jīng)過(guò)自動(dòng)定向,并去除了exif方向信息;
30、進(jìn)行數(shù)據(jù)一致性處理,將圖像調(diào)整至統(tǒng)一的640x640分辨率,通過(guò)拉伸的方式來(lái)調(diào)整圖像大小;
31、通過(guò)自適應(yīng)均衡化增強(qiáng)圖像的對(duì)比度;
32、生成yolo格式的標(biāo)簽,使用labelimg對(duì)數(shù)據(jù)集的圖像在相應(yīng)整體缺陷分類(lèi)下進(jìn)行局部缺陷標(biāo)注,將圖片數(shù)據(jù)集標(biāo)注后的xml文件中的標(biāo)注信息讀取出來(lái)并寫(xiě)入txt文件,運(yùn)行后在label文件夾中出現(xiàn)所有圖片數(shù)據(jù)集的標(biāo)注信息。
33、進(jìn)一步的,所述對(duì)基礎(chǔ)yolox網(wǎng)絡(luò)模型執(zhí)行剪枝操作,具體包括:
34、根據(jù)網(wǎng)絡(luò)層的重要性指標(biāo),確定要剪枝的層;對(duì)于每個(gè)網(wǎng)絡(luò)層,計(jì)算一個(gè)網(wǎng)絡(luò)層在模型上前向傳播的敏感程度,在給定輸入的情況下,計(jì)算輸出的變化量對(duì)該層權(quán)重的偏導(dǎo)數(shù),從而得到該層對(duì)輸出的敏感度,敏感度越大,則該層對(duì)輸出的影響越大,剪枝時(shí)應(yīng)該優(yōu)先考慮;
35、對(duì)要剪枝的網(wǎng)絡(luò)層分別進(jìn)行權(quán)重排序;
36、根據(jù)每個(gè)剪枝層中權(quán)重排序結(jié)果和剪枝率,確定閾值;
37、剔除網(wǎng)絡(luò)中低于閾值的權(quán)重,保留高于閾值的權(quán)重;
38、保存新的模型參數(shù)與權(quán)重,生成剪枝后的改進(jìn)yolox網(wǎng)絡(luò)模型。
39、進(jìn)一步的,所述yolox網(wǎng)絡(luò)在頸部網(wǎng)絡(luò)中,加入注意力機(jī)制模型cam,具體為:輸入為主干網(wǎng)絡(luò)和spp結(jié)構(gòu)輸出的3個(gè)特征圖,cam模塊在拼接5次的3x3卷積層中,3張?zhí)卣鲌D經(jīng)過(guò)都要經(jīng)過(guò)同1個(gè)1x1卷積,輸出pcba缺陷特征圖f1、f2和f3,特征圖f2和f3進(jìn)行矩陣相乘操作,獲得特征圖f4,繼續(xù)經(jīng)過(guò)softmax運(yùn)算,得到通道注意力特征圖f5,然后f5與只有經(jīng)過(guò)1x1卷積運(yùn)算的f1進(jìn)行矩陣相乘得到特征圖f6,最后將f6與原始圖像進(jìn)行加權(quán)求和計(jì)算,然后通過(guò)尺度變換,放大pcba表面細(xì)節(jié)信息,獲得更明確的特征權(quán)重。
40、進(jìn)一步的,還包括在spp結(jié)構(gòu)拼接的33的卷積中,引入深度可分離卷積,其中網(wǎng)絡(luò)的輸入為(m),輸出(n),為其中網(wǎng)絡(luò)輸入大小為,m為卷積核的數(shù)量,輸入pcba板特征圖經(jīng)過(guò)卷積,卷積參數(shù)量為mn,卷積計(jì)算量為mn,應(yīng)用深度可分離卷積同樣大小的輸入和輸出,得到參數(shù)量為:m+mn,將卷積表示為深度可分離卷積,減少的計(jì)算為:
41、=+。
42、本發(fā)明還提出基于圖像識(shí)別的pcba表面缺陷檢測(cè)系統(tǒng),包括:
43、數(shù)據(jù)采集模塊,用于收集并構(gòu)建不限于焊接缺陷、元器件缺陷、pcb板缺陷、其他缺陷的多類(lèi)pcba整體缺陷圖像數(shù)據(jù)集,并進(jìn)行預(yù)處理;所述預(yù)處理包括隨機(jī)旋轉(zhuǎn)、裁剪、歸一化;
44、整體缺陷分類(lèi)模塊,構(gòu)建預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,對(duì)預(yù)處理后的pcba整體缺陷圖像數(shù)據(jù)集進(jìn)行分類(lèi);
45、局部識(shí)別構(gòu)建模塊,用于針對(duì)整體缺陷分類(lèi)結(jié)果,構(gòu)建基于yolox網(wǎng)絡(luò)的局部目標(biāo)識(shí)別方法;
46、局部缺陷檢測(cè)模塊,用于基于局部目標(biāo)識(shí)別方法對(duì)pcba表面進(jìn)行局部缺陷檢測(cè)。
47、本發(fā)明的上述技術(shù)方案的有益效果如下:
48、1、對(duì)預(yù)處理后的pcba整體缺陷圖像數(shù)據(jù)集進(jìn)行分類(lèi)后,再進(jìn)行局部缺陷的檢測(cè),在圖像訓(xùn)練樣本上進(jìn)行梳理,解決了因?yàn)楝F(xiàn)實(shí)中pcba缺陷類(lèi)型較多,訓(xùn)練樣本過(guò)大問(wèn)題,減少模型訓(xùn)練時(shí)間,進(jìn)而提高模型的識(shí)別準(zhǔn)確率和泛化能力。在整體缺陷圖像分類(lèi)中,采用mobilenetv2和efficientnet-b0模型構(gòu)建預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,二者都具有輕量級(jí)網(wǎng)絡(luò)結(jié)構(gòu),模型大小與參數(shù)數(shù)量都很小,且基于imagenet遷移學(xué)習(xí)的輕量級(jí)cnn提取特征能力強(qiáng)大,?可以更好地挖掘數(shù)據(jù)特征,分類(lèi)準(zhǔn)確率高。另外,在mobilenetv2模型中引入注意力機(jī)制的cbam模塊,可以明顯提升網(wǎng)絡(luò)的特征學(xué)習(xí)能力,有助于網(wǎng)絡(luò)在應(yīng)對(duì)豐富的pcba產(chǎn)品型號(hào)和多樣的元件規(guī)格時(shí)分類(lèi)性能的穩(wěn)定。
49、2、在構(gòu)建基于yolox網(wǎng)絡(luò)的局部目標(biāo)識(shí)別方法時(shí),對(duì)yolox網(wǎng)絡(luò)的輸入端、主干特征提取網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)進(jìn)行優(yōu)化,其中輸入端進(jìn)行數(shù)據(jù)增強(qiáng),滿(mǎn)足主干網(wǎng)絡(luò)的訓(xùn)練要求。主干特征提取網(wǎng)絡(luò)使用sdconv進(jìn)行替換,由于sdconv可以減輕模型的負(fù)擔(dān),提高檢測(cè)精度,同時(shí)為了加快預(yù)測(cè)的計(jì)算速度。頸部網(wǎng)絡(luò)的改進(jìn)結(jié)構(gòu)在提高檢測(cè)精度的同時(shí),降低了計(jì)算復(fù)雜度,適應(yīng)了pcb缺陷檢測(cè)任務(wù)的特點(diǎn)。加入空間金字塔池化模塊sppcspc中引入注意力機(jī)制,通過(guò)結(jié)構(gòu)簡(jiǎn)單、計(jì)算成本低的acmix注意力模塊,增強(qiáng)網(wǎng)絡(luò)對(duì)于不同尺度目標(biāo)的注意力,從而顯著提高模型的準(zhǔn)確性。使用了mish作為激活函數(shù),替換為更輕量的激活函數(shù)swish,可以減小模型的計(jì)算開(kāi)銷(xiāo)。
50、3、yolox網(wǎng)絡(luò)在頸部網(wǎng)絡(luò)中,加入注意力機(jī)制模型cam,通道注意力模塊可以對(duì)pcba表面特征進(jìn)行合理的權(quán)重分配,由于pcba表面缺陷圖像中,不同類(lèi)型缺陷之間有相似性,同種類(lèi)型還有不同的形態(tài),會(huì)對(duì)缺陷檢測(cè)過(guò)程有影響,添加通道注意力模塊后,給有效的特征值分配更高的權(quán)重,提高特征融合能力。同時(shí),為了避免增加注意力機(jī)制帶來(lái)網(wǎng)絡(luò)的參數(shù)量和計(jì)算量的增加,從而影響檢測(cè)性能,在spp結(jié)構(gòu)拼接三次的3x3的卷積中,引入了深度可分離卷積。
51、4、在基于局部目標(biāo)識(shí)別方法對(duì)pcba表面進(jìn)行局部缺陷檢測(cè)時(shí),首先對(duì)分類(lèi)的后整體缺陷圖像進(jìn)行二次預(yù)處理,包括圖像一致性處理、自適應(yīng)均衡化增強(qiáng),以提升模型對(duì)缺陷檢測(cè)的效果。同時(shí),對(duì)數(shù)據(jù)集的圖像在相應(yīng)整體缺陷分類(lèi)下進(jìn)行局部缺陷標(biāo)注,將圖片數(shù)據(jù)集標(biāo)注提升了模型分類(lèi)的準(zhǔn)確性和分類(lèi)能力,有助于訓(xùn)練階段的損失函數(shù)計(jì)算以及模型評(píng)估階段的性能指標(biāo)計(jì)算。
52、5、在基于局部目標(biāo)識(shí)別方法對(duì)pcba表面進(jìn)行局部缺陷檢測(cè)時(shí),采用剪枝算法對(duì)網(wǎng)絡(luò)模型進(jìn)行輕量化處理,通過(guò)精準(zhǔn)識(shí)別并剔除對(duì)性能貢獻(xiàn)較小的參數(shù)或連接,有效減少模型參數(shù)數(shù)量和計(jì)算量,精簡(jiǎn)模型并提升運(yùn)算速度。
53、綜上,本發(fā)明綜合應(yīng)用了整體分類(lèi)加局部檢測(cè)的策略減輕模型的負(fù)擔(dān),提升檢測(cè)精度、速度。引入注意力機(jī)制提高模型的性能和泛化能力。對(duì)圖像數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)、一致性處理、分類(lèi)標(biāo)注等,提升模型對(duì)缺陷檢測(cè)的效果。對(duì)網(wǎng)絡(luò)模型采取結(jié)構(gòu)改進(jìn)、損失函數(shù)改進(jìn)、剪枝輕量化多種優(yōu)化策略,有效地提升圖像目標(biāo)檢測(cè)性能。