何銘亮 王建國 范 斌 張 超 郭向陽
(1.內蒙古科技大學機械工程學院 內蒙古包頭 014010;2.內蒙古農業大學機電工程學院 內蒙古呼和浩特 010018)
潤滑油被稱為機械設備的“血液”[1],其攜帶大量磨損產生的磨損顆粒,磨損顆粒具有大量磨損信息,通過分析其尺寸、形態、數量、濃度等指標,可以判斷設備的運行狀態及故障原因。目前油液磨粒檢測技術主要是離線送檢和在線監測兩大類[2]。傳統離線送檢的方法時效性不高,油樣獲取有限,分析周期長,加之磨粒分析需要依賴經驗豐富的專家的主觀判斷,無法及時對設備早期異常磨損進行及時反饋。在線油液磨粒監測技術成為國內外研究的焦點。
在線圖像可視鐵譜技術(On-Line Visual Ferrography,OLVF)[3],是一種油液磨粒在線技術,該裝置通過旁路方式與潤滑系統直接連接,通過調節電磁鐵的勵磁磁勢和沉積流量,可有效地捕獲5~1 000 μm 的鐵磁性顆粒,并由圖像傳感器實時獲取捕獲磨粒視覺特征,理論上基于圖像處理技術可實現磨粒信息全面提取。在線圖像可視鐵譜技術可以實時監測磨損磨粒,避免了人工分析磨粒的主觀判斷。然而,OLVF的光學成像結構簡單,放大倍率有限,其獲取的磨粒譜片圖像分辨率低;在電磁力的作用下沉積的磨粒彼此吸附,易出現磨粒聚集和成鏈現象;實際應用時潤滑油中的氣泡對OLVF沉積磨粒譜片的干擾嚴重,磨粒背景復雜,因此,傳統圖像處理方法提取磨粒視覺特征面臨挑戰。
隨著計算機視覺技術和深度學習技術的不斷發展,國內外學者為離線鐵譜磨粒圖像處理開辟了新的途徑。陳果和左洪福[4]運用c-均值有效實現了8種磨粒的聚類,對少量磨粒圖像進行了參數提取,但是顏色、尺寸大小、磨粒形狀仍靠人工測量。賀石中等[5]利用Mask R-CNN卷積神經網絡對離線鐵譜圖像中的磨粒進行識別和分割,但預測速度較慢,無法達到實時磨粒識別的需求。安超等人[6]也通過深度學習中的卷積神經網絡實現了離線鐵譜磨粒的智能識別,但是只對兩種特定磨粒進行了識別,且在泛化能力上還有不足。何貝貝等[7]利用Faster-RCNN模型自動提取磨粒圖像特征來識別異常磨粒,但速度無法達到實時監測的要求。
上述研究大多是關注離線鐵譜圖像中單一特征磨粒單目標智能識別。對于OLVF獲得譜片圖像而言,由于磨粒譜片圖像分辨率低,且沉積的磨粒彼此吸附,易出現磨粒聚集和成鏈現象;同時實際應用時潤滑油中氣泡干擾嚴重,磨粒背景復雜;加之磨粒種類復雜多變,傳統的人工提取磨粒特征的方法效率不高,且傳統的磨粒分割與識別是兩個階段,并未完全實現智能化,因此當同一背景下出現多種磨粒時,系統無法識別多種磨粒。目前對于OLVF在線磨粒圖像的多目標磨粒識別問題仍面臨挑戰。
隨著深度學習技術的發展,在目標檢測方面基于R-CNN算法的兩階段檢測,如R-CNN[8]、Fast-RCNN[9]、Faster-RCNN[10]等發展迅速,這類算法準確度高,但檢測時間長,無法達到實時檢測。近年來,以yolo、SSD[11]等算法為代表的單階段檢測方法發展迅速,與兩階段檢測算法相比,這類算法檢測速度很快,可實現在線實時檢測。
為了實現在線可視鐵譜圖像磨粒多目標實時檢測與識別,本文作者提出基于yolov5在線可視鐵譜圖像磨粒多目標識別方法,實現了在復雜環境下多目標、多類型的磨粒識別,研究表明該方法的準確率基本滿足油液在線監測需求。
yolo算法[12]首先會將一張圖像分為S*S個網格單元,每個單元格負責檢測目標,如果某個目標的中心落到網格中,那么這個網格單元就會對該目標進行預測。每個網格需要預測B個邊界框,每個邊界框又需要回歸到其自身坐標和尺寸(x,y,w,h)以及預測一個置信度值,置信度的定義公式見式(1)。
(1)
這個置信度包含兩個方面,一是邊界框含有檢測目標的置信度,二是邊界框的準確度。若該邊界框中不包含目標,則Pr(object)=0,若包含檢測目標,則Pr(object)=1,另外,每個單元格還需要預測出C個類別概率值,這個類別概率值是指網格單元預測的邊界框中的目標屬于各個類別的概率,記為Pr(classi),各個邊界框的類別置信度公式見式(2)。
(2)
最后得到S*S*(B*5+C)列的輸出張量,對邊界框進行閾值過濾,并對保留的邊界框進行非極大值抑制(Non-Maximum Suppression,NMS)處理,去掉重疊的邊界框,從而得到最終的目標檢測結果。
yolov5網絡由3個主要組件組成:
(1)Backbone:在不同圖像細粒度上聚合并形成圖像特征的卷積神經網絡。
(2)Neck:一系列混合和組合圖像特征的網絡層,并將圖像特征傳遞到預測層。
(3)Prediction:對圖像特征進行預測,生成邊界框并預測類別。yolov5算法結構示意圖如圖1所示。

