舒軍,王祥,李靈,雷建軍,何俊成,楊莉
(1 湖北工業(yè)大學 電氣與電子工程學院,武漢 430068;2 湖北第二師范學院 計算機學院,武漢 430205)
旋開蓋受加工工藝的影響會出現(xiàn)刮痕,尺寸變換、臟污等缺陷,導致密封性下降、食品變質(zhì),檢測缺陷瓶蓋能保證消費者享用安全、健康的食品.對于瓶蓋的缺陷檢測通常采用基于傳統(tǒng)圖像處理的方法.2018年,文欣雨等[1]針對瓶蓋黑點缺陷提出了一種基于Canny 算子和SVM 的瓶蓋缺陷檢測技術(shù).2019 年,岳昊等[2]針對醫(yī)用瓶蓋的臟污和圓度,采用了閾值分割、求平均灰度、邊緣檢測等方法來檢測.楊健等[3]采用高斯差分濾波對細微劃痕進行增強,采用二維Otsu 閾值分割和形態(tài)學處理進行劃痕的提取.2020年,任小丹等[4]基于瓶蓋顏色與傳送帶顏色不同的特點,采用二值化、濾波、銳化等圖像處理方法檢測瓶蓋是否合格.隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,基于深度學習的圖像處理技術(shù)有著較強的特征提取能力.2021 年,HORPUTRA 等[5]在飲料包裝過程中將傳統(tǒng)圖像處理方法和YOLO v3 網(wǎng)絡(luò)相結(jié)合,檢測瓶蓋是否存在傾斜、松動和缺失這3 種情況,具有高速度和高精度.上述瓶蓋缺陷檢測方法可總結(jié)為2個步驟:圖像預處理和檢測缺陷.圖像預處理的目的是提取瓶蓋,例如使用閾值分割、邊緣檢測、特征提取等,用于去除背景的干擾;檢測缺陷是使用相關(guān)算法檢測瓶蓋是否存在缺陷,例如SVM分類器把有缺陷的瓶蓋檢測出來.基于以上分析,本文將語義分割作為預處理方法,異常檢測作為缺陷檢測方法,來完成旋開蓋缺陷檢測.
PSPNet[6]、UperNet[7]、DeepLabV3+[8]、OCRNet[9]等經(jīng)典語義分割方法,可對圖像的每一個像素產(chǎn)生一個預測.PSPNet 核心模塊是金字塔池化模塊(Pyramid Pooling Module),它能夠聚合不同區(qū)域的上下文信息,提高獲取全局信息的能力.UperNet 是針對統(tǒng)一感知解析的語義分割網(wǎng)絡(luò),該網(wǎng)絡(luò)是基于PSPNet 的改進,有足夠多的特征融合,同時去掉了PSPNet 的輔助損失,在訓練時間上縮減了很多.DeepLabV3+以DeepLabv3 做編碼器架構(gòu),解碼器采用一個簡單卻有效的模塊,改進了Xception,并將深度分離卷積應(yīng)用在模型中,進一步提升了模型在語義分割任務(wù)上的性能.OCR-Net 通過像素與區(qū)域的關(guān)系來增強像素的表示,獲取的上下文更有針對性.上述方法在PASCALVOC[10]、ADE20K[11]、cityScape[12]等公開數(shù)據(jù)集上表現(xiàn)良好,但這些數(shù)據(jù)集須在光照充足的白天采集,對于低照度圖像語義分割方法的研究很少.在低光環(huán)境中采集的圖像,由于照明方式、光源特點、周圍環(huán)境的復雜性,使拍攝環(huán)境或光線亮度值低,拍攝的圖像亮度值低、亮度和對比度下降,并伴隨著大量的隨機噪聲.在低照度環(huán)境采集的旋開蓋圖形存在顏色信息消失和噪聲,導致語義分割模型訓練的特征數(shù)量少,出現(xiàn)誤分割、分割邊界不準確的問題.
異常檢測(Anomaly Detection,AD)是對給定數(shù)據(jù)集中的異常標簽進行識別.隨著深度學習和計算機視覺的發(fā)展,異常檢測逐漸向圖像處理領(lǐng)域發(fā)展.基于深度學習的圖像異常檢測方法解決了模板匹配、圖像分解、構(gòu)建分類面等傳統(tǒng)方法檢測速度慢、通用性差、不適應(yīng)多變目標的問題[13].基于深度學習的圖像異常檢測分為監(jiān)督學習、半監(jiān)督學習和無監(jiān)督學習這三類.當異常數(shù)據(jù)處在明顯且有限的定義下,例如行人跌倒[14]、安檢[15]和交通事故檢測[16]中,卷積神經(jīng)網(wǎng)絡(luò)可在正常圖像數(shù)據(jù)集和異常圖像數(shù)據(jù)集下學習,并有效區(qū)分異常情況.楊子固等[15]對安檢時打火機、刀具、電池、剪刀這4 類危險物品的檢測,在Faster R-CNN 上增加了PCM 來學習正常樣本和異常樣本的差異.當異常數(shù)據(jù)處在繁瑣且無法統(tǒng)計的情況下,因異常情況存在多樣性,無法使用監(jiān)督學習方法學習所有異常數(shù)據(jù)的特征,半監(jiān)督學習方法可解決上述問題.AnoGAN[17]、Efficient-GANAnomaly[18]、GANomaly[19]等利用正常數(shù)據(jù)集訓練,使自編碼器在測試階段能重構(gòu)正常情況下的圖像.在測試階段,對存在異常的圖像進行編碼和重構(gòu),與正常圖像產(chǎn)生的差異被作為判別圖像是否存在異常的指標.當異常數(shù)據(jù)處在無法標注或很少有異常情況下,需使用無監(jiān)督學習方式來進行異常檢測.LAI 等[20]提出了一種無監(jiān)督異常檢測網(wǎng)絡(luò),有新穎的魯棒空間恢復層(RSR 層).此圖層從給定數(shù)據(jù)的潛在表示中提取底層子空間,并刪除遠離此子空間的異常值,根據(jù)原始和映射位置之間的距離來區(qū)分正常值和異常值.P-KDGA[21]將知識蒸餾與GAN 相結(jié)合,通過設(shè)計蒸餾損失來連接兩個標準GAN,將知識轉(zhuǎn)移到學生完成對圖像的異常檢測.因旋開蓋的缺陷存在多樣性且無法統(tǒng)計,故采用基于半監(jiān)督學習的異常檢測解決旋開蓋缺陷樣本不足的問題.目前基于半監(jiān)督學習的圖像異常檢測方法大多使用圖像重構(gòu)的方法,重構(gòu)正常樣本和異常樣本,比較重構(gòu)后的差異,即可檢測出缺陷.但GANomaly 采用編解碼結(jié)構(gòu),存在重構(gòu)細節(jié)不精細的問題,導致無法區(qū)分細節(jié)特征相似的樣本.
針對語義分割和GANomaly網(wǎng)絡(luò)存在的問題,本文提出了一種結(jié)合低照度圖像增強[22]、OCR-Net 語義分割[9]和GANomaly 異常檢測[19]的新旋開蓋缺陷檢測方法.該方法采用基于最大熵的Retinex 模型[22]來增強低照度圖像的亮度和對比度,在此基礎(chǔ)上使用OCR-Net 語義分割方法分割瓶蓋,并基于十字交叉注意力[23]和最小二乘損失函數(shù)[24]改善GANomaly異常檢測網(wǎng)絡(luò)的圖像重建能力,最后使用無缺陷的瓶蓋訓練改進后的網(wǎng)絡(luò),檢測出有缺陷的圖像.
新方法具體流程如圖1 所示,包含預處理和缺陷檢測兩部分.由于所采集圖像存在兩個問題:(1)部分圖像存在亮度低和對比度低影響缺陷檢測;(2)瓶蓋圖像中的傳送帶存在臟污情況,在傳統(tǒng)算法中容易被誤檢為瓶蓋缺陷.針對上述問題,對低照度旋開蓋圖像使用基于最大熵的Retinex 模型對低照度圖像增強,改善圖像的亮度和對比度,選用OCR-Net 語義分割從背景中提取出瓶蓋.對于正常光照圖像選用OCR-Net 語義分割方法.經(jīng)過上述預處理后,采用改進后的GANomaly 異常檢測網(wǎng)絡(luò)檢測缺陷瓶蓋.該網(wǎng)絡(luò)學習正常樣本的特征,并根據(jù)圖像重建的分數(shù)來判斷瓶蓋是否存在缺陷.
圖1 旋開蓋缺陷檢測的整體框架Fig.1 Overall framework of screw-on cap defect detection
圖像質(zhì)量的好壞與拍攝環(huán)境有極大的關(guān)聯(lián).在光照充足的白天所采集的圖像,有合適的對比度和亮度,能體現(xiàn)拍攝物體的細節(jié);在光照不足的夜晚或者黑暗環(huán)境中所采集的圖像,亮度和對比度低,嚴重時還會出現(xiàn)噪聲、分辨率低的問題,導致圖像不能體現(xiàn)目標物體的細節(jié).一般來說,在低光環(huán)境下光量不足,圖像的獲得需把相機的曝光時間設(shè)置得比白天長,但這會使捕獲的圖像產(chǎn)生光學模糊和噪聲.在低照度環(huán)境下獲取的彩色圖像,直接限制了對圖像的處理.
旋開蓋的顏色上存在多樣性,有白色、金色、藍色、紅色等.在調(diào)試相機與光源的參數(shù)時,發(fā)現(xiàn)對于顏色偏暗的旋開蓋,圖像亮度會出現(xiàn)過暗的情況,不能顯示瓶蓋蓋沿的細節(jié)部分.在相同曝光時間、同一光源和相機下,對于暗色瓶蓋,采集的注膠面圖像不能體現(xiàn)瓶蓋蓋沿的顏色,綠色瓶蓋與黑色、藍色瓶蓋蓋沿顏色相似,不能區(qū)分出是何種顏色;對于金色、白色這些亮色瓶蓋,工業(yè)相機能很好地拍攝出目標物體的顏色信息(見圖2).
圖2 旋開蓋圖像Fig.2 Image of the screw-on cap
分析圖2 可知:當目標物體顏色與背景顏色對比度很高時,目標物體的信息比較充分;當目標物體顏色與背景顏色對比度低時,目標物體的細節(jié)信息有所欠缺.例如所采集的瓶蓋圖像為綠色瓶蓋,而傳送帶的顏色也是綠色,導致圖像整體偏暗,無法顯示瓶蓋蓋沿的顏色.為使相機清晰地拍攝暗色瓶蓋,試著調(diào)試相機的曝光時間.當曝光時間調(diào)低時,加劇了暗色瓶蓋的問題,使亮色瓶蓋圖像同暗色瓶蓋一樣,不能體現(xiàn)瓶蓋蓋沿顏色;當曝光時間調(diào)高時,無法適應(yīng)缺陷檢測系統(tǒng)速度,無法滿足生產(chǎn)條件.背景顏色影響著圖像的細節(jié)部分,可更換背景顏色,即根據(jù)待測瓶蓋的顏色更換不同顏色的傳送帶,例如檢測黑色瓶蓋時,將傳送帶更換為白色傳送帶,但在實際情況中,更換傳送帶顏色,不僅增加了設(shè)備成本,而且增加了人工更換傳送帶的成本,更重要的是使檢測效率下降,增加了檢測時間.
為解決上述問題,使用低照度圖像增強.低照度圖像增強方法從傳統(tǒng)方法發(fā)展到了基于深度學習的方法.為選取最好的低照度圖像增強方法,將所采集的低照度瓶蓋圖像應(yīng)用到GLADNet[25]、TBEFN[26]、RUAS[27]和基于最大熵的Retinex 模型[19]中,圖2(a)瓶蓋注膠面和圖2(b)瓶蓋印刷面的增強效果如圖3所示.
圖3 瓶蓋圖像增強效果的對比Fig.3 Comparison of image enhancement effects of bottle caps
圖3 中在GLADNet 增強方法中,由于GLADNet考慮全局信息,瓶蓋反面的白色影響增強效果,導致瓶蓋正面和瓶蓋反面的增強效果不一樣;TBEFN增強方法相較于RUAS 和基于最大熵的Retinex 模型,在瓶蓋反面圖像中的蓋沿部分出現(xiàn)了陰影;RUAS 增強方法受白色的影響,瓶蓋反面出現(xiàn)了過增強效果,瓶蓋內(nèi)部全部變?yōu)榘咨?;基于最大熵的Retinex模型在增強效果上優(yōu)于GLADNet、TBEFN 和RUAS.故采用基于最大熵的Retinex 模型來增強低照度瓶蓋圖像.
語義分割可將標簽分配給圖像中的每個像素,解決背景環(huán)境干擾這一問題,為后續(xù)的缺陷檢測奠定良好的基礎(chǔ).為提取瓶蓋完成缺陷檢測,根據(jù)所采集的圖像照度情況,分為低照度圖像數(shù)據(jù)集和正常光照圖像數(shù)據(jù)集,并研究了PSPNet、UPerNet、DeepLabV3+和OCR-Net 在正常光照瓶蓋和低照度瓶蓋中的分割性能,其性能如表1所示.
表1 旋開蓋的分割Tab.1 Segmentation of the screw-on cap
表1 中mIOU 表示預測結(jié)果與原始圖像中真值的重合度.當正常光照瓶蓋采用OCR-Net 語義分割方法時,mIOU 的值高于其他方法,故選用OCR-Net來對正常光照瓶蓋進行分割.低照度圖像直接語義分割,其mIOU 值與正常光照圖像相比,低照度瓶蓋因受傳送帶顏色的影響,圖像的顏色細節(jié)不像正常光照的瓶蓋一樣細膩,其mIOU 值有所下降.低照度瓶蓋在PSPNet、UPerNet、DeepLabV3+和OCR-Net 中的分割結(jié)果如圖4 所示,它們對瓶蓋蓋沿分割不準確.
圖4 低照度旋開蓋直接語義分割Fig.4 Direct semantic segmentation of low-illumination screw-on caps
為解決上述問題,在低照度旋開蓋圖像中,依據(jù)2.1節(jié)分析先采用基于最大熵的Retinex模型增強圖像,再使用OCR-Net來分割.訓練結(jié)果相比于直接分割,mIOU 為95.7%,提高了3.4%.分割預測結(jié)果如圖5 所示,訓練好的OCR-Net 準確分割出了無缺陷瓶蓋和帶有缺陷的瓶蓋,從背景中將瓶蓋分割出來,直接將背景變黑,從而解決了傳送帶臟污情況影響異常檢測效果的問題.
圖5 瓶蓋分割預測結(jié)果Fig.5 Prediction result of bottle cap segmentation
為解決缺陷樣本不足的問題,將缺陷情況作為異常來處理,采用基于GANomaly 異常檢測網(wǎng)絡(luò)來實現(xiàn)對瓶蓋的缺陷檢測.
隨著深度學習的發(fā)展,用于數(shù)據(jù)挖掘領(lǐng)域的異常檢測引入到了圖像處理鄰域.常用的目標檢測算法需要大量帶有精確標注的圖像,標注包括圖像類別、位置、像素點的類別.異常檢測十分適用于旋開蓋的缺陷檢測:一是收集正常瓶蓋的難度要比收集帶有缺陷瓶蓋低;二是只訓練正常樣本,不用標注缺陷瓶蓋.鑒于以上優(yōu)點,本文將異常檢測用于旋開蓋缺陷檢測中.
基于深度學習的異常檢測方法,無需依靠人工設(shè)計的特征,算法通用性高.AKCAY 等[19]提出了GANomaly 網(wǎng)絡(luò),它是一種基于圖像重構(gòu)的異常檢測方法,將比較圖像分布轉(zhuǎn)換成了比較圖像編碼下的潛在空間,采用半監(jiān)督學習方式,捕獲了圖像和潛在向量空間內(nèi)的分布.GANomaly只學習正常態(tài)樣本的特征分布,然后在包含正常和缺陷樣本的數(shù)據(jù)集上測試和評估,找出樣本之間的特征差異.基于GANomaly 網(wǎng)絡(luò)學習正常瓶蓋圖像的分布模式,在檢測階段通過分析重構(gòu)前后的差異來實現(xiàn)旋開蓋的缺陷檢測.GANomaly網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示.
圖6 GANomaly網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 GANomaly network structure
該網(wǎng)絡(luò)由3部分構(gòu)成:自編碼器、重構(gòu)編碼器和判別器,采用半監(jiān)督生成式對抗訓練方式,自編碼器和重構(gòu)器相當于生成器.自編碼器用于重建輸入的正常圖像,x表示輸入圖像,z表示圖像經(jīng)編碼器得到的特征表示,x1表示z經(jīng)解碼器重構(gòu)的圖像.在重構(gòu)編碼器部分,對重構(gòu)圖像x1編碼得到特征表示z1.判別器根據(jù)原始圖像x來判斷重構(gòu)圖像x1的真假.網(wǎng)絡(luò)的每個部分對應(yīng)一個損失函數(shù):重建損失Lrec、重構(gòu)損失Lenc和判別器損失Ladv,如公式(1)-公式(3)所示.采用的訓練方式和常規(guī)GAN 一樣,先優(yōu)化判別器,再優(yōu)化自編碼器和重構(gòu)編碼器.推斷采用重構(gòu)損失Lenc,當網(wǎng)絡(luò)訓練好以后,選取Lenc的最大值作為閾值來推斷.若一張圖像的Lenc小于閾值,則為正常圖像,若一張圖像的Lenc大于閾值,則為缺陷圖像.
GANomaly 網(wǎng)絡(luò)采用編解碼和重構(gòu)編碼的結(jié)構(gòu)來對正常圖像進行學習,使模型學習到更高層的信息,但忽略了圖像細節(jié)部分.若缺陷瓶蓋的外觀和正常瓶蓋的外觀差異比較小,模型很難判斷.此外該網(wǎng)絡(luò)在訓練過程中會出現(xiàn)梯度消失的問題.針對以上問題,在網(wǎng)絡(luò)中引入了十字交叉注意力模塊學習正常樣本的細節(jié),重建精細的上下文特征.通過改進損失函數(shù)解決訓練過程梯度消失的問題.
為區(qū)分差異比較小的樣本,引入了上下文信息這一概念,即形狀、紋理和像素識別等細節(jié)信息.為捕獲有用的上下文信息,使模型更加注意圖像的細節(jié),在GANomaly 中的引入了十字交叉注意力(Criss-Cross Attention)模塊[23],如圖7 所示.十字交叉注意力是一個位置像素注意力模塊,更加關(guān)注特征圖上的像素點之間的相關(guān)性,即獲取像素交叉路徑上的鄰近像素的上下文信息.
圖7 基于十字交叉注意力的GANomalyFig.7 GANomaly based on Criss-Cross Attention
十字交叉注意力如圖8 所示.輸入是編碼器GE(x)輸出的特征圖H,分別通過2 個1×1 卷積降維,生成特征圖Q和特征圖K,再通過關(guān)聯(lián)操作獲得注意力圖.另外特征圖H再通過一個1×1卷積得到與注意力圖尺寸一樣的特征圖V,然后將橫縱方向上每個位置的特征與注意力圖橫縱方向上的特征進行點乘,再相加得到殘差聚合特征,最后加上原特征得到更強表征能力的特征H1.
圖8 十字交叉注意力Fig.8 Criss-Cross Attention
關(guān)聯(lián)操作如公式(5)所示,di,u表示特征Qu與特征組Ωi,u相關(guān)程度,即注意力圖,Qu表示特征圖Q在像素u位置的一個向量,Ωi,u表示從特征圖K中按照十字交叉方式進行提取的一組向量,采用向量乘積計算相關(guān)性.聚合操作如公式(6)所示,Φi,u表示橫縱方向上每個位置的特征,Hu表示原特征.通過上述操作,十字交叉注意力捕獲了更有用的上下文信息,使GANomaly網(wǎng)絡(luò)更加關(guān)注圖像細節(jié):
原始GANomaly 網(wǎng)絡(luò)模型在自編碼器與判別器交替訓練時,使用了交叉熵損失函數(shù).當判別網(wǎng)絡(luò)確定重建圖像為“真”時,重建損失函數(shù)直接等于“0”,因此,網(wǎng)絡(luò)將不再繼續(xù)優(yōu)化這些被判斷為真實的生成圖像.雖然這些重建的圖像還遠未達到真實圖像的決策邊界,但網(wǎng)絡(luò)輸出的重建圖像質(zhì)量較低,引起早期梯度消失.為使重建的圖像盡可能適合真實圖像的分布,使用最小二乘損失[24]代替交叉熵損失進行對抗訓練,使判別網(wǎng)絡(luò)不僅要區(qū)分自編碼器生成的真假圖像,還要優(yōu)化重建樣本的異常值的分布,以保持接近真實樣本.根據(jù)最小二乘損失構(gòu)造如下:
式中:D(x)為判別器,G(x)為自編碼器.則更改后的損失函數(shù)為:
式中:wadv、wrec和wenc是權(quán)重參數(shù),用于調(diào)整每個損失,分配不同損失在整體訓練中的貢獻.更改損失后,其訓練步驟為:第一步優(yōu)化判別器,保持自編碼器的權(quán)重不變,根據(jù)式(7)計算判別器損失,并不斷更新判別器的權(quán)重;第二步凍結(jié)判別器權(quán)重,優(yōu)化自編碼器,總損失如式(9)所示.在預測時,對于測試樣本y,由原圖像特征GE(y) 與重建圖像特征E(G(y))之間的差異,獲得重建分數(shù)為S(y),其定義如(10)所示:
測試集D會產(chǎn)生一組重建分數(shù)S=Si:S(yi),yi∈D,方便評估網(wǎng)絡(luò)的檢測性能,將重建分數(shù)歸一化到[0,1]之間,如(11)所示.
當網(wǎng)絡(luò)根據(jù)正常樣本訓練好后,可得到正常樣本數(shù)據(jù)集的重構(gòu)損失Lenc,選取重構(gòu)損失的最大值作為判斷異常的閾值.在測試時,由式(11)獲得圖像的重建分數(shù).若重建分數(shù)小于閾值,則圖像為正常;若重建分數(shù)大于閾值,則圖像為異常.
實驗主要分為3個部分:旋開蓋缺陷檢測實驗、消融實驗和泛化實驗,經(jīng)過低照度圖像增強、語義分割和異常檢測這3個步驟完成對旋開蓋的缺陷檢測,然后對改進后的GANomaly進行泛化驗.
實驗中所使用的旋開蓋圖像數(shù)據(jù)集來源于工廠流水線上,在同一設(shè)備下和相同設(shè)置下采集了旋開蓋的印刷面和注膠面圖像.瓶蓋印刷面圖像共有12185張,瓶蓋注膠面圖像共有7199張,圖像尺寸為1920×1200.根據(jù)第2.1 節(jié)分析,瓶蓋顏色與傳送帶顏色的對比度影響著圖像的明暗,為滿足瓶蓋缺陷的多樣性,分別采集了金色、綠雜色、綠色、藍色、白色瓶蓋圖像,其數(shù)據(jù)集的分布如表2所示.
表2 瓶蓋數(shù)據(jù)集的分布Tab.2 Distribution of the bottle cap dataset
在實驗中,因圖像包含了傳送帶金屬邊緣的少部分,為減少其影響改變圖像尺寸為600×538.實驗環(huán)境為Nvidia Quadro P5000 GPU 和Intel(R)Xeon(R)CPU E5-2673 v3 @ 2.40 GHz,操作系統(tǒng)為64 位的Ubuntu 18.04.基于最大熵的Retinex 模型對低照度圖像進行增強,利用低照度圖像的直方圖均衡化的最大通道來約束增強效果,實現(xiàn)了僅利用低照度圖像就可以完成增強的任務(wù).采用自監(jiān)督的學習方法,訓練好的權(quán)重,直接對所有的低照度瓶蓋圖像進行增強,輸出了增強后的圖像.在OCR-Net分割增強后的圖像和正常光照圖像時,使用Labelme 標注軟件對瓶蓋人工標注,分為3 類目標:背景、瓶蓋正面和瓶蓋反面.將瓶蓋標注好的數(shù)據(jù)集整理成VOC數(shù)據(jù)集格式,其標注數(shù)量、訓練集和評估集的分布情況如表3 所示,其中增強圖像表示低照度瓶蓋圖像基于最大熵的Retinex模型做了圖像增強.依據(jù)表3分別訓練好OCR-Net,并對剩下的圖像預測.
表3 OCR-Net的訓練Tab.3 Training of OCR-Net
改進后的GANomaly 網(wǎng)絡(luò)只學習正常樣本的特征,故在已分割的瓶蓋數(shù)據(jù)集上,挑選出了2000 張無缺陷圖像,其中包括1000 張瓶蓋印刷面圖像,1000張瓶蓋注膠面圖像.將2000張正常瓶蓋圖像輸入到改進后的GANomaly網(wǎng)絡(luò)進行異常檢測的訓練.訓練網(wǎng)絡(luò)時,為防止顯存爆滿的問題,將600×538的圖像縮放到128×128,設(shè)置訓練批次為100,學習率為0.0002.根據(jù)總損失函數(shù)L,設(shè)置wadv=1,wrec=40,wenc=0.8,以上權(quán)重在實驗結(jié)果中獲得了最佳效果.訓練過程損失L的表現(xiàn)如圖9 所示,訓練自編碼器和重構(gòu)器時,損失L達到了0.9.
圖9 改進后網(wǎng)絡(luò)訓練情況(損失L)Fig.9 Improved network training(loss L)
當改進的GANomaly 網(wǎng)絡(luò)訓練好后,將待測樣本進行預測.本實驗中,待測樣本數(shù)量為857 張,正常樣本數(shù)量為427 張,缺陷樣本數(shù)量為430 張.圖10為預測階段正常樣本和缺陷樣本的直方圖.
圖10 網(wǎng)絡(luò)改進后的預測結(jié)果Fig.10 Prediction results after network improvement
由圖10可知:網(wǎng)絡(luò)改進后檢測缺陷瓶蓋的正確率達到了98%.故低照度圖像增強解決了缺陷檢測受拍攝光照的影響,語義分割解決了缺陷檢測受背景因素影響的問題,為瓶蓋的異常檢測奠定了良好的基礎(chǔ);使用改進后的GANomaly 網(wǎng)絡(luò)檢測瓶蓋的缺陷,訓練正常樣本就可檢測多種缺陷.在異常檢測訓練階段,自編碼器、重構(gòu)編碼器和判別器這3部分的損失函數(shù)達到了最好狀態(tài).
為進一步探究改進后的GANomaly網(wǎng)絡(luò),在瓶蓋數(shù)據(jù)集上進行了消融實驗.先在GANomaly 上添加十字交叉注意力模塊,并使用原損失函數(shù),如公式(4)所示.再在添加十字交叉注意力模塊的基礎(chǔ)上,更改損失函數(shù),如公式(9)所示,分別證明十字交叉注意力模塊及最小二乘損失函數(shù)對網(wǎng)絡(luò)的影響.
將原網(wǎng)絡(luò)與加入十字交叉注意力后的熱力圖進行了對比.由于原網(wǎng)絡(luò)采用編解碼結(jié)構(gòu),對于瓶蓋的細節(jié)特征容易忽略.如圖11 所示,加入十字交叉注意力后,體現(xiàn)了瓶蓋蓋沿的細節(jié)和缺陷瓶蓋的缺陷特點.加入十字交叉注意力后,仍使用原損失函數(shù),Ladv的表現(xiàn)如圖12(a)所示,在訓練到29次時,判別器已到達了最好的狀態(tài),隨著訓練時間的增加,損失幾乎接近零.當訓練結(jié)束時,正常圖像的重建效果如圖13(c)所示,相比于原GANomaly,加入十字交叉注意力后,改善了圖像重建上的細節(jié),如注膠面的蓋沿顏色、印刷面顏色等細節(jié).雖然判別器達到最好狀態(tài),但重建的圖像尚未達到真實圖像的決策邊界,網(wǎng)絡(luò)輸出的重建圖像還需進一步提升,如瓶蓋蓋沿輪廓,印刷花紋等細節(jié).
圖11 熱力圖Fig.11 Heat map
圖12 損失函數(shù)Fig.12 Loss function
圖13 重建效果對比Fig.13 Comparison of reconstruction results
根據(jù)以上分析,將交叉熵損失函數(shù)更改為最小二乘損失函數(shù),Ladv-G損失函數(shù)的訓練表現(xiàn)如圖12(b)所示,損失最終達到了0.011.原損失函數(shù)Ladv在訓練29 次,其值幾乎等于零,出現(xiàn)梯度消失的問題.為使訓練穩(wěn)定,將Ladv更改為Ladv-G,進一步提升圖像的重建效果,如圖13(d)所示.
為進一步探究改進后的GANomaly網(wǎng)絡(luò),在瓶蓋數(shù)據(jù)集上,對比了改進前后的ROC曲線和AUC值.缺陷檢測使用了異常檢測方法,GANomaly網(wǎng)絡(luò)相當于一個二分類器,故采用ROC曲線和AUC值來評價模型的好壞.其中ROC曲線代表模型以多大的置信度將樣本分類為正樣本,在瓶蓋數(shù)據(jù)集中出現(xiàn)類別不平衡的現(xiàn)象下,即負樣本比正樣本多,ROC曲線能夠保持不變.而AUC 是ROC 曲線下的面積,當AUC 的值越大,缺陷檢測效果越好.對比結(jié)果如圖14所示.在改進前,受交叉熵損失函數(shù)和編解碼結(jié)構(gòu)的影響,在重建圖像過程中,遺漏了瓶蓋的細節(jié)信息,尤其是反面瓶蓋蓋沿部分,也影響著ROC 曲線.當在原GANomaly網(wǎng)絡(luò)中加入了十字交叉注意力模塊,同時將交叉熵損失函數(shù)替換為最小二乘損失函數(shù).圖14中改進后的ROC曲線更加凸,說明改進后的模型更好,同時AUC值提升了0.12.
圖14 改進前后的ROC曲線Fig.14 ROC curves before and after improvement
為驗證改進的GANomaly網(wǎng)絡(luò)的優(yōu)點,采用了如表4所示MVTec AD[28]數(shù)據(jù)集中的10類對象.
表4 MVTec AD數(shù)據(jù)集Tab.4 MVTec AD dataset
MVTec AD是一個對工業(yè)檢測方法進行基準測試的數(shù)據(jù)集,廣泛用于異常檢測,每個對象包括一組無缺陷的訓練圖像和一組具有各種缺陷的測試圖像以及無缺陷的圖像.
將提出的方法與Auto-Encoders[29]、GANomaly 和skip-GANomaly[30]在MVTec AD數(shù)據(jù)集上進行了對比.上述異常檢測網(wǎng)絡(luò)和改進的GANomaly 訓練方式一樣,僅利用正常樣本的特征構(gòu)建異常檢測的模型,有著不同的自編碼器結(jié)構(gòu).MVTec AD數(shù)據(jù)集在上述網(wǎng)絡(luò)的AtUC值如表5所示.
表5 MVTec AD數(shù)據(jù)集AUC值的比較Tab.5 Comparison on the AUC value of the MVTec AD dataset
改進后的GANomaly相比于其他3種網(wǎng)絡(luò)在AUC值上有所提升,加入了十字交叉注意力,使網(wǎng)絡(luò)更關(guān)注圖像的細節(jié)信息,同時最小二乘損失函數(shù),解決了重構(gòu)損失函數(shù)等于“0”的問題.故改進的GANomaly網(wǎng)絡(luò)能在各類數(shù)據(jù)集中應(yīng)用,具有一定的應(yīng)用價值,同時在AUC值上優(yōu)于其他3種網(wǎng)絡(luò).
基于現(xiàn)有瓶蓋缺陷檢測方法,提出了一種結(jié)合低照度圖像增強、語義分割和異常檢測的旋開蓋缺陷檢測方法.針對低照度旋開蓋在語義分割中分割不準確的問題,使用基于最大熵的Retinex模型來改善低照度圖像的亮度和對比度,通過實驗選取了分割效果好的語義分割方法OCR-Net,對旋開蓋的注膠面和印刷面進行了有效的分割.結(jié)果證明采用低照度圖像增強后,分割效果明顯提升.針對GANomaly網(wǎng)絡(luò)存在圖像重效果差的問題,基于十字交叉注意力和最小二乘損失函數(shù)進行了改進,解決原網(wǎng)絡(luò)忽略瓶蓋蓋沿細節(jié)問題,提高了AUC值,在MVTec AD數(shù)據(jù)集上優(yōu)于Auto-Encoders、GANomaly和skip-GANomaly.