李偉朝,陳志豪,張 勰,查云威
(1.廣東工業大學 自動化學院廣東省物聯網信息技術重點實驗室,廣州 510006;2.華南理工大學 電力學院,廣州 510630)
在手機屏幕的制作工藝過程中,由于環境和技術等因素影響,一些產品難免出現不可避免的缺陷。如果讓存在缺陷的手機屏幕流入市場,將會嚴重影響使用者的體驗,甚至危害生命。因此手機屏幕的缺陷檢測是手機生產的關鍵環節。傳統的人工檢測方法,存在著篩檢成本高、耗時長、準確率低等一系列問題。
隨著機器學習的發展,其應用場景涉及多個領域。基于機器學習的缺陷檢測方法也不斷被提出。Huang等人[1]提出了一種檢測手機屏幕表面缺陷的框架。該框架包含連續圖像切割規范化、原始圖像規范化、圖像塊分割、特征提取和機器學習等方法。Jian等人[2]提出了一種改進的手機屏幕玻璃缺陷識別和分割檢測算法。該算法基于輪廓對齊方法生成模板圖像。根據對準結果,采用減法和投影相結合的方法識別圖像中的缺陷。針對具有模糊灰邊界的噪聲圖像中的缺陷,提出了一種改進的模糊c-均值聚類算法。盡管基于機器學習的特征提取部分能通過專家設定有效的特征,但與深度學習相比,所提取的特征信息豐富度欠缺。此外,基于機器學習的缺陷檢測方法需要大量的先驗知識,并且缺乏魯棒性。
為了解決基于機器學習的檢測方法的局限性,不少研究人員提出優秀的基于深度學習的檢測框架。Guo等人[3]提出了一種高效的缺陷檢測網絡(EDD-Net)。該模型的骨干網絡是高效網絡。該模型提出了一種基于手機表面缺陷的特征金字塔模塊GCSA-BiFPN。此外,該模型利用一個盒/類預測網絡進行有效的缺陷檢測。文獻[4]提出了一種基于Faster R-CNN小樣本學習的手機屏幕表面缺陷檢測模型框架。設計了一個深度卷積生成對抗網絡(DCGAN),用于自動提取和融合缺陷特征,以增強和生成缺陷樣本。Wang等人[5]提出了一種用于手機屏幕缺陷檢測的孿生網絡。該網絡結合對比度損失和交叉熵損失來提高模型的識別能力。Ren等人[6]提出了一種基于“分類網絡+帶注意力機制的U-Net”的小目標分割和非明顯缺陷檢測方法。該方法提出了一種改進的解決方案,在分類網絡中添加了一個分割網絡,并在經典的U-Net中添加了注意力機制,提高了小目標分割和無意義缺陷檢測的性能。Zhu等人[7]提出了分層多頻注意力網絡(HMFCA-Net)。值得注意的是,其提出了一種使用多頻率信息和局部跨通道交互的注意力機制來表示加權缺陷特征。另外介紹了一種基于變形卷積的ResNeSt網絡,旨在處理各種缺陷形狀。以上基于深度學習的缺陷檢測框架能達到令人滿意的效果,但是對于手機屏幕缺陷檢測識別準確率與實際應用的要求還存在一定的差距,仍然存在缺陷目標檢測精度不高的問題,特別是對尺寸小的缺陷目標檢測準確率偏低。
原始手機屏幕檢測樣品為透明玻璃面板,需放在指定工控機上,通過光源照射,在背景板用攝像頭收集對應的手機屏幕原始圖像到指定服務器。手機屏幕圖像為灰度圖像,背景為黑色像素,白色像素根據不同特征為不同的缺陷。如圖1所示,分別是缺陷為氣泡、劃痕、錫灰和無缺陷的手機屏幕圖像。方框僅為缺陷所在位置方便讀者閱,其非預測結果。

