錢 雪,李 軍,唐 球,錢曉雨
(1.北京信息科技大學 信息管理學院,北京100192;2.華北計算機系統工程研究所,北京100083)
近幾年深度學習技術在機器視覺方面有很大突破,而利用其進行工業產品表面缺陷檢測也逐漸成為工業界研究的熱點。在真實復雜的工業環境下,表面缺陷檢測面臨諸多挑戰,例如在藥品檢測過程中,存在缺陷成像與背景差異小、對比度低、缺陷尺度變化大且類型多樣等情形。近些年來,隨著以卷積神經網絡(Convolution Neural Network,CNN)為代表的深度學習模型在諸多計算機視覺(Computer Vision,CV)領域成功應用,國內外學者也展開了基于深度學習技術的表面缺陷檢測的研究。同時,一些公司也開發出多種基于深度學習的商用工業表面缺陷檢測軟件。全球傳統工業視覺及其部件的市場規模將于2025年達到192億美元且年平均增長率為14%[1-2]。因此,基于深度學習的表面缺陷檢測方法不僅具有重要的學術研究價值,同時有非常廣闊的市場應用前景。
然而,深度學習技術在實際工業場景中的應用存在一些難題,針對藥品檢測來說一是生產過程中缺陷樣本過少,不利于神經網絡的特征提取;二是產品的缺陷尺度不同,有上千個像素的缺粒缺陷,也有幾十個像素的黑點異物缺陷等。實際生產過程中用于訓練的缺陷樣本數量少,細微缺陷在沒有突出缺陷區域的情況下容易被其他區域的信息所掩蓋。而且,隨著神經網絡的深入以及卷積和池化等操作,一些特征層信息被丟失。YOLOV5是目前最優的目標檢測模型之一,其在精確度、檢測速度和所需存儲空間上都表現優異,十分適用于工業產品的缺陷檢測。
針對以上問題,本文提出了一種檢測速度快、泛化能力強、針對小缺陷擁有更好檢測效果的藥品缺陷檢測方法——RDD_YOLOV5:
(1)在數據預處理方面,利用Sobel算子提取原始圖像RGB三通道的淺層特征得到特征圖像,形成多通道樣本圖增加有效訓練樣本數,提升模型泛化能力,緩解樣本少的問題。
(2)在YOLOV5模型中引入通道注意力機制ECANet,對不同通道的特征進行權重調整。ECA模塊旨在適當捕獲局部跨道信息交互。該方案在增加少量參數的情況下在泛化能力與小缺陷檢測精度方面獲得明顯的性能增益。
(3)在預測層之前加入了自適應空間特征融合(ASFF),充分利用高層特征的語義信息和底層特征的細粒度特征,利于實際工業場景中缺陷尺度大幅度變化的樣本識別。
目前,基于深度學習的目標檢測網絡主要分為單階段與兩階段。單階段模型在進行特征提取后直接獲取缺陷的位置和類別,如SSD[3]或YOLO[4];兩階段模型需要首先生成可能包含缺陷的候選框然后再進行預測,如Fast-RCNN[5],其在實時性方面稍顯不足。在YOLO系列中,YOLOV2[6]在PASCAL VOC 2007數據集[7]上可以實現高達78.6%的mAP,檢測速度為40 FPS。較為經典的YOLOV3[8],通過在YOLOV2的基礎上增加一個特征金字塔結構,并使用自上而下的多級預測進一步提高了檢測小對象的能力。
在基于深度學習的缺陷檢測網絡研究中,大部分研究針對于金屬表面、橋梁、PCB板等物體[9],由于數據獲取等原因針對藥品的檢測較少。Liu[10]等人提出了一種多通道輸入的網絡結構并使用多尺度圖像塊檢測策略對紐扣表面進行檢測,檢測精度超過96%mAP,并在DSP上檢測速度為5 FPS。Liu[11]等人使用MobileNet作為骨干網絡用于高鐵接觸網支撐組定位,其在測試的數據集上的檢測效果達到25 FPS和94.3%mAP。Zhang[12]等人以YOLOV3為基礎采用了像素疊加的數據增強方式,并引入特征金字塔池化層以及自底向上的路徑增強方法檢測交通標志,達到了23.81 FPS以及86%mAP。Zhang[13]等人同樣將YOLOV3應用于橋梁表面缺陷定位,為提高準確率在原來網絡的基礎上引入預訓練權重、批再規范化和Focal loss。YOLO系列檢測如今發展到YOLOV5,通過不同的改進適用于不同的檢測場景。
YOLOV5檢測方法與較為經典的YOLOV3相比,其數據增強使用Mosaic擴充數據集,同時還可以進行翻轉、亮度調整、剪裁等操作。對于數據量較少的樣本集,可以有效地進行數據擴充。骨干網絡使用CSP-Darknet(Cross Stage Partial Networks Darknet)與空間金字塔池化(Spatial Pyramid Pooling,SPP)結合的網絡結構。該結構通過將梯度變化集成到特征圖的方式減少了模型的參數量和浮點運算數值,在縮小了模型尺度的同時仍能保證準確率和速度,所以被廣泛使用。在YOLOV5檢測流程中,以YOLOV5s為例(其結構圖如圖1所示),網絡首先將訓練集中的每個圖像分成S×S(S=19,38,76)個網格,每個網格通過自適應錨框計算后都有不同大小的候選框,由物體中心所在的網格負責檢測物體;然后,通過骨干網絡的卷積層提取特征;最后,預測層用于多尺度預測。負責預測的特征圖有多個尺度,可以預測大小不同的物體,由特征金字塔結構進行多尺度特征圖融合而得。每個網格預測B個錨框、置信度得分以及C類條件概率。

