苗長云,王春華,李現(xiàn)國
(天津工業(yè)大學 電子與信息工程學院,天津 300387)
帶式輸送機是一種現(xiàn)代化生產(chǎn)中的連續(xù)運輸設(shè)備,具有運量大、運距遠、能耗小、運費少、效率高等優(yōu)點,廣泛應用于港口、煤炭、礦山、電力和化工等領(lǐng)域。由于帶式輸送機的輸送帶上表面為弧形且一般在露天環(huán)境下作業(yè),所以當發(fā)生下雨或灑水除塵等情況時,上輸送帶上表面極易產(chǎn)生積水。輸送帶上表面積水如不清理,帶式輸送機開機運輸物料時將會造成運輸物料的灑落,增加運輸物料水分,如果運輸煤炭則會降低其發(fā)熱量,為此在開機運輸物料前需要對上輸送帶上表面積水進行清理。目前,帶式輸送機監(jiān)控系統(tǒng)沒有積水自動檢測與清理功能,清理積水的方法是不管上表面有無積水開機時開啟積水清理裝置,帶式輸送機空載運行一圈后再運輸物料;或者人工檢測積水,當發(fā)現(xiàn)輸送帶上表面有積水時,開啟積水清理裝置,清理積水后再運輸物料。上述方法影響帶式輸送機的使用壽命,消耗電能,增加工作量。
目前,在積水檢測算法方面,趙一兵等[1]提出了通過利用圖像的紋理特征、顏色特征和亮度特征的積水檢測算法,檢測特征多,算法復雜,實時性較差,不適合于輸送帶積水檢測。陳添丁等[2]提出了通過利用水體的高偏振度和水體區(qū)域的相似偏振相位特點對水體區(qū)域進行檢測的方法,需要采集三幅不同偏振角度的圖像,復雜度高。
針對以上問題,本文提出了一種基于機器視覺的帶式輸送機監(jiān)控系統(tǒng)[3]中輸送帶積水檢測方案和基于自適應閾值的輸送帶表面積水檢測算法,并將積水檢測功能集成在帶式輸送機監(jiān)控系統(tǒng)中,以實現(xiàn)帶式輸送機中輸送帶積水的實時檢測、計算積水面積和控制積水清理裝置清理積水的功能,在港口、煤炭、礦山、電力等領(lǐng)域具有廣泛應用前景。
帶式輸送機監(jiān)控系統(tǒng)中輸送帶積水檢測方案由帶式輸送機監(jiān)控系統(tǒng)、以太網(wǎng)工業(yè)面陣相機、光源和偏振鏡等組成,其組成示意圖如圖1 所示。
圖1 積水檢測方案組成示意圖Fig.1 Schematic diagram of the water accumulation detection scheme
圖1 中,帶式輸送機監(jiān)控系統(tǒng)主要由上位機、核心交換機、監(jiān)控終端、網(wǎng)絡電話終端、急停開關(guān)等組成,能夠?qū)崿F(xiàn)對帶式輸送機狀態(tài)監(jiān)測和控制、電話通信和視頻監(jiān)控等功能。以太網(wǎng)工業(yè)面陣相機通過監(jiān)控終端、急停開關(guān)或網(wǎng)絡電話終端的以太網(wǎng)接口接入到帶式輸送機監(jiān)控系統(tǒng),用來采集輸送帶上表面圖像并傳輸給上位機。上位機對上表面圖像進行處理,利用積水檢測算法實現(xiàn)對上輸送帶上表面的積水檢測并計算積水面積,當積水面積超過設(shè)定值時控制積水清理裝置清理積水。
為了保證以太網(wǎng)工業(yè)面陣相機采集輸送帶上表面圖像的質(zhì)量,經(jīng)分析及實驗,在相機鏡頭的正前方安裝偏振鏡,用于濾除輸送帶上表面反光的干擾,同時設(shè)置照明光源,解決了光照不足條件下圖像的采集清晰度問題,提高了采集圖像的質(zhì)量。
積水檢測算法首先讀取以太網(wǎng)工業(yè)面陣相機采集的原始圖像,然后對原始圖像進行數(shù)據(jù)格式上的轉(zhuǎn)換,通過由GigE Vision 協(xié)議傳輸?shù)脑枷袼馗袷睫D(zhuǎn)化為OpenCV 中的圖像容器Mat 格式,并將該圖像數(shù)據(jù)轉(zhuǎn)化為單通道灰度圖像以降低處理的數(shù)據(jù)量。接著通過計算輸送帶表面圖像的均值得到自適應閾值,并通過定義感興趣區(qū)域得到輸送帶分割圖像。隨后對分割圖像進行閾值化處理得到積水區(qū)域輪廓,通過統(tǒng)計該二值圖像中大于閾值的像素個數(shù)來判斷是否是積水區(qū)域。在有積水的情況下,計算積水區(qū)域的面積,積水檢測算法流程如圖2 所示。
圖2 積水檢測算法流程Fig.2 Flow chart of water accumulation detection scheme
GigE Vision 協(xié)議是一種基于千兆以太網(wǎng)的圖像傳輸接口標準,具有傳輸距離長、傳輸效率高、兼容性好、適用于多種網(wǎng)絡拓撲結(jié)構(gòu)等優(yōu)點。在該協(xié)議中,最常用的像素格式為Mono8,也就是8 位單通道的灰度格式??梢酝ㄟ^OpenCV 中Mat 類的構(gòu)造函數(shù)得到Mat 對象,此時得到的圖像是各通道的值都相等的三通道圖像,為了減少處理的數(shù)據(jù)量,通過OpenCV 庫函數(shù)轉(zhuǎn)化為單通道灰度圖像。
單一閾值對圖像進行處理不能兼顧圖像不同區(qū)域的情況,尤其是在光線復雜的野外環(huán)境。為了提高算法的魯棒性,本文提出的算法通過計算輸送帶表面圖像的均值獲取到自適應閾值T,其計算公式為:
式中:L 為灰度級總數(shù),這里是255;Zi表示第i 個灰度級的值;p(Zi)歸一化直方圖灰度級分布中灰度為zi的概率。獲得自適應閾值T 之后可以對圖像進行閾值化操作,也就是將圖像中大于閾值T 的像素設(shè)為白色像素255,小于閾值T 的像素設(shè)為黑色像素0,此時圖像中只有黑白兩種像素,白色像素對應的區(qū)域即為積水區(qū)域輪廓的分割圖像。其處理公式為:
式中:f(x,y)是原始圖像的像素灰度值;g(x,y)是處理后的二值化圖像;T 是閾值。利用符號函數(shù)可以把圖像像素值為255 像素個數(shù)計算出來,計算方法為:
式中:sgn(x)為符號函數(shù),累計符號函數(shù)為1 的次數(shù)即可得到大于閾值T 的白色像素個數(shù)。
圖3 為積水面積和積水量關(guān)系示意圖。
由圖3 分析得出結(jié)論:積水區(qū)域輪廓的面積與積水量成正比關(guān)系,該面積的大小反應了積水量的多少。因此,通過計算積水區(qū)域輪廓的面積,當該面積值超過某一閾值時,發(fā)送命令給積水清理裝置清理積水。
在OpenCV 中可以對二值圖像的面積進行計算,用到的函數(shù)原型聲明為double contourArea(InputArray contour,bool oriented=false),其中參數(shù) contour 為輸入的二值圖像,該函數(shù)返回積水區(qū)域輪廓面積。
由于相機的拍攝方向和豎直方向有一定的夾角,如圖3 中的角度A。為了精確計算積水區(qū)域的面積,需要對圖像做一個視角的轉(zhuǎn)換。根據(jù)視角變換后的圖像計算積水區(qū)域面積更加精確,視角轉(zhuǎn)換的公式為:
圖3 積水面積與積水量關(guān)系示意圖Fig.3 Schematic diagram of relationship between accumulated water area and the amount of water accumulated
式中:由原圖像中像素坐標u,v 對應得到變換后的圖像中像素坐標x,y 為:
變換矩陣中包含了由“斜”的視角變?yōu)椤罢钡囊暯撬枰男畔?,其視角轉(zhuǎn)換示意圖如圖4 所示。
圖4 視角轉(zhuǎn)換示意圖Fig.4 Schematic diagram of perspective conversion
在帶式輸送機監(jiān)控系統(tǒng)中的上位機用OpenCV 圖像算法庫和C++語言結(jié)合MFC 框架在Visual Studio平臺上編寫了積水檢測軟件,該軟件實現(xiàn)了上位機與以太網(wǎng)工業(yè)面陣相機間的通信、相機圖像采集參數(shù)的控制、相機IP 的設(shè)置、相機圖像畫面的顯示、輸送帶上的積水檢測以及輸送帶上積水面積的計算以及結(jié)果的顯示,積水檢測軟件界面如圖5 所示。
圖5 上位機軟件界面Fig.5 Software interface of host computer
圖5 中,連接按鈕通過發(fā)送搜索相機廣播包搜索相機設(shè)備,相機應答之后可以對相機采集參數(shù)和IP 進行設(shè)置,其對應的IP 地址和主機網(wǎng)卡的地址也可以在上位機上顯示;播放按鈕通過開啟拉流線程,獲取相機圖像數(shù)據(jù),并開啟圖像顯示線程,將圖像顯示在界面上方的方框內(nèi);積水定性分析通過獲取一幀圖像,并判斷該圖像中輸送帶上是否有積水,并將其結(jié)果顯示在編輯框內(nèi),在有積水的情況下,分析其積水的面積,并將其結(jié)果顯示在編輯框內(nèi)。
為驗證輸送帶積水檢測方案和輸送帶表面積水檢測算法,搭建了基于機器視覺的帶式輸送機監(jiān)控系統(tǒng)中輸送帶積水檢測實驗平臺,其實物如圖6 所示。
圖6 輸送帶積水檢測實驗平臺實物Fig.6 Actual drawing of conveyor belt water testing experimental platform
該實驗平臺中的實驗設(shè)備包括以太網(wǎng)工業(yè)面陣相機、礦用LED 光源、12 V 開關(guān)直流穩(wěn)壓電源、35.5 mm的線性偏振鏡和帶式輸送機監(jiān)控系統(tǒng)等,其中以太網(wǎng)工業(yè)面陣相機的圖像分辨率為1 280×1 024,上位機積水檢測軟件編寫平臺使用Visual Studio(版本號Ultimate 13)以及OpenCV 圖像算法庫(版本號為3.1.0)。該實驗平臺設(shè)備型號及相應參數(shù)由表1 所示。
表1 設(shè)備型號及相應參數(shù)Tab.1 Equipment model and corresponding parameters
在陽光直射的情況下,輸送帶表面會出現(xiàn)反光,對于基于積水的高亮度特征的算法來說,反光會影響其檢測的精度,通過在相機鏡頭的前方放置一個偏振鏡可以有效防止這種現(xiàn)象。圖7 展示了一組分別在無偏振鏡和有偏振鏡情況下的輸送帶表面圖像。
圖7 有無偏振鏡下的輸送帶表面圖像對比圖Fig.7 Contrast image of conveyor belt surface with or without polarizer
由圖7 可以看出,由于偏振鏡的作用,算法的魯棒性得以提高。
給實驗系統(tǒng)上電后,相機工作指示燈亮起,上位機識別到相機的接入并給相機分配IP 地址。通過上位機給相機發(fā)送圖像采集指令,相機開啟拉流線程,并運行積水檢測算法對輸送帶上表面圖像進行處理;通過開啟光源,提高圖像在光照強度低的情況下圖像質(zhì)量。圖8 給出圖像處理過程和積水檢測結(jié)果。其中,根據(jù)經(jīng)驗值設(shè)N 為500。
此處積水面積為32 087.5,由于實驗室環(huán)境限制,一部分積水區(qū)域被實驗室窗戶遮擋,導致積水區(qū)域面積計算不精確,在實際的輸送帶工作環(huán)境中,通過設(shè)置光源和調(diào)整適當?shù)奈恢每梢詼p少遮擋物的影響,得到更加精確的積水區(qū)域輪廓,從而得到更精確的積水面積。
圖8 積水檢測結(jié)果Fig.8 Experimental test results
檢測精度定義為檢測出來的水體區(qū)域和實際的水體區(qū)域的比值,誤檢率為錯誤判斷的積水區(qū)域占總樣本的比例。本文的積水檢測算法與文獻[1]和文獻[2]的比較如表2 所示。
表2 積水檢測算法性能對比Tab.2 Performance comparison of stagnant water detection algorithm
由表2 可見,采用本算法對圖像進行積水檢測具有簡單、高效等特點,保證了積水的實時檢測,具有實際的應用價值。
本文提出了一種基于機器視覺的帶式輸送機監(jiān)控系統(tǒng)中輸送帶積水檢測方案和一種基于自適應閾值的輸送帶表面積水檢測算法;采用OpenCV 圖像算法庫和C++編寫了帶式輸送機監(jiān)控系統(tǒng)上位機積水檢測軟件。搭建了基于機器視覺的帶式輸送機監(jiān)控系統(tǒng)中輸送帶積水檢測實驗平臺,實驗結(jié)果表明該積水檢測方案和算法實現(xiàn)了帶式輸送機中輸送帶積水的實時檢測、計算積水面積和控制積水清理裝置清理積水功能,積水檢測精度達到98.4%,解決了現(xiàn)有的帶式輸送機需要人工檢測積水的問題,在港口、煤炭、礦山、電力等領(lǐng)域具有廣泛的應用前景。