圖1 手機屏幕圖像
手機屏幕缺陷檢測是一個自動化的目標檢測過程,是一個集手機屏幕缺陷特征提取、缺陷分類和缺陷定位的多任務過程。目的是準確找到手機屏幕上的缺陷,確定其類別和位置。具體而言,檢測算法要實現3個方面的功能:1)判斷輸入的手機屏幕圖像有無缺陷;2)對有缺陷的手機屏幕圖像中的缺陷進行定位;3)對定位的手機屏幕缺陷進行分類。
通過對手機屏幕圖像檢查過程進行技術分析,手機屏幕缺陷檢測主要存在以下難點:1)缺陷特征提取困難。如圖1(e)(f)所示手機屏幕圖像缺陷特征極其隱晦,缺陷大多數為幾十像素甚至十幾像素,且缺陷分布不規律。該特性造成缺陷信息復雜,提取特征極度困難。2)如圖1(a)(b)大塊錫灰和小塊錫灰圖像和(c)(d)短劃痕和長劃痕圖像所示缺陷尺寸差異大。同種缺陷形狀各不相同,尺寸跨度較大,影響了候選框的邊框回歸效果。3)缺陷特征相似。手機屏幕中一些缺陷特征極其相似,肉眼難以分辨,如劃痕紋理與錫灰相似度高。
針對手機屏幕缺陷數據集帶來的檢測難點,使得基于機器學習和深度學習的檢測框架難以達到令人滿意的檢測效果。因此,本文在Faster R-CNN目標檢測模型,提出PU-Faster R-CNN檢測框架,針對手機屏幕缺陷圖像的檢測難點,實現手機屏幕缺陷的高效檢測。
本文在Faster R-CNN目標檢測的基礎上加以改進,提出PU-Faster R-CNN。PU-Faster R-CNN框架結構如圖2所示。該模型在原Faster R-CNN模型中提出多層特征增強模塊,特征提取網絡層采用多尺度特征提取網絡,提出了自適應區域建議網絡作為區域建議網絡。

圖2 PU-Faster R-CNN框架圖

圖3 多層特征增強模塊
手機屏幕圖像為灰度圖像,其中的缺陷通常范圍為幾十像素甚至十幾像素。缺陷特征隱晦,缺乏豐富的特征信息,特征提取層提取到的特征信息缺少該缺陷應具有的關鍵特征信息,嚴重影響后續網絡層回歸和分類,導致檢測效果很差。因此,改進網絡讓特征提取層提取到豐富特征信息,是手機屏幕缺陷檢測的關鍵。
多層特征增強模塊主要采用多組圖像預處理和U-Net的串聯,將手機屏幕缺陷圖像中隱晦的缺陷特征信息進行針對性像素加強,進而達到增強圖像特征的效果。多層特征增強模塊結構如圖3所示,該模塊分為3個階段。
第一個階段對輸入圖像分別進行像素亮度變換、幾何變換、圖像銳化等圖像處理,得到多組不同圖像處理下的原始圖像。不同缺陷的特征會因為對應的預處理操作而有效提高了可視程度,各種缺陷特征更清晰,不同類型的缺陷的特征信息得到了不同程度的特征增強,有效為第二階段的U-Net語義分割提供特征明顯的原始圖像。
第二階段,各組圖像輸入已訓練好的U-Net進行語義分割操作,得到多組對應的預測的掩模圖。記錄各組圖像的掩模所在位置信息和對應原圖上的紋理特征。
第三階段,根據對應的位置信息和紋理特征,在原始輸入圖像對應的位置疊加對應的紋理信息,對同一張原始圖像進行相應的特征增強,得到缺陷特征明顯增強的輸出圖像。
手機屏幕圖像經過多層特征增強模塊處理的先后效果對比如圖4所示。容易看到,相比原手機屏幕圖(左),手機屏幕缺陷特征變得更加明顯,更加突出。其原理如下:
1)圖像預處理的使用,擴大圖像中不同目標特征之間的差別,抑制不感興趣的特征,使之改善圖像質量,豐富信息量,加強圖像判讀和識別效果。
2)U-Net串聯在圖像預處理之后,可以根據U-Net判斷每張圖像每個像素點的類別得到精確的分割圖。記錄下分割圖的掩膜位置信息以及位置信息對應相應原始圖像的位置紋理信息。最終,利用這些位置信息和對應的紋理信息在原始圖像上進行疊加,針對性的對原始圖像進行特征增強。

