杜京義, 史志芒, 郝樂, 陳瑞
(1.西安科技大學 電氣與控制工程學院,陜西 西安 710054;2.西安科技大學 安全科學與工程學院,陜西 西安 710054)
煤炭開采中不可避免地會摻雜矸石,不僅影響煤炭充分燃燒,還會造成環(huán)境污染[1]。因此在煤礦生產(chǎn)中需進行煤矸檢測及分選。目前較為成熟的煤矸檢測方法主要是基于射線法[2-4],如X射線、γ射線等,但該方法存在輻射危害,且設備昂貴、不易管理,難以推廣應用。隨著計算機視覺技術的發(fā)展,基于圖像處理的煤矸檢測方法因設備簡單、效率高等優(yōu)點,得到越來越多學者的關注。該方法通過人工分析煤和矸石的灰度、紋理等空間域信息,將其直接作為特征或建立聯(lián)合特征,結合支持向量機、人工神經(jīng)網(wǎng)絡等機器學習算法進行分類[5-8],可有效實現(xiàn)煤矸識別,但存在特征不易提取或特征區(qū)分不明顯等問題,檢測模型在不同煤矸分選場景下的泛化性能較差。
與經(jīng)典機器學習算法相比,卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)可自動提取圖像的魯棒和高級特征表示[9],被廣泛應用于計算機視覺任務中。文獻[10]分析了不同CNN模型對煤和矸石的分類效果,結果表明SqueezeNet識別精度和速度最優(yōu)。文獻[11]利用VGG16結合遷移學習進行煤矸檢測,檢測精度達82.5%??紤]到實際煤矸分選場景中,煤和矸石出現(xiàn)在輸送帶上的位置是隨機的,因此利用抓取裝置進行煤矸分選時不僅需要區(qū)分煤和矸石的類別信息,還要準確獲取矸石在輸送帶上的位置信息。為此,文獻[12]提出了一種基于深度學習模型的分層煤矸檢測框架,并在3種不同的數(shù)據(jù)集上進行實驗。文獻[13]針對大粒度矸石分選目標,結合區(qū)域生成網(wǎng)絡(Region Proposal Network,RPN)建立了煤矸目標檢測模型。文獻[14]提出了一種由檢測器和鑒別器組成的級聯(lián)煤矸檢測網(wǎng)絡,檢測精度達91.3%,但檢測速度取決于每張圖像中的煤矸樣本數(shù)量。
在實際煤矸分選場景中,復雜惡劣的環(huán)境導致基于深度學習的煤矸檢測方法精度較低,特別是針對圖像中像素點較少的煤矸小目標,很容易發(fā)生漏檢現(xiàn)象,且難以兼顧檢測精度和實時性,同時難以部署在存儲和計算資源有限的嵌入式平臺上。為了及時準確地獲取煤矸類別和位置信息,本文對基于多尺度特征圖進行目標檢測的SSD(Single Shot MultiBox Detector)模型[15]進行改進,結合GhostNet輕量化特征提取網(wǎng)絡、自注意力機制、錨框優(yōu)化方法,構建了Ghost-SSD模型,由此提出一種輕量化煤矸目標檢測方法,并采用以輸送帶為背景采集的煤矸數(shù)據(jù)集進行實驗,驗證了該方法的有效性。
SSD是一種基于多尺度特征圖的一階段目標檢測模型。其主干特征提取網(wǎng)絡以VGG16為基礎,并將VGG16的FC6層和FC7層轉(zhuǎn)換為卷積層,同時增加了4層擴展層。與Faster-RCNN[16]、YOLO[17]等只提取頂層特征圖進行檢測的模型不同,SSD模型分別采用38×38,19×19,10×10,5×5,3×3,1×1這6個尺度的特征進行預測。在SSD模型中,隨著特征提取網(wǎng)絡層數(shù)和下采樣操作次數(shù)的增多,特征圖對應原始圖像的感受野[18]逐漸增大,因此淺層特征圖有利于檢測小目標,深層特征圖有利于檢測大目標。SSD模型利用不同尺度的特征圖進行目標檢測,提高了模型泛化能力。
SSD模型借鑒Faster-RCNN模型的候選框生成思想,根據(jù)每個特征圖的尺寸對原始圖像劃分網(wǎng)格,在每個網(wǎng)格的中心點生成不同長寬比的錨框,6個尺度的特征圖中每個網(wǎng)格點生成錨框的數(shù)量分別為4, 6, 6, 6, 4, 4,利用卷積操作預測每個先驗框的位置偏移量和類別概率,通過設置閾值篩選預測結果,并利用非極大值抑制得出最終檢測結果。SSD模型的訓練損失包括類別置信度損失和定位損失,前者采用多分類交叉熵損失函數(shù),后者采用Smooth L1損失函數(shù)。
GhostNet的核心思想在于采用線性變換代替部分常規(guī)卷積進行特征提取[19],減少了推理計算量,與以往的輕量化網(wǎng)絡相比,可更好地利用特征之間的相關性和冗余性。Ghost模塊是GhostNet的基本結構。該模塊首先采用常規(guī)卷積對輸入特征圖進行特征提取,生成基礎特征圖;然后對基礎特征圖的每一個通道做線性變換(深度卷積),生成Ghost特征圖;最后堆疊基礎特征圖和Ghost特征圖作為輸出。
GhostNet有步幅為1和步幅為2這2種瓶頸結構,如圖1所示。2種結構中分別在不同位置加入批量歸一化(Batch Normalization,BN)層和Relu激活函數(shù)。步幅為1的結構中,第1個Ghost模塊用于增加通道數(shù),第2個Ghost模塊用于減少通道數(shù),從而保證與輸入特征圖的尺寸一致。步幅為2的結構則使用下采樣和步幅為2的深度卷積進行shortcut路徑匹配。
(a)步幅為1
Ghost-SSD模型結構如圖2所示。該模型采用GhostNet代替VGG16作為主體網(wǎng)絡層。為了保持擴展層包含特征圖的尺寸不變,主體網(wǎng)絡層保留GhostNet的前5個特征提取塊,去掉其余特征提取塊和全連接層。Ghost模塊中每個通道基礎特征圖對應的冗余特征圖數(shù)量設置為2。輸入圖像的分辨率調(diào)整至300×300后,分別經(jīng)過主體網(wǎng)絡層、擴展層提取煤矸特征,最終選用6個尺度的特征圖預測煤矸類別和位置信息。
圖2 Ghost-SSD模型結構
SSD模型采用多尺度特征圖檢測目標,提高了對不同大小煤矸的檢測能力,但淺層特征圖中語義信息不足,同時夾雜較多的背景噪聲,影響了小目標檢測效果。針對該問題,在尺度為38×38,19×19的特征圖進行檢測之前,引入2條分支重新標定特征圖,每條分支分別以2種尺度的特征圖為輸入,經(jīng)過自注意力模塊(Self-Attention Module,SAM)增強有效特征,抑制背景噪聲,同時利用擴張卷積增大淺層特征圖的感受野,從而提高淺層特征圖對煤矸目標的特征提取能力。受ResNet[20]啟發(fā),將輸入特征圖與SAM的輸出進行shortcut連接,保證網(wǎng)絡更容易被優(yōu)化。分支最后加入1×1卷積層,實現(xiàn)特征跨通道交互和信息整合。
SAM在機器翻譯模型Transformer[21]中得到成功應用,可捕獲全局上下文信息的長期依賴關系。本文針對38×38,19×19尺度的特征圖引入SAM(圖3),得到淺層特征圖中任意2個位置的全局依賴關系,從而抑制淺層特征圖中包含的背景噪聲,突出前景區(qū)域特征,并在SAM中引入擴張卷積,通過設置不同的擴張率,豐富淺層特征圖的語義信息。
圖3 SAM結構
設SAM輸入特征圖為x,x∈Rh×w×c,h,w分別為輸入特征圖的高度和寬度。x分別經(jīng)過3個分支q,p,v。分支q,p均使用3×3擴張卷積對x進行尺度縮放,同時擴大x的感受野,擴張率r分別設置為1,3,得到輸出Q(x)∈Rh×w×c/t,P(x)∈Rh×w×c/t,其中t為輸出通道數(shù)相比輸入縮放的倍數(shù),本文設置為8。對Q(x),P(x)進行維度變換,得Q(x)∈RN×c/t,P(x)∈RN×c/t,其中N=hw。對P(x)的轉(zhuǎn)置與Q(x)的乘積進行softmax運算,得到注意力圖θ(x)∈RN×N。分支v使用3×3擴張卷積,擴張率r設置為5,輸出V(x)∈Rh×w×c,將其維度變換為RN×c。將θ(x)與V(x)相乘,得到自注意力特征圖y∈RN×c,并將其維度變換為Rh×w×c。
Ghost-SSD模型訓練前,采用K-means算法對錨框進行聚類,根據(jù)聚類結果重新設計錨框尺寸,以滿足特定任務需求,提高煤矸識別精度。K-means算法首先隨機給定K個中心點,然后計算每個中心點到聚類中心點的距離,按照最鄰近原則將待分類樣本點分到各個簇,最后計算每個簇中所有點的坐標平均值,并將該值作為新的聚類中心,經(jīng)過反復迭代獲得最終聚類結果。
傳統(tǒng)的聚類方法一般選用歐氏距離作為度量標準,但針對目標檢測問題,更適合使用每個錨框與聚類中心框的交并比作為度量標準。本文使用的度量參數(shù)為
D=1-R(b,m)
(1)
式中:b為所有真實標注框的集合;m為聚類中心框的集合;R(b,m)為真實標注框與聚類中心框之間的交并比。
通過改變K進行多次聚類實驗,求出每次聚類的平均交并比,結果如圖4所示。可看出K<6時平均交并比增長較快,K>6時趨于平緩。結合SSD模型錨框參數(shù)設置,選擇K=6對煤矸數(shù)據(jù)集進行聚類,可視化結果如圖5所示。根據(jù)圖5對Ghost-SSD模型的錨框尺寸進行優(yōu)化,得錨框的長寬比參數(shù)為0.65, 0.90, 1.23, 1.39, 1.55, 1.80,每個尺度網(wǎng)格點生成錨框個數(shù)均為6。
圖4 不同K值下錨框聚類平均交并比
圖5 K=6時錨框聚類結果
以輸送帶為背景,共采集2 886張煤矸圖像,采用LabelImg軟件對每張圖像中的煤矸類別和區(qū)域進行標注,檢測類別包括煤和矸石2類。隨機選取2 500張圖像作為訓練集,386張圖像作為測試集,訓練集和驗證集的比例設置為9∶1。為了更好地反映模型的多目標檢測效果,對測試集中煤和矸石樣本數(shù)進行統(tǒng)計,結果見表1。根據(jù)表1得平均每張煤矸圖像包含3.9個真實樣本。
表1 煤矸測試集真實樣本統(tǒng)計
實驗在TensorFlow2.0框架下進行,操作系統(tǒng)為Ubuntu18.04,處理器為Intel@Xeon E5-2630 v4,內(nèi)存為16 GB,顯卡為Quadro P2200,安裝CUDA10.1和cudnn7.6.5支持圖形處理器(Graphics Processing Unit,GPU)使用,編程語言采用python3.7。模型訓練時,超參數(shù)batch size設置為8,epoch設置為500;初始學習率設置為0.001,并采用自動衰減策略調(diào)節(jié)學習率,當驗證集損失值連續(xù)10次未下降10-4或上升時,學習率更新為原來的0.9倍;優(yōu)化器采用Adam。
采用平均精度(Average Precision, AP)、平均精度均值(mean Average Precision, mAP)和幀率3個指標對目標檢測模型進行評估。設計消融實驗測試本文改進策略的效果。首先,將未經(jīng)改動的SSD模型作為基準模型,然后分別測試加入錨框優(yōu)化方法、GhostNet和SAM的檢測效果,最后將 3種改進策略同時加入SSD模型。所有實驗均在同一煤矸數(shù)據(jù)集上進行,且實驗環(huán)境和訓練方式保持一致。實驗結果見表2。
表2 消融實驗結果
從表2可看出,基準模型分別加入錨框優(yōu)化方法和SAM后,mAP均有所提升;采用GhostNet構建輕量化模型可在mAP損失很小的情況下,大幅提升模型檢測速度;融合錨框優(yōu)化方法、GhostNet、SAM的Ghost-SSD模型的mAP為88.7%,較基準模型提高3.6%,檢測速度為108 幀/s,較基準模型提高75幀/s,實現(xiàn)了檢測精度和速度的提升。
SSD模型與Ghost-SSD模型針對煤矸測試集中每一類的檢測結果見表3。可看出Ghost-SSD模型較SSD模型對煤和矸石檢測的AP分別提高3.4%,3.7%,進一步驗證了Ghost-SSD模型可提高煤矸檢測精度。
表3 SSD,Ghost-SSD模型檢測結果對比
為了進一步探究SAM的效果,對SSD模型與引入SAM的模型進行對比實驗,利用Grad-cam算法[22]生成顯著圖,對目標檢測區(qū)域進行可視化分析,結果如圖6所示。顯著圖上可顯示與決策特征相關區(qū)域的顯著度,顏色越深則顯著度越高。從圖6可看出,SSD模型引入SAM可提高前景區(qū)域的顯著度,且可抑制背景噪聲,有利于增強淺層特征的表征能力。
圖6 煤矸顯著圖
SSD模型與Ghost-SSD模型的訓練損失函數(shù)曲線如圖7所示。可看出Ghost-SSD模型的訓練損失初始值低于SSD模型,訓練過程中Ghost-SSD模型的訓練損失在迭代100次后降至1以下并逐漸穩(wěn)定,且收斂值低于SSD模型。
圖7 SSD,Ghost-SSD模型訓練損失函數(shù)曲線
為了直觀驗證Ghost-SSD模型的有效性,從測試集中選取有代表性的圖像進行實驗。分別采用SSD模型和Ghost-SSD模型進行煤矸檢測,結果如圖8所示。可看出SSD模型對于第1張圖像出現(xiàn)誤檢情況,對第2張、第4張圖像出現(xiàn)漏檢情況(第2張圖像中漏檢對象為表面與背景非常相似的矸石,第4張圖像中漏檢對象為小塊矸石),對第3張圖像出現(xiàn)定位誤差較大情況,而Ghost-SSD模型均能準確檢測出每張圖像中的煤矸目標。
(a)原圖
在實驗環(huán)境和數(shù)據(jù)集均一致的條件下,分別采用SSD300,SSD512,F(xiàn)aster-RCNN,Yolov3,Ghost-SSD模型進行煤矸檢測實驗,結果見表4??煽闯鯯SD512模型的mAP高于SSD300,但輸入分辨率的增大導致檢測速度降低;Faster-RCNN模型的mAP最高,但檢測速度在當前實驗環(huán)境下只有10幀/s;Yolov3模型的檢測速度較上述3種模型快,但精度較低;Ghost-SSD模型具有較高的檢測精度和速度,優(yōu)于其他模型。
表4 不同模型的煤矸檢測結果
(1)為了提高煤矸目標檢測精度和速度,對SSD模型進行改進,設計了Ghost-SSD模型。該模型以GhostNet網(wǎng)絡作為SSD模型主體網(wǎng)絡層,提高了煤矸目標檢測速度;在淺層特征圖中引入SAM和擴張卷積,增強了淺層特征圖對煤矸目標的表征能力,提高了對煤矸小目標的檢測效果;針對煤矸特定檢測目標進行K-means聚類錨框優(yōu)化,提高了煤矸檢測精度。
(2)基于Ghost-SSD模型提出了輕量化煤矸目標檢測方法,通過實驗得出采用Ghost-SSD模型進行煤矸檢測的精度和速度均優(yōu)于SSD,F(xiàn)aster-RCNN,Yolov3模型,且能夠有效檢測出煤矸小目標。
(3)下一階段將重點研究在煤矸檢測環(huán)節(jié)之后加入目標跟蹤技術,提高煤矸識別定位穩(wěn)定性。