王桂梅, 逯圣輝, 劉杰輝, 楊立潔
(河北工程大學(xué) 機(jī)械與裝備工程學(xué)院,河北 邯鄲 056038)
帶式輸送機(jī)上煤流的體積是帶式輸送系統(tǒng)進(jìn)行調(diào)速的重要依據(jù),因此動態(tài)煤體積精準(zhǔn)計量十分重要。目前皮帶機(jī)上動態(tài)煤量計量的方法主要有電子皮帶秤稱重和料流傳感器測高度的方法,電子皮帶秤需要經(jīng)常進(jìn)行校準(zhǔn),且這2種方法在檢測少量煤時誤差較大,可見這2種方法具有一定的局限性[1]。而通過工業(yè)相機(jī)采集皮帶上煤流圖像來識別煤量,采集到的圖像往往包含太多無用信息,因此需要圖像預(yù)處理對圖像進(jìn)行簡化以去除圖像中的無用信息,常用的包括圖像裁剪、灰度化和二值化等[2]。劉美[3]等在分析傳統(tǒng)灰度化方法的基礎(chǔ)上,提出了對比度增強(qiáng)的彩色圖像灰度化算法;張海寧[4]提出基于多峰高斯分布的彩色圖像灰度化算法,這2種算法能夠保留圖像更多的對比度信息。孫國棟等[5]利用可信度來指導(dǎo)二值化閾值的選取,形成一種基于反饋的二值化方法;馮炎[6]針對歷史文檔的處理提出一種基于對比度歸一化的二值化算法。薛亞男[7]等針對ESPI圖像的細(xì)化提出基于條紋中心法的細(xì)化算法;胡改玲等[8]根據(jù)骨架走向設(shè)置搜索區(qū)域,并通加權(quán)重心法計算光刀亞像素中心,雖然避免了對整幅圖像的遍歷,但其搜索區(qū)域仍然較大。孫衛(wèi)紅等[9]提出了一種依據(jù)裂縫末端斜率作為主發(fā)展方向進(jìn)行局部扇形區(qū)域遍歷的裂縫補(bǔ)全算法,但其研究對象是裂縫,其具有一定的延伸規(guī)律。煤體積計量實時性要求較高,并且斷線不存在規(guī)律性,由此可見,上述研究中的細(xì)化和斷線修補(bǔ)方法并不適用于帶式輸送機(jī)上煤流截面輪廓線的提取。
采用激光斜射法三角測距原理得到煤輪廓各點(diǎn)高度,然后通過積分運(yùn)算得到某時刻輪廓面積進(jìn)而得到一段時間內(nèi)的體積,實現(xiàn)對皮帶上煤體積的計量[10,11],該方法具有測量精度高、誤差小的特點(diǎn)。該方法中煤輪廓的獲取需要圖像采集和處理圖像2步,其中圖像處理最為關(guān)鍵。本文根據(jù)煤流截面輪廓線所具有的特點(diǎn),提出一種具有更小搜索區(qū)域的激光線細(xì)化算法,能夠有效降低算法運(yùn)行時間??紤]到單個截面的精度并不需要特別高精度,斷線修補(bǔ)采用了能夠加快算法運(yùn)行的線性插值方法。實驗表明本文所提激光線細(xì)化算法運(yùn)行時間更短,且在圖像噪聲的抑制方面具有良好效果。
圖像預(yù)處理包括圖像灰度化和二值化,為后續(xù)處理做準(zhǔn)備。將彩色圖像轉(zhuǎn)化為灰度圖像的過程稱為圖像的灰度化處理[12],圖像經(jīng)過灰度化處理后,仍然包括了大量無用信息;為了進(jìn)一步去除無用信息的影響,采用二值化處理,即圖像中像素非黑即白,不存在中間情況。本文采用能夠提高圖像亮度的最大值法對圖像進(jìn)行灰度化處理,采用Otsu閾值法進(jìn)行二值化處理[13],結(jié)果如圖1所示。
圖1 圖像預(yù)處理
本文提出的激光線細(xì)化方法首先確定一個種子像素點(diǎn)(激光線骨架起始點(diǎn)),然后利用激光線的連續(xù)性來控制目標(biāo)像素的搜索方向和范圍,在保證激光線連續(xù)的前提下對目標(biāo)進(jìn)行細(xì)化。本文方法避免了對圖像的遍歷,以種子像素為基點(diǎn)對目標(biāo)像素進(jìn)行搜索,減少了搜索時間,進(jìn)而減少了算法運(yùn)行時間。
假設(shè)圖像P的坐標(biāo)系原點(diǎn)位于圖像左上角,x軸為水平向右,y軸為豎直向下,設(shè)圖像P中的像素坐標(biāo)為(x,y),圖像x方向有M個像素點(diǎn),y方向有N個像素點(diǎn),P(i,j)表示圖像P中坐標(biāo)為(i,j)的像素點(diǎn),其中1≤i≤M,1≤j≤N。
以從上到下、從左到右的方式對種子像素進(jìn)行搜索,定義激光線的最左側(cè)端點(diǎn)為種子像素,種子像素的確定過程包括如下3步:1)統(tǒng)計激光線起點(diǎn)所占像素數(shù)、判斷激光線左側(cè)起點(diǎn)所在列和種子像素篩選;2)二值化激光線所占像素(白色像素值定義為1,其它像素值為0),以此作為判斷依據(jù); 3)從左到右按列統(tǒng)計值為1的像素個數(shù)記為n,每統(tǒng)計一列對進(jìn)行一次判斷,當(dāng)n≠0時,認(rèn)定該列為激光線左側(cè)起點(diǎn)所在列,否則繼續(xù)判斷下一列;然后采用式(1)對種子像素進(jìn)行篩選,其含義為將起點(diǎn)所占像素的第k個像素作為種子像素。
(1)
圖2 圖像坐標(biāo)及像素相對位置
(2)
將目標(biāo)像素作為種子像素進(jìn)行迭代直到找到所有目標(biāo)像素的集合,達(dá)到細(xì)化激光線的效果。當(dāng)出現(xiàn)nu=nd=0時,表明此處為斷點(diǎn),應(yīng)立即終止迭代并重新尋找種子像素和目標(biāo)像素。采用該方法對二值化后的圖像進(jìn)行細(xì)化,結(jié)果如圖3所示。
圖3 骨架提取處理后圖像
來自工作面的原煤形態(tài)多變,在出現(xiàn)大塊煤炭或矸石時會導(dǎo)致激光線斷裂,如圖3所示。分析可知,除去激光線的首尾端點(diǎn),斷點(diǎn)總是成對出現(xiàn),因此斷線修補(bǔ)算法的思路為:首先遍歷整個圖像尋找斷點(diǎn);然后去除首尾2個端點(diǎn),剩下的即為成對的端點(diǎn);最后將每對斷點(diǎn)進(jìn)行連接便完成修補(bǔ)工作。
判斷一個點(diǎn)是否為斷點(diǎn)是以該點(diǎn)的8連通域(即8個相鄰點(diǎn))的情況來作為判斷依據(jù)的,圖4顯示的8種情況表示該點(diǎn)為斷點(diǎn),即8鄰域中有且僅有一個時判定為斷點(diǎn)[11]。圖4所示圖像中0表示黑色, 1表示白色,因此判斷依據(jù)可以變換為求某點(diǎn)8鄰域的和,等于1時為斷點(diǎn),其它值則不是斷點(diǎn)。
圖4 斷點(diǎn)的鄰域情況
由于激光線端點(diǎn)符合斷點(diǎn)的條件,因此在查詢到斷點(diǎn)后應(yīng)將端點(diǎn)去掉以得到真正斷點(diǎn),然后2個為一組依次進(jìn)行分組,得到的結(jié)果就是接下來要連接的部位。為了減少算法運(yùn)行時間,本文采用線性插值對斷線進(jìn)行連接。圖5所示是進(jìn)行修補(bǔ)后的圖像。
圖5 斷線修補(bǔ)后圖像
帶式輸送機(jī)上煤流體積計算公式可以表示為:
V=S·d
(3)
式中:V為體積;S為煤流截面積;d為截面的厚度。
設(shè)攝像機(jī)的幀率為f,即在1 s的時間里可以采集f次圖像,也就是1 s可以獲得f個被測物料截面的面積。假設(shè)輸送設(shè)備以速度沿著與截面垂直的方向勻速運(yùn)動,則相當(dāng)于每個參與計算的截面的厚度為:
d=v/f
(4)
煤流截面積S通過圖像進(jìn)行計算,相機(jī)實時采集到的圖像只能顯示此時皮帶機(jī)上原煤的上表面輪廓,為得到原煤的整體輪廓需要采集下表面輪廓,本文將空皮帶的輪廓作為原煤的下表面輪廓。因此需要事先對空皮帶進(jìn)行圖像采集和處理,作為組成煤截面的基準(zhǔn)圖像,圖6是將有煤時的圖像與基準(zhǔn)圖像進(jìn)行疊加形成的煤截面。為統(tǒng)計圖像上煤截面所占像素數(shù)O,將閉合區(qū)域進(jìn)行填充,圖7為填充后圖像,然后統(tǒng)計圖像中像素值為1的數(shù)量便得到O,則實際煤流截面積為:
S=k·O
(5)
式中k為標(biāo)定系數(shù),可通過實驗獲得。
圖6 煤截面圖像
圖7 煤截面填充后圖像
本文通過在某煤礦井上帶式輸送機(jī)上進(jìn)行實驗,來驗證煤體積計量算法的可行性和實時性。圖像采集使用??低暪咎峁┑腗V-CA013-20GC型工業(yè)相機(jī),其配備的MVS客戶端能夠?qū)ο鄼C(jī)進(jìn)行設(shè)置,其中最重要的是對曝光方式以及時間的設(shè)置,為保證高速運(yùn)動煤流在抓拍時不產(chǎn)生拖影,曝光方式應(yīng)為全局曝光,根據(jù)實際工況計算出曝光時間應(yīng)為460 μs。工業(yè)相機(jī)、激光器以及計算機(jī)的基本參數(shù)如表1所示。此外設(shè)計了一套安裝相機(jī)以及激光器的支架,其能夠?qū)崿F(xiàn)設(shè)備的高度和寬度的調(diào)節(jié),以及激光器角度的調(diào)節(jié)。
表1 主要設(shè)備參數(shù)
實驗首先進(jìn)行了現(xiàn)場數(shù)據(jù)采集,包括帶式輸送機(jī)的空皮帶圖像以及載煤運(yùn)行圖像,實驗共采集載煤運(yùn)行圖像3 000張。然后通過本文所提算法對圖像進(jìn)行相應(yīng)處理得到煤流體積,算法通過Matlab實現(xiàn),并通過GUIDE設(shè)計圖形用戶界面[14]。
接下來設(shè)置2組實驗,實驗1針對激光線細(xì)化算法的運(yùn)行時間和效果,實驗2針對整體煤量計量算法的運(yùn)行時間。
實驗1:采用3種激光線細(xì)化算法(本文算法、最大圓盤法[15]和Matlab算法[16])分別對3 000張圖像進(jìn)行細(xì)化處理,并記錄其各自的運(yùn)行時間tb、tz和tm,由于計算機(jī)性能的變化會影響算法運(yùn)行時間,因此統(tǒng)計各算法運(yùn)行12次的時間,結(jié)果如表2所示。
表2 3種細(xì)化算法運(yùn)行時間
將12次運(yùn)行時間中的最大值與最小值剔除后求平均值得到各算法的穩(wěn)定運(yùn)行時間,分別為Etb=10.26 s、Etz=16.39 s和Etm=20.124 s,由此可見本文所提算法在運(yùn)行時間上具有較大的優(yōu)勢。另外,圖8分別為本文算法、最大圓盤法和Matlab算法對同一張圖像處理的結(jié)果(局部),可以看出本文算法得到的結(jié)果更加準(zhǔn)確,其能夠有效抑制由于環(huán)境光帶來的噪點(diǎn)。
圖8 3種細(xì)化算法結(jié)果
表3 煤量計量算法指標(biāo)
本文采用激光斜射法三角測距原理來對帶式輸送機(jī)上煤流的體積進(jìn)行計量,該方法屬于非接觸式測量,精度較高。針對本文圖像處理對象的特點(diǎn),提出一種具有更短運(yùn)行時間的激光線細(xì)化算法,對其過程進(jìn)行了詳細(xì)介紹,實驗表明本文算法具有良好效果。
開發(fā)了帶式輸送機(jī)煤體積計量算法,結(jié)果表明本文所提算法可行,可以滿足實際工況要求。下一步需要對系統(tǒng)算法進(jìn)行優(yōu)化,以提高實時性和穩(wěn)定性,并且可以將各設(shè)備進(jìn)行集成設(shè)計,以提高系統(tǒng)魯棒性以及減小設(shè)備體積;另外空皮帶圖像作為參考值存在一定的誤差,因此在將來的研究及應(yīng)用中可以考慮在皮帶下方增加一臺相機(jī)來實時采集皮帶的下表面輪廓,以減小誤差。