馬連成, 劉洪臻, 陸占國, 史曉東, 楊興悅, 孫效玉, 王仁炎
(1.鞍鋼礦業集團 齊大山鐵礦, 遼寧 鞍山 114000; 2.東北大學 智慧礦山研究中心, 遼寧 沈陽 110819)
運載計量是礦山的一項日常生產管理工作,精確掌握和控制礦巖產量,對礦山生產任務完成與車鏟司機績效考核具有重要意義[1]。由于露天礦山目前所使用的車鏟裝運設備缺乏有效地在線計量裝置,對每個工作面的礦巖采出量采用運載車數乘以約定的單車裝載量進行粗略計量。這不但使露天礦生產數據嚴重失真,影響配礦的準確進行,同時也造成了油料消耗量與運營考核的不準確[2]。
除了人工計數和地磅稱重的傳統檢測方法外,現有的自動化礦巖量檢測方法有傳感器檢測方法[3]和物位計檢測方法[4]。應用實踐表明,傳感器設備成本與故障率高,同時易受到雨雪等惡劣天氣和礦山中粉塵及細碎礦渣的影響,給日常維護和生產管理帶來不便。物位計檢測方法需要物位計和控制儀表配合使用,對響應時間要求較高,同時測量有遮擋的運輸礦巖體積較為困難。
近年來,隨著視覺傳感、圖像處理、人工智能等技術的快速發展,將計算機視覺技術和神經網絡技術應用在礦山生產過程中已成為一個新的趨勢,其非接觸式傳感、多層次信息融合、高速建模計算等特點滿足了礦山生產范圍大、不間斷、需及時反饋等要求[5]。TessierJ.等人提出了一種用于巖石混合物成分在線估計的通用機器視覺方法[6];Duan J.等人設計并提出了一個輕量級的U-net深度學習網絡,從圖像中檢測顆粒并獲得顆粒輪廓的概率圖[7];H.HU等人提出了利用神經網絡分類算法實現采礦車輛故障的早期檢測[8]。
本文使用卡車裝載礦巖時采集的大量圖像數據作為研究對象,經過合理的圖像數據預處理策略,通過VGG16深度神經網絡模型以及最小二乘法數據驅動模型[9-10],實現對礦用卡車裝載體積的檢測。
1.1.1 露天礦圖像采集
實際應用中,攝像頭安裝于電鏟駕駛室頂部右上角,采用斜向俯視方式拍攝鏟斗裝載時的卡車圖像,如圖1所示。

圖1 現場攝像頭安裝位置與拍攝圖像
由于電鏟裝載具有較大的隨機性,裝載量波動較大,想要獲取比較準確的圖像樣本集需要耗費大量時間,影響生產的正常進行,因此電鏟實際采集主要用于測試集,測試集部分圖像如圖2所示。

圖2 現場測試集部分圖像
1.1.2 實驗室環境下圖像采集
深度學習需要大量數據,其體系結構也很復雜。即使同一個類別,在深度學習模型訓練中也需要數以千計的標記圖像。由于如此大量的數據在實際礦山中短時間內很難收集和標注,因此本文主要采用實驗室環境下的電鏟裝載礦車圖像對模型進行訓練與驗證。
礦山實攝的礦車型號為北重NTE200,箱斗容量為平92(堆123)m3,載重172~186 t,車尺寸為13 000 mm×7 300 mm×6 900 mm。為保證有效性,實驗室礦車模型尺寸為190 mm×112 mm×100 mm,箱斗容量為300 cm3,模型尺寸與真實車型大小約為70倍關系。
為了盡可能還原現場情況,保證實驗的真實性,拍攝時高度固定,拍攝視角為俯視向前斜視。采用礦車模型、電鏟模型、量杯和沙土等制作實驗室環境下的數據集,實驗裝置與材料如圖3所示。

