胡 健,王 偉,劉太和,苑慶波,董恩吉
(1.鞍鋼集團關寶山礦業有限公司,遼寧 鞍山 114000;2.北京科技大學 自動化學院,北京 100083;3.北京科技大學 工業過程知識自動化教育部重點實驗室,北京 100083;4.山東黃金礦業(鑫匯)有限公司,山東 平度 266700)
粒度信息是判斷礦石破碎質量的一項重要指標。粒度檢測數據可以用來判斷傳送皮帶上是否存在大塊或異形礦石,從而為礦石的破碎和輸送提供有用的信息,減少礦山現場常見的事故,如大塊礦石堵漏、異形礦石劃傷皮帶等。精確的礦石分割是礦石粒度統計的前提。然而,傳送帶上礦石形狀與尺寸存在的各異性、現場灰塵與光線的影響、礦石表面復雜的紋理與陰影、礦石與礦石之間嚴重的粘連和遮擋都給礦石的準確分割造成了嚴重干擾,特別是礦石之間的粘連導致的礦石邊緣模糊甚至是消失,很容易引起礦石分割中常見的欠分割現象。
常見的礦石粒度檢測方法包括人工篩分、物理沉降等。這些傳統的方法適應性強、適用范圍廣,但是對于人力資源的消耗十分巨大,且檢測結果容易受到工人主觀因素的影響[1]。近年來,隨著計算機技術的發展,基于傳統圖像處理的礦石粒度自動檢測方法被提出且已經取得了巨大突破,其中以分水嶺及其改進方法[2-4]、閾值分割方法[5]和基于特定理論的分割方法[6]為主,但這些方法依賴繁瑣的調參過程,且很難泛化到不同的場景。
2012年,AlexNet神經網絡[7]是ImageNet項目競賽[8]的冠軍項目,標志著深度學習在圖像分類領域取得了突破性的進展,甚至在該數據集上達到了高于人類水平的準確率。受益于圖像分類的發展,分類下游領域,如目標檢測、語義分割也紛紛取得巨大進步。雙階段目標檢測Faster R-CNN算法[9]已成為當下目標檢測的基礎?;谏疃葘W習的U-Net模型[10]、PSP-Net模型[11]、DeeplabV3+模型[12]及其各種改進模型占據了語義分割的統治地位。進一步地,在礦石分割領域,深度學習也展現出了相對于傳統圖像處理方法的巨大優勢。
Liu等人[13]利用訓練的U-Net初步提取了礦石圖像輪廓,之后利用訓練的Res-Unet對初步分割得到的結果進行二次優化;實驗結果表明,基于級聯的礦石輪廓檢測和優化方法分割得到的結果相較于只進行一次分割得到的結果更加準確。但是,由于該模型具有檢測和優化兩個單獨的網絡,不僅需要更多的參數,而且不能實現對礦石端到端的分割。Li[14]等人通過減少U-Net每一層的通道數使得模型更加輕量,通過優化損失函數并結合分水嶺算法來改善礦石分割中常見的過分割和欠分割問題。但是,由于該模型結合了傳統的圖像處理方法,也未能實現對礦石圖像端到端的分割預測。根據皮帶上礦石形狀與尺寸不一的特性,Xiao等人[15]利用可變形卷積[16]代替U-Net特定部位的普通卷積。該模型極大地提高了礦石的分割精度,但可變形卷積相較普通卷積需要耗費更多的計算資源,因此基于視頻流并對實時性有一定要求的礦石分割而言,可變形卷積并不適宜。Yang等人[17]利用VGG16網絡[18]作為U-Net的編碼部分來進行特征的提取,利用改進的輪廓感知損失函數給予礦石中困難分割部分和礦石邊緣更多的權重,并在解碼器部分融合了不同級別的特征。該模型極大地提高了多類別礦石分割的精度,但由于他們的數據集來自擺拍,與現場實際情況還有較大的差異。
深度學習在礦石分割中的應用并不少見,但到目前為止所選場景據作者所知均在傳送皮帶。本文以破碎口礦石作為研究對象,為了提高訓練準確率和改善因礦石圖像數據量少引起的模型過擬合問題,將Res2Net分類網絡[19]作為改進模型的編碼部分來提取礦石圖像特征;為了在保持訓練過程平穩性的同時能給予圖像中礦石不同部位相適應的損失權重,將交叉熵損失函數與Focal-loss函數[20]按照一定比例結合來反向傳播訓練網絡達到收斂。
獲取破碎口礦石視頻,按一定幀率將視頻分幀,保存為原始礦石圖像。根據構造數據多樣性的原則,從所有的礦石圖像中選擇出具有代表性的70張圖像作為訓練數據集。圖1展示了兩張分別在白天和夜晚的礦石圖像示例。

