鄧 勇
(廣東工業(yè)大學,廣東 廣州 510000)
隨著工業(yè)不斷發(fā)展,機器視覺在缺陷檢測中扮演著越來越重要的角色。近年,產(chǎn)品缺陷檢測已經(jīng)發(fā)展到各個領(lǐng)域,電子產(chǎn)品表面[1]、瓷瓦表面[2]。隨著視覺任務復雜性增加,對視覺檢測的挑戰(zhàn)也隨之增加。產(chǎn)品表面缺陷不僅會影響產(chǎn)品后續(xù)使用,而且在某種程度上可能會產(chǎn)生不可預估的安全隱患。所以產(chǎn)品表面檢測意義重大。
電機作為工業(yè)、交通、國防及日常生活中不可或缺的重要設(shè)備,其下游行業(yè)包含了幾乎全部國民經(jīng)濟基礎(chǔ)行業(yè)。換向器作為電機核心器件之一,也伴隨著電機行業(yè)發(fā)展日益增長[3]。由于換向器產(chǎn)品缺陷多樣性以及背景復雜性,很難收集一個標注數(shù)據(jù)集來覆蓋缺陷所有可能存在的情況。因此,在處理模型從未訓練過的產(chǎn)品缺陷時,預先訓練好的檢測模型通常表現(xiàn)不好。收集滿足模型訓練需求的帶標記樣本,在實際工業(yè)應用場景中是一個非常困難的任務。
文中,提出一種基于貝葉斯生成對抗網(wǎng)絡(luò)的換向器缺陷檢測方法。該方法能夠?qū)W習現(xiàn)有缺陷分布,訓練生成模型學習產(chǎn)品表面缺陷模式和分布。第一階段利用貝葉斯生成對抗網(wǎng)絡(luò)生成大量缺陷樣本,對數(shù)據(jù)進行增強。第二階段利用分割網(wǎng)絡(luò)與分類網(wǎng)絡(luò)結(jié)合的方式進行檢測,首先,分割網(wǎng)絡(luò)輸出二值圖對像素進行預測,然后分類網(wǎng)絡(luò)利用分割網(wǎng)絡(luò)輸出作為注意力掩碼,輸出圖片級預測結(jié)果。
近年來,人們研究了各種表面缺陷檢測算法。Li等人[4]針對玻璃產(chǎn)品,基于主成分分析檢測系統(tǒng)被提出。檢測玻璃產(chǎn)品劃痕、裂紋、變形、邊緣破碎等表面缺陷。隨著學習算法的進步,機器學習算法也開始進入缺陷檢測領(lǐng)域。基于傳統(tǒng)機器學習算法的檢測方法一般分為特征提取和訓練模型兩個部分,通過學習輸入圖像表征缺陷的特征向量,從而建立分類模型。比如決策樹,SVM等。盡管以上傳統(tǒng)檢測算法在各個表面缺陷檢測場景下取得不錯的效果,但傳統(tǒng)算法需要認為設(shè)定規(guī)則提取特征,針對不同的特征需要以不同的算法提取特征,在不同的生產(chǎn)環(huán)境下,比如光照不同或者背景復雜程度增加時,人為設(shè)計的算法規(guī)則不適當前的任務。可能需要進行參數(shù)的微調(diào),或者重新設(shè)計算法。通過手工或淺層的學習技術(shù)識別表面缺陷,對復雜的情況沒有足夠的辨別力。這些方法通常應用于特定的場景,缺乏適應性和魯棒性。近十年,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測系統(tǒng)在表面缺陷檢測領(lǐng)域得到大量應用。Wang等人[5]提出基于卷積神經(jīng)網(wǎng)絡(luò)的產(chǎn)品質(zhì)量控制模型,網(wǎng)絡(luò)模型能夠適用不同應用場景。Yang等人[6]提出基于正樣本深度學習檢測系統(tǒng),采用卷積神經(jīng)網(wǎng)絡(luò)對不同高斯金字塔圖像塊進行重構(gòu),并將每個通道生成重構(gòu)殘差映射合并生成最終的檢測結(jié)果。以上方法雖然在各個領(lǐng)域均取得不錯的效果,但是基于大數(shù)據(jù)驅(qū)動的深度學習無法在少樣本情況下達到性能最佳點,而且大量數(shù)據(jù)的收集與標注需要耗費大量人工資源與專家資源。故在本文中采用生成對抗網(wǎng)絡(luò)對樣本進行增強,提升檢測模型泛化能力,增強模型魯棒性。
生成對抗網(wǎng)絡(luò)近年來越來越多被訓練來捕捉圖片豐富地隱性分布。貝葉斯生成對抗網(wǎng)絡(luò)[7]采用隨機梯度哈密頓蒙特卡羅來邊緣化生成器和鑒別器網(wǎng)絡(luò)權(quán)值,通過探索生成器參數(shù)后驗分布,避免模式崩塌、產(chǎn)生可解釋性、多樣性的樣本。網(wǎng)絡(luò)如圖左所示。具體地說,我們給出樣本x服從分布pdata(x),給出一個參數(shù)為ωg的生成器網(wǎng)絡(luò)G(z,ωg)將噪音分布z-p(z)轉(zhuǎn)化為真實樣本分布近似的生成樣本。我們用另外一組參數(shù)ωd表示的判別器網(wǎng)絡(luò)D(x,ωd)鑒別生成樣本與真實樣本。
(1)
(2)
假設(shè)我們從生成器先驗分布p(ωg/αg)中采樣權(quán)重ωg。在這個權(quán)值采樣條件下初始化一個神經(jīng)網(wǎng)絡(luò)。然后我們對服從z~p(z)的白噪音進行采樣。通過生成器網(wǎng)絡(luò)G(zi;ωg)將白噪音轉(zhuǎn)換為我們所需樣本,即缺陷樣本。鑒別器也在這個權(quán)值采樣條件下形成一個特定神經(jīng)網(wǎng)絡(luò),更新網(wǎng)絡(luò)權(quán)重ωd,輸出生成樣本是來自于真實樣本的概率。公式(1)表明,假設(shè)鑒別器輸出較高概率,對于后驗概率p(ωg/z,ωd)將在ωg采樣附近增加。對于鑒別器權(quán)重ωd的后驗,如公式(2)所示,構(gòu)成鑒別器損失,將來自真實的樣本與生成的樣本鑒別為不同的類別。
生成對抗網(wǎng)絡(luò)在數(shù)據(jù)增強領(lǐng)域達到不錯效果,DCGAN、DAGAN等。貝葉斯生成對抗網(wǎng)絡(luò)在數(shù)據(jù)樣本擬合能力上表現(xiàn)出色于其他生成對抗網(wǎng)絡(luò)。其次提出生成器權(quán)重后驗函數(shù),參數(shù)不同設(shè)置對應于數(shù)據(jù)不同生成假設(shè),與標準生成對抗網(wǎng)絡(luò)用一個解(類似最大似然解)不同的是,貝葉斯生成對抗網(wǎng)絡(luò)保留整個ωg后驗分布,使得生成的缺陷樣本更具有多樣性與真實性,提升模型泛化能力。
缺陷檢測模塊由3部分構(gòu)成,圖1右所示;特征提取網(wǎng)絡(luò)、分割網(wǎng)絡(luò)、分類網(wǎng)絡(luò)第一部分為特征提取層,該層從提取原圖特征轉(zhuǎn)化為高級特征表示。第二部分為分割網(wǎng)絡(luò),融合共享層所提取特征,測缺陷位置信息,對圖片每個像素是否屬于缺陷概率映射到0~1。第三部分為分類網(wǎng)絡(luò)。該層接受特征提取層特征表示和分割網(wǎng)絡(luò)輸出熱圖作為輸入,預測結(jié)果0~1的值預測輸入圖片是否存在缺陷概率。缺陷檢測網(wǎng)絡(luò)不僅預測輸入圖片中是否存在缺陷,而且對于缺陷位置也提供可解釋性。

