秦宋林, 呂 鵬, 陳嘉浩, 吳 銳
(1 哈爾濱工業(yè)大學, 哈爾濱 150001; 2 中電建河南萬山綠色建材有限公司, 河南 洛陽 471900)
粒度控制是選礦破碎作業(yè)中的核心工作。 粒度參數主要有破碎顆粒的面積、周長、粒徑和體積等;粒度分布是指不同粒度的顆粒占總顆粒的百分比含量。 破碎礦石的粒度分布是破碎過程主要的工藝考核指標,若能精確檢測破碎礦石產品的粒度分布,并據此及時調節(jié)破碎工序控制參數,調整破碎產品的粒度分布,那么就可以實現破碎過程粒度控制的優(yōu)化,進一步提高破碎效率,降低能源消耗[1-2]。
為此,研究使用基于神經網絡的方法直接完成對砂石圖像的粒度估計。 具體包括數據集的獲取、數據集的標注、以及模型骨架網絡設計、損失函數的設計等方面。
傳統視覺分割主要包括分水嶺[3]、Canny 算子[4]和Graph cut 算法[5]等。 Beucher 等學者[3]提出了分水嶺算法,根據分水嶺的構成來考慮圖像的分割。 分水嶺計算分為2 個步驟,一個是排序過程,一個是淹沒過程。 首先對每個像素的灰度級進行從低到高排序,然后在從低到高實現淹沒過程中,對每一個局部極小值采用先進先出(FIFO)結構進行判斷及標注。 分水嶺算法在諸多分割任務中重驗證了操作的可行性。 Canny 開發(fā)出多級邊緣檢測算法Canny 算子,首次提出了邊緣檢測計算理論并且應用于圖像分割領域。 Canny 算子通過降噪、尋找圖像中的亮度梯度、在圖像中跟蹤邊緣等步驟完成圖像的邊緣檢測,并且這種方法可以適用于不同的場合[4]。 Boykov 等學者將Graph cut 用于分割任務當中[5]。 此類方法把圖像分割看作像素標記問題,目標區(qū)域和背景區(qū)域標記為不同的值。 進而通過最小化能量函數來得到目標區(qū)域和背景區(qū)域的邊界,即可得到分割結果。
由于砂石開采的實際情況充滿了粉塵顆粒,大量的粉塵顆粒對于算法的魯棒性提出了更高的要求。 對于分水嶺算法而言,需要調節(jié)眾多的超參數,無法滿足實際的工作要求。 同時現場工作空間的不穩(wěn)定性導致一套超參數無法滿足長時間的工作需要,即參數需要隨時進行調整,從而降低了算法的適用性。 基于上述的分析可知,傳統算法難以適用于砂石粒度檢測問題研究中。 因此,基于神經網絡,本文提出了魯棒性更強、效果更好、超參數更少的粒度檢測算法。
為實現粒度檢測的實時化、自動化、智能化,需要搭建自動化的粒度檢測系統,能對破碎所產生的砂石粒度分布進行實時監(jiān)測。 通過粒度分布的情況,就能對生產作業(yè)進行指導,實現智能生產。 采用神經網絡直接估計工業(yè)相機拍攝圖像的砂石粒度分布。 具體訓練流程如圖1 所示。

圖1 訓練過程圖Fig. 1 Training process diagram
構建砂石粒度檢測數據集的關鍵在于使用工業(yè)相機獲取圖像以及對圖像進行正確的標注。 在圖像獲取階段,本文使用真實的砂石人為進行混淆,進而用相機進行拍攝獲取圖像。 這種操作相比于直接在生產環(huán)境中獲取具有簡便靈活等特點,同時圖像并不會有較大差距。 在采集圖像中,關鍵就在于控制圖像數據的分布。 在構建數據集之初將砂石按照大小進行初步的分類,共分為大粒度、中粒度、小粒度三種。 因此在獲取圖像階段,不斷從3 種粒度砂石堆中拿出砂石進行混淆,在混淆階段不斷地調整大粒度、中粒度、小粒度三種砂石的比例,以此來保證分布的均勻性。 采樣得到的砂石圖像如圖2 所示。

圖2 采樣得到的砂石圖像Fig. 2 The sampled gravel images
完成砂石粒度獲取的另一個關鍵的步驟在于圖像數據的標注。 砂石的分布信息無法從圖像中直接獲取,必須借助于統計圖像中砂石的個數,并且依靠每個砂石的粒徑大小計算整體的粒度分布。 本文對于一個砂石標注信息定義為(x1,y1,x2,y2),其中坐標系原點為圖像左上方。 標注如圖3 所示。 圖3中,紅色線條表示標注的粒徑。