圖4 效果對比
左列為未處理的手機屏幕缺陷圖,右列為經過多層特征增強模塊后的手機屏幕缺陷圖。方框僅為缺陷所在位置方便讀者閱讀,非預測結果。
手機屏幕缺陷圖像的缺陷目標尺寸很小,多為小目標,一般只有幾十甚至幾個像素。對于小目標,當卷積池化到最后一層,對于一個RoI區域映射到特征圖的特征信息已經很少了。另外,卷積網絡中,深層網絡能響應高語義特征,但特征圖尺寸小,擁有太少定位信息;淺層網絡雖然包含定位信息多,但高語義特征比較少,不利于分類。這個問題在手機屏幕缺陷檢測中尤為突出,嚴重影響檢測效果。
改進Faster R-CNN的特征提取層,加入特征金字塔網絡(FPN,feature pyramid network),改進為多尺度特征提取網絡。通過融合上采樣后的高語義特征和淺層的定位細節特征,使模型能夠融合多個卷積層的多尺度信息,增強特征的表達能力,從而獲得更多關于手機屏幕小目標缺陷的有效特征信息,進而提高網絡性能。
多尺度特征提取網絡結構如圖5所示。語義信息增強部分,用ResNet50作為特征提取網絡{C2、C3、C4、C5},采用1×1卷積進行橫向連接,自上而下地傳遞語義信息構造{T2、T3、T4、T5},Ti的計算過程為:
(1)
式中,F1×1(Ci)是對Ci進行1×1卷積操作,Up(Ti+1,2)表示對Ti+1進行2倍上采樣。表示merge操作。

圖5 多尺度特征提取網絡
Pi為融合特征部分,其計算過程為:
Pi=F3×3(Ti);i=2,3,4,5
(2)
F3×3(Ti)是對Ti進行3×3卷積操作。
手機屏幕圖像中,同種缺陷的形狀大小各不相同,尺寸跨度極大。因此以人工設置方式在區域建議網絡設置的Anchor box模板尺寸和數量與ground truth box存在一定偏差,會影響檢測效果。
為提升檢測效果,RPN(region proposal network)層引入了Isodata[14]自迭代聚類算法,改進為自適應區域建議網絡。通過對Anchor box數據進行自迭代聚類,得到合適的Anchor box模板。靈活數量和大小的Anchor box模板可以有效提高手機屏幕缺陷檢測的精度。
Anchor box基本概念為以特征圖上可以映射回原圖像上的一個點為中心,預先人為設定x個Anchor box模板,稱為在這個點上生成的x個Anchor box。Anchor box的生成方式如圖6所示,在原始Faster R-CNN中,經過特征提取網絡處理之后,得到一個尺寸為m×n的特征圖,對應將原圖像劃分為m×n個區域,即原圖的每個區域的中心由特征圖上的一個像素點坐標表示。通過上述Anchor機制,在每個區域生成x個Anchor box,x一般人為設置。本文改進的自適應區域建議網絡中,x為isodata自迭代聚類算法根據訓練集標注尺寸樣本聚類得到的聚類中心的數目,各個聚類中心的結果作為Anchor box的模板尺寸。

圖6 anchor box的生成方式
自適應區域建議網絡算法流程如圖7所示。自適應區域建議網絡基本步驟如下:
1)初始設定K0個Anchor box模板類,每個模板類中最少的樣本數為Nmin,輸入n個訓練集標注尺寸樣本,最大迭代次數I。
2)針對每個訓練集標注尺寸樣本,計算它與模板類中心的距離,將其分入距離最小的模板類中。此時模板類的數目為K1。
3)判斷每個模板類中樣本數目N是否低于最少樣本數Nmin,低于則取消該模板類,類中樣本按最小距離原則重新分配到剩余類,令K1減1。
4)根據各模板類中數據,重新計算模板類聚類中心。
5)若K1
6)達到最大迭代次數時終止,輸出K=K1,否則返回步驟2繼續迭代。K1即為設置Anchor box的模板數量,各模板類聚類中心則為Anchor box模板。
算法根據計算樣本與類中心的歐式距離進行分類。距離越小,相似度越大。計算公式為:
(3)
式中,Si是第i個樣本,uj為第j個聚類。