圖1 缺陷檢測框架
缺陷檢測網(wǎng)絡(luò)首先利用卷積層對輸入進行特征提取,將原圖轉(zhuǎn)化為高層特征。卷積層使用步長為1的3×3卷積核。池化層核尺寸為2×2,最大池化層步長設(shè)置為2,將特征圖下采樣,以減少模型中參數(shù)量,提高模型泛化能力。輸出128通道的特征圖,尺寸大小為輸入圖像1/8。缺陷檢測網(wǎng)絡(luò)第二部分為缺陷分割網(wǎng)絡(luò),將共享層輸出特征表示作為輸入,皆由卷積層構(gòu)建而成,前三層卷積通道數(shù)分別32,64和128,卷積核大小分別為3×3,最后一個卷積核為5×5,以獲取更大感受野。最后一層卷積層卷積核大小為1×1,個數(shù)為1,即輸出為單通道特征圖。利用Sigmoid激活函數(shù)將特征圖值域映射到0~1,即缺陷像素概率值。分割網(wǎng)絡(luò)輸出分割熱圖不僅對缺陷位置進行可視化解釋,更是能夠?qū)⒎指钶敵鲎鳛樽⒁饬C制掩碼融合入分類網(wǎng)絡(luò),使分類網(wǎng)絡(luò)更大程度上關(guān)注缺陷位置。缺陷檢測網(wǎng)絡(luò)最后一部分為缺陷分類網(wǎng)絡(luò),分類網(wǎng)絡(luò)將分割網(wǎng)絡(luò)輸出特征圖作為注意力掩碼與特征提取網(wǎng)絡(luò)輸出進行相乘后累加,使得網(wǎng)絡(luò)更加關(guān)注缺陷區(qū)域,分類網(wǎng)絡(luò)有4個卷積層,每個卷積層卷積核大小為3×3卷積層后都有批量歸一化和非線性ReLU層。最大池化層步長為2。我們將分類網(wǎng)絡(luò)輸出作為全連接層輸入。通過Sigmoid函數(shù)輸出表征整幅圖片中存在缺陷的概率。
實驗硬件條件為:RTX2070S,基于tensorflow深度學習框架。對于貝葉斯生成對抗網(wǎng)絡(luò),訓練超參數(shù)中,批量大小為32,學習率為0.005,采用隨機梯度下降算法迭代5 000次。生成大量缺陷圖片作為下階段缺陷檢測網(wǎng)絡(luò)的輸入。如圖2所示,a,b為采集的工業(yè)換向器真實數(shù)據(jù),圖c,d為貝葉斯生成對抗網(wǎng)絡(luò)生成的缺陷樣本,如圖可知,缺陷特征主要由缺陷幾何形狀以及缺陷紋理特征組成,本文通過對缺陷進行貝葉斯生成對抗網(wǎng)絡(luò)建模,鑒別器以強監(jiān)督模式監(jiān)督生成器盡可能生成服從真實分布的樣本,圖c,d中不僅僅缺陷背景分布發(fā)生了改變,缺陷幾何形狀也通過建模具備多樣性,使得生成缺陷樣本不僅符合真實性,更具備多樣性。

(a) (b)
基于大數(shù)據(jù)驅(qū)動的深度學習在卷積神經(jīng)網(wǎng)絡(luò)下學習缺陷像素分布,本文通過將生成樣本dataset1與原始采集訓練樣本dataset0進行混合生成新數(shù)據(jù)dataset2,利用dataset2對缺陷檢測網(wǎng)絡(luò)進行微調(diào),模型可以學習到更廣泛的數(shù)據(jù)域,使得網(wǎng)絡(luò)更加具備泛化能力,提升精度。
筆者提出一種基于貝葉斯生成對抗網(wǎng)絡(luò)的換向器缺陷檢測方法。利用貝葉斯生成對抗網(wǎng)絡(luò)對高維數(shù)據(jù)擬合能力,生成具備多樣性 與真實性的缺陷樣本。其次,我們檢測模塊采用分割網(wǎng)絡(luò)與分類網(wǎng)絡(luò)結(jié)合的方式,分割網(wǎng)絡(luò)輸出分割熱圖作為注意力掩碼融入分類網(wǎng)絡(luò),使得網(wǎng)絡(luò)更加關(guān)注缺陷位置。