圖3 實驗裝置圖
本文采用的數據集由5 500張圖像組成,其中,訓練集由5種類別圖像組成:裝載率0%(空車)、裝載率25%、裝載率50%、裝載率75%、裝載率100%(滿車),每種類別1 000張。測試集由10種類別圖像組成:裝載率10%、裝載率20%、裝載率30%、裝載率40%、裝載率50%、裝載率60%、裝載率70%、裝載率80%、裝載率90%、裝載率100%,每種類別50張。通過試驗裝置采集的部分圖像如圖4所示。
圖像預處理是圖像檢測過程中十分重要的一步,圖像預處理的結果也會對模型的分類和預測效果產生直接的影響。圖像預處理的目的是減小模型處理的數據量,降低圖像中無用信息的干擾和特征提取的難度,進而可以提高模型訓練和預測的速度,使得模型的預測穩定性和可靠性增強。本文采用小波閾值去噪、雙邊濾波和直方圖均衡化三種圖像預處理策略進行處理。
(1)TFRecords文件數據的創建
TFRecords文件包含了tf.train.Example 協議緩沖區protocol buffer,協議緩沖區包含了特征Features。首先將數據填入到Example協議緩沖,然后將協議緩沖區序列化為字符串,通過tf.python_io.TFRecordWriter class寫入到TFRecords文件。
(2)TFRecords文件數據的讀取
首先,創建數據流圖,該數據流圖由一些流水線的階段組成,階段間用隊列連接在一起。第一階段將生成文件名,讀取這些文件名并且把它們排到文件名隊列中。第二階段從文件中讀取數據,產生樣本,將樣本放在一個樣本隊列中。根據設置,也可以拷貝第二階段的樣本,使得它們相互獨立,這樣就可以從多個文件中并行讀取。在第二階段的最后進行排隊操作,即入隊到隊列中去,在下一階段出隊。在開始運行這些入隊操作的線程時,訓練循環會使得樣本隊列中的樣本不斷地出隊。
礦用卡車裝載率檢測模型主要由兩部分組成:第一部分基于VGG16深度神經網絡的圖像預分類模型,第二部分基于最小二乘算法的礦用卡車裝載率預測模型。圖像經過VGG16深度神經網絡圖像分類模型,輸出結果為所預測的每種類別的概率值。圖像分類預測的分類結果及對應的概率值作為最小二乘法待擬合的數據,經過最小二乘回歸模型輸出結果為礦用卡車裝載率的預測值。
利用融合VGG16和最小二乘法的礦用卡車裝載率檢測模型,可以實現對礦用卡車裝載率的檢測。圖5展示了礦用卡車裝載率的檢測流程。

圖5 礦用卡車裝載率檢測流程圖
VGG16網絡的輸入是固定尺寸大小的RGB的2D圖像,接著依次通過一系列堆疊的、核大小為3×3的卷積層。每兩個或者三個連續堆疊的卷積層,為一個網絡的小的單元模塊,命名為Block。每一個Block后面會接入一個Max-pooling 層,用于減小輸入圖像的尺寸大小,并保持網絡的平移不變性。經過多個堆疊的Block單元后的輸出,會接入一個三層的傳統神經網絡,也就是三層全連接層。最后的分類輸出是一個softmax多分類器。VGG16網絡結構如圖6所示。

圖6 VGG16網絡結構圖
網絡中的每一個卷積層、全連接層后面使用激活函數進行非線性的映射計算。在第一個和第二個全連接層的后面還使用了dropout技術,來提高網絡的泛化能力,防止網絡的過擬合。
圖像經過VGG16深度神經網絡圖像分類模型,輸出結果為所預測的每種類別的概率值。圖像分類預測的分類結果及對應的概率值作為最小二乘法待擬合的數據,輸出結果為礦用卡車運載率的預測值。選取分類結果中可能性最大的前兩個分類結果及其對應的概率值作為最小二乘回歸模型的待擬合數據。公式(1)中的X、Y、Z即為待擬合的三個系數。
待擬合公式為:
V=(X+YC1P1+ZC2P2)×Vm
(1)
其中,V為裝載礦巖體積,Vm為礦車最大裝載體積,C1、C2分別為最大概率類別與第二大概率類別,P1、P2分別為最大概率類別的概率值、第二大概率類別的概率值。
目前還沒有較系統的理論體系來幫助神經網絡針對不同數據樣本確定出更有效的參數。其中,學習率是最影響性能的超參數之一,它以一種更加復雜的方式控制著模型的有效容量,當學習率最優時,模型的有效容量最大。設置不正確的學習率可能會使得模型收斂速度過慢或震蕩,甚至無法收斂。另外,隨著模型可處理的數據量的增加以及電腦內存的限制,一次性將過大的樣本數據輸入進網絡中會嚴重影響模型的處理速度,每次送入網絡的樣本數量直接影響模型分類正確率和訓練總體時間,因此BatchSize大小的選擇至關重要,從而實現對模型的優化以及提高網絡的檢測速度。本文采用控制變量法分別從學習率、BatchSize、激活函數三個方面進行大量的網絡拓撲生成實驗來確定最優的網絡結構參數,以求網絡模型達到較好的網絡性能。在此過程中,選取多重相關系數R和均方根誤差RMSE(root mean squared error)作為評價模型性能的指標。R是一個評價擬合好壞的指標,通過擬合結果和實測值的相關系數來反映擬合結果和實測結果的相關程度,R越接近1,擬合的回歸方程越優。RMSE反映了預測數據和原始數據對應點誤差大小,RMSE越接近0,擬合的回歸方程越優。R和RMSE公式分別由公式(2)和公式(3)給出:
(2)
(3)