圖7 算法流程圖
在原RPN網絡引入isodata聚類算法,通過迭代聚類訓練手機屏幕缺陷樣本數據,能夠獲得合適的Anchor box模板和數量,增強Anchor box的適應性,解決屏幕缺陷尺寸跨度大的問題,提高檢測精度。
PU-Faster R-CNN框架的損失函數由兩部分組成,RPN部分的損失和Fast R-CNN部分的損失。RPN網絡的損失函數是分類損失和回歸損失的總和。損失函數計算公式如下:
(4)
其中:Pi表示第i個Anchor box被預測為真實標簽的概率。正樣本時Pi為1,負樣本時為0。ti表示預測第i個Anchor的邊界框回歸參數。ti表示第i個Anchor對應的ground truth box。Ncls表示一個小批次256中所有樣本的數量。Nreg表示Anchor box位置的數量,約為2 400個。
(5)
其中:Lcls是分類損失。Pi表示第i個Anchor box被預測為真實標簽的概率。正樣本時Pi為1,負樣本時為0。

(6)
(7)
ti=[tx,ty,tw,th]
(8)
tx=(x-xa)wa
(9)
ty=(y-ya)haty
(10)
(11)
(12)
(13)
(14)
(15)
(16)
其中:Pi為正樣本時為1,為負樣本時為0。ti表示預測第i個Anchor box的邊界框回歸參數。ti表示第i個Anchor box對應的ground truth box。
Fast R-CNN的損失函數部分是PU-Faster R-CNN第二部分的損失函數。Fast R-CNN損失函數由分類損失和邊界盒回歸損失組成。
L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v)
(17)
其中:p是分類器預測的softmax概率分布。u對應于目標的實際類別標簽。tu則對應于由邊界框回歸器預測的相應類別u的回歸參數。v對應于實際目標的邊界框回歸參數。
L(p,u,tu,v)=-logpu
(18)
(19)
(20)
其中:tu對應于相應類別u·v的邊界框回歸因子預測的回歸參數,而v對應于實際目標的邊界盒回歸參數。
實驗的數據集來自廣東省某手機屏幕生成企業,原手機實體屏幕為透明玻璃面板,需要在指定工控機上通過光源照射,在背景板采集黑白的手機屏幕圖像。原始手機屏幕圖像如圖8所示。

圖8 原始手機屏幕圖像
原始手機屏幕圖像分辨率為6 400×6 400像素,圖像尺寸太大,而缺陷只有十幾像素甚至幾像素,導致目標檢測效果不佳。為了獲得更加豐富多樣的數據,同時深度學習模型的訓練要求大量的樣本,實驗中對數據集進行了數據增強。實驗種所采用的數據增強方法為:1)對原始圖片進行10×10的切割,最終圖片分辨率為640×640像素;2)對于切割后的數據集進行像素變換方法:調節亮度,飽和度,直方圖均衡化,高斯模糊;3)對于切割后的數據集進行幾何變換方法:翻轉,旋轉,裁剪。
數據集的標注采用labelImg目標檢測數據集標注工具,對每一張數據增強后的圖圖中的缺陷進行標注,每張圖像形成一個xml文件,每個xml文件記錄了對應圖像所包含的缺陷的種類及缺陷位置信息。
數據集的生成按照PASCAL VOC 2012數據集的相關目錄結構和格式生成,最終生成txt文件分別記錄每個jpg圖像名和xml文件名。
實驗的的數據集包含3種類別的缺陷:劃痕(scratch)、氣泡(bubble)和錫灰(tin_ash)。經過處理后的,數據集圖片數量共6 659張,大致按5:1的比例隨機選取5 407張圖片為訓練集,1 252張圖片為測試集,如表1所示。在有缺陷的圖片中,具體缺陷的數量分布見表2。

表1 訓練集、測試集數量分布

