張洪昌,王子介,張振江,荊洪迪,劉偉新,任海龍,何文軒
(1.鞍鋼礦業有限公司眼前山分公司,遼寧 鞍山市 114000;2.中國科學院沈陽自動化研究所,遼寧 沈陽 110169)
從礦山企業的角度來說,最重要的兩個方面就是生產和安全,生產關系到整個企業的利潤,讓企業能夠獲得更多的資金進行發展;安全則是保證生產能夠正常進行的前提。在鐵礦的生產過程中,尤其是井下生產,如何安全、高效生產是礦山考慮的頭等大事,不同的礦巖條件會帶來兩方面問題:(1)不同的礦巖條件對爆破設計的裝藥量有很大影響,同樣影響了出礦的截止品位;(2)礦石和圍巖交界的地方結構不穩固,為了預防事故的發生需要對礦巖交界處進行加強支護。因此,現場及時識別礦巖界限是非常必要的,并且需要能夠搭載在井下便攜設備上,方便井下施工技術人員隨時使用。這就需要在樹莓派等移動端處理設備上搭載訓練好的人工智能識別模型。
自從 2015年提出殘差網絡以來,神經網絡的深度大大增強,圖像識別的精確率不斷上升,更是產生了一系列先進的算法,這些算法在各個工程以及民生領域都得到了廣泛的應用,但鐵礦行業目前應用還較少。地下礦山的礦巖識別可以看作是單一背景下的圖像識別,在現場采集到大量的學習樣本后,可以利用高效的神經網絡對樣本數據進行初步的特征提取和特征識別,并適當改變圖像環境光等數據,以使模型具有較大的容錯率與識別范圍。模型訓練好后引入測試集,對測試集樣本進行識別,獲得測試結果并調試模型。在現場使用時,識別速度這一因素顯得尤為關鍵,由于地下礦山環境的特殊性,需要將結果快速地提供給現場施工技術人員,所以選擇了具有很高靈活性的EfficientDet架構進行訓練。整個系統流程如圖1所示。

圖1 系統流程
EfficientDet是一種具有很高靈活性的深度學習框架,根據參數的選擇可以將網絡分為 D0~D7共8個等級。EfficientDet主要由EfficientNet主干特征提取網絡、BiFPN和prediction net組成,具體如圖2所示。

圖2 模型結構
EfficientNet模型將主流神經網絡的3個優點結合起來。(1)利用殘差神經網絡增加主干特征提取網絡的深度,加強特征提取。(2)增加每一層提取的特征層數,實現更多層的特征提取。(3)通過增大輸入圖像的分辨率來增加網絡在圖片中所獲得的物體細節信息和語義信息,增加識別效率。EfficientNet模型相比于其他主流神經網絡將這3個優點又結合起來,通過一起縮放baseline模型,同時調整深度、寬度及輸入圖片的分辨率,完成一個優秀的網絡設計。
EfficientNet主干特征提取網絡主要由 1個Stem結構塊與 16個大 Blocks結構塊堆疊構成,Blocks是由Block結構塊堆疊而成。Block的網絡結構如圖3所示,其總體的設計思路是 Inverted residuals結構和殘差結構,在3×3或者5×5卷積前利用1×1卷積升維并對通道添加了注意力機制,最后利用1×1卷積降維后增加一個大殘差邊。

圖3 MBConBlocks結構塊
BiFPN為復雜雙向融合,這種融合模式將淺層網絡的圖片細節特征和深層網絡的語義特征不斷進行上下采樣并堆疊,構建了一個多尺度復融合和一個雙向復雜的特征提取網絡,并提出模型的復合尺度融合變換方法,選擇不同適配不同計算資源的多級別神經網絡,見表1。
EfficientNet特征提取網絡需要進行一系列的上采樣和下采樣,獲得最后的輸出值 P3_out、P4_out、P5_out 、P6_out、P7_out輸入 Class prediction net以及 Box prediction net并進行最終的預測。如圖4所示,EfficientDet-D0則重復圖片紅色虛線框選部分一次,D1則2次并依次類推。

