張振江,張寶金,劉偉新,李云濤,任海龍,荊洪迪,王子介
(1.鞍鋼集團礦業(yè)有限公司 眼前山分公司, 遼寧 鞍山市 114000;2.中國科學院 沈陽自動化研究所, 遼寧 沈陽 110169)
礦巖的塊度不僅是驗證爆破工藝的主要指標,也影響著礦山生產(chǎn)效率、成本與安全。因此,實現(xiàn)礦巖圖像實時、準確分割對礦山生產(chǎn)有著重要意義。然而由于礦巖分布狀況復雜,堆積礦巖相互遮擋現(xiàn)象嚴重,為礦巖圖像分割帶來了巨大困難,同時傳統(tǒng)分析技術存在精度低、工作量大和局限性強等問題。目前,礦巖圖像分割主要采用最大類間方差法(也稱OTSU)[1-2]、聚類分析[3-4]、分水嶺及其改進方法[5-9],以及基于圖論的分割算法[10-11]等方法,它們對特定礦巖圖像進行分割,但由于局限性強,需要精確的參數(shù)調(diào)整[12]。
深度卷積網(wǎng)絡由于在圖像分割問題中具有分割高效、結(jié)果準確的特點,在醫(yī)學圖像領域[13]已經(jīng)得到廣泛應用。深度學習[14]也可以用于礦巖圖像分割領域,徐江川等[15]采用U-Net[16]深度卷積網(wǎng)絡來解決爆堆圖像的分割問題,實現(xiàn)了對巖堆的快速分割。本文為實現(xiàn)復雜工況下地下礦爆堆塊度精準、快速識別,提出了一種基于 U-Net卷積網(wǎng)絡和OpenCV的礦巖圖像分割算法。
由圖1(a)可以看出,礦巖顆粒光照不均,顆粒表面紋理復雜,對比度不夠明顯,這些因素都會影響最后的分割效果。另外,原始圖像采用 RGB格式,這將增加網(wǎng)絡訓練中的計算復雜度。為此,采用以下預處理步驟:灰度化、雙邊濾波和同態(tài)濾波(見圖 1)。由圖 1(d)可以看出,處理后的礦巖顆粒的圖像亮度更加均衡,圖像各部分之間對比度增加,暗區(qū)圖像細節(jié)被加強,顆粒間隙更加明顯。
圖1 現(xiàn)場巖石圖像預處理結(jié)果
U-Net是基于FCN卷積神經(jīng)網(wǎng)絡的一種變形,其網(wǎng)絡結(jié)構(gòu)主要由收縮路徑和擴展路徑組成。左側(cè)為收縮路徑,執(zhí)行卷積、激活和池化等操作,右側(cè)為擴展路徑,用上采樣代替池化操作來提高輸出分辨率,通過淺層和深層網(wǎng)絡層的信息融合,彌補了由池化操作所引起的特征信息丟失。最后,當輸入層和網(wǎng)絡層的分辨率相同時,再次執(zhí)行4次卷積操作,如圖2所示。
圖2 輸入尺寸為48×48的網(wǎng)絡結(jié)構(gòu)
圖 2的 U-Net網(wǎng)絡結(jié)構(gòu)中藍色矩形表示網(wǎng)絡層,最上面的數(shù)字代表特征通道數(shù),網(wǎng)絡層的分辨率大小位于矩形的右下角,白色矩形表示復制的網(wǎng)絡層。
實驗數(shù)據(jù)集包括從露天礦采集到的分辨率均為1920×1440的17張礦巖的訓練圖片,以及3張從網(wǎng)上采集的不同于訓練圖片風格的礦巖圖片。為創(chuàng)建深度學習樣本集,以及實驗結(jié)果對比分析的需要,利用圖像處理軟件人工描繪礦巖邊界得到人工分割圖,20張圖片總共耗時34 h。
本文算法要求用U-Net深度卷積神經(jīng)網(wǎng)絡對2組訓練樣本進行訓練,分別保存每次訓練的模型和權(quán)重。第一次訓練的樣本總數(shù)為850 000個,訓練樣本是從 17張訓練圖中隨機截取得到,平均每張圖片截取50 000個樣本,每個樣本尺寸為48×48。第二次訓練的樣本總數(shù)為34 000個,訓練樣本是利用第一次U-Net訓練得到的模型和權(quán)重對17張訓練圖測試后得到的 17張概率圖,平均從每張概率圖截取2000個樣本,每個樣本尺寸是480×480。
(1)繪制概率圖。將測試圖預處理后平均分割成若干個 48×48小圖片,通過已訓練好的輸入尺寸為48×48的U-Net模型測試得到概率圖1。除了概率圖1以外,概率圖n是將概率修正圖n-1平均分割成若干個 480×480小圖片,通過已訓練好的輸入尺寸是480×480的U-Net模型測試得到的。利用OpenCV查找概率圖中所有的閉合輪廓及每一個閉合輪廓的周長L和面積A。令從而得到每一個閉合輪廓的k值。
(2)繪制輪廓圖。預設定一個值h,利用OpenCV將概率圖n的二值化圖像中滿足k<h和的輪廓繪制出來,得到輪廓圖n和S值。n圖3展示了某一概率圖的部分輪廓圖繪制效果。
圖3 輪廓圖繪制效果
式中,Tn為概率圖的二值化圖像中滿足繪制條件的所有輪廓面積的和,M×N為概率圖的分辨率。
(3)繪制概率修正圖。利用Opencv將輪廓圖n與概率圖1合并后,得到概率修正圖n。圖4展示了某一測試圖的部分概率修正圖繪制效果。
圖4 概率修正圖繪制效果
(4)通過對概率圖 1中礦巖顆粒邊界輪廓的循環(huán)優(yōu)化,得到輪廓圖n,若Sn≥1,則得到最終分割圖。反之,則利用OpenCV和已訓練的U-Net模型繼續(xù)循環(huán)優(yōu)化概率圖1。
基于U-Net卷積網(wǎng)絡和OpenCV的礦巖圖像分割算法流程步驟如下。
(1)初始值令n=1,Sn=0,h=2。
(2)將測試圖像經(jīng)過灰度化、雙邊濾波和同態(tài)濾波處理后,放入已訓練好的U-Net模型進行測試,得到概率圖1。
(3)利用OpenCV,通過概率圖1得到輪廓圖1、S1和概率修正圖1。
(4)將概率修正圖n放入U-Net網(wǎng)絡進行測試,令n=n+1,得到概率圖n。利用OpenCV得到輪廓圖n、Sn。若Sn<Sn-1,則令h=h+1,再執(zhí)行步驟(6);若Sn-1≤Sn<1,執(zhí)行步驟(5);若Sn≥1,執(zhí)行步驟(7)。
(5)通過輪廓圖n,得到概率修正圖n。
(6)令n=n-1,重復步驟(4)。
(7)利用OpenCV將輪廓圖n和輪廓圖n-1合并得到最終結(jié)果圖。
在實驗過程中,對測試圖片采用邊界補零的方法使圖片寬和長變?yōu)?80的倍數(shù),從而使得該算法能適用于任意分辨率的圖片。由于如何準確分割大量堆積的礦巖圖像一直是礦巖圖像分割方法的難點所在,因此本文采用具有不同礦巖顆粒數(shù)量的堆積礦巖圖片作為實驗圖像。實驗配置是:Linux操作系統(tǒng)、基于Tensorflow的Keras框架、Intel i5-6500 CPU和NVIDIA GTX 1060圖像顯卡,U-Net模型訓練共耗時90 h左右。
在實驗室條件下,通常采用構(gòu)建數(shù)學模型的方法客觀評價分割算法的分割精度。在本文中,用 2個性能指標對分割算法進行評價,即正確率(KTPR)和誤差率(KEPR),定義為:
式中,Num(y)為集合y中元素的數(shù)量,WP為正確分割的礦石目標集合,WTP為分割算法檢測的礦石目標集合。
式中,WIN為人工檢測的礦巖目標集合,WON為分割算法檢測到的礦巖目標集合。
為驗證基于U-Net和OpenCV的礦巖圖像分割算法實際效果,按照礦巖顆粒數(shù)量的不同選取隨機礦巖圖片進行分割實驗,并與OTSU、邊緣提取、聚類分析和U-Net分割方法進行比較。由圖5能夠看出,OTSU法礦巖顆粒粘連嚴重;邊緣提取的方法會出現(xiàn)大量邊緣斷裂的現(xiàn)象;聚類分析方法對暗區(qū)的礦巖顆粒分割效果差,欠分割狀況嚴重;僅采用U-Net模型測試礦巖圖像,得到效果圖中顆粒間邊緣不連續(xù);而本文算法對于堆積礦巖的圖像分割效果較好,雖然也存在欠分割的問題,但相較于其他分割算法來說,欠分割數(shù)量較少,視覺效果良好。
圖5 各種算法的分割效果
由表1可知,本文算法分割礦巖圖像準確率較高,在檢測大塊礦巖時精度達到95%以上,有效降低了過分割現(xiàn)象,分割效果優(yōu)于其他幾種分割方法,可以更好地滿足日常礦巖圖像分割需求。
表1 各種算法測試結(jié)果的性能指標
(1)本文提出了基于 U-Net深度卷積網(wǎng)絡和OpenCV的礦巖圖像分割算法,提高了提取輪廓的準確率,減少了過分割和欠分割現(xiàn)象,也避免了現(xiàn)有礦巖圖像分割方法光照自適應差及參數(shù)調(diào)整復雜等問題。
(2)針對 U-Net模型測試邊緣不連續(xù)和粘連問題,利用OpenCV循環(huán)優(yōu)化U-Net模型測試得到的概率圖,使得粘連礦巖顆粒的邊緣得到準確分割。
(3)本文提出的礦巖圖像分割算法魯棒性較高,可以應用于采場爆堆的爆破效果評價和傳送帶上的礦石測量。隨著人工神經(jīng)網(wǎng)絡的普及,采用深度學習解決礦山存在的問題,對于加快礦山數(shù)字化、智能化建設具有十分重要的意義。