陳同宇,陳 洋,范劍偉
(安徽工業大學 機械工程學院,安徽 馬鞍山 243000)
傳統的香煙盒表面檢測方法速度較慢、效率低下[1]。卷積神經網絡[2]是一種重要的深度學習模型或多層感知機[3],能夠從圖像數據中抽取特征[4],在圖像識別領域應用廣泛[5]。可利用卷積神經網絡識別表面缺陷,主要包括基于區域的目標識別方法(Faster R-CNN等)以及基于回歸的目標識別方法(YOLO系列等)[6]。YOLO算法具有處理速度快、準確率高等優點。
DarkNet-53網絡擁有52個卷積層與1個全連接層,共53層。YOLOv3的工作原理是在DarkNet-53的基礎上進行3次檢測[7-8],網絡結構如圖1所示。

圖1 YOLOv3原網絡結構
YOLOv3在檢測煙盒缺陷時容易出現漏檢現象,這是由于YOLOv3初始算法中降采樣的倍數過大,導致特征圖的感受野[9]較大,無法檢測小目標。煙盒表面缺陷屬于小型目標,因此將YOLOv3原網絡尺寸為52×52的特征圖進行2倍上采樣,得到104×104特征圖,將尺寸為104×104的特征圖與DarkNet-53網絡尺寸為104×104的特征圖進行融合,在該層特征圖上進行獨立預測。改進后的網絡共有118層,擁有4個不同尺度的獨立預測,其網絡結構如圖2所示。

圖2 改進后的YOLOv3網絡結構
實驗結果表明,改進后的網絡相對于原網絡平均檢測精度提升了6.8%、查準率提高了7%、查全率提高了7%,但檢測速度從最初的24 FPS降到了21 FPS。這表明,添加一層特征檢測有利于檢測煙盒表面缺陷,但檢測速度稍有下降。
YOLOv3算法損失函數包括均方誤差(Mean Square Error, MSE)損失函數和交叉熵損失函數,以MSE[10]誤差為目標框坐標的損失函數存在3個缺點:Loss越低并不等價于IoU值越高,三對目標框具有相同的Loss,但是IoU值卻不一致,如圖3所示;候選框與真實框間無重合時,IoU為0,在優化損失函數時,梯度為0,即無法優化;候選框與真實框間IoU相同時,檢測效果具有較大差異,如圖4所示。

圖3 具有相同Loss

圖4 具有相同的IoU
IoU是判斷相似程度的常用評測標準,計算見式(1):

式中,S1、S2分別為兩目標框的面積。
由于MSE損失函數不均衡,提出利用GIoU Loss作為YOLOv3的左右坐標損失依據,其值計算見式(2):

式中:Ac為檢測框與真實框的最小閉包面積;U為檢測框與真實標注框的相交面積。
GIoU Loss 的計算見式(3):

GIoU作為距離度量標準,其滿足非負性、不可分的同一性、對稱性和三角不等性等條件,由于GIoU是比值,因此具有尺度適應性;由式(2)可知,求GIoU的最大值可選用IoU計算公式。當兩目標框非常接近時,GIoU和IoU相差較小,GIoU越大,IoU也越大。文中處理了原網絡MSE誤差損失存在的損失優化與最大IoU值計算方向不一致和尺度敏感等問題。
通過相機拍照的方式采集圖片。文中的數據集全部來源于利群香煙盒。為了增加模型的泛發性和訓練精度,在獲取圖像時,數據集增加了許多不同形態特征、角度、位置的煙盒圖片。煙盒表面既有明顯缺陷也有微小瑕疵。煙盒的缺陷可出現在煙盒的任何位置,同一個煙盒上可能出現不同形狀、不同數量的缺陷。數據集共包含500張圖片,其中400張圖片作為訓練集,100張圖片作為測試集。煙盒缺陷標簽借助labelImg軟件實現。圖片上的缺陷,劃痕以水筆所畫代替,劃痕和污點均為flaw標注,數據集標注時只標注flaw類缺陷。
文中提出的改進YOLOv3算法的煙盒表面缺陷檢測方法具體檢測過程如圖5所示,主要包括以下步驟:

圖5 煙盒檢測流程
(1)通過相機采集需要檢測的煙盒圖片;
(2)將采集到的圖片帶入深度學習模型檢測并判斷有無缺陷;
(3)如果有缺陷,則剔除,如果無缺陷,則繼續檢測;
(4)收集無缺陷的煙盒,增大數據集。
本文采用精度均值(mean Average Precision, mAP)、查全率(召喚率)、查準率(準確率)等對原網絡模型和改進后的網絡模型進行評估。
用改進后的網絡模型進行訓練,訓練次數為3 000次時檢測模型的平均精度最高,其結果如圖6所示。從圖6可以看出,改進后的網絡模型對比原網絡平均精度有較大提升,約為6.48%,充分說明4倍下采樣特征層更有利于小目標檢測,改進后的網絡檢測效果更佳。

圖6 改進前后平均檢測精度
模型檢測結果見表1所列。改進后的網絡在不影響實時檢測的情況下大大提升了檢測精度,大幅降低了漏檢、錯檢出現的概率。

表1 模型檢測結果
分別對原網絡的檢測模型與改進后的最優檢測模型進行檢測,在原網絡中,單處缺陷檢測精度為0.46。改進后,檢測精度為0.97,提升約51%。同時,原網絡還出現了漏檢的情況,試驗圖中有2處缺陷,但原網絡未檢測出來,而改進后的網絡則準確檢測出了原模型的2個缺陷,雖然此處置信度不高(可能因光照分布不均勻引起),但相對原網絡有較大提升。
采用具有較快檢測速度與精度的SSD目標檢測網絡對煙盒缺陷進行訓練4 000次得到模型,與文中提出的方法進行對比,結果見表2所列。通過對比,改進后的YOLOv3模型具有更高的準確率,彌補了原網絡和SSD的不足,檢測效果大幅提升。

表2 不同方法的檢測結果
研究提出的基于改進YOLOv3算法的煙盒表面缺陷檢測方法更適合小目標檢測,檢測模型的平均精度、查準率、查全率等均得到不同程度的提升,雖然速度略有下降,但完全滿足工業實時檢測的要求。