唐 勇, 王美林
(廣東工業(yè)大學(xué)信息工程學(xué)院,廣東 廣州 510006)
PVC皮革是由塑料異型材料構(gòu)成的人造革產(chǎn)品,隨著科學(xué)技術(shù)的不斷發(fā)展,對于生產(chǎn)深度加工PVC皮革的表面質(zhì)量要求也越來越高。如汽車內(nèi)飾皮革是其必不可少的裝飾配件,汽車購買者對乘用小汽車內(nèi)飾皮革的要求也越來越挑剔,而蚊蟲叮咬及加工過程的精細(xì)不足使得原始皮革表面不可避免地產(chǎn)生了各種缺陷,如針孔、條紋、劃傷、氣泡、墊傷等等;因此,皮革瑕疵檢測已然皮革生產(chǎn)和質(zhì)量管理的重要環(huán)節(jié)。
針對具有復(fù)雜紋理背景的皮革瑕疵檢測,Kwon Jang-Woo等人[1]使用直方圖的分布的方法判斷皮革有無缺陷,但是無法對皮革缺陷進(jìn)行具體定位。崔楊等人[2]通過改進(jìn)模糊C-均值算法對皮革缺陷進(jìn)行檢測,使得檢測精度得到了很大的提高,但增加了很多的計(jì)算量。劉利華等人[3]構(gòu)建了一種基于模糊數(shù)學(xué)的皮革制品質(zhì)量綜合評判應(yīng)用模型,辛登科等人[4]利用類間方差和類內(nèi)方差進(jìn)行自適應(yīng)確定分割區(qū)域數(shù)的方法,賀福強(qiáng)等人[5]采用了小波重構(gòu)的方法對皮革表面進(jìn)行了缺陷檢測。常競[6]對皮革缺陷進(jìn)行了分類檢測,提高缺陷檢測準(zhǔn)確性,但不易檢測皮革缺陷色差、污斑等。于彩香[7]提出利用紋理圖像中缺陷區(qū)域灰度值和背景中像素之間的相關(guān)性來識別缺陷。
傳統(tǒng)的檢測方法準(zhǔn)確性較低,在訓(xùn)練和測試過程中也比較耗時(shí)。到目前為止,高性能的檢測算法都基于深度學(xué)習(xí)。工業(yè)生產(chǎn)皮革中,需要對皮革的瑕疵實(shí)時(shí)檢測。因此在考慮保證實(shí)時(shí)檢測速度的前提下,本文選擇此類算法中檢測精度較高的YOLOv3[8]算法作為基礎(chǔ)。但YOLOv3在PVC皮革瑕疵檢測中的準(zhǔn)確性還有待提高,針對這個(gè)問題,提出一種改進(jìn)后的PVC皮革瑕疵檢測網(wǎng)絡(luò)YOLO-D。
在2016年,Redmon等 人 提 出You Only Look Once[9](后面統(tǒng)稱為YOLO),這是一種運(yùn)行速度非??斓哪繕?biāo)識別和定位算法。之后在2018年提出基于YOLOv2[10]演變而來的YOLOv3。YOLOv3與前面兩個(gè)版本不同的地方之一,是在整個(gè)模型作特征提取部分時(shí)使用Darknet-53網(wǎng)絡(luò)。YOLOv3通過利用NMS非極大抑制算法[11],篩選出置信得分較高的預(yù)測框,得到最終的目標(biāo)的邊框位置和類別信息,并返回。
在Darknet-53作為特征提取網(wǎng)絡(luò)中,每個(gè)卷積核大小都為1*1或3*3,即卷積核的大小單一。研究表明,每個(gè)卷積核都負(fù)責(zé)捕獲一個(gè)局部圖像模式,單一的卷積核尺寸大小具有局限性:需要大的卷積核來捕獲高分辨率模式,也需要小卷積核來捕獲低分辨率模式。在皮革瑕疵檢測中,同種類型的瑕疵分辨率大小可能不同。
Google Brain提出的Mix Conv[12]混合深度卷積核,是在一個(gè)深度卷積過程中,混合了多個(gè)不同大小的卷積核,便于從輸入圖像中獲取不同類型的模式。根據(jù)精度和效率的權(quán)衡,改進(jìn)后的YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv3改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)圖
目標(biāo)檢測中最常用的指標(biāo)是IoU(Intersection over Union),它的值等于兩個(gè)區(qū)域的交集比上兩個(gè)區(qū)域的并集,如公式(1)所示。IoU也用于YOLOv3,但是IoU存在一個(gè)明顯的問題:當(dāng)目標(biāo)的預(yù)測框和真實(shí)框沒有重疊的情況下,IoU將會為0。在這種情況下,將IoU用作為邊框損失的話,導(dǎo)致邊框損失將無法進(jìn)行優(yōu)化。由于YOLOv3采用3個(gè)尺度的特征圖預(yù)測,每個(gè)尺度的特征圖分配3個(gè)先驗(yàn)框,存在比較多預(yù)測框和真實(shí)框不重疊的現(xiàn)象,如式(1):
GIo U[13]可以一定程度解決上述問題。GIo U的設(shè)計(jì)思路是在兩個(gè)現(xiàn)有的并且是隨機(jī)選取的性質(zhì)A和性質(zhì)B,能夠找得到一個(gè)封閉形狀包含A與B,并且C是最小的封閉形狀,接著計(jì)算形狀C中未覆蓋A和B的面積的絕對值與形狀C總面積的絕對值的比率,然后用性質(zhì)A與性質(zhì)B的Io U減去這個(gè)比率,如式(2)所示:
同樣地,GIoU也可以用作距離,loss可通過L GIoU=1-GIoU計(jì)算。GIoU在保留IoU原始性質(zhì)的同時(shí),弱化了IoU的缺點(diǎn),使得檢測準(zhǔn)確率有所提升。
在YOLOv3作類別預(yù)測時(shí),不再使用softmax,而是使用獨(dú)立的邏輯分類器。在訓(xùn)練過程中使用二元交叉熵作為類別的預(yù)測損失。交叉熵?fù)p失函數(shù)表達(dá)式如(3):
其中y表示真實(shí)值,p表示預(yù)測值??梢钥闯鋈绻P头诸愓_,則L的結(jié)果為0;否則L為無窮大。即交叉熵對分類正確的給予最大鼓勵,對分類錯(cuò)誤的給予最大懲罰。在皮革瑕疵檢測中,可能把背景花紋分類成瑕疵,因此會出現(xiàn)過擬合問題而損傷檢測的精度。
Szegedy等人在2016年提出的標(biāo)簽平滑[14],可以一定程度上減輕這個(gè)問題。標(biāo)簽平滑的交叉熵實(shí)現(xiàn)公式為(4):
所使用的PVC皮革實(shí)物全部來自皮革生產(chǎn)工廠,總共采集到544張圖像,并對原圖像進(jìn)行旋轉(zhuǎn)、添加噪聲、調(diào)節(jié)亮度和平移等數(shù)據(jù)增強(qiáng)操作,圖像數(shù)據(jù)擴(kuò)增至17883張,并將瑕疵種類分為bubble,dirt,stripe,hole,ribbon五類。其中訓(xùn)練集為16095張,測試集為1609張,驗(yàn)證集為179張。
實(shí)驗(yàn)主要在PC端完成,PC的主要配置為CPU:i7-9700K,GPU:NVIDIA RTX-2070 8 GB,內(nèi)存:16GB,系統(tǒng):Ubuntu 18.04,框架:Pytorch,語言:Python。
在目標(biāo)檢測實(shí)驗(yàn)中,除了目前流行目標(biāo)檢測評估指標(biāo)Precision,Recall,AP,m AP之外,在進(jìn)行算法性能評價(jià)時(shí)還采用F1指數(shù),F1是P-R的調(diào)和平均,能很好的區(qū)別算法的優(yōu)劣,F1值越高,物體識別算法就越好。
迭代100個(gè)epoch之后,不同目標(biāo)檢測網(wǎng)絡(luò)AP對比如表1所示。其中,YOLO-1為原始的YOLOv3,作為基線;YOLO-2是加了GIo U損失的版本;YOLO-3是在YOLO-2的基礎(chǔ)上加了Mix Conv混合深度卷積核的版本;YOLO-D是在YOLO-3的基礎(chǔ)上做了標(biāo)簽平滑處理的最終版。從表1中可以看出,采取了改進(jìn)措施后,各個(gè)類型的瑕疵AP均有不同程度的提高。
表1 不同目標(biāo)檢測網(wǎng)絡(luò)AP對比
不同目標(biāo)檢測網(wǎng)絡(luò)性能對比如表2所示??傮w來說,在略微犧牲平均檢測時(shí)間的情況下,YOLO-D比YOLOv3在性能上有較大幅度的提升。
表2 不同目標(biāo)檢測網(wǎng)絡(luò)性能對比
原始算法模型YOLOv3與改進(jìn)后的算法模型YOLO-D的檢測結(jié)果對比如圖2所示。
圖2 檢測結(jié)果對比圖
在圖2中的a,b,c,d,e,f對比中可以看出,加入GIo U和MixConv后的YOLO-D比YOLOv3降低了漏檢率;在g、h對比中可以看出,加入標(biāo)簽平滑的YOLO-D比YOLOv3降低了誤檢率。改進(jìn)后的YOLO-D檢測的精度確實(shí)比改進(jìn)前的YOLOv3有所明顯提升。
針對傳統(tǒng)人工智能算法在PVC皮革瑕疵檢測過程中,存在檢測精度低下、檢測速度慢,導(dǎo)致無法實(shí)時(shí)檢測等問題,在選取當(dāng)前主流的目標(biāo)檢測算法之一YOLOv3作為基礎(chǔ)框架,分別從三個(gè)方面提出了改進(jìn)措施。改進(jìn)后的模型可以明顯提高識別的準(zhǔn)確性,可以達(dá)到實(shí)時(shí)監(jiān)測的標(biāo)準(zhǔn),改進(jìn)后的算法模型更加適合現(xiàn)實(shí)中PVC皮革的瑕疵檢測。