圖1 YOLOV5s結構圖
實際藥品生產過程中對良品率有嚴格要求,導致真實缺陷樣本數據很少,根據鄰近風險最小化原則,可以通過創建與用于數據擴充的訓練樣本相似的樣本增加學習過程中的監督信息,來提高泛化能力。本文使用Sobel算子對樣本的缺陷部分進行一階梯度處理,使處理后的缺陷部分更加明顯?;诖瞬捎肧obel算子先對同一圖像的RGB三通道圖像進行處理,得到處理后的RGB三通道底層特征圖像。再將原圖RGB三通道圖像與特征圖RGB三通道圖像作為YOLOV5網絡的輸入形成多通道輸入圖像。以此來提升模型的泛化能力與緩解樣本不均衡的問題,如圖2所示。

圖2 Sobel算子處理后的RGB三通道底層特征圖
由于藥品缺陷尺度變化較大,一些細微缺陷如黑點、細絲異物等特征很容易被忽略。因此,通過骨干網絡對圖像進行特征提取后,在骨干網絡的SPP層末端加入通道注意力機制ECA-Net[14],對不同通道的特征權重進行加權調整,增強網絡提取跨通道信息特征的能力,提升小缺陷檢測精度。注意力機制是改善目標檢測性能的重要方法。ECA注意力機制解決了SENet等傳統注意力機制降維后為后續預測帶來的副作用,旨在獲取通道間的依賴關系,增強特征的表達能力。該模塊利用一種通過一維卷積有效實現不降維的局部跨信道交互策略以及一種自適應選擇一維卷積核大小的方法,來確定局部跨信道交互的覆蓋率。在不降低維度的情況下輸入特征圖x,然后將所有通道進行全局平均池化操作,再通過可共享權重的l維卷積進行學習,并在學習過程中考慮每個通道與其k個鄰居來捕獲跨通道交互。k代表l維卷積的內核大小,通過跨通道信息交互作用的覆蓋范圍(即一維卷積的內核大小k)與通道維數C的正比關系,得出式(1),自適應確定k的取值。式中γ=2,b=1,C為通道維數。