圖1 破碎口礦石圖像示例
在對訓練圖像挑選完成后,利用專業語義分割標注軟件Labelme對圖像進行精細標注,礦石原圖及其對應的標簽示例如圖2所示。

圖2 礦石原圖及其標簽示例
為減少模型訓練與預測時間,首先對礦石圖像進行灰度化處理,以此可以減少輸入圖像三分之二的數據量。由于礦石圖像中存在太多噪聲,選擇在降噪平滑的同時能保持礦石圖像邊緣信息的雙邊濾波,對灰度化后的圖像進行濾波處理。最后利用局部直方圖均衡化增大礦石與背景的對比度。礦石原圖、灰度圖、雙邊濾波處理結果以及局部直方圖均衡化處理結果如圖3所示。為進一步減少訓練與預測時間,將原圖分辨率從1 600×1 440調整到416×416。
2.1.1 U-Net網絡
U-Net網絡是基于FCN網絡[21]改進得到的一種典型的編碼-解碼全卷積網絡,最初被用來解決醫學細胞圖像分割,并取得了很好的效果。U-Net因其類似于“U”型優雅的結構、所需訓練集少、分割精度高等優點已成為圖像分割領域最著名的基礎網絡之一。
U-Net網絡最新穎的兩點分別是對稱的編碼-解碼結構和跳躍連接。如圖4所示,U-Net網絡編碼器部分每一級由兩個3×3卷積組成,并利用最大池化對圖像進行下采樣,每次卷積后利用Batch Normalization(BN)進行歸一化處理,利用ReLU進行激活,一共下采樣4次,最終特征圖的分辨率為原始輸入圖像的十六分之一。相鄰兩級之間,高層特征圖分辨率是低層特征圖的二分之一,而前者的特征通道數是后者的兩倍。編碼器部分的功能是提取圖像高層的抽象語義特征,利于后續像素的分類。解碼器部分用來恢復高層語義特征的分辨率。不同于FCN、PSP和 DeepLab系列直接從最小分辨率一步上采樣至原圖像大小,U-Net采用一種對稱于編碼器的解碼結構,每次上采樣的倍數都為2,上采樣后也會通過兩層的卷積層對信息進行處理,逐步上采樣4次,直至恢復到同原圖一樣的大小。通過這種解碼方式,更有利于信息的傳遞。另外,每次上采樣后,反卷積的結果都會與編碼器同級最后一層的特征圖進行拼接,將高層次的語義信息與低層次的位置信息相結合,再搭配不同尺度的位置信息,U-Net可以做到在保證語義分類準確的情況下恢復圖像精細的邊緣信息,這一點對于礦石的分割顯得尤為重要。解碼部分最后一層采用1×1卷積將特征映射到網絡的輸出層。

圖4 U-Net網絡結構
2.1.2 Res2Net網絡
礦山現場環境惡劣,比如灰塵、泥土對礦石的遮擋;皮帶礦石圖像本身具有復雜性,比如圖像的不清晰、一張圖像中礦石數量多,尤其是尺寸小的礦石等,都會急劇加大人工標注的成本。眾所周知,深度學習是一種基于數據驅動的方法。在訓練集有限時,訓練網絡模型容易出現過擬合現象。實驗證明[17,22],基于遷移學習的方法既可以加快模型訓練,抑制模型過擬合,又可以提高模型精度。
視覺任務中多尺度的特征表示十分重要,作為主干網絡的卷積神經網絡對尺度表征能力越強,性能提升越大。目前,大多數多尺度信息的獲取是通過簡單的卷積堆疊操作完成的,比如AlexNet、VGG,也有通過在同一層并行不同卷積核大小來達到獲取多尺度特征的目的,比如Inception系列[23]。毫無疑問,當前最流行的主干網絡是ResNet網絡[24],這種基于跳躍連接構成殘差塊的網絡解決了因網絡層數加深導致的網絡退化問題。然而,經典的ResNet殘差塊并不包含多尺度信息,已有研究中基于殘差模塊提出了簡單高效的多尺度模塊Res2Net,如圖5所示。左側為經典殘差模塊,右側為Res2Net模塊。后者具備更強的多尺度特征提取能力,但計算負載量與左側架構類似。具體而言,將輸入分成幾部分,一組卷積核從對應的一組輸入特征圖中提取信息,將得到的信息送到另一組卷積核中作為輸入;重復此操作,直到處理完所有輸入特征圖;最后,將每組輸出的特征圖通過拼接操作送入1×1的卷積中用于特征融合。Res2Net以更細粒度表示多尺度特征,并增加每個網絡層的感受野范圍,從而提高整個模型的提取特征能力。

