本發(fā)明屬于圖像異常檢測領(lǐng)域,具體涉及基于patch聚合和判別的自監(jiān)督圖像異常檢測方法。
背景技術(shù):
1、圖像異常檢測是計算機(jī)視覺領(lǐng)域中的任務(wù)之一,其目的是從圖像數(shù)據(jù)中識別出異常樣本并定位異常區(qū)域。近些年來,深度學(xué)習(xí)被大量應(yīng)用于解決計算機(jī)視覺領(lǐng)域中的問題,很多專家與學(xué)者也將深度學(xué)習(xí)應(yīng)用于解決圖像異常檢測問題?;谏疃葘W(xué)習(xí)的圖像異常檢測方法大致可以分為監(jiān)督學(xué)習(xí)方法與無監(jiān)督學(xué)習(xí)方法。
2、監(jiān)督學(xué)習(xí)方法利用已經(jīng)標(biāo)記了異常區(qū)域的異常樣本進(jìn)行訓(xùn)練,直接使用計算機(jī)視覺任務(wù)中的目標(biāo)檢測、語義分割方法對異常區(qū)域進(jìn)行定位與分割,這些方法的優(yōu)點是在已知異常的條件下的準(zhǔn)確度和推理速度都較為優(yōu)秀,但在實際的工業(yè)生產(chǎn)中次品率通常極低,所以異常樣本的數(shù)量很少,很難獲取全部的異常種類,因此限制了監(jiān)督學(xué)習(xí)方法在工業(yè)領(lǐng)域中的發(fā)展與應(yīng)用。
3、無監(jiān)督學(xué)習(xí)方法僅用正常樣本進(jìn)行訓(xùn)練,解決了監(jiān)督學(xué)習(xí)方法存在的問題,因此越來越受到重視。無監(jiān)督學(xué)習(xí)方法有兩種基本思路:一種是圖像重建,該方法假設(shè)僅使用正常樣本訓(xùn)練的重建網(wǎng)絡(luò)不能很好的重建異常區(qū)域,所以重建前后像素差異較大的區(qū)域就是異常區(qū)域;另一種思路是特征嵌入,特征空間不同于圖像rgb像素空間,特征空間通常比較稀疏,在特征空間內(nèi)構(gòu)建分類面更易于將正常特征與異常特征分類。但無監(jiān)督學(xué)習(xí)方法由于未學(xué)習(xí)過任何異常知識,網(wǎng)絡(luò)學(xué)習(xí)到的模式單一,在檢測時可能出現(xiàn)較大誤差從而導(dǎo)致準(zhǔn)確度降低。
4、為了解決無監(jiān)督學(xué)習(xí)方法存在的問題,利用人工合成的異常樣本進(jìn)行訓(xùn)練的自監(jiān)督學(xué)習(xí)方法逐漸被重視。自監(jiān)督學(xué)習(xí)也是無監(jiān)督學(xué)習(xí)的一種,在訓(xùn)練時也只需要正常樣本,與常規(guī)無監(jiān)督學(xué)習(xí)方法不同的是自監(jiān)督學(xué)習(xí)方法會同時利用由正常樣本合成而來的異常樣本進(jìn)行訓(xùn)練,所以自監(jiān)督學(xué)習(xí)可以視為已知大量異常樣本的監(jiān)督學(xué)習(xí)或者既能學(xué)習(xí)到正常知識又能學(xué)習(xí)到異常知識的無監(jiān)督學(xué)習(xí)。自監(jiān)督學(xué)習(xí)方法雖然有諸多優(yōu)點,但其檢測效果非常依賴于合成的異常樣本的真實性,若合成的異常樣本不夠真實會使網(wǎng)絡(luò)學(xué)習(xí)到虛假的異常知識從而導(dǎo)致準(zhǔn)確度降低,目前大部分異常樣本合成方法合成的異常樣本都存在真實度不足的問題。并且很多無監(jiān)督學(xué)習(xí)方法和自監(jiān)督學(xué)習(xí)方法都沒有考慮推理速度和部署成本這兩個在實際工業(yè)生產(chǎn)中十分重要的需求,通常認(rèn)為一個優(yōu)秀的圖像異常檢測方法應(yīng)該擁有較低的時間復(fù)雜度和空間復(fù)雜度。
技術(shù)實現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種基于patch聚合和判別的自監(jiān)督圖像異常檢測方法,該方法在訓(xùn)練時通過對正常樣本和異常樣本進(jìn)行像素級的判別從而使網(wǎng)絡(luò)擁有區(qū)分正常樣本與異常樣本的能力,并在保證推理速度的同時盡可能的提高了準(zhǔn)確度,解決了現(xiàn)有的自監(jiān)督學(xué)習(xí)方法存在的問題。
2、為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是:基于patch聚合和判別的自監(jiān)督圖像異常檢測方法,包括以下步驟:
3、步驟1:從已有的圖像異常檢測數(shù)據(jù)集中獲取正常樣本;
4、所述圖像異常檢測數(shù)據(jù)集由實際工業(yè)生產(chǎn)中采集到的產(chǎn)品圖像數(shù)據(jù)組成,包含n類產(chǎn)品圖像數(shù)據(jù),并擁有多種不同的異常類型,將各個類別的圖像異常檢測數(shù)據(jù)集均劃分為訓(xùn)練集和測試集,其中訓(xùn)練集只包含正常樣本,測試集則同時包含正常樣本和異常樣本,而且針對每個異常樣本均進(jìn)行像素級別的標(biāo)注;
5、步驟2:獲取異常區(qū)域掩膜并合成用于訓(xùn)練的異常樣本,包括以下步驟:
6、步驟2.1:從已有的掩膜圖像數(shù)據(jù)集中獲取異常掩膜圖像作為異常區(qū)域掩膜;
7、所述掩膜圖像數(shù)據(jù)集由不同形狀、位置和尺寸的二值化掩膜圖像數(shù)據(jù)組成,掩膜圖像中的白色區(qū)域為異常區(qū)域、黑色區(qū)域為正常區(qū)域,并采用二值化后的圖像作為異常掩膜圖像,即異常區(qū)域掩膜的值為1,正常區(qū)域掩膜的值為0;
8、步驟2.2:在測試集中隨機(jī)選取m個異常樣本來模擬實際工業(yè)生產(chǎn)中的少量已知異常樣本,并將這些異常樣本中異常區(qū)域的像素值亂序存入像素值數(shù)據(jù)庫中;
9、步驟2.3、對不符合對應(yīng)類別的異常語義的異常區(qū)域掩膜進(jìn)行修正;
10、步驟2.4、在步驟2.2中構(gòu)建的像素值數(shù)據(jù)庫中隨機(jī)選取與修正后的異常區(qū)域掩膜相同數(shù)量的像素值并替換該區(qū)域原來的像素值來對該異常區(qū)域掩膜上色,并將上色后的異常區(qū)域掩膜覆蓋到正常樣本上,得到合成的異常樣本;
11、步驟3:提取正常樣本與合成的異常樣本的多層級特征并構(gòu)建特征圖集合,包括以下步驟;
12、步驟3.1:使用在大型自然圖像數(shù)據(jù)集上預(yù)訓(xùn)練的分類網(wǎng)絡(luò)中的多層級特征提取部分作為深度特征提取器對正常樣本與合成的異常樣本分別進(jìn)行深度多層級特征提取;
13、步驟3.2:將深度特征提取器提取到的多層級特征圖像構(gòu)建為特征圖集合作為對圖像不同層次語義的表征;
14、步驟4:對步驟3得到的特征圖集合進(jìn)行patch聚合,包括以下步驟:
15、步驟4.1:利用圖像patch的思想,使用滑動窗口對提取到的特征圖集合中的每個特征圖分別進(jìn)行patch生成;
16、步驟4.2:利用鄰域聚合的思想,將生成的每個patch進(jìn)行鄰域聚合,保留每個patch的整體語義信息;
17、步驟5:將每層特征圖進(jìn)行快速注意力特征融合,得到快速注意力特征圖,包括以下步驟:
18、步驟5.1:對經(jīng)patch聚合后的特征圖進(jìn)行處理,將與當(dāng)前處理層特征圖不同層的特征圖通過升降通道和上下采樣轉(zhuǎn)換到與當(dāng)前層特征圖相同的形狀;
19、步驟5.2:賦予步驟5.1處理后的特征圖不同的權(quán)重,將步驟5.1處理后的特征圖加權(quán)求和得到當(dāng)前層特征圖經(jīng)深淺層特征信息互補后的空間注意力特征圖;
20、步驟5.3:對空間注意力特征圖進(jìn)行全局平均池化,并對得到的向量進(jìn)行線性變換得到空間注意力特征圖每個通道的權(quán)重;
21、步驟5.4:將步驟5.3得到的權(quán)重與空間注意力特征圖廣播相乘,得到當(dāng)前層特征圖經(jīng)快速注意力特征融合后的快速注意力特征圖;
22、步驟6:將步驟5.4得到的快速注意力特征圖進(jìn)行特征修正與patch判別,實現(xiàn)圖像異常檢測,包括以下步驟:
23、步驟6.1:使用全連接層將特征融合后的快速注意力特征圖從源域投影到目標(biāo)域,對快速注意力特征圖進(jìn)行修正,減少由圖像異常檢測數(shù)據(jù)集與預(yù)訓(xùn)練所用的大型自然圖像數(shù)據(jù)集之間的差異導(dǎo)致提取到的多層級特征之間的偏差;
24、步驟6.2:使用由多層感知機(jī)構(gòu)成的分類器對修正后的快速注意力特征圖進(jìn)行像素級的判別,得到多層判別結(jié)果;
25、步驟6.3:將步驟6.2得到的各層判別結(jié)果上采樣到所有層特征圖中的最大尺寸再求取均值來整合不同尺度下的判別結(jié)果,再將求取的均值上采樣到和輸入正常樣本相同的尺寸,得到最終的判別結(jié)果;
26、步驟6.4:將合成的用于訓(xùn)練的異常樣本經(jīng)步驟6.2的判別結(jié)果與異常掩膜圖像的二分類交叉熵和正常樣本經(jīng)步驟6.3最終的判別結(jié)果與全為0的掩膜圖像的二分類交叉熵之和作為訓(xùn)練損失;
27、所述步驟6.4中的訓(xùn)練損失loss表示為:
28、loss=-(log(1-zn)+ma×log(za)+(1-ma)×log(1-za))??(1)
29、其中,loss為訓(xùn)練損失,ma為異常掩膜圖像,za為輸入合成的異常樣本時的網(wǎng)絡(luò)輸出,zn為輸入正常樣本時的網(wǎng)絡(luò)輸出;
30、步驟6.5:將測試集中的異常樣本經(jīng)步驟6.3得到的最終的判別結(jié)果進(jìn)一步進(jìn)行高斯濾波,得到異常評分圖。
31、采用上述技術(shù)方案所產(chǎn)生的有益效果在于:本發(fā)明提供的一種基于patch聚合和判別的自監(jiān)督圖像異常檢測方法,與現(xiàn)有技術(shù)相比具有以下優(yōu)點:
32、(1)對不真實的異常區(qū)域掩膜進(jìn)行修正,提高人工合成的異常樣本的真實性,減少網(wǎng)絡(luò)學(xué)習(xí)到的虛假的異常知識從而提高準(zhǔn)確度;
33、(2)對提取到的特征圖進(jìn)行patch生成并聚合每個patch內(nèi)的語義信息使每個像素點可以捕捉到更多的信息,降低了網(wǎng)絡(luò)的整體計算量從而提高推理速度,再進(jìn)行快速注意力特征融合,通過深淺層特征信息互補有效提高了異常定位的準(zhǔn)確度,又對融合后的快速注意力特征圖進(jìn)行了修正,由于使用的預(yù)訓(xùn)練深度特征提取器是在大型自然圖像數(shù)據(jù)集上訓(xùn)練的,它與工業(yè)圖像異常檢測數(shù)據(jù)集擁有不同的分布,因此將快速注意力特征圖從源域投影到目標(biāo)域,減少由數(shù)據(jù)集分布差異引起的特征偏差從而提高準(zhǔn)確度,最后利用一種簡單高效的由多層感知機(jī)構(gòu)成的分類器對快速注意力特征圖進(jìn)行patch判別,得到同時考慮正常樣本和異常樣本的像素級的二分類交叉熵和。