陳易宇
摘要:隨著工業(yè)4.0的智能化時代邁進(jìn),為實現(xiàn)電視顯示屏表面缺陷自動化檢測,提高提高檢測效率,該文引入基于神經(jīng)網(wǎng)絡(luò)的電視顯示屏表面缺陷檢測方法。該檢測方法在電視顯示屏圖像的預(yù)處理、模型設(shè)計、模型訓(xùn)練和檢測過程中,表現(xiàn)出優(yōu)異的特征提取能力,以及強(qiáng)大的目標(biāo)分類性能,能夠有效完成對電視顯示屏表面缺陷的檢測,滿足實際生產(chǎn)過程中的缺陷檢測需要。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);電視顯示屏;缺陷檢測方法
中圖分類號:TP393? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)16-0021-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 背景
隨著人們生活水平的不斷提高,電視早已為大家日常娛樂、生活和工作的必需品。電視顯示屏的質(zhì)量直接關(guān)乎電視的整體品質(zhì)。因此,電視顯示屏外觀檢測是智能生產(chǎn)過程中不可或缺的環(huán)節(jié)。然而,當(dāng)前各大電視生產(chǎn)商大都采用肉眼檢測手機(jī)屏幕缺陷的檢測[1]。人工檢測會增加成本的投入、效率低,并且受人的主觀因素影響,檢測的準(zhǔn)確率難得到證。機(jī)器視角為實現(xiàn)電視顯示屏表面缺陷自動檢測提供了新的方案。
運(yùn)用機(jī)器視覺相關(guān)技術(shù)實現(xiàn)表面缺陷檢測是當(dāng)前社會熱點(diǎn)。國內(nèi)外科研人員對不同情境下的表面缺陷檢測進(jìn)行了一系列研究,在一定層次上解決了表面檢測缺陷相關(guān)問題。如,Vasilic等人提出基于直方圖的閾值選擇算法,能夠檢測出陶瓷表面的劃痕[2]。孫雪晨等人為了對表面缺陷特征進(jìn)行提取,引入領(lǐng)域加權(quán)分割的方式,有效完成對凸輪軸表面缺陷的檢測[3]。何志勇等人實現(xiàn)微小表面缺陷的快速檢測,提出了基于梯度圖像方差分布搜尋表面缺陷區(qū)域的算法[4]。這些方法能夠為實現(xiàn)電視顯示屏缺陷檢測提供了良好的經(jīng)驗借鑒。
電視顯示屏在生產(chǎn)過程中會產(chǎn)生亮點(diǎn)、亮度等缺陷。在傳輸?shù)倪^程中存在刺傷、劃傷等現(xiàn)象?;谏窠?jīng)網(wǎng)絡(luò)的電視顯示屏表面缺乏檢測,旨在充分發(fā)揮神經(jīng)網(wǎng)絡(luò)在計算機(jī)視覺技術(shù)檢測方面的優(yōu)勢,為適應(yīng)電視大規(guī)模生產(chǎn)過程的顯示屏智能化缺陷檢測提供新思路,進(jìn)而大力推進(jìn)電視產(chǎn)業(yè)蓬勃發(fā)展。
2 缺陷檢測方法設(shè)計
2.1實施過程設(shè)計
基于神經(jīng)網(wǎng)絡(luò)的電視顯示屏表面缺陷檢測,大致可分為圖像預(yù)處理、模型設(shè)計與訓(xùn)練以及檢測三大過程,如圖1所示。數(shù)據(jù)樣本將通過高精度線陣攝像機(jī),對實際生產(chǎn)過程中進(jìn)行圖像拍攝的方式獲得。采集的缺陷特征可分為劃痕、刮痕、刺痕、亮點(diǎn)和漏光等。數(shù)據(jù)預(yù)處理的是對圖像進(jìn)行掃描、分割和保存的過程操作。
2.2數(shù)據(jù)集缺陷特征分類
電視顯示屏的缺陷是根據(jù)產(chǎn)生原因進(jìn)行命名。雖然缺陷特征類型較多,但是許多不同特征的缺陷,在形態(tài)上能夠表現(xiàn)出相似性。如圖2中的圖片為劃痕或刮痕,從形態(tài)上即表現(xiàn)極為相似的線型現(xiàn)狀。如圖3中的圖片分別為亮點(diǎn)、刺傷、亮度缺陷。這三個特征在形態(tài)上均呈現(xiàn)為點(diǎn)的現(xiàn)狀,仍然表現(xiàn)為極具相似性。
經(jīng)過對采集的圖像進(jìn)行預(yù)處理,共獲得956張數(shù)據(jù)樣本。為了滿足神經(jīng)網(wǎng)絡(luò)訓(xùn)練對數(shù)據(jù)樣本集數(shù)量的需求,本文采用圖像旋轉(zhuǎn)、隨機(jī)性剪切以及調(diào)整圖像亮度等形式,將數(shù)據(jù)樣本增加至9617張。然后,按2:2:6的比例分配方式,將數(shù)據(jù)樣本劃分為測試集、驗證集和訓(xùn)練集三類。最后通過Tensorflow 編程將圖片數(shù)據(jù)集制作成tfrecord格式的數(shù)據(jù),以供Tensorflow進(jìn)行讀取。
3模型設(shè)計與訓(xùn)練
3.1模型設(shè)計
當(dāng)前,主流的神經(jīng)網(wǎng)絡(luò)絕大多數(shù)據(jù)是采用 ImageNet數(shù)據(jù)集進(jìn)行設(shè)計。該設(shè)計是通過構(gòu)建巨大的網(wǎng)絡(luò)模型和設(shè)置超參數(shù)的方式,對圖像表現(xiàn)特征進(jìn)行訓(xùn)練。而電視顯示屏表面缺陷由于現(xiàn)代工藝水平的進(jìn)步,一張樣本上幾乎只有一種缺陷,并且缺陷特征較為簡單,表現(xiàn)為單一性特征。因此,本文選取適中的GoogelNet進(jìn)行遷移學(xué)習(xí),設(shè)置參數(shù)量共為24層??紤]到dropout的隨機(jī)丟棄機(jī)制可能會導(dǎo)致重要的神經(jīng)元被丟棄問題[5],本文去除inception-B層、inception-C層后的全連接層,使用全局平均池化層進(jìn)行替代,以防止訓(xùn)練過程出現(xiàn)的過擬合問題(如圖4所示)。為了提升訓(xùn)練速度,本文將全連接層的高維向量降維至3維向量,進(jìn)而使得網(wǎng)絡(luò)更為輕量化。
3.2模型訓(xùn)練
本文通過搭建Tensorflow2.1框架對模型進(jìn)行訓(xùn)練,操作系統(tǒng)為Ubuntul16。鑒于訓(xùn)練的數(shù)據(jù)分布存在較大的差異,訓(xùn)練過程中有可能出現(xiàn)不收斂的現(xiàn)象。本文將數(shù)據(jù)進(jìn)行歸一化處理(歸一化函數(shù)如公式1所示)。注:Min表示訓(xùn)練數(shù)據(jù)樣本的最小值;Max表示輸入的最大值;[x]指是的得到標(biāo)準(zhǔn)化處理輸入。
[x=x-MinMax-Min]? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
本文模型訓(xùn)練過程中的網(wǎng)絡(luò)參數(shù)更新,通過引入和優(yōu)化Tensorflow既有的隨機(jī)梯度下降算法實現(xiàn)。訓(xùn)練結(jié)果的優(yōu)劣將通過學(xué)習(xí)率進(jìn)行評估。學(xué)習(xí)率是用于指導(dǎo)訓(xùn)練過程中通過觀察損失函數(shù)的梯度對網(wǎng)絡(luò)權(quán)重進(jìn)行調(diào)參。學(xué)習(xí)率的大小直接到影響到訓(xùn)練的熟練。雖然設(shè)置相對較小的學(xué)習(xí)率,在一定程度上能夠獲得網(wǎng)絡(luò)訓(xùn)練較好的優(yōu)參數(shù),但是相應(yīng)也會延長模型訓(xùn)練的時間。對此,為了盡可能找到最優(yōu)的超參數(shù)值的同時提升模型訓(xùn)練速度,本文將通過引入逐漸衰減機(jī)制(如公式2所示)。注: [base_lr]為學(xué)習(xí)率的原始值;[γ]為模型訓(xùn)練過程中變化參數(shù);[floor_iter]表示當(dāng)前訓(xùn)練更迭頻次;stepsize為學(xué)習(xí)率每次更迭頻次;最終計算結(jié)果[η]為學(xué)習(xí)率。根據(jù)公式2,本文將[base_lr]、[γ]和stepsize分別設(shè)置為0. 001、0.1、350。
[η=base_lr.γ|floor_iter||stepsize|]? ? ? ? ? ? ? ? ? ? ? ? ?(2)
4結(jié)果及分析
本文針對采集的956張圖像數(shù)據(jù)開展了3次訓(xùn)練。測試集驗證集和訓(xùn)練集按照既定的2:2:6的比例進(jìn)行分配,最終通過計算檢測率(公式3)和誤檢率(公式4)的方式,對模型訓(xùn)練的優(yōu)劣進(jìn)行驗證。注:Na表示能夠正常檢測出來的樣本個數(shù);Nb,表示被檢測出來的“點(diǎn)”形狀的缺陷樣本個數(shù);Nc表示被檢測出來的“線”形狀的缺陷樣本個數(shù);Nd為指的是測試集總數(shù);[Na→b,c]表示原為正樣本被判為負(fù)樣本的個數(shù);[Nb,c→a]表示原為負(fù)樣本被誤判為正樣本的個數(shù)。訓(xùn)練結(jié)果圖表1所示。
[A=Na+Nb+NcNd]? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
[A=Na→b,c+Nb,c→aNa]? ? ? ? ? ? ? ? ? ? ? ? (4)
測試一:隨機(jī)選取2636張訓(xùn)練樣本喂入神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)率參數(shù)值為0.006,模型的驗證率計算結(jié)果為95.52%,誤檢率計算結(jié)果為4.67%,更迭次數(shù)為600。
測試二:根據(jù)測試一的結(jié)果,考慮到喂入神經(jīng)網(wǎng)絡(luò)的樣本數(shù)量以用學(xué)習(xí)率對計算機(jī)結(jié)果有較大的影響,因此,在測試二中將數(shù)據(jù)集的數(shù)量增加到9640張,同時將學(xué)習(xí)率設(shè)置為0.01,更迭次數(shù)為1200。最終測試結(jié)果表明:驗證率提升了8.8%,而誤檢率為下降至1.23%。
測試三:在測試二的基礎(chǔ)上,將更迭次數(shù)增加至1600時,最終計算出檢測率為98.04%,誤檢率為0.50%。
三次測試的檢測結(jié)果如表2所示。注:往后的多次測試結(jié)果顯示,在測試三的基礎(chǔ)上繼續(xù)增加更迭次數(shù)后,檢測率沒有明顯的提高,相應(yīng)的檢測時間卻延長了不少。
5 結(jié)束語
針對電視顯示屏的外觀自動檢測在生產(chǎn)過程中較為困難的問題,本文設(shè)計了一種基于機(jī)器學(xué)習(xí)的電視顯示屏外觀缺陷分類檢測方法。為了更好地適應(yīng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練和缺陷檢測,該方法首先將電視顯示屏圖像樣本切割成256x256的大小規(guī)格。其次,通過圖像旋轉(zhuǎn)、隨機(jī)截取和調(diào)整圖片光照等方式,對數(shù)據(jù)樣本進(jìn)行了擴(kuò)充。然后,在Tensorflow環(huán)境下搭建神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型,并通過調(diào)整模型參數(shù)等形式對缺陷特征進(jìn)行了降維。最后,通過設(shè)置超參數(shù)、更迭次數(shù)、控制喂入神經(jīng)網(wǎng)絡(luò)樣本數(shù)量等,對訓(xùn)練模式進(jìn)行了檢測。測試結(jié)果表明,該方法能夠?qū)﹄娨曪@示屏外觀的刺傷、亮點(diǎn)、亮度、劃傷、刮傷缺陷有效檢出。
參考文獻(xiàn):
[1] 郭亞峰.基于機(jī)器視覺的產(chǎn)品表面缺陷在線檢測系統(tǒng)的設(shè)計[D].蘇州:蘇州大學(xué),2014.
[2] Vasilic S,Hocenski Z.The edge detecting methods in ceramic tiles defects detection[C]//2006 IEEE International Symposium on Industrial Electronics.July9-13,2006,Montreal,QC,Canada.IEEE,2006:469-472.
[3] 孫雪晨,姜肖楠,傅瑤,等.基于機(jī)器視覺的凸輪軸表面缺陷檢測系統(tǒng)[J].紅外與激光工程,2013,42(6):1647-1653.
[4] 何志勇,孫立寧,芮延年.一種微小表面缺陷的機(jī)器視覺檢測方法[J].應(yīng)用科學(xué)學(xué)報,2012,30(5):531-537.
[5] Srivastava N,Hinton G,Krizhevsky A,et al.Dropout:asimple way to prevent neural networks from overfitting[J].Journal of Machine Learning Research,2014(15):1929-1958.
【通聯(lián)編輯:代影】