莫文星 劉華珠
(1. 東莞理工學院 計算機科學與技術學院,廣東東莞 523808;2. 東莞理工學院 國際微電子學院,廣東東莞 523808)
液晶顯示屏(Liquid Crystal Display,LCD)缺陷檢測的核心是在于光學成像系統(tǒng)的搭建和檢測算法的實現(xiàn),由于工業(yè)生產(chǎn)線的實際需求,對光學成像系統(tǒng)穩(wěn)定性要和缺陷檢測系統(tǒng)的檢測速度要求較高。傳統(tǒng)檢測方法是基于人工檢測,但是該方法卻存在著諸多弊端,比如強度大、生產(chǎn)效率低、主觀性、檢測成本高等。為提高工廠生產(chǎn)效率和降低勞動成本,全自動LCD缺陷檢測越來越受到企業(yè)重視。
LCD缺陷檢測方法主要分為兩類:一類是基于傳統(tǒng)機器視覺的方法,一類是基于深度學習的方法。在基于傳統(tǒng)機器視覺的方法中楊勍等[1]提出了一種利用局部凸包擬合算法,實現(xiàn)對小視野LCD圖像異物缺陷的自動分割,但是存在缺陷連通方法的魯棒性問題;王宏碩等[2]利用二維DFT從頻域消除周期性紋理成分的方法對LCD面板缺陷圖像進行處理, 解決了基于顯著圖模型的缺陷檢測方法對缺陷大小敏感的問題;張騰達等[3]提出了一種基于二維離散傅里葉變換的方法能檢測出包括纖維、污點和劃痕的LCD缺陷。在基于深度學習的方法中馬嶺等[4]使用了深度卷積生成對抗網(wǎng)絡和遷移學習用于LCD表面缺陷檢測,但是存在在線檢測實時性問題。何俊杰等[5]通過構建多層的區(qū)域提議網(wǎng)絡生成精確的候選區(qū)域,再根據(jù)區(qū)域特征和樣本分類實現(xiàn)對LCD缺陷的識別及定位。歐先鋒等[6]提出了基于全卷積神經(jīng)網(wǎng)絡的端到端的LCD缺陷檢測算法對缺陷點與非缺陷點進行像素級分類,但是檢測率以及穩(wěn)定性存在不足。以上算法都不能很好地兼顧檢測時間和檢測精度,因此本文提出了一種基于改進的YOLO算法的 LCD缺陷來滿足精度和時間的要求。
LCD常見的表面缺陷主要有黑點、劃痕、水漬、崩角等,其中黑點和劃痕發(fā)生在LCD表面,崩角發(fā)生在邊緣,污漬發(fā)生在夾層里。各類缺陷的實物圖如圖1所示。
圖1 各類缺陷實物圖
檢測系統(tǒng)主要包括圖像采集系統(tǒng)和實時檢測系統(tǒng),總體方案如圖2。圖像采集系統(tǒng)主要包括光源、相機、鏡頭、PC等,負責采集LCD外觀圖像,并將采集得到的圖像傳至后續(xù)模塊進行圖像分析和處理。實時檢測系統(tǒng)主要由缺陷檢測算法構成,該系統(tǒng)對前面采集得到的LCD外觀圖像進行處理,首先提取需要檢測的部分,然后找出待檢LCD上存在的缺陷,最后對檢測到的缺陷進行分析和判定。
圖2 檢測系統(tǒng)的總體方案
圖像采集是機器視覺檢測系統(tǒng)工作的首要環(huán)節(jié),圖像采集系統(tǒng)的成像效果直接影響機器視覺檢測系統(tǒng)的性能。該系統(tǒng)的硬件部分包括相機、鏡頭、光源三部分,具體組合安裝如圖3所示,這些硬件的選型和安裝會直接影響圖像的成像質(zhì)量[7]。
圖3 圖像采集系統(tǒng)
相機的選型是根據(jù)視野大小、要求的像素精度來確定分辨率。本實驗中檢測精度要求達到0.05 mm/pixel,其中LCD屏幕尺寸大小是190×115(mm)2,故相機像素至少為(190/0.05×115/0.05)×2=17 480 000,所以至少需要2 000萬像素的工業(yè)相機。綜合以上分析,該圖像采集系統(tǒng)選用A3B00MG000工業(yè)相機和CST-DTCM110-72-AL鏡頭。因為同軸光會產(chǎn)生更多的照明線,減少低對比度的表面特征,從而更清晰地反映對比度明顯的幾何表面特征,所以在光源上采用了CST-COS100-W型號的同軸光源。經(jīng)過實際測試,當被測物離光源54 mm和相機鏡頭離被測物172 mm時能夠很好地將缺陷顯示出來。
2.2.1 圖像預處理
圖像預處理對系統(tǒng)運行的可靠性和檢測結果的準確性起著至關重要的作用。本系統(tǒng)的圖像預處理主要在空間域上,空間域處理主要分為灰度變換和空間濾波兩類。灰度變換對圖像的單個像素進行操作,主要以對比度和閾值處理為目的;空間濾波涉及改善性能的操作,通過對圖像中每個像素的鄰域處理來銳化圖像[8]。
伽馬變換是常用的灰度變換,通過非線性變換,讓圖像中較暗的區(qū)域的灰度值得到增強,圖像中灰度值過大的區(qū)域的灰度值得到降低。經(jīng)過伽馬變換,圖像整體的細節(jié)表現(xiàn)會得到增強。其變換的基本形式為如式(1)所示。
s=crγ
,
(1)
其中,c和γ為正常數(shù)。γ>1時會壓縮灰度級低的部分,拉伸灰度級高的部分;γ<1時會壓縮灰度級高的部分,拉伸灰度級低的部分;而γ=1時是線性的灰度變換,此時通過線性方式改變原圖像。
為了確定γ的最優(yōu)取值,需要對圖像的灰度值進行統(tǒng)計,當灰度直方圖中缺陷的灰度統(tǒng)計值與背景的灰度統(tǒng)計值的距離k最大時,γ達到最優(yōu)。以某黑點缺陷圖像為例,灰度統(tǒng)計結果如圖4所示。
圖4 圖像灰度直方圖
圖4中灰度統(tǒng)計部分中占比小的為缺陷,占比大的部分為圖像背景。圖5為k和γ之間的關系示意圖。由圖5可知,當γ=1.46時,k取最大值,即當γ=1.46時缺陷能很好地和背景區(qū)分開來。
圖5 k和γ的關系圖
2.2.2 子區(qū)域分割
子區(qū)域分割是圖像處理中的一項重要技術,它是將圖像分割成若干個小的子區(qū)域或子圖像的過程。通常情況下,子區(qū)域分割的目的是更好地理解和處理圖像,從而實現(xiàn)各種不同的應用,例如目標檢測和跟蹤、圖像分割、特征提取和圖像增強等。
由于原圖分辨率為5 472×3 648像素太大,如果直接將原圖送入模型中部分缺陷特征會在層層卷積中丟失。因此本文將原圖被分割成16個子塊圖,即每個子塊圖為1 368×912像素大小,防止缺陷特征丟失。
2.2.3 檢測算法
Yolov5是基于深度學習的單階段目標檢測模型[9],它將目標檢測問題轉(zhuǎn)化為端到端的回歸問題,在檢測速度上要優(yōu)于基于二階段的Faster R-CNN。Yolov5主要分為主干網(wǎng)絡、頸部網(wǎng)絡、檢測網(wǎng)絡三大部分。主干網(wǎng)絡主要由CBS、CSP、SPPF組成;CBS層由Conv卷積函數(shù)、Batch Norm歸一化函數(shù)和SiLU激活函數(shù)[10]組成;CSP模塊分為CSP1_X和CSP2_X。前者由兩個CBS和X個Resunit組成然后拼接后再接一個CBS;后者由3X個CBS組成然后拼接后再接一個CBS。SPPF是主干網(wǎng)絡的最后一層,它采用多個小尺寸池化核級聯(lián)代替SPP模塊中單個大尺寸池化核,從而在保留原有功能,即融合不同感受野的特征圖,豐富特征圖的表達能力的情況下,進一步提高了運行速度。頸部網(wǎng)絡主要由PANet[11]構成,它經(jīng)過自頂向下的特征融合后,再進行自底向上的特征融合,這樣底層的位置信息也能夠傳遞到深層,從而增強多個尺度上的定位能力。檢測網(wǎng)絡包括3個輸出頭,卷積步長分別是8、16、32,大尺寸輸出特征圖負責檢測小物體,小尺寸輸出特征圖負責檢測大物體。
模型的損失函數(shù)包括三個部分:矩形框損失、分類損失、置信度損失??倱p失的計算如式(2)所示
L=Lbox+Lcls+Lcon.
(2)
矩形框損失的計算如式(3)所示,因為當預測框與真實框沒有相交時,IoU不能反映兩者之間的距離,并且此時IoU損失為0,將會影響梯度回傳,從而導致無法訓練。
(3)
其中,IoU表示預測框與真實框的重疊程度,p表示預測框和真實框中心點之間的歐式距離,c表示預測框和真實框的最小閉包區(qū)域的對角線距離,b和bgt分別表示預測框和真實框的中心點。α是權重參數(shù),它的計算如式(4)所示
(4)
v是用來衡量寬高比的一致性,它的計算如式(5)所示
(5)
w和h分別為預測框的寬和高,wgt和hgt分別為真實框的寬和高。
分類損失使用二元交叉熵函數(shù)來計算,它的計算如式(6)所示
(6)
其中,y為輸入樣本對應的標簽(正樣本為1,負樣本為0),p為模型預測該輸入為正樣本的概率。
置信度損失的計算如式(7)所示
Lcon=-LlogP-(1-L)log(1-P),
(7)
其中,L為置信度標簽矩陣,P為置信度預測矩陣。
由于原始的Yolov5模型對全局信息的提取能力不足進而導致對劃痕的識別不精確,因此將第8層的原先CSP1_1模塊替換為C3TR模塊。該模塊由C3層和Transformer模塊相結合,運用基于輸入特征上下文的加權平均操作,通過相似性函數(shù)動態(tài)計算相關像素對之間的注意力權重,使得注意力模塊[12]能夠自適應地關注全局感受野下的不同區(qū)域,將更多的注意力聚焦于缺陷區(qū)域,捕捉更多有效的特征從而提高算法性能[13]。改進后的Yolov5模型結構如圖6所示。
圖6 改進后Yolov5模型結構
C3TR層是C3層和Transformer架構中的encoder部分相結合而成,其具體的實現(xiàn)主要包括四步:首先將輸入圖像特征進行維度壓縮后轉(zhuǎn)為序列化數(shù)據(jù);然后將位置編碼和序列化數(shù)據(jù)相加;再將所有數(shù)據(jù)傳入Transformer架構中的enconder中進行殘差連接和多頭注意力機制處理;最后通過全連接層得到輸出結果[14]。C3TR層具體結構如圖7。
圖7 C3TR層結構示意圖
實驗一共采集450張圖像,其中黑點和崩角各100張,劃痕200張,水漬50張。將每類缺陷的圖片數(shù)量按照8∶2的比例分別隨機劃分成訓練集和驗證集,然后對訓練集的數(shù)據(jù)進行數(shù)據(jù)增強。數(shù)據(jù)增強是一種常用的技術,通過利用保留輸出標簽的輸入轉(zhuǎn)換來增加標記訓練集的大小和多樣性。在計算機視覺領域,圖像增強已成為深度卷積神經(jīng)網(wǎng)絡中對抗過擬合的常用隱式正則化技術,并被廣泛用于提高性能[15]。本文主要對訓練集采用了水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、旋轉(zhuǎn)及隨機縮放的數(shù)據(jù)增強方式,最后得到訓練集數(shù)據(jù)1 440張圖像,驗證集90張圖像。
3.2.1 評價指標
評價指標主要包括準確率(Precision)、召回率(Recall)、F1、檢測速度(FPS)這四個指標。其中準確率是模型分類正確的正樣本數(shù)與測試集中正樣本總數(shù)的比值;召回率是原始數(shù)據(jù)集中的正樣本有多少被準確預測;F1是對精確率和召回率的整體評價;檢測速度是指處理一張圖片所需要的時間。它們的計算如式(8)~式(11)所示:
(8)
(9)
(10)
(11)
其中,TP(True Positive)表示檢測到LCD缺陷,且實際LCD圖像中也存在缺陷;FP(False Positive)表示檢測到缺陷,但實際LCD圖像中不存在缺陷;FN(False Negatives)表示沒有檢測到LCD缺陷,但實際LCD圖像中存在缺陷;T表示模型推理時間。
3.2.2 結果分析
表1所示為Yolov5優(yōu)化模型與Faster-RCNN[15]、SSD[16]基本模型及Yolov5基準模型[9]對LCD缺陷檢測精度和速度(幀/s)進行對比檢測結果。實驗結果表明,F(xiàn)aster R-CNN準確率比SSD高但是召回率、F1還有檢測速度均不如SSD,而Yolov5的各項指標均優(yōu)于SSD。經(jīng)過Transformer架構和C3層融合改進的Yolov5算法相比,雖然速度不及Yolov5基準模型和SSD模型,但是準確率、召回率和F1指標都有一定的提升,檢測速度也達到155幀/s,且能夠滿足實時處理的要求。為了更加直觀地驗證本文算法對每類缺陷檢測效果,將各個模型對圖片進行檢測,其中圖8為各類別缺陷部分樣本檢測結果圖。第一列是SSD模型檢測結果;第二列是Faster R-CNN模型檢測結果;第三列是Yolov5模型檢測結果;第四列是本文模型檢測結果。
表1 LCD缺陷檢測結果
圖8 各類別檢測結果
通過對檢測結果對比分析可知,在檢測黑點時,SSD未識別出黑點缺陷,F(xiàn)aster R-CNN檢測效果最好,其檢測置信度達到98%,本文模型檢測置信度達到94%;在檢測劃痕時,SSD檢測結果最差,其檢測置信度只有50%,本文模型檢測效果最好,置信度達到94%;在檢測污漬時,SSD檢測效果最好,其檢測置信度達到100%,其次是Faster R-CNN,檢測置信度是98%,本文模型檢測效果較差,但是檢測置信度達到了95%;在對崩角檢測時,SSD模型、Faster R-CNN、Yolov5、本文模型的檢測置信度依次提升,最好的是本文模型檢測置信度達到95%。
LCD是一種常見的數(shù)字顯示屏,廣泛應用于電視、計算機顯示器、智能手機、平板電腦等設備中。在生產(chǎn)過程中,LCD面板可能會出現(xiàn)各種各樣的缺陷,例如黑點、劃痕、崩角、污漬等,這些缺陷會影響產(chǎn)品的性能。因此本文設計了一種基于深度學習的LCD缺陷檢測系統(tǒng),并且針對Yolov5原模型對劃痕識別不準確提出了改進算法,通過構建C3TR模塊并引入到網(wǎng)絡模型中。實驗結果表明:在準確率和召回率上分別比Yolov5模型提高了4.1%和1.4%,能夠滿足檢測精度和時間的要求。