本發(fā)明屬于圖像缺陷檢測的,具體涉及一種基于對(duì)比學(xué)習(xí)和對(duì)抗學(xué)習(xí)的工業(yè)零部件缺陷檢測方法及裝置。
背景技術(shù):
1、圖像缺陷檢測的目的是檢測出圖像中物體的瑕疵,比如在生產(chǎn)過程中的質(zhì)量檢驗(yàn)環(huán)節(jié)中識(shí)別缺陷產(chǎn)品,從而提高成品率。近年來,隨著農(nóng)業(yè)和工業(yè)發(fā)展需求的不斷增長,人們對(duì)這一領(lǐng)域的關(guān)注度也急劇上升?,F(xiàn)有的大多數(shù)方法,都試圖利用預(yù)先訓(xùn)練好的模型來提取特征,從而訓(xùn)練分類器或判別網(wǎng)絡(luò)來識(shí)別缺陷。然而,要準(zhǔn)確識(shí)別所有缺陷情況具有挑戰(zhàn)性,這主要是由于預(yù)訓(xùn)練模型是針對(duì)特定分類或分割任務(wù)訓(xùn)練得到的,與缺陷檢測圖像數(shù)據(jù)之間存在領(lǐng)域差距,導(dǎo)致凍結(jié)的預(yù)訓(xùn)練模型無法區(qū)分正常特征和異常特征。例如,語義分割與缺陷檢測是不同的任務(wù),兩者的分割原理也不同,異常檢測則是一種無監(jiān)督學(xué)習(xí)方式,偏離正常分布的數(shù)據(jù)會(huì)被視為異常數(shù)據(jù)。因此,為了讓網(wǎng)絡(luò)適應(yīng)缺陷檢測圖像,減小與缺陷檢測圖像數(shù)據(jù)之間的領(lǐng)域差距,本發(fā)明利用微調(diào)學(xué)習(xí)、對(duì)比學(xué)習(xí)、領(lǐng)域適應(yīng)等知識(shí),研究設(shè)計(jì)出了一種能夠適應(yīng)于缺陷檢測圖像數(shù)據(jù)的缺陷檢測方法,因?yàn)閿?shù)據(jù)中缺陷樣本稀少、且其異常狀況不定,因此將具體將以工業(yè)零部件圖像為例,具體介紹設(shè)計(jì)的工業(yè)零部件缺陷檢測方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于兩階段對(duì)比學(xué)習(xí)的工業(yè)零部件缺陷檢測方法及裝置,通過合成隨機(jī)異常、判別網(wǎng)絡(luò)預(yù)訓(xùn)練、負(fù)向引導(dǎo)對(duì)比學(xué)習(xí)、構(gòu)建壓縮特征內(nèi)存庫等,提高了模型對(duì)工業(yè)圖像的適應(yīng)能力,從而提高缺陷識(shí)別的準(zhǔn)確性。
2、為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
3、第一方面,本發(fā)明提供了一種基于兩階段對(duì)比學(xué)習(xí)的工業(yè)零部件缺陷檢測方法,包括下述步驟:
4、采集工業(yè)零部件的圖像數(shù)據(jù)集;所述圖像數(shù)據(jù)集包括訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集;
5、將訓(xùn)練數(shù)據(jù)集中的正常樣本圖像進(jìn)行異常數(shù)據(jù)生成,得到多樣性的合成異常樣本;
6、將所述正常樣本和合成異常樣本輸入到預(yù)先設(shè)立的缺陷檢測模型中進(jìn)行二階段的訓(xùn)練,通過第一階段的訓(xùn)練得到一個(gè)具有粗粒度異常定位能力的判別網(wǎng)絡(luò),所述判別網(wǎng)絡(luò)用于輔助特征提取網(wǎng)絡(luò)的訓(xùn)練過程;
7、將第一階段訓(xùn)練后的數(shù)據(jù)進(jìn)行第二階段的訓(xùn)練,使用對(duì)比學(xué)習(xí)框架來完成特征提取網(wǎng)絡(luò)的適應(yīng)性微調(diào),學(xué)習(xí)正常樣本之間的相似性以及正常樣本與合成異常樣本之間的差異性;訓(xùn)練完成后,得到一個(gè)經(jīng)過兩階段訓(xùn)練過程微調(diào)的特征提取網(wǎng)絡(luò)f;
8、構(gòu)建一個(gè)只含有正常特征的壓縮特征內(nèi)存庫,基于壓縮特征內(nèi)存庫和訓(xùn)練好的缺陷檢測模型對(duì)待檢測的工業(yè)零部件進(jìn)行缺陷檢測。
9、作為優(yōu)選的技術(shù)方案,所述采集工業(yè)零部件的圖像數(shù)據(jù)集,具體為:
10、使用工業(yè)相機(jī)來完成工業(yè)零部件的圖像數(shù)據(jù)采集工作,并對(duì)采集到的圖像數(shù)據(jù)集經(jīng)過歸一化、亮度均勻化處理。
11、作為優(yōu)選的技術(shù)方案,所述將訓(xùn)練數(shù)據(jù)集中的正常樣本圖像進(jìn)行異常數(shù)據(jù)生成,得到多樣性的合成異常樣本,具體為:
12、使用隨機(jī)種子seed,生成二維的柏林噪聲掩碼p;
13、采用額外的紋理圖像數(shù)據(jù)集,利用隨機(jī)種子seed選取一張圖像,作為異常區(qū)域的數(shù)據(jù)源a;
14、從訓(xùn)練數(shù)據(jù)集ttrain中隨機(jī)選取出一張正常樣本圖像i∈ttrain,對(duì)正常樣本圖像隨機(jī)應(yīng)用小于等于設(shè)定角度的輕微旋轉(zhuǎn)和直角度數(shù)旋轉(zhuǎn),得到經(jīng)過增強(qiáng)的正常樣本圖像ir;
15、依照生成的柏林噪聲掩碼,將異常數(shù)據(jù)源圖像剪切粘貼到經(jīng)過數(shù)據(jù)增強(qiáng)的正常樣本圖像,由此得到合成的異常圖像ig以及其對(duì)應(yīng)的像素級(jí)別的標(biāo)簽yg。
16、作為優(yōu)選的技術(shù)方案,所述通過第一階段訓(xùn)練,得到一個(gè)具有粗粒度異常定位能力的判別網(wǎng)絡(luò),具體為:
17、使用圖像異常生成模塊g,構(gòu)建合成異常數(shù)據(jù)集tg:
18、
19、其中,i={1,…,n}表示訓(xùn)練集的圖像的索引;
20、使用預(yù)先訓(xùn)練好的特征提取網(wǎng)絡(luò),來提取圖像的特征,同時(shí)構(gòu)建了一個(gè)與特征提取網(wǎng)絡(luò)對(duì)稱的網(wǎng)絡(luò)作為判別網(wǎng)絡(luò),當(dāng)圖像進(jìn)入特征提取網(wǎng)絡(luò)和判別網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)的每一層都能得到圖像的特征圖,且特征提取網(wǎng)絡(luò)得到的每一層特征圖都與判別網(wǎng)絡(luò)得到的每一層特征圖的尺寸一一對(duì)應(yīng);在判別網(wǎng)絡(luò)中,每個(gè)層的特征圖先經(jīng)過上采樣后,通過跳躍連接來完成特征融合,與特征提取網(wǎng)絡(luò)中的對(duì)應(yīng)尺寸的特征圖進(jìn)行拼接后經(jīng)過卷積后得到特征圖的局部上下文信息,從而在不同層的特征上捕獲圖像的細(xì)節(jié)和語義信息;在訓(xùn)練過程中,凍結(jié)特征提取網(wǎng)絡(luò)的權(quán)重,只使用合成異常的圖像來訓(xùn)練判別網(wǎng)絡(luò);
21、使用合成異常圖像ig和對(duì)應(yīng)的像素級(jí)別的標(biāo)簽yg來訓(xùn)練判別網(wǎng)絡(luò),以獲得粗粒度異常定位能力;當(dāng)合成異常圖像ig輸入到網(wǎng)絡(luò)后,經(jīng)過特征提取網(wǎng)絡(luò)和判別網(wǎng)絡(luò)后輸出一個(gè)預(yù)測特征圖使用輸出和標(biāo)簽來第一計(jì)算損失函數(shù),以此更新判別網(wǎng)絡(luò)的可學(xué)習(xí)參數(shù);為了緩解正常樣本和異常樣本的不平衡程度,使用焦點(diǎn)損失作為判別網(wǎng)絡(luò)訓(xùn)練的第一損失函數(shù)ldis,具體為:
22、
23、其中,αt是與類別t相關(guān)的縮放因子,γ是可調(diào)參數(shù),pt對(duì)應(yīng)于預(yù)測的像素點(diǎn)分類,當(dāng)pt=1表示異常類別,pt=0表示正常類別。
24、作為優(yōu)選的技術(shù)方案,所述將第一階段訓(xùn)練后的數(shù)據(jù)進(jìn)行第二階段的訓(xùn)練,使用對(duì)比學(xué)習(xí)框架來完成特征提取網(wǎng)絡(luò)的適應(yīng)性微調(diào),學(xué)習(xí)正常樣本之間的相似性以及正常樣本與合成異常樣本之間的差異性,具體為:
25、對(duì)正常樣本進(jìn)行數(shù)據(jù)增強(qiáng),得到兩個(gè)增強(qiáng)視圖v1和v2;
26、構(gòu)建一個(gè)含有雙分支的對(duì)比學(xué)習(xí)網(wǎng)絡(luò)c,其中一個(gè)分支只含有一個(gè)投影頭,另一個(gè)分支含有一個(gè)投影頭和一個(gè)預(yù)測頭,且兩個(gè)分支共用一個(gè)特征提取網(wǎng)絡(luò);將兩個(gè)增強(qiáng)視圖v1和v2分別送入兩個(gè)分支中,提取出最后兩層的特征后進(jìn)行拼接融合,得到投影頭輸出p1和預(yù)測頭輸出z2,對(duì)兩個(gè)輸出計(jì)算單向余弦相似度損失函數(shù)值:
27、
28、其中,|·|2表示兩個(gè)分支的輸出特征的歐幾里得距離;同理,得到投影頭輸出p2和預(yù)測頭輸出z1,計(jì)算得到計(jì)算平均雙向相似度來保持平衡:
29、
30、其中,對(duì)z1和z2使用“停止梯度”操作sg,來防止對(duì)比學(xué)習(xí)過程中出現(xiàn)的崩潰問題;當(dāng)為每個(gè)正常樣本生成m個(gè)不同的數(shù)據(jù)增強(qiáng)視圖時(shí),則對(duì)稱相似度損失函數(shù)如下:
31、
32、與此同時(shí),合成異常樣本經(jīng)過特征提取網(wǎng)絡(luò)和凍結(jié)的判別網(wǎng)絡(luò)后,輸出得到預(yù)測特征圖由此來計(jì)算焦點(diǎn)損失作為負(fù)樣本引導(dǎo)的損失函數(shù):
33、
34、第二階段的總體損失函數(shù)為:
35、lncl=λ·lsym+(1-λ)·lneg
36、其中,λ是平衡兩個(gè)損失函數(shù)的超參數(shù)。
37、作為優(yōu)選的技術(shù)方案,所述對(duì)正常樣本進(jìn)行數(shù)據(jù)增強(qiáng),得到兩個(gè)增強(qiáng)視圖v1和v2,具體為:
38、經(jīng)過正樣本增強(qiáng)模塊s,生成兩個(gè)不同的數(shù)據(jù)增強(qiáng)視圖v1和v2,在正樣本增強(qiáng)模塊s
39、中,首先對(duì)圖像進(jìn)行隨機(jī)位置裁剪,獲得圖像的不同位置的圖像塊;其次,在這些圖像塊上進(jìn)行高斯濾波,讓特定的特征呈現(xiàn)出不同的狀態(tài);最后,對(duì)這些圖像塊隨機(jī)水平翻轉(zhuǎn),來減少模型對(duì)圖像方向的依賴,減輕方向性偏差。
40、作為優(yōu)選的技術(shù)方案,所述構(gòu)建一個(gè)只含有正常特征的壓縮特征內(nèi)存庫,具體為:
41、在推理階段,利用微調(diào)后的特征提取網(wǎng)絡(luò)f作為主干網(wǎng)絡(luò),輸入來自測試數(shù)據(jù)集ttest的測試圖像it∈ttest,從第2層和第3層中提取出適應(yīng)性特征,通過拼接融合起來,得到圖像的融合特征,以此同時(shí)獲取淺層紋理信息和深層語義內(nèi)容;然后,這些融合特征用于構(gòu)建原始記憶庫mo;
42、使用貪婪核心集采樣算法來識(shí)別最具代表性的特征,用于構(gòu)建壓縮后的特征內(nèi)存庫m*;
43、得到壓縮的特征內(nèi)存庫m*后,在其中采樣出離圖像特征最近的特征子集c*,計(jì)算圖像特征和特征子集中的最近的特征之間的最大的歐幾里得距離,來獲得測試圖像的像素級(jí)別的異常分?jǐn)?shù)st;由于像素級(jí)別異常分?jǐn)?shù)是一個(gè)特征圖,因此由像素級(jí)別異常分?jǐn)?shù)中的最大值作為圖像級(jí)別的異常分?jǐn)?shù)。
44、第二方面,本發(fā)明提供了一種基于兩階段對(duì)比學(xué)習(xí)的工業(yè)零部件缺陷檢測系統(tǒng),應(yīng)用于所述的基于兩階段對(duì)比學(xué)習(xí)的工業(yè)零部件缺陷檢測方法,包括圖像采集模塊、圖像異常生成模塊、判別網(wǎng)絡(luò)預(yù)訓(xùn)練模塊、負(fù)向引導(dǎo)對(duì)比學(xué)習(xí)模塊、壓縮特征內(nèi)存庫構(gòu)建模塊;
45、所述圖像采集模塊,用于采集工業(yè)零部件的圖像數(shù)據(jù)集;所述圖像數(shù)據(jù)集包括訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集;
46、所述圖像異常生成模塊,用于將訓(xùn)練數(shù)據(jù)集中的正常樣本圖像進(jìn)行異常數(shù)據(jù)生成,得到多樣性的合成異常樣本;
47、所述判別網(wǎng)絡(luò)預(yù)訓(xùn)練模塊,用于將所述正常樣本和合成異常樣本輸入到預(yù)先設(shè)立的缺陷檢測模型中進(jìn)行二階段的訓(xùn)練,通過第一階段的訓(xùn)練得到一個(gè)具有粗粒度異常定位能力的判別網(wǎng)絡(luò),所述判別網(wǎng)絡(luò)用于輔助特征提取網(wǎng)絡(luò)的訓(xùn)練過程;
48、所述負(fù)向引導(dǎo)對(duì)比學(xué)習(xí)模塊,用于將第一階段訓(xùn)練后的數(shù)據(jù)進(jìn)行第二階段的訓(xùn)練,使用對(duì)比學(xué)習(xí)框架來完成特征提取網(wǎng)絡(luò)的適應(yīng)性微調(diào),學(xué)習(xí)正常樣本之間的相似性以及正常樣本與合成異常樣本之間的差異性;
49、所述壓縮特征內(nèi)存庫構(gòu)建模塊,用于構(gòu)建一個(gè)只含有正常特征的壓縮特征內(nèi)存庫,基于壓縮特征內(nèi)存庫和訓(xùn)練好的缺陷檢測模型對(duì)待檢測的工業(yè)零部件進(jìn)行缺陷檢測。
50、第三方面,本發(fā)明提供了一種電子設(shè)備,所述電子設(shè)備包括:
51、至少一個(gè)處理器;以及,
52、與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,
53、所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行所述的基于兩階段對(duì)比學(xué)習(xí)的工業(yè)零部件缺陷檢測方法。
54、第四方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有程序,所述程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)所述的基于兩階段對(duì)比學(xué)習(xí)的工業(yè)零部件缺陷檢測方法。
55、本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
56、1、本發(fā)明設(shè)計(jì)了圖像缺陷合成模塊,采樣了隨機(jī)性高的柏林噪聲來生成缺陷樣本,合成異常樣本的多樣性有助于正樣本的潛在空間更加緊湊,從而讓正常樣本和異常樣本存在潛在邊界。
57、2、本發(fā)明設(shè)計(jì)了用于微調(diào)特征提取網(wǎng)絡(luò)的兩階段訓(xùn)練框架,包含判別網(wǎng)絡(luò)預(yù)訓(xùn)練框架和負(fù)向引導(dǎo)對(duì)比學(xué)習(xí)框架。前者作為第一階段訓(xùn)練過程,旨在得到一個(gè)具有粗粒度異常定位能力的判別網(wǎng)絡(luò),用于輔助特征提取網(wǎng)絡(luò)的訓(xùn)練過程;后者將預(yù)處理后的正常和異常圖像數(shù)據(jù)輸入到缺陷檢測模型中進(jìn)行第二階段的訓(xùn)練,使用對(duì)比學(xué)習(xí)框架來完成特征提取網(wǎng)絡(luò)的適應(yīng)性微調(diào),學(xué)習(xí)正常樣本之間的相似性以及正常樣本與合成異常樣本之間的差異性。最終,可以得到適應(yīng)于目標(biāo)工業(yè)數(shù)據(jù)集的特征提取網(wǎng)絡(luò),減小與目標(biāo)工業(yè)數(shù)據(jù)集的領(lǐng)域差距。
58、3、本發(fā)明設(shè)計(jì)了一個(gè)壓縮特征內(nèi)存庫構(gòu)建框架,利用微調(diào)后的特征提取網(wǎng)絡(luò),通過貪婪核心集采樣算法,構(gòu)建一個(gè)只含有正常特征的壓縮特征內(nèi)存庫,最終用于異常定位的推理。