表2 訓練集和測試集的缺陷的數量分布
實驗采用的計算機硬件配置為Intel(R)Xeon(R)CPU E5-2 650 v4 @ 2.20 GHz,NVIDIA GeForce RTX 3 080 GPU。用Python編程實現改進的PU-Faster R-CNN,用于訓練和測試。整個實驗是使用開源深度學習框架pytorch實現的。輸入圖像尺寸為640×640像素。Backbone選擇了ResNet50。選擇優化算法為Adam算法。學習率為1e-3,使用到的學習率下降方式為cos。訓練步數設置為3 000。在獲得足夠的數據后,使用自適應矩估計(Adam)優化算法進行訓練,動量為0.9,權重衰減為0.000 1,beta1為0.9和beta2為0.999。訓練批量大小設置為16,以避免局部極小。模型置信度為0.5,非極大值抑制nms-iou參數為0.3。實驗分為兩部分,第一部分為PU-Faster R-CNN模型和主流的缺陷檢測算法的對比實驗,參與比較的模型有Yolo系列模型,原始Faster R-CNN模型和SSD模型。第二部分是消融實驗,用以驗證分析PU-Faster R-CNN各模塊對提高手機屏幕缺陷檢測性能的有效性。
論文實驗評價指標為目標檢測領域常用的評價指標:準確率Accuracy,精確率Precision,召回率Recall,準確度Accuracy of Precision(AP),漏檢率Miss rate,錯誤率Error rate。
3.2.1 對比實驗
實驗中,為驗證所提出的PU-Faster R-CNN對手機屏幕缺陷檢測的有效性,將結合不同的主流目標檢測框架在手機屏幕數據集場景下進行對比實驗。其中參與實驗的框架有Faster R-CNN、YoloV3、YoloV4和SSD算法。實驗采用數據集見前文,PU-Faster R-CNN針對手機屏幕數據集下的每種缺陷檢測效果如圖9所示。PU-Faster R-CNN針對手機屏幕數據集下預測每種缺陷的AP和總mAP如圖10所示,可以看出,改進后的PU-Faster R-CNN模型在各個類別的手機屏幕缺陷目標檢測性能效果都很好。

圖9 手機屏幕缺陷檢測效果圖

圖10 總mAP和每類缺陷預測的AP值
表3分別顯示了PU-Faster R-CNN和手機表面數據集上的其他目標檢測框架之間的性能比較。與Faster R-CNN相比,PU- Faster R-CNN在mAP指標上提高36.7%、準確率提高了55.5%、精確度提高了52.8%、召回率提高了60.4%、漏檢率降低了60.1%、錯誤率降低了55.5%??蚣軝z測性能提升的原因在于:
1)多層特征增強模塊可以顯著增強缺陷的語義信息,降低后續檢測的難度和提高了檢測精度;
2)引入多尺度特征提取網絡,提高了模型對多尺度目標的特征提取能力;
3)自適應區域建議網絡的提出,通過生成尺寸、數量更合適的Anchor模板,提高預測的精度和框回歸的效率。
與YoLo系列模型相比,以YoLoV4為例,PU-Faster R-CNN在mAP性能上提高12.0%、準確率上提高了4.4%、精確度提高了21.4%、召回率提高了7.8%、漏檢率降低了7.5%、錯誤率降低了7.5%。原因在于:YoLoV4骨干部分的BoF特征包括特征CutMix 和 Mosaic增強、DropBlock 正則化和類別標簽平滑化,對于特征明顯的缺陷檢測圖像有優秀的效果,而手機屏幕缺陷圖片中的缺陷特征隱晦,YoLoV4提取到的特征信息摻雜著一些非關鍵信息,嚴重影響回歸與分類,導致檢測效果略差。PU-Faster R-CNN提出多層特征特權模塊,通過語義分割,讓用于區分缺陷類別的輪廓特征和紋理特征變得明顯,提升了模塊對缺陷特征的表達能力,因而檢測性能比YoLo系列算法更勝一籌。
與SSD模型相比,PU Faster R-CNN在mAP性能指標上提高24.2%、準確率上提高50.9%、精確度提高了65.0%、召回率提高了0.9%、漏檢率降低了0.7%、錯誤率降低了50.9%。原因在于:手機屏幕缺陷多為小目標缺陷。在眾多目標檢測算法中,SSD對于小目標的檢測表現較差,因為經過多層卷積,SSD對小目標提取的缺陷特征信息豐富度缺乏。PU-Faster R-CNN多尺度特征提取網絡融合上采樣后的高語義特征和淺層的定位細節特征,充分提取小目標缺陷的特征信息,故能提高性能。