通過進行大量的網絡拓撲生成實驗及其對應的結果分析,選擇最優的網絡模型參數為:學習率0.002 5、BatchSize為30、Elu激活函數。此時,R值約為0.997 8,RMSE值約為0.013 6,網絡擬合度較好,模型預測準確性良好。
圖像經過VGG16神經網絡圖像分類模型,輸出結果為所預測的每種類別的概率值。圖像分類預測的分類結果及對應的概率值作為最小二乘法待擬合的數據,輸出結果為礦用卡車運載計量的預測值。按著公式(1),通過Matlab中CFTOOL工具箱進行優化擬合,擬合結果分別如圖7所示與公式(4)。

圖7 最小二乘法擬合
V=(-0.240 1+2.4C1P1+1.474C2P2)Vm
(4)
平均絕對誤差MAE(mean absolute error) 和均方根誤差 RMSE是衡量變量精度的兩個最常用的指標,同時也是機器學習中評價模型的兩把重要標尺。本文采用這2個指標對模型性能進行全面評估,其中RMSE見公式(3),MAE計算公式如下:
(5)
MAE是對各預測數據的絕對誤差求平均,反映預測值誤差的實際情況;RMSE是觀測值與真值偏差的平方和與觀測次數L比值的平方根,衡量觀測值同真值之間的偏差。
對10種類別(裝載率分別為10%、20%、30%、40%、50%、60%、70%、80%、90%、100%)礦用卡車裝載結果進行檢測分析,結果如下:
(1)預測值與實際值關聯對比分析:其關聯折線圖如圖8所示。由圖可見,預測值分布在對應實際值附近且相距較小,平均誤差不超過5%,證明模型預測效果較為準確。

圖8 預測-實際關聯折線圖
(2)MAE與RMSE性能分析:圖9為MAE與RMSE性能直方圖,由圖可見,10種類別裝載率的平均MAE和平均RMSE較小,分別為0.060和0.081,證明所建立的模型的性能較好。

圖9 模型性能指標直方圖
用實驗室測試集檢驗結果很好,但用現場測試集檢驗誤差較大。經分析,其原因主要有以下兩點:一是現場樣本集太少,無法有效參與樣本訓練;二是實驗室樣本集與現場樣本集存在一定的誤差。要達到現場應用效果,第一種方法是通過增加現場采集樣本解決,這需要消耗較大的人力物力,且影響礦山的正常生產管理;第二種途徑是增加現場設備與運行環境的模擬仿真,包括電鏟和卡車等設備、裝置礦巖物料、多視角攝像等,從當前試驗基礎上看,通過礦山運輸裝載工藝環節的仿真,將成為該領域研究的最優選擇。
(1)開發語言:Python;
(2)軟件環境:JetBrains PyCharm 2018.2.4 x64,Matlab R2018b;
(3)其他輔助開發工具包:PyQt5,OpenCV4.11;
本系統開發工作主要在PC端上完成,并打包成exe可執行文件,使其具有跨平臺通用性。
依據系統需求,利用融合VGG16網絡和最小二乘法的礦用卡車裝載率檢測模型,以exe可執行文件形式展現相應功能。開發流程分為以下三個步驟:
(1)利用PyQt5輔助開發工具包實現系統界面繪制;
(2)利用Python語言實現系統界面中相應功能;
(3)打包成exe可執行文件進行調試。
依據模塊化設計思想,將礦用卡車裝載率檢測系統模塊劃分如下:
(1)圖像導入模塊:實現圖像選擇和目錄顯示兩個功能。選擇本地圖片作為待檢測圖像并顯示其所在目錄。
(2)圖像顯示模塊:將所選擇待檢測圖像顯示到系統界面中。
(3)圖像檢測模塊:基于融合VGG16網絡和最小二乘法的礦用卡車裝載率檢測模型,將VGG16深度神經網絡訓練好最優網絡超參數和最小二乘法中最優待擬合參數輸入模型中,對所選擇的圖像進行裝載率檢測。
(4)檢測結果模塊:實時顯示礦用卡車裝載率的檢測結果。
(5)日期顯示模塊:顯示檢測日期和時間。
礦用卡車裝載率檢測系統運行界面如圖10所示。

圖10 系統運行主界面
(1)融合VGG16和最小二乘法的露天礦卡車裝載率識別方法,經過VGG16深度神經網絡模型對礦石圖像進行預分類,顯示分類結果并確定每種類別可能性大小,利用分類結果以及最小二乘算法計算礦用卡車裝載體積。
(2)利用實驗室環境下的圖像數據對模型進行驗證,平均誤差不超過5%,證明了本文所提出的方法具有較高的預測精度和通用性。
(3)將人工智能技術和圖像識別技術引入礦用卡車裝載體積的檢測中,成本低廉,減少資源浪費以及人力物力的使用,提高檢測自動化程度。但如何有效獲取礦山真實礦車圖像裝載率樣本,是后續應用需要進一步解決的問題。