圖1 yolov5結構示意Fig.1 Schematic of yolov5 structure
在yolov5中設計了兩種CSPnet[13](Cross Stage Paritial Network)結構,一種用于Backbone主干網絡,一種用于Neck網絡中。CSP模塊由局部密集塊和局部過渡層組成。在局部密集塊中,首先通過通道x0=[x′0,x″0]將基礎層的特征映射劃分為兩部分,然后通過跨階段層次結構將它們合并,將梯度變化集成到特征圖中,然后輸出xU。CSP模塊的前饋傳遞和權重更新方程如公式(3)和公式(4)所示。
(3)
(4)
式中:*表示卷積算子;[x0,x1,…]表示將x0,x1,…連接,并且wi和xi為連接到第i個密集塊的權重和輸出,fi是第i個密集塊權重更新的函數,而gi表示傳播到第i個密集塊的梯度。
CSPnet通過拆分合并的策略,增加了梯度路徑的數量,而且平衡了各層的計算,大大減少了計算量,同時增強了網絡的學習能力,保證了準確性。
空間金字塔池化(Spatial Pyramid Pooling,SPP)是SPPNet[14]提出用來解決全連接層固定輸出的問題。yolov5網絡的backbone組件中添加SPP模塊,采用滑窗方式對輸入的特征圖像進行處理,每個層級都具有不同大小的步長和池化層來實現,從而通過對不同尺度的磨粒特征使用多個卷積和進行最大池化,再將最大池化后的特征圖進行擴充,最終得到統一大小的特征圖,SPPNet模塊計算如公式(5)所示。
(5)
式中:Kh表示卷積核的高度;Sh表示高度方向的步長;Ph表示高度方向的填充數量;ceil表示向上取整;floor表示向下取整;hnew表示最后得到新的特征向量的高度。
特征向量的寬度以同樣方式進行計算。最終得到固定大小的特征圖,輸入全連接層,從而解決了磨粒尺寸等特征不一致的問題,從一定程度上緩解了目標多尺度的問題。SPP模塊結構如圖2所示。

圖2 SPP結構示意Fig.2 Schematic of SPP structure
在yolov5的neck部分中,FPN[15](Feature Pyramid Network)與PAN[16](Path Aggregation Network)是其重要組成部分,在FPN層的后面添加了一個自底向上的特征金字塔網絡,其結構組成如圖3所示。FPN層自頂向下傳達語義特征,而特征金字塔自底向上傳達強定位特征,從不同的主干層對不同的檢測層進行參數聚合,進一步增強了特征融合與特征傳遞,這對多尺寸目標分割與識別具有重要意義。

圖3 FPN+PAN結構示意Fig.3 Schematic of FPN+PAN structure
目標檢測中想要將檢測到的目標框出,就需要通過對預測邊界框所在位置的數據進行預測,從而產生出交并比(IOU)這個目標檢測中的重要概念,即為目標預測框與真實框交集與并集的比值。而GIOU中增加了一個能夠同時框住真實框與預測框的最小的框,從而解決了無法衡量預測框與真實框兩者距離的問題。yolov5中采用GIOU_Loss作為邊界框預測的損失函數。損失函數計算公式見式(6)。
(6)
為了獲取實驗數據,開展了全壽命周期齒輪磨損加速實驗。試驗在自制的試驗臺開展,如圖4所示。該平臺由齒輪試驗臺、振動加速度傳感器、便攜式油液分析儀及數據采集軟件構成。實驗持續進行約240 h。利用在線油液分析儀采集油液磨粒信息數據,收集了齒輪從磨合期、正常磨損期,到異常磨損的全壽命過程中油液磨粒信息視頻數據,共計5 460組。