圖4 BiFPN結構
在試驗數據集準備方面,選取了磁鐵礦和赤鐵礦的礦石以及對應的兩種圍巖,共4個類別的礦巖圖像作為原始數據,數據大部分為現場和試驗室獲得,小部分為網絡圖片爬取。具體為磁鐵礦114張、磁鐵礦圍巖123張、赤鐵礦119張、赤鐵礦圍巖120張,另有礦巖混合圖片89張,共計565張,對所有圖片進行標注生成原始數據集,部分數據集情況見表2。

表2 部分數據集
深度學習識別模型的應用場景主要分為露天礦礦巖識別和地下礦礦巖識別。對于露天開采來說,搭載識別模型的設備,使用時光線較為充足。但對于地下礦山來說,設備使用時,大概率會出現設備補光不足的情況,在這種情況下會產生顯著的噪聲影響,影響模型識別的準確率。本文主要從兩個方面來解決這個問題:(1)在使用常規剪切、旋轉、縮放等數據增強操作后,對比現場拍攝的圖片上的噪聲,人為對所有圖像添加0.05以及0.1小幅度的椒鹽噪聲;(2)在模型應用前,對拍攝的圖像以及視頻進行圖像預處理操作,在對比中值濾波、均值濾波和均值濾波后,選擇效果較好的中值濾波對輸入模型的圖像進行去噪操作。最終,將565張圖片擴充到2825張。數據集按照85%作為訓練集、5%作為驗證集、10%作為測試集進行使用,測試集包括多段現場拍攝視頻。
為了保證前期的模型訓練效率與后期的地下礦現場識別速度,模型訓練采用高性能計算機,在python3.7版本下使用Tensorflow2.2對EfficientDet進行構建。整個訓練過程總共分為100 epoch,前50 epoch采用1e-3學習率,后50 epoch采用5e-5學習率,在訓練過程中采用遷移學習的思想,減少訓練迭代的時間。
為了實現該模型訓練與識別的最優化,本文使用YOLOv4、SSD、Faster-RCNN以及EfficientDet-D0、EfficientDet-D1進行測試對比,使用測試的平臺為 Latte Panda 4 GB/64 GB,測試結果對比見表3。

表3 算法測試對比
在對比算法中EfficientDet-D0單項參數的數值都不是最高的,但綜合所有參數證明 EfficientDet-D0是最優選擇。采用Early Stopping控制迭代在第89 epoch提前終止,loss值最終為10.1,loss迭代曲線如圖5所示。

圖5 loss迭代
最終,利用提前準備的地下礦礦巖測試數據集對模型進行測試,測試結果如圖5所示,所訓練的神經模型能夠有效地對不同種類的礦石和圍巖進行分類,對于單張圖片,不論是單一種類還是多種類識別,正確識別的概率都超過96%,說明模型具有很好的魯棒性和泛化性,識別結果如圖6所示。

圖6 礦巖測試識別結果
(1)EfficientDet-D0對于礦石圍巖可以進行較為準確的分類判斷,在加入遷移學習的思想后,訓練的時間大大降低;
(2)EfficientDet-D0相比于其他算法更具有靈活性,可以在不同的硬件條件下選擇不同等級的網絡,減少設備更換造成的浪費和再次訓練的成本;
(3)模型樣本量少、測試所用單片機攝像頭參數不同、燈光補光程度不一都會使模型的準確率降低2~8個百分點;
(4)利用本文模型可以輔助現場確定礦巖條件,優化爆破裝藥方式以及預防事故進行加強支護;
最終在 Latte Panda 4 GB/64 GB 平臺測試正確率可以達到96%,對于單張圖片處理基本上可以作為1~2 s得出結果。綜合所有測試,充分證明了本模型對于礦石圍巖的識別具有較好的魯棒性和泛化性,又可以根據不同設備搭載選擇不同等級的網絡,充分利用現有的資源。