圖5 普通殘差塊與Res2Net塊對比示意圖
考慮到礦石尺寸的多樣性,基于遷移學習的Res2Net被用來代替經典U-Net網絡的編碼部分,用以提高訓練準確率和改善因礦石圖像數據量少而造成的過擬合問題。
交叉熵損失函數是分類中最常見的損失函數。礦石語義分割的本質是對每一個像素進行二分類,求出每個像素是礦石的概率,因此二分類交叉熵(BCE)被采用,其公式如下:

其中:yi為像素的真實標簽,取0時代表背景,取1時代表礦石;pi為單個像素被預測為礦石的概率;n為像素總數。
然而,交叉熵損失函數對所有像素“一視同仁”。在礦石分割中,神經網絡是很難對處于模糊邊緣的像素進行“輕而易舉”地預測的,它既有可能把邊緣像素預測為背景,也有可能把該像素預測為礦石,則該像素應被當作困難樣本處理,給予更多的損失權重,;同樣對于礦石表面復雜的紋理與陰影這種極易分錯為背景的像素也應給予更多的損失權重。而Focal-loss的設計專門針對圖像中存在不同困難程度的像素,對Focal-loss的計算如公式(2)所示:

其中α和γ為超參數,α取0.25,γ取2。
將二值交叉熵BCE與Focal-loss結合起來,通過對比試驗尋找二者之間合適的比值,既保留了交叉熵訓練平穩的優點,又利用了Focal-loss自適應地給予礦石不同部位像素不同損失權重的優點。最終損失函數的構造如公式(3)所示。其中7是為了平衡Focal-loss本身值比BCE低太多,避免BCE在損失函數中占據主導地位而根據相關規則[25]給定的一個數值。

實驗基于Windows10操作系統、PyTorch開源框架、Python3.6、CUDA10.2、兩塊 NVIDIA Geforce GTX 1080 GPU顯卡。優化器為Adam,學習率為0.000 1,Epoch為300,Batch_size為2。除了預訓練部分初始化參數來自ImageNet,其余網絡部分均采用初始方法。保存訓練集準確率最高的參數模型用來對圖像進行預測。為了實驗的可復現和實驗公平地對比,固定隨機種子。
選取訓練集像素準確率(PA)為評價指標,其計算公式如下:

其中:TP表示預測值與標簽值均為1的像素總數:TN表示預測值與標簽值均為0的像素總數;FP表示預測值為1而標簽值為0的像素總數;FN表示預測值為0而標簽值為1的像素總數。
圖6為訓練過程中訓練集像素準確率隨迭代輪數的變化圖。在迭代150步后,模型接近收斂。保存訓練集最高準確率為90.1%時的參數為最終的預測模型。利用得到的模型對未經過訓練的圖像進行預測。如圖7所示,訓練得到的模型在測試集上有不錯的分割效果,能為現場生產運作提供比較可靠的礦石粒度以及大塊和異形信息。

圖6 訓練準確率示意圖

圖7 模型預測結果示例
本文利用基于U-Net改進的深度學習網絡模型對破碎口礦石進行分割。為了提高訓練準確率和改善因礦石圖像數據量少引起的模型過擬合問題,將分類網絡Res2Net作為改進模型的編碼部分來提取礦石圖像特征;為了在保持訓練過程平穩性的同時能給予圖像中礦石不同部位相適應的損失權重,將交叉熵損失函數與Focal-loss按照一定比例結合來反向傳播訓練網絡達到收斂。實驗結果表明,基于U-Net改進的模型在訓練集上達到了90.1%的準確率,在測試集上也有不錯的分割效果,表明了訓練模型的有效性,能為現場生產運作提供更可靠的礦石粒度以及大塊和異形信息。