張學(xué)鋒,陳天宇,儲(chǔ)岳中,湯亞玲
(安徽工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽 馬鞍山 243000)
在燒結(jié)礦的生產(chǎn)中,原料的粒度結(jié)構(gòu)對(duì)燒結(jié)礦的生產(chǎn)有重要的影響[1],通過(guò)檢測(cè)燒結(jié)礦的粒度大小可以調(diào)控原料的粒度結(jié)構(gòu)。燒結(jié)礦的粒度及其分布是燒結(jié)礦質(zhì)量檢測(cè)中的重要指標(biāo),其主要問(wèn)題是檢測(cè)圖像中燒結(jié)礦的粒度大小。燒結(jié)礦檢測(cè)的核心是檢測(cè)圖像中的類(lèi)圓物體,目前的方法準(zhǔn)確性和及時(shí)性不高,容易受到人的主觀意識(shí)影響,現(xiàn)場(chǎng)工作人員沒(méi)法及時(shí)了解燒結(jié)礦的實(shí)時(shí)生成情況,這些是急需解決的問(wèn)題。
目前,對(duì)于燒結(jié)礦的粒度檢測(cè)也做了一些實(shí)驗(yàn),如:郜學(xué)[2]對(duì)中國(guó)燒結(jié)產(chǎn)業(yè)的發(fā)展現(xiàn)狀和趨勢(shì)進(jìn)行研究,證實(shí)了節(jié)能減排的重要性。高梓航[3]提出的基于線(xiàn)性變換的RGB圖像色彩矯正方法,通過(guò)圖像線(xiàn)性變換可以減少圖像中的隨機(jī)噪聲。張建立[4]提出了使用形態(tài)學(xué)方法處理礦石圖像,該方法可以很好地對(duì)圖像進(jìn)行分割。王浩[6]對(duì)多種圖像增強(qiáng)方法做出了自己的綜述,圖像增強(qiáng)技術(shù)可以增加圖像中的有用信息[5],分析了圖像增強(qiáng)的優(yōu)缺點(diǎn)。趙博文[7]對(duì)圖像濾波方法進(jìn)行了綜述,證明了高斯濾波可以很好地減少圖像中的高斯噪聲。郝大鵬[8]提出了基于Prewitt算子的邊緣檢測(cè)算法,該方法可以很好地檢測(cè)出圖像中的物體輪廓。秦開(kāi)懷[9]提出了一種基于Hough變換的圓形快速檢測(cè)方法,可以很好地檢測(cè)出類(lèi)圓物體的大小和分布等信息。
本文在以上研究的基礎(chǔ)上,提出了一種基于霍夫變換的燒結(jié)礦粒度識(shí)別方法。首先通過(guò)攝像系統(tǒng)獲得對(duì)應(yīng)位置上的燒結(jié)礦圖像,然后對(duì)圖像進(jìn)行各種圖像學(xué)處理,從而得到所需要的實(shí)用信息。本方法首先使用形態(tài)學(xué)開(kāi)操作消除部分噪聲,然后根據(jù)圖像的像素值檢測(cè)結(jié)果,使用分段函數(shù)對(duì)圖像進(jìn)行像素點(diǎn)分割處理,分割出圖像中的燒結(jié)礦和背景,增強(qiáng)燒結(jié)礦的輪廓信息以及圖像銳化處理進(jìn)行圖像增強(qiáng),再然后使用高斯濾波算法減少圖像中的噪聲。使用Prewitt算法進(jìn)行邊緣檢測(cè),最后使用霍夫變換檢測(cè)出圖像中的燒結(jié)礦大小和分布。本方法可以快速地檢測(cè)出圖像中燒結(jié)礦的粒度大小和分布等信息,準(zhǔn)確性高,減少因人主觀意識(shí)的影響,及時(shí)反饋燒結(jié)礦的生成情況,對(duì)燒結(jié)礦的穩(wěn)定生產(chǎn)和提產(chǎn)降耗有著重要的作用。
燒結(jié)礦粒度檢測(cè)系統(tǒng)包括燒結(jié)礦傳送皮帶,攝像系統(tǒng),保護(hù)裝置,光源和現(xiàn)場(chǎng)控制箱等設(shè)備組成。傳送皮帶會(huì)將燒結(jié)礦傳送到指定區(qū)域,攝像系統(tǒng)拍下燒結(jié)礦的圖像,保護(hù)裝置保證攝像系統(tǒng)的長(zhǎng)久運(yùn)行,光源提供足夠的光照,保證圖像的拍攝質(zhì)量,然后將圖像傳入現(xiàn)場(chǎng)控制箱,使用圖像增強(qiáng)和霍夫變換等算法檢測(cè)出燒結(jié)礦的粒度大小和燒結(jié)礦當(dāng)前的生成情況。
多次試驗(yàn)結(jié)果表明,采用圖像像素點(diǎn)分割和圖像銳化等方法進(jìn)行圖像增強(qiáng),可以很好地減少圖像中的噪聲,提升了整張圖像的亮度,以及燒結(jié)礦和背景的對(duì)比度,凸顯了圖像中的有用信息,讓后期的邊緣檢測(cè)和霍夫變換可以更準(zhǔn)確地檢測(cè)出圖像中的燒結(jié)礦?,F(xiàn)場(chǎng)人員可以很好地掌握燒結(jié)礦的生成現(xiàn)狀,及時(shí)對(duì)原料的投放量進(jìn)行更改,避免了原料的浪費(fèi),提高燒結(jié)礦的產(chǎn)量和企業(yè)的經(jīng)濟(jì)效應(yīng)。
通過(guò)圖1的裝置可以完成對(duì)燒結(jié)礦圖像的采集和處理,攝像系統(tǒng)用來(lái)采集燒結(jié)礦圖像,保護(hù)裝置和光源等用來(lái)保證該裝置的持久運(yùn)行,控制箱可以實(shí)時(shí)檢測(cè)當(dāng)前采集的燒結(jié)礦圖像,從而得到當(dāng)前生成的燒結(jié)礦基本信息,讓工業(yè)生產(chǎn)更加智能化和透明化。
圖1 燒結(jié)礦檢測(cè)裝置
本系統(tǒng)使用計(jì)算機(jī)圖像處理技術(shù)處理圖像,使用QCustomPlot繪制出燒結(jié)礦的折線(xiàn)圖反映當(dāng)前燒結(jié)礦生成的情況,并將這些信息顯示在客戶(hù)界面和存儲(chǔ)到數(shù)據(jù)庫(kù)中。
啟動(dòng)程序后,實(shí)時(shí)圖像界面會(huì)實(shí)時(shí)顯示當(dāng)前獲取的圖像,并對(duì)該圖像進(jìn)行檢測(cè),獲取燒結(jié)礦的粒度大小和當(dāng)前的粒度分布等情況,統(tǒng)計(jì)出不同粒度區(qū)間內(nèi)的燒結(jié)礦大小,即大于20 mm,20 mm至30 mm,大于30 mm的燒結(jié)礦所占的比重,將這些結(jié)果顯示在用戶(hù)界面和存儲(chǔ)入數(shù)據(jù)庫(kù)中,并用QCustomPlot繪制并顯示出折線(xiàn)圖,增加鼠標(biāo)響應(yīng)函數(shù),幫助現(xiàn)場(chǎng)人員更好地觀察某一時(shí)刻的燒結(jié)礦生成情況,同時(shí)支持查詢(xún)某一時(shí)間段內(nèi)的生產(chǎn)狀況,方便現(xiàn)場(chǎng)工作人員的觀察,減少主觀失誤,現(xiàn)場(chǎng)工作人員可以根據(jù)生成情況決定原料的增減。軟件系統(tǒng)的工作流程圖如圖2所示。
圖2 軟件系統(tǒng)流程圖
通過(guò)以上的實(shí)驗(yàn)步驟可以檢測(cè)出燒結(jié)礦的粒度大小和分布等重要信息,讓現(xiàn)場(chǎng)工作人員可以更好地實(shí)現(xiàn)人機(jī)交互,從而提高當(dāng)前燒結(jié)礦的質(zhì)量,減少原料和人力物力的消耗,提高企業(yè)的經(jīng)濟(jì)效應(yīng)和核心競(jìng)爭(zhēng)力。
本文所使用的圖像預(yù)處理方法主要包括圖像增強(qiáng)、高斯濾波、Prewitt邊緣檢測(cè)等算法。圖像增強(qiáng)是為了加強(qiáng)圖像中的實(shí)用信息,提升圖像整體的對(duì)比度。高斯濾波可以消除圖像中的大量噪聲,讓后期的邊緣檢測(cè)和霍夫變換不會(huì)過(guò)多地受到噪聲的影響。圖像邊緣檢測(cè)是為了更好地檢測(cè)出圖像中燒結(jié)礦的輪廓信息。
本方法在增強(qiáng)圖像之前先對(duì)圖像的尺寸進(jìn)行更改,防止圖像因尺寸過(guò)大而影響展示的效果,然后開(kāi)始圖像增強(qiáng),該圖像增強(qiáng)方法先進(jìn)行圖像形態(tài)學(xué)的開(kāi)操作,再檢測(cè)出圖像中燒結(jié)礦的灰度值,通過(guò)燒結(jié)礦的灰度值設(shè)計(jì)分段函數(shù)來(lái)進(jìn)行圖像的像素點(diǎn)分割,最后進(jìn)行圖像拉普拉斯銳化處理??梢栽鰪?qiáng)圖像中的燒結(jié)礦的輪廓特征,提升燒結(jié)礦和背景的對(duì)比度和亮度,消除圖像中的隨機(jī)噪聲,讓后期的檢測(cè)更為準(zhǔn)確。
首先根據(jù)燒結(jié)礦圖像的大小,調(diào)整圖像的整體大小,再對(duì)此圖像使用形態(tài)學(xué)開(kāi)操作,該方法主要是先對(duì)圖像進(jìn)行腐蝕處理然后進(jìn)行膨脹操作,開(kāi)操作可以消除燒結(jié)礦圖像中的小白點(diǎn),在細(xì)小點(diǎn)處分離燒結(jié)礦,并在平滑較大物體邊界的同時(shí)不明顯地改變其面積。其數(shù)學(xué)公式如下:
A○B(yǎng)=(A?B)⊕B
(1)
式(1)就是形態(tài)學(xué)開(kāi)操作,先進(jìn)行腐蝕后進(jìn)行膨脹操作,從而實(shí)現(xiàn)圖像中大量有用信息的增強(qiáng),減少燒結(jié)礦圖像中小氣孔的影響,讓后期的檢測(cè)效果更好。
然后使用技術(shù)手段,檢測(cè)圖像整體的灰度值,得出燒結(jié)礦的灰度值大小在60以?xún)?nèi),于是設(shè)置分段函數(shù),60為臨界點(diǎn),對(duì)圖像采用像素點(diǎn)分割算法,突出圖像中燒結(jié)礦的特征,大幅度增強(qiáng)了圖像的亮度。像素點(diǎn)分割的函數(shù)下:
(2)
其中,g(x,y)為結(jié)果圖像,f(x,y)為原圖像,a表示原圖像被放大的倍數(shù),通過(guò)該分段函數(shù)可以實(shí)現(xiàn)圖像中燒結(jié)礦和背景的分割,凸顯了燒結(jié)礦的輪廓特征,大幅度提升圖像的亮度,減少圖像中的噪聲,增強(qiáng)了圖像的有用信息,避免了圖像疊加中全局提升圖像的亮度,造成圖像中有用信息的缺失。避免了圖像線(xiàn)性操作中當(dāng)a的值過(guò)大時(shí),整個(gè)圖像顏色就會(huì)變得單一,燒結(jié)礦和背景完全同化,讓后期的檢測(cè)受到影響。
最后使用拉普拉斯算子完成圖像銳化,拉普拉斯算子是簡(jiǎn)易的多向同性微分算子,擁有旋轉(zhuǎn)不變的特性[10]。圖像的拉普拉斯算子是多向同性的二階導(dǎo)數(shù),如下:
(3)
為了更適合用于燒結(jié)礦圖像處理,得到圖像銳化如下:
g(x,y)=f(x,y)+c[2f(x,y)]
(4)
其中,g(x,y)是結(jié)果圖像,f(x,y)是起始圖像,系數(shù)c表示細(xì)節(jié)權(quán)重。該函數(shù)是圖像銳化函數(shù)對(duì)應(yīng)的公式。根據(jù)選用的模板c的取值為1,當(dāng)c的值為1表示掩膜中心系數(shù)為正,當(dāng)c的值為-1表示掩膜中心系數(shù)為負(fù),因?yàn)楫?dāng)模板的中心系數(shù)為正數(shù)時(shí)才是圖像銳化模板,所以c的取值是1。本文使用的拉普拉斯銳化算子模板是:
圖像銳化的作用是增強(qiáng)圖像灰度差異,使模糊圖像更加清晰地顯現(xiàn),本方法采用拉普拉斯圖像銳化算子,先生成灰度驟變的圖像,再將該圖像和原圖進(jìn)行疊加處理。該銳化方法可以同時(shí)展現(xiàn)圖像銳化效果和保留原圖背景信息,凸顯圖像中的細(xì)節(jié),增加了圖像中燒結(jié)礦的輪廓和邊緣特征,更有利于進(jìn)行之后的檢測(cè)。
通過(guò)圖3和圖4的對(duì)比發(fā)現(xiàn),經(jīng)過(guò)圖像增強(qiáng)后圖像中的噪聲大幅度減小,圖像亮度和對(duì)比度大量提升。
圖3 原圖
圖4 圖像增強(qiáng)后的圖像
本文使用Prewitt算子實(shí)現(xiàn)圖像的邊緣檢測(cè),Prewitt算子是依據(jù)圖像中像素點(diǎn)各個(gè)相鄰方向的灰度差異進(jìn)行處理,可以在邊緣處達(dá)到相當(dāng)精確的效果,同時(shí)還對(duì)噪聲具有模糊的作用。
對(duì)圖像進(jìn)行邊緣檢測(cè)前需要進(jìn)行高斯濾波,燒結(jié)礦圖像中大多數(shù)噪聲均屬于高斯噪聲,因此使用高斯濾波方法可以很好地為燒結(jié)礦圖像降噪。本文使用高斯濾波方法,對(duì)圖像進(jìn)行降噪處理。
一維高斯分布函數(shù),如下所示:
(5)
二維高斯分布函數(shù),如下所示:
(6)
使用OpenCV中的GaussianBlur函數(shù)可以對(duì)燒結(jié)礦圖像進(jìn)行高斯濾波,先將圖像轉(zhuǎn)換為灰度圖,然后進(jìn)行高斯濾波處理,設(shè)定合適的閾值,其中size的取值為(9,9),高斯濾波在橫向和豎向的濾波系數(shù)都為2,通過(guò)對(duì)比多個(gè)值,發(fā)現(xiàn)size為(9,9)和濾波系數(shù)為2時(shí)效果更好,可以很好地減少服從正態(tài)分布的圖像噪聲,消除燒結(jié)礦圖像中的高斯噪聲,從而削弱了噪聲對(duì)后期檢測(cè)的干擾,讓檢測(cè)的結(jié)果更為準(zhǔn)確。
然后對(duì)圖像進(jìn)行邊緣檢測(cè),邊緣檢測(cè)可以檢測(cè)出圖像中的邊緣信息[11],Prewitt算子是利用水平和垂直兩個(gè)方向的模板與目標(biāo)圖像進(jìn)行領(lǐng)域卷積來(lái)完成對(duì)邊緣的檢測(cè)。相比于其他算子Prewitt算子對(duì)噪聲的抑制效果更好,因此更適合用于燒結(jié)礦圖像的檢測(cè)。Prewitt算子模板如圖5所示。
Px
目標(biāo)圖像與Px卷積后可以反映圖像的垂直邊緣,與Py卷積后可以反映圖像的水平邊緣。最重要的是,這兩個(gè)卷積是可分離的:
X方向的卷積,如下所示:
(7)
Y方向的卷積,如下所示:
(8)
從分離的結(jié)果來(lái)看,Px算子是先對(duì)目標(biāo)圖像進(jìn)行垂直方向的均值平滑處理,然后完成水平方向的處理。Py算子是先對(duì)目標(biāo)圖像進(jìn)行水平方向的均值模糊處理,然后在完成垂直方向的處理。這就是Prewitt算子能夠抑制噪聲的主要原因。
通過(guò)邊緣檢測(cè)可以檢測(cè)出圖像中燒結(jié)礦的邊緣信息,檢測(cè)效果如圖6所示。
圖6 Prewitt邊緣檢測(cè)
Prewitt算子可以很好地檢測(cè)出燒結(jié)礦的輪廓信息,而且沒(méi)有斷點(diǎn),檢測(cè)的結(jié)果比較準(zhǔn)確。
本方法使用的圓檢測(cè)方法是OpenCV中的HoughCircles函數(shù),HoughCircles函數(shù)有很多好處,它對(duì)噪聲不怎么敏感,并且可以在同一張圖像中檢測(cè)出多個(gè)圓,可以很好地使用在燒結(jié)礦的粒度檢測(cè)領(lǐng)域,HoughCircles函數(shù)檢測(cè)類(lèi)圓物體的步驟是:先檢測(cè)出類(lèi)圓物體的中心,即對(duì)預(yù)處理后的圖像再進(jìn)行邊緣檢測(cè),計(jì)算出圖像的梯度,從而可以確定燒結(jié)礦的中心。然后檢測(cè)出燒結(jié)礦的半徑,計(jì)算某一個(gè)燒結(jié)礦的中心到邊緣的距離,找出這些相等的距離,就是該燒結(jié)礦的半徑[12]。對(duì)每一個(gè)燒結(jié)礦完成上述步驟,就會(huì)得到圖像中所有燒結(jié)礦的半徑。
在OpenCV的HoughCircles函數(shù)中使用的是HOUGH_GRADIENT方法,然后根據(jù)實(shí)際情況設(shè)定好其他參數(shù),首先把dp值設(shè)置為1,根據(jù)圖像中的燒結(jié)礦稠密程度,確定兩個(gè)燒結(jié)礦之間的最短距離也就是保留距離,再設(shè)定合適的閾值,閾值需要多次調(diào)參來(lái)確定,參數(shù)越大,檢測(cè)到的燒結(jié)礦越少,參數(shù)越小,檢測(cè)到的燒結(jié)礦越多,從而得到最合適的閾值,最后設(shè)定最大半徑和最小半徑,通過(guò)此方法便可以檢測(cè)出燒結(jié)礦的粒度大小。
然后根據(jù)檢測(cè)出的輪廓信息,繪制出燒結(jié)礦的中心和大概輪廓,讓檢測(cè)的結(jié)果更加直觀地顯示出來(lái),并且統(tǒng)計(jì)出圖像中的燒結(jié)礦的個(gè)數(shù)、大小分布、平均粒度、最大粒度、最小粒度等信息,以及粒度小于20 mm,20 mm至30 mm和大于30 mm的燒結(jié)礦所占比重。讓整體的效果更好地展示給客戶(hù),有利于后期的工業(yè)生產(chǎn)。
將基于圖像增強(qiáng)的Prewitt算法和Roberts算法、LOG算法、無(wú)邊緣檢測(cè)算法的效果圖進(jìn)行比較。檢測(cè)效果如圖7所示。
(a) 改進(jìn)的Prewitt算法
如圖7可知在對(duì)圖像進(jìn)行增強(qiáng)處理后再進(jìn)行Prewitt算法邊緣檢測(cè)算法后效果更好。然后使用HoughCircles函數(shù)檢測(cè),可以更好地檢測(cè)出圖像中的燒結(jié)礦,然后提取圖像中的有用信息,更好地應(yīng)用于工業(yè)生產(chǎn)。圖7中用外接圓來(lái)展示燒結(jié)礦的輪廓,該圓圈可以大體上表示出該燒結(jié)礦的輪廓,且誤差不是很大,在燒結(jié)礦的粒度檢測(cè)領(lǐng)域起到了拋磚引玉的作用,可以很好地應(yīng)用于燒結(jié)礦工業(yè)生產(chǎn)中。
本文的方法如下:首先根據(jù)圖像的大小,調(diào)節(jié)圖像大小,然后進(jìn)行圖像形態(tài)學(xué)開(kāi)操作,圖像像素點(diǎn)分割和圖像銳化等方法進(jìn)行圖像增強(qiáng),再然后使用高斯濾波和圖像邊緣檢測(cè),檢測(cè)圖像的邊緣信息,最后使用HoughCircles函數(shù)檢測(cè)出圖像中的燒結(jié)礦粒度大小。
表1是調(diào)整燒結(jié)礦的密集程度和個(gè)數(shù)檢測(cè)的結(jié)果,本方法檢測(cè)的燒結(jié)礦粒度大小比較準(zhǔn)確,因?yàn)闊Y(jié)礦不規(guī)則,所以存在誤差。經(jīng)過(guò)對(duì)比發(fā)現(xiàn),本方法檢測(cè)后的效果更好,圖像的對(duì)比度更高,并且可以檢測(cè)到很多有用的信息,滿(mǎn)足工業(yè)生產(chǎn)的需要。
表1 燒結(jié)礦粒度檢測(cè)結(jié)果表
通過(guò)QCustomPlot組件可以畫(huà)出燒結(jié)礦的粒度分布,圖8展示一張圖像中的燒結(jié)礦生成趨勢(shì),即每個(gè)燒結(jié)礦的粒度大小情況。其中灰色線(xiàn)表示燒結(jié)礦粒度在20 mm至30 mm所占比例,黑色線(xiàn)表示粒度小于20 mm所占比例,白色線(xiàn)表示粒度大于30 mm所占比例。
圖8 燒結(jié)礦分布圖
圖8可以很好地幫助現(xiàn)場(chǎng)人員了解燒結(jié)礦的生成情況,同時(shí)使用了鼠標(biāo)響應(yīng)函數(shù),用戶(hù)可以很好地得到鼠標(biāo)光標(biāo)所在點(diǎn)的數(shù)據(jù),然后根據(jù)燒結(jié)礦的粒度大小來(lái)判斷原料的增減,最終可以生產(chǎn)出更多符合要求的燒結(jié)礦。
提出了一種高效和穩(wěn)定的燒結(jié)礦粒度檢測(cè)方法。采用計(jì)算機(jī)視覺(jué)技術(shù),利用圖像獲取裝置實(shí)時(shí)采集燒結(jié)礦的圖像,然后使用圖像增強(qiáng)和霍夫變換等方法對(duì)圖像進(jìn)行實(shí)時(shí)檢測(cè),可以在不影響生產(chǎn)的前提下準(zhǔn)確地實(shí)時(shí)反饋燒結(jié)礦的粒度和分布等信息。本方法主要使用了形態(tài)學(xué)開(kāi)操作、圖像像素點(diǎn)分割、圖像銳化、高斯濾波和Prewitt算子進(jìn)行圖像預(yù)處理,使用霍夫變換檢測(cè)出燒結(jié)礦的大小和分布等信息。實(shí)驗(yàn)結(jié)果證明:使用圖像像素點(diǎn)分割方法,可以根據(jù)圖像中的燒結(jié)礦灰度值設(shè)置分段函數(shù),對(duì)燒結(jié)礦和背景進(jìn)行分割,相對(duì)于常規(guī)的方法,可以更好地減少圖像中的噪聲,對(duì)燒結(jié)礦的邊緣檢測(cè)更準(zhǔn)確,準(zhǔn)確率可達(dá)到98%。該方法對(duì)燒結(jié)礦透明化和智能化的生產(chǎn)具有重要的意義,有利于降低耗能和高效生產(chǎn),減少資源的浪費(fèi),從而提高了企業(yè)的經(jīng)濟(jì)效應(yīng)。