表3 PU-Faster R-CNN與主流技術各項指標對
3.2.2 消融實驗
本實驗將驗證分析PU-Faster R-CNN各模塊對提高手機屏幕缺陷檢測性能的有效性。如表4,實驗中使用了4種不同的方案。方案一選擇原始Faster R-CNN作為整個框架;方案二選擇基于Faster R-CNN引入多尺度特征提取網絡;方案三選擇基于Faster R-CNN引入多尺度特征提取網絡和多層特征增強模塊;方案四是完整的PU Faster R-CNN。4個不同實驗方案分別在手機屏幕數據集得到四組實驗性能結果。
方案二中基于原始Faster R-CNN加入多尺度特征提取網絡,較方案一在mAP指標上提高了5.8%,準確率提高了15.9%,精確率提高了8.4%。原因在于多尺度特征提取網絡融合了淺層網絡的定位信息和深層網絡的高語義特征,實現了特征的跨層連接,進而得到不同尺度的特征圖。相比原始Faster R-CNN使用一組基礎的卷積層+ReLu激勵層+池化層提取圖像特征的方法,能提取到更加豐富的特征信息,用于后續分類與回歸,故能提高性能。
方案三中基于原始Faster R-CNN加入多尺度特征提取網絡和多層特征增強模塊,較方案二在mAP性能指標上提高了19.1%,準確率提高了30.0%,精確率提高了13.2%。方案三相比于方案一,在mAP性能指標上提高了24.7%,準確率提高了45.9%,精確率提高了21.6%。數據集中手機屏幕圖片特征非常隱晦,缺陷分布不規律,紋理、背景復雜,提取特征極度困難,且缺陷形狀大小等屬性上的特征呈現多樣性,即使同一種缺陷,尺寸和形狀上也存在多種分布。多層特征增強模塊通過圖像預處理和U-Net網絡的結合,對不同類型的缺陷特征信息進行特征增強,再經過語義分割得到特征的位置信息以及紋理特征,疊加到原圖上,消除了圖像無關信息,增強了缺陷信息的輪廓特征和紋理特征,最終從隱晦的手機屏幕圖片中提取到豐富的特征信息。
方案四中為完整的PU-Faster R-CNN,基于原始Faster R-CNN加入了多尺度特征提取網絡、多層特征增強模塊和自適應區域建議網絡,較方案三在mAP性能指標上提高了12.0%、準確率提高了9.6%、精確率提高了31.2%。方案四相比于方案二,在mAP性能指標上提高了30.9%,準確率提高了39.6%,精確率提高了44.4%。方案四相比于方案一,在mAP性能指標上提高了36.7%,準確率提高了55.5%,精確率提高了52.8%。原始Faster R-CNN中RPN網絡的Anchor box模板尺寸和數量要求人為設置,而在手機屏幕缺陷檢測場景下,缺陷形狀大小不一,跨度極大,人為設置的Anchor box模板與實際ground truth box存在較大差異。PU-Faster R-CNN的自適應區域建議網絡對訓練集樣本進行自迭代聚類,將聚類得到的聚類中心和聚類中心的數量分別作為Anchor box的模板尺寸和模板數量,這樣得到的Anchor box模板與缺陷尺寸的擬合性更高,有效提高屏幕缺陷檢測的性能。

表4 PU-Faster R-CNN消融實驗性能指標
長期以來,缺陷檢測問題一直困擾著工業制造業。手機表面缺陷檢測作為工業生產的重要組成部分,越來越受到重視。然而,圖像特征隱晦、缺陷尺寸差異大等問題限制了基于深度學習的檢測框架。因此,基于PU-Faster R-CNN的手機屏幕缺陷檢測框架被提出解決上述問題。針對圖像特征不明顯,設計了多層特征增強模塊,采用一種新穎的方式增強缺陷的特征信息。構建多尺度特征提取網絡,有效提取多尺度的缺陷語義信息。論文中設計了自適應區域建議網絡,自適應的Anchor box模板生成方式,通過聚類的方式生成擬合性更好的Anchor box模板。實驗結果表明,該模型在手機屏幕檢測中優于流行的目標檢測模型。
最后,該框架適用于低復雜性數據集。然而,當數據集的復雜性增加時,檢測結果可能不太令人滿意。復雜缺陷的檢測也是未來工作的一個新的研究方向。該框架有望成為一種新的目標檢測解決方案。它可以應用于手機表面生產,包括應用場景。