圖4 構建的采集系統Fig.4 The constructed acquisition system
將采集到的磨粒視頻數據,按幀提取為磨粒圖像數據,并選出500張磨粒圖片,利用標注工具對磨粒圖像進行標注,并整理成COCO數據集格式。根據磨粒的形態、紋理、大小等特征,將齒輪磨損磨粒分為以下6類:
(1)正常磨粒。正常磨粒尺寸較小,成薄片狀。正常磨粒是齒輪箱正常滑動磨損產生的磨損顆粒,對齒輪箱幾乎沒有影響。
(2)切削磨粒。切削磨粒呈細長狀,切削磨粒類似于車床加工的切屑,通常是齒輪摩擦表面或潤滑油中存在硬質物質導致,此時需要對潤滑油進行更換。
(3)球形磨粒。球形磨粒呈圓球狀,通常是由于軸承滾動疲勞磨損導致,當出現球形磨粒時,需要重視齒輪箱的磨損情況。
(4)疲勞磨損磨粒。疲勞磨粒呈片狀,尺寸較大,表面光滑,該磨粒大量出現表示齒輪已經出現故障,需要停機檢修。
(5)滑動磨損磨粒。滑動磨粒尺寸較大,表面光亮且有劃痕,該磨粒出現較多時,需要對齒輪箱進一步檢查。
(6)氧化磨損磨粒。氧化物磨粒呈黑色顆粒,當出現大量該磨粒時,表明齒輪箱腐蝕嚴重,需要對潤滑油進行補充或更換。
圖5所示為6類磨粒代表性圖像。
yolov5具有4種不同深度的模型,分別為yolov5s、yolov5m、yolov5l、yolov5x,4種模型的網絡深度依次加深,從而使得模型訓練速度依次減慢,并且模型權重文件依次增大。為了保證訓練速度不會過慢,同時模型權重文件也不會過大,文中選用yolov5l模型作為訓練模型,與yolov3網絡以及FasterR_CNN網絡進行對比,測試3種目標檢測算法的磨粒識別能力。
文中以Pytorch作為深度學習框架建立yolov5l模型,利用阿里云平臺作為硬件基礎進行訓練,其中批樣本數Batch size為32,周期epoch為250,學習率為0.000 1。制作好的磨粒圖像數據集中,70%磨粒圖像劃分為訓練集,30%磨粒圖像劃分為測試集,基于訓練集和驗證集齒輪箱磨損磨粒圖像對深度神經網絡yolov5l進行訓練,選用隨機梯度下降算法(SGD)作為優化器,用來更新優化模型參數,模型訓練完成后,利用測試集來對模型進行評估。
yolov5l模型的Loss函數為
L=Lbox+Lcls+Lobj
(7)
將訓練過程中的損失函數值的變化過程進行可視化,如圖6所示,在進行250個epoch迭代之后,yolov5l模型損失值趨于穩定。

圖6 訓練損失函數值Fig.6 Training loss function value:(a)box; (b)objectness;(c)classification
在目標檢測中,平均精度(AP)是目標檢測模型中最重要的評價指標。平均精度(AP)為單個類別在不同召回率(Recall)下精確率(Precision)的平均值。AP值越高,表明模型對目標的識別精度與定位精度越好,誤分率越低。文中采用IOU閾值為0.5的6種磨損磨粒的平均精度作為評價指標,并且為了對比模型的有效性,訓練后采用測試集檢驗磨損磨粒的識別準確率,分別驗證FasterR_CNN模型、yolov3模型和yolov5l模型,驗證結果如表1所示。yolov5l模型對正常磨損磨粒和切削磨損磨粒等尺寸較小磨粒的識別效果相差不大,但對球形磨粒、滑動磨損磨粒及氧化磨損磨粒的識別平均精度值最高,具有很高的準確性。

表1 3種模型對6種磨粒平均識別精度比較Table 1 Comparison of average recognition accuracy of six kinds of wear particles by three models
為了將模型識別效果可視化,選取6張磨粒圖像作為示例,將圖像傳入訓練完成的FasterR_CNN模型、yolov3模型和yolov5l模型中進行了磨損磨粒識別。從預測速度方面來看,FasterR_CNN的預測速度只有40 fps(每秒傳輸幀數),無法滿足實時磨粒識別;yolov3的預測速度為120 fps,滿足實時磨粒識別的要求,但準確率較差;yolov5l模型的預測速度可達140 fps,其預測在滿足實時磨粒識別的要求且準確率較高。深度神經網絡模型yolov5l對6張磨粒圖像的識別結果如圖7所示。

圖7 yolov5l模型識別結果Fig.7 The recognition results of yolov5l model
從表1給出的精確度及圖7給出的識別結果可以看出:深度神經網絡yolov5模型對尺寸較大或適中的疲勞磨損磨粒、滑動磨損磨粒及氧化磨損磨粒具有很好的分類和識別效果。但對尺寸較小的正常磨損磨粒識別平均精度較低,故而存在漏識別和錯誤識別,但正常磨粒對磨損評估影響不大。
文中使用的yolov5模型,可以通過網絡改進和不斷增加訓練樣本來進一步提高模型的準確率,也可以通過調整攝像頭倍數,從而使更多的磨粒特征顯現,從而有效地提高模型磨粒識別的可靠性。
(1)基于yolov5網絡模型對復雜油液環境下的異常磨損磨粒進行分割與識別,結果顯示該模型可以在磨粒背景復雜情況下,實現多目標多尺度磨粒同時識別,且速度可達到實時識別的要求。
(2)yolov5算法模型對于異常磨損磨粒具有很高的準確率,測試集的平均精度能夠達到77.6%,具有強魯棒性和泛化能力,但對于小尺寸的磨損磨粒識別仍有很大提升空間。在今后的工作中,將通過增大磨粒圖像數據集和進一步優化模型結構來解決這一問題。