該模塊避免了權重分配過程中的降維操作,并能有效捕捉跨通道交互信息。如圖3所示,ECA-Net在沒有降維的通道式全局平均池化之后,通過考慮每個通道的k個鄰居來捕獲本地跨通道交互信息。這種方法在效果和效率上都有明顯優勢。通過在YOLOV5的骨干網絡末端引入ECA-Net模塊,在提取跨通道的交互信息特征過程中,重點關注缺陷特征,提升檢測精度。

圖3 ECA-Net結構圖
在YOLOV5網絡中,特征金字塔結構融合不同層次的特征圖以改善模型性能,底層的特征圖尺度較大,包含較多的紋理、顏色、細節等信息,深層特征圖的語義性更強,更具有全局特征,但是對細節的表示能力較差。所以,在特征金字塔融合過程中,采用自適應空間特征融合(Adaptively Spatial Feature Fusion,ASFF)方法[15]。AFSS是一種新的基于數據驅動的金字塔特征融合策略,其通過自適應地學習權重參數來融合不同空間特征層特征,在幾乎不引入其他開銷的前提下提高特征的尺度不變性,有利于提高不同尺度小的缺陷識別精度。將ASFF添加到模型的DetectLayer中,形成DetectASFFLayer,可以保證在不改變配置文件的基礎上,將DetectLayer直接替換為DetectASFFLayer,可適用于不同網絡結構,實現即插即用。
在特征融合過程中,以3層特征層為例,如圖4所示,將YOLOV5最后生成的3層金字塔特征層的每一層與其他兩層乘上對應權重后再相加,得到三層自適應空間特征融合層ASFF-3。設xl表示水平l的分辨率特征,首先通過上下采樣和插值法等,將另一個級別n的特征xn調整為與xl形狀相同。再設xn→lij表示在位置(i,j)處的特征向量從n映射到l級,對應的l級特征如下:

圖4 在YOLOV5中加入ASFF特征融合方法

權重參數公式如下:

為了評估本文方法,數據集使用藥品實際工廠生產過程中工業相機采樣的大小為1 700×1 100的圖片。樣本中藥片內部異物/破損30張,藥板異物27張,藥板藥片有折痕、劃痕16張,鋁箔藥板發生破損10張,藥片內部發生破損41張,空粒39張。
實驗配置與參數如表1所示。

表1 實驗參數
本實驗基于YOLOV5s模型進行改進,選取由混淆矩陣衍生的目標檢測常用的準確率(Accuracy)、精確率(Precision)、平均精確率(mean Average Precision,mAP)、召回率(Recall)、PR曲線等對模型進行評估。其中:

實驗精確率曲線如圖5所示,mAP0.5曲線如圖6所示,表2為本文方法與YOLOV5s對比實驗結果。

圖5 精確率曲線

圖6 mAP0.5曲線

表2 對比實驗結果
由表2及圖5、圖6可知,以YOLOV5s為基礎,同一數據集下RDD_YOLOV5檢測框架對于藥品缺陷的檢測可達0.966 mAP,精確率達到0.976。其檢測速度可達32 FPS,平均檢測一張圖僅需約31 ms,極大地提升了工業生產現場的檢測效率,可以滿足實時檢測的需求。
部分缺陷檢測效果圖如圖7、圖8所示。由檢測結果圖可知,本文提出的檢測方法可精準檢測藥品表面尺度不同的缺陷以及細微缺陷。

圖7 內部異物缺陷檢測結果示例

圖8 空粒缺陷檢測結果示例
對于工業生產數據缺陷的檢測,使用基于深度學習的目標檢測算法YOLOV5并在此基礎上增加了注意力機制與特征融合機制,一定程度上緩解了樣本數量少以及細微缺陷識別精度有限的問題,在準確度較高的情況下檢測速度極快,滿足實時性要求。本研究為工業產品表面缺陷檢測提供了可行的研究方法。