張 翠,楊志清,周茂杰
(1.桂林理工大學(xué) 博文管理學(xué)院,廣西 桂林 541006;2.桂林理工大學(xué),廣西 桂林 541004)
注射生產(chǎn)過程復(fù)雜,影響塑料產(chǎn)品的質(zhì)量因素較多,生產(chǎn)過程中任何環(huán)節(jié)出現(xiàn)問題都有可能造成成型產(chǎn)品出現(xiàn)缺陷,因此針對如何檢測塑料產(chǎn)品的質(zhì)量,查找生產(chǎn)過程中出現(xiàn)的問題,提出了針對性的機器檢修和參數(shù)調(diào)整方案。傳統(tǒng)的注射行業(yè)采用人工檢測產(chǎn)品的缺陷,由于人眼的識別能力有限,一些細(xì)節(jié)問題難以識別,導(dǎo)致缺陷檢測的精度不高。隨著人工智能的發(fā)展,計算機視覺的應(yīng)用領(lǐng)域也不斷擴(kuò)展,在模具生產(chǎn)、精密儀器加工、自動駕駛、醫(yī)學(xué)病理識別等領(lǐng)域都發(fā)揮了重要作用。近年來,深度學(xué)習(xí)的應(yīng)用推動了計算機視覺的發(fā)展,通過對產(chǎn)品的外觀檢測發(fā)現(xiàn)其缺陷,推導(dǎo)生產(chǎn)工藝所存在的問題。
現(xiàn)利用機器學(xué)習(xí)的方法分析塑料產(chǎn)品的圖像,找出存在的缺陷并進(jìn)行分類。采用壓縮與激勵網(wǎng)絡(luò)SENet與殘差網(wǎng)絡(luò)ResNet相結(jié)合,構(gòu)建產(chǎn)品缺陷檢測系統(tǒng)模型,利用產(chǎn)品的圖像進(jìn)行學(xué)習(xí),得到缺陷檢測圖像識別模型參數(shù),對塑料產(chǎn)品中的氣泡、燒焦、開裂、變形、收縮等5種缺陷進(jìn)行檢測[1],通過檢測產(chǎn)品的準(zhǔn)確率和召回率指標(biāo)衡量模型缺陷檢測的有效性。
產(chǎn)品的缺陷檢測是指根據(jù)檢測樣品表面出現(xiàn)的斑點、痕跡、色差、形狀等特征判斷其是否存在缺陷。在模具零件加工、塑料產(chǎn)品與精密儀器鑄件生產(chǎn)中廣泛使用的方法是根據(jù)產(chǎn)品的表面特征判斷其存在的工藝問題。傳統(tǒng)的檢測是從人工識別方式發(fā)展而來,用人工方式檢測產(chǎn)品需要花費大量的人工成本,且存在標(biāo)準(zhǔn)不統(tǒng)一、識別能力有限、檢測的準(zhǔn)確率不高等問題?,F(xiàn)代工業(yè)中普遍采用超聲檢測法、X射線檢測法進(jìn)行產(chǎn)品缺陷檢測[2]。
近年來,隨著計算機的計算能力、圖像處理能力的不斷增強,機器學(xué)習(xí)算法改進(jìn)提升,使計算機視覺方法應(yīng)用于工業(yè)生產(chǎn)中成為可能。深度學(xué)習(xí)技術(shù)在工業(yè)、農(nóng)業(yè)的應(yīng)用中取得了較大進(jìn)展,在目標(biāo)檢測、智能機器人、智能車、農(nóng)業(yè)病蟲害識別中獲得了一定的研究成果。深度學(xué)習(xí)的方法是提取底層特征,經(jīng)過多個層次的參數(shù)學(xué)習(xí)、特征組合,合成了新的高層語義特征,這些特征在進(jìn)行圖像識別中更具代表性。由于深度學(xué)習(xí)具有更強的學(xué)習(xí)能力和特征表達(dá)能力,被應(yīng)用于工業(yè)產(chǎn)品的缺陷檢測中,識別產(chǎn)品中的不合格品,達(dá)到提高產(chǎn)品質(zhì)量的目的[3-5]。
基于深度學(xué)習(xí)的產(chǎn)品缺陷檢測常用神經(jīng)網(wǎng)絡(luò)進(jìn)行設(shè)計,包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)以及這些神經(jīng)網(wǎng)絡(luò)改進(jìn)版本和組合形式。為了解決圖像識別特征的問題,采用多個卷積核提取特征,并采用多層CNN和端到端的學(xué)習(xí)方法對產(chǎn)品缺陷進(jìn)行預(yù)測。為了識別多種產(chǎn)品缺陷,區(qū)別缺陷的不同之處,采用CNN與CRF(條件隨機場)相結(jié)合進(jìn)行網(wǎng)絡(luò)訓(xùn)練,完成產(chǎn)品的缺陷檢測[6]。為了獲得圖像的全局特征,采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)取代卷積神經(jīng)網(wǎng)絡(luò)(CNN),不需要對特征值進(jìn)行池化操作,減小了特征損失。隨著網(wǎng)絡(luò)層數(shù)的增加,在提升訓(xùn)練效果的同時,也產(chǎn)生了梯度消失和梯度爆炸的問題,殘差網(wǎng)絡(luò)(ResNet)結(jié)構(gòu)在普通的神經(jīng)網(wǎng)絡(luò)的輸入和輸出層中加入了殘差因子,提升了訓(xùn)練的效果[7]。圖像的特征豐富,如何選擇最具代表性的特征是神經(jīng)網(wǎng)絡(luò)要解決的一個重要問題,所以在神經(jīng)網(wǎng)絡(luò)中加入了注意力機制,SENet采用擠壓和激勵相結(jié)合的方法,學(xué)習(xí)以通道為單位的權(quán)重信息,并與原圖像結(jié)合計算,實現(xiàn)了注意力的計算。
塑料產(chǎn)品廣泛存在人們的生活中,其制作工藝復(fù)雜,產(chǎn)品在成型過程中出現(xiàn)多種問題,塑料產(chǎn)品的缺陷檢測是工業(yè)產(chǎn)品檢測的一種,現(xiàn)有機器學(xué)習(xí)方法中需要大量的標(biāo)注樣本庫,但是市場上缺少通用的塑料產(chǎn)品缺陷圖像庫,為了解決訓(xùn)練樣本不足的問題,遷移學(xué)習(xí)的方法用于塑料產(chǎn)品的缺陷識別工作中,取得了較好的識別效果?;谟嬎銠C視覺的檢測方法包括圖像采集和缺陷檢測2個步驟。在圖像采集過程中,因為采集設(shè)備不同和采集環(huán)境的差異,會造成圖像質(zhì)量的不同,通過圖像識別產(chǎn)品中存在的差異需要大量的預(yù)處理工序,以保證缺陷識別的準(zhǔn)確率。
機器學(xué)習(xí)方法中,CNN網(wǎng)絡(luò)在目標(biāo)檢測和語義分割中起到了重要作用。CNN網(wǎng)絡(luò)可以提取圖像的局部特征進(jìn)行特征組合,然后進(jìn)行圖像的識別。在現(xiàn)有的CNN網(wǎng)絡(luò)中有大量的改良模型,例如:VGG、Resnet、Inception、DenseNet等模型在工業(yè)制造中得到了廣泛應(yīng)用,并取得較好的效果[8,9]。將機器學(xué)習(xí)方法應(yīng)用于塑料產(chǎn)品的缺陷檢測工作中,既可以提高工業(yè)生產(chǎn)的自動化程度,又可以提升檢測的準(zhǔn)確率,為工業(yè)生產(chǎn)服務(wù),提高了生產(chǎn)效率[10-13]?,F(xiàn)將SENet與ResNet相結(jié)合,利用各自的優(yōu)勢,有效提取圖像特征,改進(jìn)訓(xùn)練效果,應(yīng)用于塑料產(chǎn)品的缺陷檢測,提升產(chǎn)品檢測的準(zhǔn)確率。
采用雙通道卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行系統(tǒng)設(shè)計,模型設(shè)計如圖1所示。首先從工業(yè)生產(chǎn)現(xiàn)場獲得塑料產(chǎn)品的圖像,因為工業(yè)生產(chǎn)環(huán)境復(fù)雜,每次拍攝的圖像都存在一定的差異,需要對這些圖像進(jìn)行亮度、對比度、放大縮小等處理,得到維度為254×254×3的標(biāo)準(zhǔn)圖像進(jìn)行卷積計算。利用標(biāo)準(zhǔn)圖像分別作為2個卷積通道的輸入,分別進(jìn)行卷積計算后,進(jìn)行融合計算(Concatenate),再通過2個全連接層(FC)得到用于分類的特征值,利用Softmax函數(shù)進(jìn)行缺陷分類。
圖1 系統(tǒng)模型設(shè)計
系統(tǒng)模型重點是將SENet和ResNet相結(jié)合,2個卷積通道分別進(jìn)行學(xué)習(xí),提取底層特征,并進(jìn)行組合,得到高級語義特征,最后用于圖像的分類中。
殘差網(wǎng)絡(luò)是為了解決神經(jīng)網(wǎng)絡(luò)中不斷增長層數(shù)導(dǎo)致的計算復(fù)雜度增加、梯度爆炸和梯度消失問題,在CNN網(wǎng)絡(luò)的輸入和輸出層之間加入殘差計算方法,殘差網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 殘差網(wǎng)絡(luò)結(jié)構(gòu)
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般是將上一層的輸出當(dāng)作下一層的輸入,完成網(wǎng)絡(luò)層次的疊加,殘差網(wǎng)絡(luò)中在2個層次之間加入了殘差單元。圖2中在l層與l+1層之間有2條通道,分別用于建立X本身的映射關(guān)系和殘差學(xué)習(xí)的關(guān)系,在有參數(shù)學(xué)習(xí)的通道中用于學(xué)習(xí)兩層之間的殘差映射關(guān)系。用F(X,Wi)表示殘差映射,經(jīng)過2個通道的映射后相加得到Y(jié)=F(X,Wi)+X。
SENet網(wǎng)絡(luò)結(jié)構(gòu)是將圖像分類的top1錯誤率降低到2.5%,說明SENet網(wǎng)絡(luò)結(jié)構(gòu)可以有效提高圖像識別的準(zhǔn)確率。SE模塊主要包括擠壓、激勵、重新標(biāo)注3個層次,首先需要對利用卷積計算得到的特征圖進(jìn)行Squeeze操作,得到各個通道的全局特征,然后對全局特征進(jìn)行Extraction操作,得到各通道間的關(guān)系和權(quán)值,最后利用通道權(quán)重與原圖相乘,得到了特征圖的最終特征分布,如圖3所示。
圖3 SENet網(wǎng)絡(luò)結(jié)構(gòu)
Squeeze操作采用global average pooling將一個通道上的所有信息行平均,得到通道上的全局特征,解決了CNN網(wǎng)絡(luò)中的感受野較小問題,計算方法采用公式(1)。
其中,uc(i,j)表示圖像中的一個像素,W和H分別表示圖像的寬度和高度,Squeeze操作對所有像素值求和后取平均值。
Excitation操作需要各通道中信息的關(guān)系,如公式(2)所示,采用2個全連接的bottleneck結(jié)構(gòu),其中,r參考inception網(wǎng)絡(luò)中為系數(shù),為一個超參數(shù),σ和δ為2個激活函數(shù),經(jīng)過計算,可以提取由公式(2)壓縮后的圖像特征。
最后利用學(xué)習(xí)得到的權(quán)重參數(shù)與原卷積網(wǎng)絡(luò)計算的各通道特征相乘,計算得到SENet的輸出,如公式(3)所示。
其中,uc表示公式計算的每個通道的特征圖像,sc表示通道的權(quán)值,相乘后得到融合后的圖像信息。
將SENet模塊和ResNet殘差模塊結(jié)合,在圖像上同時捕獲全局和局部信息,避免了信息丟失。
因為沒有現(xiàn)成的樣本庫,從塑料企業(yè)獲得了10 000張成型塑料的圖像,用于驗證模型的有效性,其中有缺陷的圖像7 203張,合格產(chǎn)品(無缺陷)圖像2 797張。將所有的圖像打亂后,取80%為訓(xùn)練樣本,20%為測試樣本進(jìn)行試驗,缺陷圖像情況如表1所示。
表1 缺陷圖像情況
硬件條件為Intel Core i7處理器,20G內(nèi)存,NVIDIA GTX1080Ti 2G顯存,采用Tensorflow框架實現(xiàn)該模型的構(gòu)建,利用Python編程進(jìn)行算法設(shè)計和分析,采用GPU進(jìn)行訓(xùn)練和測試。
為了驗證設(shè)計和模型的有效性,分成了2組試驗,第1組是全局訓(xùn)練及測試試驗,采用通用的準(zhǔn)確率(Precision)、召回率(Recall)和F1值3個指標(biāo)對模型算法性能進(jìn)行評價,針對某一實體關(guān)系類型的抽取結(jié)果,具體評價公式為:
采用工業(yè)生產(chǎn)中圖像進(jìn)行試驗,試驗結(jié)果如表2所示,通過將ResNet與SENet組合的網(wǎng)絡(luò)結(jié)構(gòu)在準(zhǔn)確率和召回率上都比單獨用一種網(wǎng)絡(luò)結(jié)構(gòu)的準(zhǔn)確率分別提高4.8%和1.4%,召回率分別提高0.5%和1.3%,說明所采用的模型可行。但是采用工業(yè)圖像進(jìn)行試驗的效果無法達(dá)到采用圖像庫中的圖像進(jìn)行試驗的精度,主要是工業(yè)生產(chǎn)中的圖像采集標(biāo)準(zhǔn)和圖像特征不明顯造成的。
表2 試驗結(jié)果
第2組是分類試驗比較,將不同種類的數(shù)據(jù)分別與正常產(chǎn)品數(shù)據(jù)放在一起進(jìn)行測試,比較算法在不同類型的缺陷檢測中發(fā)揮的作用,試驗結(jié)果如表3所示。經(jīng)過比較開裂缺陷和氣泡缺陷識別效果較高,分別達(dá)到89.3%和87%,變形和收縮兩類缺陷的檢測效果最差,識別率大約為70%。
表3 分類試驗結(jié)果
主要研究基于機器學(xué)習(xí)的塑料產(chǎn)品缺陷檢測方法,利用工業(yè)生產(chǎn)中的圖像經(jīng)過預(yù)處理后,輸入機器學(xué)習(xí)模型中,得到模型的參數(shù),然后利用模型進(jìn)行圖像分類,識別圖像中具有缺陷的部分和缺陷的種類。通過將ResNet與SENet網(wǎng)絡(luò)相結(jié)合,解決網(wǎng)絡(luò)中的特征通道注意力和梯度爆炸、梯度消失問題,在圖像識別中取得較好的效果。通過2種試驗證明,模型可以有效提高分類的精度,但是不同的缺陷識別表現(xiàn)不一,由于工業(yè)生產(chǎn)環(huán)境復(fù)雜,需要更多的預(yù)處理過程,以達(dá)到更佳的識別效果。