圖3 砂石圖像的粒徑標注Fig. 3 Particle size annotation of gravel images
在粒度檢測中,圖像的標簽是一個圖像中礦石的粒度分布情況,概率密度函數能夠對分布做很好的表達,然而對標注提出了更高的要求,因此本文采用離散型概率分布來對圖像粒度分布進行表達。
本文設計離散型隨機變量X,K個特定大小的粒徑{t0,t1,…,tk} 且滿足t0≤t1≤…≤tk。 標注的圖像為一張圖像所有砂石的粒徑信息,因此需要完成粒徑信息到粒度信息的轉換。 對于粒度分布P,有:
其中,P(tm≤X <tn) 表示一張圖像中粒徑范圍在[tm,tn) 中砂石數目占總體砂石數目的比例;n表示圖像中砂石的總數目;A表示圖像中粒徑的集合。另外,隨著數值K的增大,粒度分布P可以更好地對真實的粒度分布進行表達。 本文設定K=6,即粒度分布曲線由6 種指定的粒徑進行劃分。
提出的模型包括輸入輸出、骨架網絡設計、損失函數設計三個方面。 模型的輸入即工業(yè)相機拍攝的砂石圖像,輸出即砂石的粒度分布情況
在處理視覺圖像中,最為有效的骨架網絡為卷積神經網絡。 然而隨著神經網絡的研究不斷深入,卷積神經網絡也涌現出不同的結構,其中不同的網絡適用的任務類型也多種多樣。 因此,選取符合砂石粒度檢測的網絡是非常關鍵的。 本文選取DenseNet[6]作為骨架網絡,選用具有121 層、4 個DenseBlock 結構的DenseNet-121 作為砂石粒度檢測算法的骨架網絡。 DenseNet 的架構如圖4 所示。

圖4 DenseNet 基本架構Fig. 4 Architecture of DenseNet
在粒度檢測任務中,使用KL 散度作為損失函數[7]:
其中,P分布表示圖像真實的粒度分布情況,Q分布表示神經網絡預測的砂石分布情況。
為了能更好地進行比較,本文采用了2 種評價指標,分別是均方誤差和正確率。 均方誤差計算方法如式(3)所示:
其中,Ek表示6 種指定粒度中第k個粒度的誤差;N表示測試集的大小;zi表示預測粒度分布;表示真實的粒度分布。 上述指標是針對6 個粒度范圍設計的各自評價指標,對于整體粒度分布的均方誤差公式如下所示:
均方誤差指標能夠較好地反映模型對整體數據集預測結果和真實值之間的誤差,但是無法有效衡量單個樣本的粒度檢測結果。 因此,本文提出正確率指標來衡量分割結果,推得的計算公式為:
正確率的含義可以看作如果一張砂石圖像的粒度分布和真實分布各個粒徑范圍的均方誤差小于一定的閾值,那么這張圖像判別正確,反之則錯誤。
提出的神經網絡算法及分水嶺算法的均方誤差見表1。

表1 神經網絡和分水嶺算法均方誤差比較Tab. 1 Mean Squared Error comparison of neural network and watershed algorithm %
基于神經網絡的方法在6 種粒度范圍和整體粒度上均高于基于分水嶺的算法,并且在小粒度上神經網絡得到的提升更加顯著。 同時,基于神經網絡的方法得到的誤差均較低,尤其是在大粒度砂石上擁有極低的均方誤差。 這說明大粒度砂石具有相對來說比較明顯的特征,而小粒度砂石的特征不容易區(qū)分。
正確率指標見表2。 為了更好地度量算法的性能,本課題采用了3 種不同的閾值(τ=5%,τ=7%,τ=10%) 來評估模型最終的性能。

表2 神經網絡和分水嶺算法正確率比較Tab. 2 Comparison of Acc between neural network and watershed algorithm%
由表2 可知,基于神經網絡的算法性能遠遠超過基于分水嶺的算法,并且在τ=10%的時候算法在測試集上達到了100%。 將現有正確率結果和均方誤差結果做對比,理論上基于神經網絡的算法在測試集上的均方誤差為3.5%,當τ >3.5%時理論上算法性能應該達到100%,但是顯然τ=5%算法準確率卻只有92.2%。分析內在原因,主要是均方誤差指標無法衡量一些測試集中的異常樣本。 測試集中某些樣本存在較小的誤差而某些樣本存在較大的誤差,使用均方誤差將會淹沒掉這些較大誤差的樣本帶來的誤差,從而顯示算法在整體數據集上具有較好的性能。
本文首先對現有的砂石粒度檢測算法進行了全面分析,得出了分水嶺算法并不適用于當前砂石粒度檢測這個任務的結論。 同時提出了基于神經網絡的砂石粒度檢測算法,并且詳細說明了如何進行數據集的采集和標注;算法的具體實現包括骨架網絡的搭建和損失函數的設計。 最后,本文對提出的算法在測試集上進行量化分析,分析結果表明基于神經網絡的端到端的砂石粒徑檢測方法展現了出色的性能。