羅小燕, 劉順, 湯文聰, 王興衛(wèi)
(江西理工大學(xué),a.機(jī)電工程學(xué)院;b.江西省礦冶機(jī)電工程研究中心,江西 贛州 341000)
礦業(yè)是我國的基礎(chǔ)產(chǎn)業(yè), 隨著工業(yè)4.0 的提出,智慧礦山取代傳統(tǒng)礦山已成為未來發(fā)展的趨勢。 5G網(wǎng)絡(luò)、人工智能、云計(jì)算等新興技術(shù)的快速發(fā)展為智慧礦山提供了強(qiáng)有力的技術(shù)支持。 在礦物加工過程中,為了保證磨機(jī)的工作效率,會對磨機(jī)入料口的礦石粒徑有一定要求,所以會在礦倉入口設(shè)置爬欄式倒礦口來保證礦石粒徑的要求,但經(jīng)常會出現(xiàn)較大的礦石堵塞倒礦口的現(xiàn)象,如果不及時(shí)處理,將直接影響礦倉倉儲, 嚴(yán)重影響磨機(jī)工作效率和礦山產(chǎn)能的釋放。 常規(guī)做法是人工判斷堵塞礦石位置,并用機(jī)械手沿垂直方向自上而下破碎堵塞礦石,由于人工操作存在著較大的誤差,且現(xiàn)場工況環(huán)境比較復(fù)雜,這些因素都極大地影響倒礦口的清堵效率,因此研究一種智能清堵機(jī)械手成為迫切的需求。
近年來,隨著深度學(xué)習(xí)[1]的快速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)廣泛地應(yīng)用到目標(biāo)檢測領(lǐng)域[2],主要由兩部分組成。 一是One-stage 目標(biāo)檢測算法,代表算法有YOLO(you only look once)[3-5]、SSD[6]等基于CNN[7]網(wǎng)絡(luò)和回歸網(wǎng)絡(luò)的目標(biāo)檢測算法,其采用端到端的檢測方法,具有較高的檢測速度,但是在檢測精度上還有待提升[8];二是Two-stage 目標(biāo)檢測算法,代表算法有R-CNN[9]、Fast R-CNN[10]、Faster R-CNN[11]以及本文所采用的Mask RCNN 等[12]基于CNN 網(wǎng)絡(luò)和RPN 網(wǎng)絡(luò)的目標(biāo)檢測算法, 相對于One-stage 目標(biāo)檢測算法,Two-stage 目標(biāo)檢測算法具有更高的檢測精度[13],適用于對精度要求較高的場合。 Mask RCNN 是在2017 年提出的, 采用的是基于掩碼區(qū)域卷積神經(jīng)網(wǎng)絡(luò),其在Faster R-CNN 基礎(chǔ)上增加了語義分割的分支,實(shí)現(xiàn)了在一個(gè)網(wǎng)絡(luò)中同時(shí)做到目標(biāo)檢測和語義分割[12]。 陶志勇等利用Mask RCNN 實(shí)現(xiàn)對無分割手寫字符串的識別[14];鐘偉鎮(zhèn)等利用Mask RCNN 實(shí)現(xiàn)了復(fù)雜背景下多目標(biāo)葉片的分割與識別,實(shí)驗(yàn)證明該算法具有很好的遷移學(xué)習(xí)能力[15]。
本文在Mask RCNN 的基礎(chǔ)上提出了基于HSV模型的礦石定位方法, 可根據(jù)礦石輪廓進(jìn)行精確定位, 有效避免了因礦石形狀和位姿帶來的定位誤差,提高了對礦石的定位精度。該研究結(jié)果可以為智能清堵機(jī)械手提供精確的視覺引導(dǎo), 對于提高倒礦效率,降低礦山生產(chǎn)成本,消除安全隱患具有實(shí)踐意義。
Mask RCNN 是由何凱明在2017 年提出的目標(biāo)檢測分割算法[12],采用兩階段的框架:第一階段掃描圖像并生成提議(Proposals,即有可能包含一個(gè)目標(biāo)的區(qū)域);第二階段分類提議并生成邊界框和掩碼。 Mask RCNN 是在Faster R-CNN 基礎(chǔ)上增加一個(gè)語義分割的分支, 實(shí)現(xiàn)在進(jìn)行目標(biāo)檢測的同時(shí)進(jìn)行語義分割。 Mask RCNN 的網(wǎng)絡(luò)架構(gòu)主要由主干網(wǎng)絡(luò)CNN(采用ResNet101+FPN 作為特征提取器)、區(qū)域建議網(wǎng)絡(luò)(RPN)、ROI 分類器和邊界框回歸器、分割掩碼4 部分組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 Mask RCNN 網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 Network structure of Mask RCNN
將礦石圖像傳送到CNN 網(wǎng)絡(luò)進(jìn)行特征提取,由于礦石圖像環(huán)境背景復(fù)雜,所以采用特征提取能力更強(qiáng)的深度殘差網(wǎng)絡(luò)ResNet101 與FPN 相結(jié)合作為特征提取模塊對礦石圖像進(jìn)行特征提取, 其中ResNet101 可以提取出低級特征(礦石邊緣,角點(diǎn))和高級特征(礦石種類和形狀,背景等),形成5 層不同大小和維度的特征層,F(xiàn)PN 的加入是為了彌補(bǔ)ResNet101 無法檢測較小礦石的特征, 可以將各層特征更好地融合,充分利用ResNet101 各個(gè)特征層提取的特征, 將CNN 網(wǎng)絡(luò)提取的特征圖傳送到區(qū)域候選網(wǎng)絡(luò)。 區(qū)域候選網(wǎng)絡(luò)是將圖像分為目標(biāo)礦石和背景2 個(gè)分類,并用貼合目標(biāo)礦石的方框?qū)⒌V石框選出來, 此時(shí)只能得到目標(biāo)礦石的大致區(qū)域,而無法進(jìn)行細(xì)致的分類和目標(biāo)礦石分割。 經(jīng)過候選區(qū)域網(wǎng)絡(luò)可以得到多個(gè)包含目標(biāo)礦石的候選框,再由ROIAlign 池化為固定大小的特征圖,將得到的特征圖分別輸入后續(xù)的2 個(gè)分支中,其中的一個(gè)分支網(wǎng)絡(luò)通過興趣區(qū)域(ROI)分類器和邊框回歸器進(jìn)行目標(biāo)礦石的識別,興趣區(qū)域(ROI)分類器和邊框回歸器均是由一個(gè)全連接層組成,興趣區(qū)域(ROI)分類器通過全連接層獲取準(zhǔn)確的目標(biāo)礦石類別, 邊框回歸器通過全連接層選取合適的興趣區(qū)域的中心點(diǎn)坐標(biāo)和長寬比, 使興趣區(qū)域盡可能貼合目標(biāo)礦石的邊緣;另一個(gè)分支是分割掩碼生成網(wǎng)絡(luò),由一個(gè)全卷積網(wǎng)絡(luò)構(gòu)成, 該網(wǎng)絡(luò)會生成一個(gè)與目標(biāo)礦石大小和形狀一致的掩膜對目標(biāo)礦石進(jìn)行實(shí)例分割。 最終會將目標(biāo)礦石檢測與分割的結(jié)果相融合,得到與原圖大小一致且包含目標(biāo)礦石類別和形狀的檢測結(jié)果。
Mask RCNN 在對目標(biāo)礦石的定位中只能得到目標(biāo)礦石外接矩形框的中心點(diǎn)坐標(biāo),因此其定位精度很大程度上受回歸邊框以及礦石形狀和位姿的影響。本文主要在Mask RCNN 的基礎(chǔ)上添加基于HSV模型[16]的輪廓檢測,通過計(jì)算輪廓的幾何矩來求解目標(biāo)礦石的形心坐標(biāo)。 首先,令Mask RCNN 輸出用藍(lán)色標(biāo)記的礦石輪廓的圖片作為形心坐標(biāo)求解的輸入,將圖片由RGB 空間轉(zhuǎn)換到本文采用的HSV 空間,通過顏色識別提取礦石輪廓,采用二值化和高斯濾波[17]濾除噪聲,利用開運(yùn)算進(jìn)行形態(tài)學(xué)處理,最后通過計(jì)算輪廓幾何矩[18]求取礦石輪廓的形心坐標(biāo)。 流程簡圖如圖2 所示。
圖2 礦石形心坐標(biāo)求解流程Fig. 2 Flow chart for solving the centroid coordinates of ore
在圖像處理領(lǐng)域存在著多種描述顏色的空間模型,最為常見的是RGB 空間模型,是由R(Red:紅)、G(Green:綠)、B(Blue:藍(lán))3 種基本顏色為基礎(chǔ),進(jìn)行不同比例的疊加,產(chǎn)生廣泛而豐富的顏色,此外還有HIS 和HSV 2 種以圓柱坐標(biāo)系中的圓錐體所表示的顏色空間模型。 由于RGB 空間模型受光照的影響較大[19],相近顏色的R、G、B 值相差可能很大,而HSV模型由H(色度)、S(飽和度)、V(亮度)構(gòu)成的均勻的顏色空間,即相近顏色的H、S、V 值接近,是一種比較直觀的顏色模型,更符合人眼的視覺特征[20]。 因此本文選擇在HSV 顏色空間下進(jìn)行圖像處理。 HSV 模型如圖3 所示。
圖3 HSV 顏色空間模型Fig. 3 Model of HSV color space
由RGB 模型到HSV 模型的轉(zhuǎn)換遵循以下表達(dá)式:
式(1)、式(2)、式(3)中:Δ 為R、G、B 三分量的最大差值,Max 為R、G、B 三分量的最大值。
通過對RGB 到HSV 空間模型的轉(zhuǎn)換分析,將Mask RCNN 輸出的RGB 礦石圖像通過設(shè)定HSV 空間藍(lán)色取值范圍對其進(jìn)行分割,從復(fù)雜背景中將礦石輪廓提取出來。 HSV 空間藍(lán)色的取值范圍如表1 所列。
表1 HSV 分量取值范圍Table 1 Value range of each HSV component
根據(jù)表1 的HSV 空間下藍(lán)色取值范圍對礦石輪廓進(jìn)行分割。 設(shè)RGB 礦石圖像為f(x,y),其大小設(shè)為[m,n,l],礦石輪廓提取的步驟為:
1)將原始的RGB 礦石圖像轉(zhuǎn)換到HSV 空間,得到HSV 空間圖像G(x,y)。
2)定義目標(biāo)矩陣1,大小設(shè)為[m,1],將HSV 空間圖像G(x,y)在H 分量[0.56~0.71]、S 分量[0.36~1]、V分量[0.36,1]范圍內(nèi)的所有像素點(diǎn)在y 方向上進(jìn)行標(biāo)記,并把標(biāo)記后的結(jié)果存儲在目標(biāo)矩陣1 中,定位區(qū)間位置為[1:m]。
3)定義目標(biāo)矩陣2,大小設(shè)為[1,n],將HSV空間圖像G(x,y)在H 分量[0.56 ~0.71]、S 分量[0.36~1]、V 分量[0.36,1]范圍內(nèi)的所有像素點(diǎn)在x 方向上進(jìn)行標(biāo)記, 并把標(biāo)記后的結(jié)果存儲在目標(biāo)矩陣2 中, 并確定標(biāo)記藍(lán)色像素點(diǎn)的最小位置pos1 和最大位置pos2, 定位區(qū)間位置為[pos1,pos2]。
4)將2 個(gè)定位區(qū)間位置[1:m]和[pos1,pos2]返回到原圖,即可得到圖像分割后的結(jié)果。
如圖4 所示, 從上到下依次是修改后的模型識別的結(jié)果和基于HSV 顏色空間的礦石輪廓提取的結(jié)果。
圖4 礦石輪廓提取示意Fig. 4 Extraction map of ore profile
在對礦石定位時(shí),原始的Mask RCNN 網(wǎng)絡(luò)模型只能獲取礦石外接矩形框的位置,為了滿足機(jī)械手對礦石精準(zhǔn)定位的要求,需要求解能夠代表礦石位置的精準(zhǔn)坐標(biāo)即礦石的形心坐標(biāo),首先要計(jì)算礦石輪廓的幾何矩,如式(4)所示:
以某企業(yè)鎢礦石作為訓(xùn)練樣本, 共采集圖像1 352 張,為保證數(shù)據(jù)集的普適性,選取1 000 張包含各種形狀、數(shù)量和位姿的礦石圖像作為網(wǎng)絡(luò)的訓(xùn)練集和測試集,數(shù)據(jù)集包括單個(gè)礦石(圖5(a))、多個(gè)分散礦石(圖5(b))和多個(gè)礦石堆疊(圖5(c))的礦石圖像。 隨機(jī)選取各類型礦石圖像共900 張作為網(wǎng)絡(luò)的訓(xùn)練集, 余下的100 張礦石圖像作為網(wǎng)絡(luò)的驗(yàn)證集。 用標(biāo)注軟件Labelme 將礦石圖像中目標(biāo)礦石進(jìn)行標(biāo)注, 并使用數(shù)字標(biāo)簽對礦石進(jìn)行識別和區(qū)分。 標(biāo)注所生成的標(biāo)簽文件和標(biāo)注點(diǎn)坐標(biāo)等標(biāo)注信息都保存到與原圖相對應(yīng)的json 文件中。 將標(biāo)注好的數(shù)據(jù)集轉(zhuǎn)換成網(wǎng)絡(luò)訓(xùn)練所用的coco 數(shù)據(jù)集格式。
圖5 模型訓(xùn)練的數(shù)據(jù)集Fig. 5 Data set for model training
本文所有實(shí)驗(yàn)均在Win10 操作系統(tǒng)下進(jìn)行,計(jì)算機(jī)的處理器是AMD Ryzen 74800H with Radeon Graphics 2.90 GHz,顯卡為GeForce GTX 1060Ti,顯存為6 GB。 在此計(jì)算機(jī)的基礎(chǔ)上搭建Tensorflow-GPU 的深度學(xué)習(xí)環(huán)境, 用Python 語言在VScode 編譯器下實(shí)現(xiàn)Mask RCNN 網(wǎng)絡(luò)的訓(xùn)練和測試。
對Mask RCNN 網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練時(shí),首先將訓(xùn)練集的圖像調(diào)到512 像素×512 像素,設(shè)置預(yù)訓(xùn)練模型的網(wǎng)絡(luò)參數(shù),將RPN 的anchor 設(shè)為(16,32,64,128,256),迭代次數(shù) (max epoch) 設(shè)置為200, 初始學(xué)習(xí)率為0.01,動量因子設(shè)置為0.9。
Mask RCNN 網(wǎng)絡(luò)在train_data 數(shù)據(jù)集上的損失函數(shù)值變化曲線如圖6 所示。圖6 中橫坐標(biāo)為網(wǎng)絡(luò)訓(xùn)練時(shí)的迭代次數(shù)。由圖6 可知,隨著迭代次數(shù)的增加,網(wǎng)絡(luò)訓(xùn)練模型在train_data 數(shù)據(jù)集上的損失值持續(xù)下降,前10 次的迭代損失值下降較快,說明網(wǎng)絡(luò)訓(xùn)練模型的參數(shù)和最佳參數(shù)之間存在較大的差異,通過驗(yàn)證集不斷地對網(wǎng)絡(luò)訓(xùn)練模型參數(shù)進(jìn)行優(yōu)化,最終使其逼近最優(yōu)值。 迭代次數(shù)在10~150 之間的損失值下降較為平緩,說明此時(shí)網(wǎng)絡(luò)訓(xùn)練模型的參數(shù)已接近最優(yōu)值,為了避免出現(xiàn)網(wǎng)絡(luò)訓(xùn)練過擬合的現(xiàn)象,通過降低學(xué)習(xí)率來對網(wǎng)絡(luò)模型參數(shù)進(jìn)行微調(diào)。當(dāng)?shù)螖?shù)達(dá)到150 次之后, 訓(xùn)練集的損失值穩(wěn)定在0.025 左右,說明此時(shí)網(wǎng)絡(luò)模型的訓(xùn)練已經(jīng)基本收斂,達(dá)到了較好的訓(xùn)練效果。
圖6 網(wǎng)絡(luò)訓(xùn)練損失變化曲線Fig. 6 Network training loss change curve
為進(jìn)一步驗(yàn)證網(wǎng)絡(luò)模型的準(zhǔn)確性,將訓(xùn)練好的網(wǎng)絡(luò)模型在測試集上進(jìn)行測試,最終得到該模型的準(zhǔn)確率(P)、召回率(R)及度量準(zhǔn)確率和召回率的函數(shù)(F1)如表2 所列。
表2 Mask RCNN 在測試集上的準(zhǔn)確率(P)、召回率(R)和F1Table 2 Mask RCNN's accuracy (P), recall(R) and F1 on the test set
由表2 可得該模型的準(zhǔn)確率可以達(dá)到97.6%,表明Mask RCNN 在礦石識別方面有著較為出色的表現(xiàn),具有一定的工業(yè)應(yīng)用潛力。 但是在對礦石定位時(shí)只能給出礦石外接矩形框的位置,無法滿足機(jī)械手對定位精度的要求, 因此提出在HSV 顏色空間下依據(jù)礦石輪廓求取礦石輪廓形心坐標(biāo)來代替矩形框的定位方法,以避免因礦石形狀特異而帶來的定位誤差。
為驗(yàn)證定位算法的優(yōu)越性,選取了4 種典型形狀的礦石進(jìn)行定位效果對比,為避免因拍攝角度導(dǎo)致礦石輪廓的差異,采用垂直向下的固定視角進(jìn)行礦石圖像采集, 對比結(jié)果如圖7 所示,2 種定位算法對于橢圓形礦石和矩形礦石都有著很好的表現(xiàn),但對于凹三角形礦石,Mask RCNN 外接矩形框的中心點(diǎn)會落在礦石外部,對于近似三角形礦石,其外接矩形框的中心點(diǎn)會落在礦石的邊緣,所以Mask RCNN 外接矩形框的定位算法無法準(zhǔn)確地表述這類礦石的實(shí)際位置,而基于HSV 模型的礦石定位方法不受礦石形狀的影響,始終可以定位到礦石的形心,更能準(zhǔn)確地表述礦石的實(shí)際位置。
圖7 2 種定位效果對比結(jié)果Fig. 7 Comparison results of two positioning effects
為驗(yàn)證本文算法的普適性和準(zhǔn)確性,共采集100 張包含不同數(shù)量、 位姿和堆疊情況的礦石圖片進(jìn)行測試,測試結(jié)果如圖8 所示,可見本文改進(jìn)的定位算法可以實(shí)現(xiàn)在復(fù)雜環(huán)境下對礦石的精準(zhǔn)定位。
圖8 改進(jìn)后Mask RCNN 礦石識別定位結(jié)果Fig. 8 Recognition and positioning results of the improved Mask RCNN
1) 提出了基于Mask RCNN 的礦石識別方法,實(shí)驗(yàn)結(jié)果表明:該方法在復(fù)雜的工況背景下對礦倉入料口堵塞礦石的識別精度高,魯棒性好。 訓(xùn)練后的模型在測試集上的識別準(zhǔn)確率為97.6%, 在GPU 上的檢測速度可以達(dá)到3 FPS。
2) 針對Mask RCNN 在對礦石的定位上只能給出礦石的外接矩形框的坐標(biāo), 提出在HSV 顏色空間下根據(jù)礦石的輪廓求解礦石形心坐標(biāo)的定位方法,與原始的Mask RCNN 定位效果相比極大地提高了礦石的定位精度。