楊慧英
(1.沈陽(yáng)理工大學(xué)自動(dòng)化與電氣工程學(xué)院,遼寧沈陽(yáng)110159;2.東北大學(xué)信息科學(xué)與工程學(xué)院,遼寧沈陽(yáng)110000)
液位通常是指密閉容器或是開(kāi)口容器內(nèi)液體的液面高度。工程應(yīng)用中容器可能是透明的和非透明的,形狀也大小不一?,F(xiàn)有的液位檢測(cè)方法有很多,如微波檢測(cè)法、超聲波檢測(cè)法、光電式檢測(cè)法、浮球式檢測(cè)法等,這些方法各有特點(diǎn)但對(duì)于透明含有泡沫或是有蒸汽、粉塵等液體液位都不太適合,浮球式則不太適合粘稠液體的液位檢測(cè),所有方法也都不太適合有腐蝕性以及高溫液體的液面檢測(cè)。為此本文提出一種非接觸式的檢測(cè)方法,利用機(jī)器視覺(jué)原理基于數(shù)字圖像處理理論對(duì)容器內(nèi)液位進(jìn)行檢測(cè)。這種方法對(duì)于原容器工作情況不破壞不干擾,只需在合適位置架設(shè)圖像采集裝置,設(shè)備安裝改造容易。
通常在液位檢測(cè)之前有以下幾個(gè)問(wèn)題需要關(guān)注:(1)容器的種類(lèi)是密閉容器還是開(kāi)口容器;(2)容器的材質(zhì)即容器為透明容器還是非透明容器;(3)容器內(nèi)的液體為腐蝕液體、高溫液體或是其它特殊情況液體;(4)容器器形主要是形狀和大小方面的考量。本文主要利用視覺(jué)檢測(cè)方式探討以下兩種情況下的液位檢測(cè)。透明容器內(nèi)液位檢測(cè)(密閉容器開(kāi)口容器均可)和非透明開(kāi)口容器內(nèi)的液位檢測(cè)。以下是兩種情況的問(wèn)題描述。
利用視覺(jué)檢測(cè)方式對(duì)透明容器內(nèi)的液體液位進(jìn)行檢測(cè),由于容器外壁透明,利用圖像檢測(cè)的方式可以將攝像頭垂直與容器外壁架設(shè),如圖1所示為一透明容器,容器內(nèi)黑色區(qū)域?yàn)槿萜鲀?nèi)液體。圖中利用攝像頭可以獲取到透明容器的切面。圖像獲取后可以直觀(guān)通過(guò)分析得到,圖像中的液位和實(shí)際液位有關(guān)聯(lián)。
圖1 密閉透明容器液位情況
對(duì)于透明開(kāi)口容器或是透明封閉容器都可以利用2.1中所述方法進(jìn)行檢測(cè)。如果是液位檢測(cè)報(bào)警可以直接通過(guò)是否到達(dá)警戒液位線(xiàn)給出判斷即可,如果是需要給出容器內(nèi)具體液位高度則需要設(shè)計(jì)標(biāo)尺進(jìn)行標(biāo)定轉(zhuǎn)換計(jì)算出實(shí)際液位。對(duì)于非透明容器來(lái)說(shuō)很難直觀(guān)的從縱切面圖形中獲取到。如果是密閉非透明容器可以采用紅外熱像方法獲取圖像。如果是開(kāi)口非透明容器可以采用采集容器橫截面圖像狀態(tài)(圖2所示),通過(guò)提取液位特征參數(shù)進(jìn)行。
圖2 非密閉不透明容器橫截面圖像
無(wú)論是透明還是非透明的容器利用圖像檢測(cè)方法進(jìn)行液位檢測(cè)基本的圖像處理流程基本都需要以下幾個(gè)步驟:
(1)原始圖像采集:透明容器攝像頭垂直于容器側(cè)壁采集;非透明開(kāi)口容器采集容器口橫截面圖像。
(2)灰度化:降低原始圖像的色彩信息為預(yù)處理與特征提取提供條件。
(3)圖像增強(qiáng):可以提升原始圖像目標(biāo)與背景的對(duì)比度。
(4)圖像去噪:去除影響特征提取的圖形元素。
(5)二值化:將目標(biāo)與背景進(jìn)行二值分離,得到有效的目標(biāo)邊緣或是區(qū)域特征。
實(shí)際檢測(cè)過(guò)程中,利用圖像獲取單元采集到的圖像信息多為彩色圖像,為此需要進(jìn)行灰度化和閾值分割等圖像預(yù)處理操作?;叶然幚砜梢圆捎镁祷剑ü?)進(jìn)行。
灰度化處理后仍可以看到液體區(qū)域雖然具有相同屬性,但由于光線(xiàn)、采集位置等問(wèn)題,液體區(qū)域?yàn)榛叶认嘟囊黄瑓^(qū)域,但是并不是每一個(gè)像素點(diǎn)都是相同灰度值,為此需要進(jìn)一步進(jìn)行閾值分割,目的是得到對(duì)比明顯的液體區(qū)域和非液體區(qū)域。
閾值分割就是將閾值與圖像中每個(gè)像素值進(jìn)行比較劃分:設(shè)原始圖像為f(x,y),分割處理后的圖像為 g(x,y),T 為閾值,則有:
對(duì)于T的選取有很多算法,迭代法如下:
(1)首先估計(jì)一個(gè)初始全局閾值,選取所有像素點(diǎn)的灰度平均值作為第一次的分割閾值T;
(2)用T將圖像分為大于T和小于T的兩個(gè)區(qū)域R1和 R2;
(3)分別計(jì)算R1和R2兩個(gè)區(qū)域的像素點(diǎn)平均灰度 U1和 U2;
(4)推算新的下一輪閾值T=(U1+U2)/2;
(5)重復(fù)上述步驟(1)~(4)幾次直到上一次閾值和本次閾值相等,則結(jié)束迭代過(guò)程,最后一次的T為最終的分割閾值。
閾值分割可以得到成片的液體區(qū)域特征,邊緣檢測(cè)則可以得到目標(biāo)的邊緣特征信息,進(jìn)而提取和液位相關(guān)的參數(shù)。1)對(duì)于透明容器可以采用如下方法:遍歷出最上和最下的邊界,統(tǒng)計(jì)邊界之間的像素特征,通過(guò)統(tǒng)計(jì)給出當(dāng)前液面是否達(dá)到要求。2)對(duì)于非透明容器本文以開(kāi)口容器為例,可以得到容器開(kāi)口處截面圖像的區(qū)域特征。接下來(lái)采用邊緣檢測(cè)算法提取出邊緣特征。
邊緣檢測(cè)算法有很多,主要是選取不同的邊緣檢測(cè)算子多圖像進(jìn)行模板運(yùn)算,用算子利用卷積近似計(jì)算,常使用的一階算子有Roberts算子、Sobel算子和Prewitt算子。其基本運(yùn)算原理如下,已知一個(gè)3×3大小的圖像(如圖3所示),中心點(diǎn)z5表示f(x,y),那么z1就代表f(x-1,y-1),其它各點(diǎn)表達(dá)式可依此類(lèi)推,則用于計(jì)算標(biāo)記為z5的點(diǎn)的梯度模板可以由以下定義給出:
一階微分算子定義為:
圖33 ×3圖像區(qū)域
圖4 Roberts交叉梯度算子
如圖5所示為利用3.2所述算法進(jìn)行的灰度化與閾值分割的處理結(jié)果,從結(jié)果中可以看出,由于彩色圖的每一個(gè)點(diǎn)是R、G、B三個(gè)顏色分量構(gòu)成,每個(gè)分量占用一個(gè)字節(jié),一個(gè)點(diǎn)就要占用三個(gè)字節(jié),為了圖像的有效特征提取將彩色圖轉(zhuǎn)化為灰度圖后既保留了原有目標(biāo)的特征,又降低了圖像的數(shù)據(jù)量以及存儲(chǔ)空間。二值化的目的是將灰度圖中的目標(biāo)和背景分割為兩個(gè)明顯的黑白區(qū)域,將所有背景歸為黑色,將有效目標(biāo)歸為白色,進(jìn)一步為邊緣或區(qū)域特征的提取奠定基礎(chǔ)。
圖5 灰度化與閾值分割結(jié)果
如圖6所示為利用3.3所述算法對(duì)二值圖像進(jìn)行處理提取出的邊界特征,可以看出透明容器直接可以從圖中得到一個(gè)明顯的液面邊界信息,對(duì)于不透明的容器可以得到的是開(kāi)口容器的截面圖形邊緣,這些邊緣信息進(jìn)行下一步的特征提取算法處理就可以得到液位是否達(dá)到預(yù)先要求的判斷。
圖6 邊緣檢測(cè)結(jié)果
綜上所述,通過(guò)對(duì)比基于圖像檢測(cè)方法對(duì)透明容器和非透明容器內(nèi)的液位檢測(cè)是不同的。透明容器由于容器本身透明的特性很容易利用圖像得到具有液位特征的圖像,主要是架設(shè)好圖像采集單元的位置配合后續(xù)算法即可完成。對(duì)于非透明容器情況就會(huì)復(fù)雜一些,如果是密閉非透明,那么需要采集紅外熱圖像才有可能得到有效的圖像液位特征圖。本文對(duì)比的非密閉敞口不透明容器則沒(méi)法得到水平液位線(xiàn)特征圖,但是可以利用容器橫截面圖形特征進(jìn)一步推導(dǎo)截面特征與液位的關(guān)系。因此利用圖像方式進(jìn)行液位檢測(cè)屬于非接觸檢測(cè),特別適合腐蝕性液體和高溫液體液位檢測(cè)情況,具有現(xiàn)實(shí)應(yīng)用意義。