畢東月
(安世亞太科技股份有限公司,北京 100025)
采用輸煤皮帶對煤料進行輸送是煤炭生產企業一種常用方式,但在生產過程中輸煤皮帶可能發生跑偏、斷帶、撕裂等安全事故[1-2]。目前,對輸煤皮帶進行設備巡檢時,普遍采用人工巡視、手工記錄的作業模式。工作人員在現場進行巡視,主要通過看、觸、聽等感官對運行設備進行簡單的定性判斷,但現場環境往往較為惡劣,且勞動任務強度大,容易導致誤判而影響系統正常安全運行。因此,及時診斷發現輸煤皮帶故障,準確定位并處理,對保障輸煤皮帶安全工作具有十分重要意義[3-4]。
近年來,利用圖像分析實現輸煤皮帶的故障檢測與診斷是一種有效方式,因其安裝維護簡單,應用成本低,受到了國內外學者的廣泛關注[5-7]。文獻[8]總結了煤炭運輸機跑偏通常由承載托輥組運行失常、改向滾筒積煤、運動過程中傳動以及落煤不均勻等原因引起,并提出解決皮帶跑偏的幾種方法;楊林順等[9]提出了一種基于導向濾波和最大類間方差法的改進Canny算子邊緣檢測方法,實現了對輸送帶跑偏故障的在線檢測和分級故障報警。針對輸送機出現的縱向撕裂問題,李海濱等[10]提出了一種基于線激光輔助的皮帶撕裂視覺檢測方法,通過對所提取的線激光條紋處理判斷,實現皮帶撕裂檢測;王福斌等[11]提出了基于視覺的皮帶撕裂監測方法,并構建了皮帶撕裂視覺監控系統,可代替人工對皮帶進行不間斷的實時檢測。針對大塊矸石或鐵器等非煤異物進入輸送帶系統易造成輸送帶損傷等問題,吳守鵬等[12]提出一種Faster-RCNN+雙向特征金字塔網絡的運煤輸送帶異物識別模型,提升了Faster-RCNN模型在多尺度非煤異物檢測的性能。
為了能實時高效地檢測出輸煤皮帶的跑偏、撕裂和異物等故障情況,本文提出一種基于深度學習的輸煤皮帶故障視覺檢測方法,通過對運行皮帶進行邊緣檢測,利用Canny進行邊緣檢測,并通過YOLO算法提取細節特征,設計無異物閾值,利用最小距離分類算法得到有無異物特征,基于上述方法,構建輸煤皮帶視覺檢測系統,解決皮帶跑偏、裂紋、異物檢測難等問題。
基于機器視覺技術的皮帶故障檢測系統的組成及工作流程如圖1所示。首先利用安裝在皮帶機上的攝像頭采集現場圖像;被測輸送帶按照一定的節拍運動,攝像頭同步拍攝皮帶運動畫面;在光源的照射下,攝像頭獲取被測皮帶的紋理、兩側邊緣輪廓等影像信息;利用光學放大系統接收影像信息,再通過CCD攝像頭將其轉換為視頻信號,將其輸出給視頻處理服務器,圖像信息經過算法處理運算,最終得到待檢測皮帶的撕裂、跑偏及異物等信息。
圖1 系統組成及工作流程
輸煤皮帶跑偏是指輸煤帶偏離正常的運行方向,這是輸煤皮帶運行中最為常見的一種故障。當輸煤系統出現輸煤皮帶跑偏故障時,容易造成撒煤、煤粉飛揚等問題,不僅會對工作環境造成污染,還會引發皮帶高溫損傷、撕裂等[13]。因此,對輸煤皮帶進行跑偏檢測顯得尤為重要。
首先用攝像機獲取皮帶兩側邊緣的輪廓圖像,然后利用Canny邊緣檢測算法,通過設定合理的皮帶動態監測范圍,準確識別輸煤皮帶邊緣。當皮帶發生跑偏,超出設定的范圍,即發出報警信息。輸煤皮帶跑偏檢測流程如圖2所示。
圖2 輸煤皮帶跑偏檢測流程
Canny邊緣檢測算法首先利用高斯濾波器對需要邊緣檢測的視覺圖像進行平滑處理,濾除噪聲;之后計算視覺圖像中每個像素點的梯級強度和方向;再利用雙閾值檢測法來判定邊緣,通過抑制其中的弱邊緣并最終完成檢測。
Canny邊緣檢測算法具體的實現如下:
1)高斯平滑
Canny算子是基于高斯一階導數的最優化逼近算子。首先利用圖像I與高斯平滑濾波器G作卷積得到1個平滑后的數據陣列,如式(1)所示:
S[i,j]=G[i,j;σ]*I[i,j]
(1)
式中:i,j分別表示圖像像素矩陣第i行和第j列;σ表示高斯函數的散步參數,用以控制平滑程度。
使用一階有限差分計算平滑后的數據陣列S的x和y方向上偏導數的2個陣列P與Q,如式(2)~(3)所示:
(2)
(3)
然后利用直角坐標系到極坐標之間的轉換公式來計算幅值M和方位角θ,如式(4)~(5)所示:
(4)
(5)
2)非極大值抑制
為確定圖像邊緣,采用非極大值抑制(Non-Maxima Suppression,NMS)生成細化的邊緣[14]。NMS算法首先將梯度角θ的變化范圍減小到圓周的4個扇區之一,如式(6)~(7)所示:
ζ[i,j]=Sector(θ[i,j])
(6)
式中:Sector為扇區符號;ζ為扇區值。
N[i,j]=NMS(M[i,j],ζ[i,j])
(7)
式中:N的非零值對應圖像灰度階躍處對比度。
3)雙閾值化
雖然在第1)步中對圖像進行了高斯平滑處理,但是NMS過程中仍包含了由細紋理和噪聲引起的假邊緣段。通常的方法是在NMS過程中使用1個閾值τ,將低于閾值τ的所有值賦零,得到圖像的邊緣陣列。但如果閾值τ取得太低,則會得到1個假邊緣;取得太高則導致部分輪廓丟失。本文采取雙閾值算法[15]來解決上述問題。
輸煤皮帶的撕裂一般分為橫向撕裂和縱向撕裂。橫向撕裂是指與傳輸帶垂直或與傳輸帶運行方向成一定夾角的裂縫,一般是在膠接頭膠接不牢的情況下發生斷裂。由于傳輸帶的紋理是縱向的,橫向裂縫會有很明顯的特征,且對皮帶的損害尤其顯著。本文僅利用算法對橫向撕裂進行研究。
首先在視頻幀中通過矩形框找到傳輸帶的位置,之后對圖像進行預處理,獲得圖像數據,再對傳輸帶的圖像進行二值化處理,最終得到傳輸帶上的橫向紋理。由于噪聲干擾,需要先進行降噪處理。采取的方法是圖像形態學處理的腐蝕和膨脹,然后再通過裂縫的整體特征(采用HOG特征)來判斷。如裂縫會有一系列的毛邊,可以通過這些毛邊來確定是噪聲還是真實裂縫,其檢測流程如圖3所示。
圖3 橫向裂縫檢測流程
具體的實現如下:
1)視頻幀:攝像機拍攝視頻,實時提取出當前幀進行檢測。
2)檢測傳輸帶:目前實現目標檢測具代表性的是Faster-RCNN和Yolo這2種深度學習模型。Yolo是單階段目標檢測模型,用1個網絡同時實現了分類和定位,且模型相對較小,檢測相對較快。為了能實現實時的檢測,本文選擇Yolo模型來進行目標檢測。
3)圖像預處理:主要是對圖像進行降噪處理,一般采用提取灰度值、腐蝕和膨脹等圖像形態學來處理。
4)HOG特征:方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征是一種在計算機視覺和圖像處理中用來進行物體檢測的特征描述。根據橫向紋理的HOG與裂縫HOG特征比對,便可判斷是不是橫向裂縫。
將輸煤皮帶識別異物問題轉換為分類問題,即有無異物這2類。因此可以將識別算法轉換成構造分類算法(二分類)的問題。由于無異物的樣本數量遠遠大于有異物的樣本數量,所以本文選取的方法是貝葉斯分類算法中最小距離分類算法。
最小距離分類算法是指求出未知類別向量到要識別各類別代表向量中心點的距離,將未知類別向量歸屬于距離最小一類的一種圖像分類方法。通過求出未知類別向量X到事先已知的各類別(如A,B,C等)中心向量的距離D,然后將待分類的向量X歸結為這些距離中最小的那一類的分類方法。本文選取歐式距離來進行計算。基本原理如下所示:
在1個n維空間中,最小距離分類法首先計算每個已知類別XA(用向量表示為[XA1,XA2,…,XAn])的各個維度的均值,形成1個均值μA(用向量表示為[μA1,μA2,…,μAn]),其中A為類別的名稱,XA是類別A的樣本特征集合,XA1是類別A的第1維特征集合,μA1是第1維特征集合的均值,n為總的特征維數;同理,對另1個類別XB進行同樣的操作。現在有1個新的未知樣本X,得到X各個維度的特征值(也用向量表示),然后用歐式距離計算X到XA和XB的距離dA和dB,若dA 圖4 異物檢測流程 本文的仿真環境為配有RTX 3080 GPU顯卡的Linux系統服務器,其處理器為Intel Core i7-7770,文中所述的YOLO算法基于Pytorch深度學習框架開發。 本文所述算法的訓練數據集與驗證數據集均由作者自主構建。其中用于檢測皮帶的YOLO算法數據集由有無煤區皮帶以及皮帶被遮擋的RGB圖像構成,數據集大小及訓練集與測試集的劃分見表1。 表1 自建數據集信息 通過攝像頭獲得的RGB圖像通過Labelme軟件進行標注,得到RGB圖像中皮帶的位置框。其標注方式如圖5所示。 圖5 皮帶數據標注 用于檢測皮帶的YOLO算法訓練參數見表2。 表2 模型訓練參數信息 YOLO神經網絡模型的迭代次數通過多次在無煤區皮帶數據集上實驗得出,YOLO算法在迭代至280 000~300 000次時平均誤差維持在0.1左右。為防止過擬合,每1次學習的過程中,需要將學習后的參數按照固定比例進行降低,所以設定權值衰減系數為0.000 5。由于圖片的分辨率較高,而服務器GPU內存有限,所以采用較低的訓練Batchsize以完成訓練。 在目標檢測模型評價中,對模型的評價方式一般采用統一的標準,利用模型準確率P(Precision)、召回率R(Recall)計算出平均準確率AP(AveragePrecision),最后把均值平均精度mAP(meanAveragePrecision)作為目標檢測模型的性能評估標準。具體計算方式如式(8)~(9)所示: (8) (9) 式中:TP表示檢測框中正確,且IOU大于閾值的。FP表示檢測框中錯誤,且IOU小于閾值的。FN表示真實正確的框,但沒有被模型檢測到的。IOU是模型所預測的檢測框和真實框的交集和并集之間的比例,本文設置IOU閾值為0.5。IOU的計算原理如圖6所示。 圖6 IOU計算原理 由于算法訓練實驗所采用的數據集均為作者自主構造,數據集與原算法模型訓練的數據集差異較大,所以算法模型直接復用在本文所述數據集上性能的表現并不是最佳,經過數據處理以及模型參數調整,得到算法模型在本文數據集上的最優性能,網絡模型性能參數對比如表3所示。由于增加了圖片處理的操作,模型準確率由85.31%提高到93.24%,召回率由74.23%提高到84.56%。算法整體速度由35幀/s下降到32幀/s,但均值平均精度由84.36%提高到94.67%,準確度得到了較大提升。 表3 模型性能信息 圖7為本文訓練算法模型對皮帶的檢測結果,左上角為模型輸出的置信度分數。從圖中可以看出,本文訓練算法能較好地得到皮帶的位置框,置信度為0.989 1,精度得到明顯提升。 圖7 皮帶視覺檢測結果 圖8(a)為攝像機獲得皮帶兩側邊緣輪廓的原始圖像,首先通過Canny邊緣檢測算法對原始圖像進行預處理得到灰度圖如圖8(b)所示。準確識別輸煤皮帶邊緣后,通過設定的閾值范圍來判斷皮帶是否跑偏,圖8(c)和圖8(d)為實驗過程中通過Canny邊緣檢測算法判斷出皮帶跑偏情況。可以看出,算法能準確快速地識別出皮帶跑偏情況。 圖8 輸煤皮帶跑偏檢測結果 在對輸煤皮帶裂縫進行判斷時,需要保證輸煤皮帶上沒有傳輸的煤。否則會因為煤的遮擋,無法觀察到裂縫。此時,根據提供的視頻數據分析,提出2種解決方案,第1種方案,在輸煤皮帶空載的時候進行裂縫檢測,如圖9所示。第2種方案是對正在工作的輸煤皮帶上沒有煤的區域部分進行檢測,如圖10所示。 圖9 輸煤皮帶空載狀態 圖10 輸煤皮帶上無煤檢測區域 針對橫向無煤區域與縱向無煤區的檢測,分別做了算法性能實試,算法檢測性能結果如表4所示,從表4可以看出,該算法能準確識別出輸送平帶上的橫向無煤檢測區域和縱向無煤檢測區域,模型準確率分別為94.3%和95.24%,召回率分別為85.11%和84.96%,均值平均精度分別為85.31%和84.96%,滿足2種情況的皮帶檢測精度需求,且檢測幀率也符合需求。 表4 皮帶檢測性能 皮帶橫向裂縫的檢測結果如圖11所示。從圖11(a)可以看出,利用目標檢測算法可以準確地識別皮帶中真實裂紋和噪聲的具體位置。從圖11(b)可以看出,通過對圖像進行二值化的預處理和降噪處理后可以明顯區分出橫向裂紋和噪聲。 圖11 橫向裂縫圖像 由于傳輸帶本身具有縱向紋理特征(如圖12所示),本文通過在皮帶下方安裝紅色照明燈這一輔助手段有效提高了縱向裂縫的檢測結果,如圖13所示。 圖12 縱向紋理圖像 圖13 縱向裂縫圖像 基于計算機視覺方法獲得輸煤皮帶上異物的檢測結果,如圖14所示。 圖14 異物檢測結果 計算機視覺算法對于異物的檢測性能數據如表5所示。模型準確率為98.3%,召回率分別為87.11%,均值平均精度分別為90.31%,算法速度為51幀/s。由表5可以得出,利用主成分分析算法可以很好地提取出非煤物質(異物)與煤物質的不同特征,通過識別算法可以準確地識別出異物,且速度較快。 表5 異物檢測性能 1)輸煤皮帶的安全運行對整體生產作業效率有著舉足輕重的影響。為確保輸煤皮帶正常運行,建立一種基于深度學習算法的輸煤皮帶故障視覺檢測系統,可對常見的皮帶跑偏、撕裂和異物等故障進行實時檢測與診斷。 2)針對不同的故障類型與故障原因,采用深度學習中的邊緣檢測算法、目標檢測算法和分類算法等對故障進行處理。針對縱向裂縫與縱向紋理較難區分的問題,通過在傳輸帶的下方加裝紅色燈的輔助手段來實現縱向裂縫的檢測,解決了縱向撕裂難以檢測的問題。 3)算法實驗結果表明:提出的視覺檢測系統可以實時高效地檢測出輸煤皮帶常見的3種故障,可進一步保障運輸系統安全穩定運行。2 分析與討論
2.1 模型訓練與仿真實驗
2.2 皮帶跑偏檢測結果
2.3 皮帶撕裂檢測結果
2.4 皮帶異物檢測結果
3 結論