黃林,陶青川,沈建軍
(四川大學(xué)電子信息學(xué)院,成都 610065)
水資源和水安全問題嚴(yán)重影響國民經(jīng)濟(jì)的發(fā)展,因此國家水利部門急切需要建立一套有效的水情監(jiān)控系統(tǒng),并能精確、實(shí)時(shí)地對(duì)江河、水庫和大壩等進(jìn)行水位的監(jiān)測(cè)。目前國內(nèi)大多水文檢測(cè)站使用傳統(tǒng)測(cè)量方法進(jìn)行水位測(cè)量。
傳統(tǒng)水位測(cè)量方式主要有安裝水尺目測(cè)讀數(shù)和使用傳感器自動(dòng)采集水位相關(guān)的模擬量再轉(zhuǎn)換為水位量?jī)煞N[1]。其中目測(cè)測(cè)量方式效率低、實(shí)時(shí)性差以及惡劣情況下無法讀取等缺點(diǎn);而使用傳感器測(cè)量方式成本高、難以維護(hù)、受環(huán)境影響大等缺點(diǎn)。
目前,國內(nèi)很多監(jiān)控水位監(jiān)控站點(diǎn)建設(shè)有攝像頭并配備了標(biāo)準(zhǔn)的水尺,為通過圖像處理的方式識(shí)別水位提供了硬件條件。國內(nèi)外許多學(xué)者采用不同的圖像處理的方法對(duì)水尺識(shí)別做了一些研究工作[1-7]。但是,目前水尺水位的提取存在無法有效分隔清澈水面上水尺倒影和水尺本身[2-3]、識(shí)別刻度采用K-means聚類算法無法滿足實(shí)時(shí)性的要求[1]、在復(fù)雜背景的江面上需要人工輔助定位[4]以及基于雙目視覺需要兩個(gè)攝像頭且需要水平面參考基準(zhǔn)[5]等問題。國內(nèi)學(xué)者提出的基于色調(diào)的能量函數(shù)方法[7]實(shí)現(xiàn)水尺定位,而該方法對(duì)于背景相對(duì)單一的場(chǎng)景具有很好的效果。而本文場(chǎng)景是基于河流、湖泊以及水庫背景相對(duì)較復(fù)雜的場(chǎng)景上述方法無法有效的定位出水尺,例如圖1(a)所示的圖中,基于色調(diào)的能量統(tǒng)計(jì)圖如圖1(b)所示。
圖1 基于全局色調(diào)能量函數(shù)結(jié)果圖
本文首先在嵌入式設(shè)備中獲取攝像機(jī)的實(shí)時(shí)視頻,然后檢測(cè)和矯正水尺圖像并準(zhǔn)確分割水尺和倒影,最后快速準(zhǔn)確地得出了水尺刻度,研究表明該算法具有很大的工程實(shí)際意義。算法系統(tǒng)框圖如圖2所示。
水尺定位是準(zhǔn)確獲取水尺刻度線的關(guān)鍵。所以,水尺定位的目標(biāo)是精準(zhǔn)定位水尺在圖像中的位置,并有效檢測(cè)和分割水面上的水尺和水下的倒影,消除水尺倒影的影響,同時(shí)裁剪圖像中水面上的水尺。此過程主要有:預(yù)處理、水尺定位和裁剪以及傾斜矯正。
圖2 算法系統(tǒng)框圖
水尺在清澈的水面上容易形成清晰的倒影,造成算法容易將水尺倒影誤識(shí)別為刻度。而基于色彩空間模型的水位識(shí)別算法的理論基礎(chǔ)是在不同的光照中,場(chǎng)景中待檢測(cè)目標(biāo)物的色彩亮度有明顯的差異,然而它們的色調(diào)基本能夠保持一個(gè)比較穩(wěn)定的值[4]。因此在HSV色彩空間下能夠有效地分割水尺和水尺倒影。
解碼后的數(shù)據(jù)常為RGB格式,因此需要將水尺圖像按式(1)、式(2)、式(3)將其轉(zhuǎn)換到 HSV色彩空間,以便于后續(xù)的圖像的二值化。
將從攝像機(jī)采集到分辨率為958×1280的原始圖像f(x,y),見圖3(a),對(duì)其轉(zhuǎn)換到HSV色彩空間,然后對(duì)圖像按照表1對(duì)紅色取值范圍內(nèi)的色彩進(jìn)行二值化,得到圖3(b)所示的二值圖像。
其表 1,Hmin,Hmax,Smin,Smax,Vmin,Vmax分別是各個(gè)顏色的HSV分量的最小和最大值。
由圖3(b)可知,水尺在二值圖像中所占面積最大。因此利用形態(tài)學(xué)處理將水尺圖像膨脹使得水尺在圖像中連通,提取最大的連通區(qū)域即可粗略定位水尺。
表1 各個(gè)顏色HSV對(duì)照表
圖3 原始圖像的預(yù)處理
膨脹在數(shù)學(xué)形態(tài)上是連接物體的邊緣點(diǎn),使得邊界向外擴(kuò)展的過程[8],其數(shù)學(xué)表達(dá)式如下:
對(duì)3(b)的二值圖像經(jīng)過膨脹操作,其膨脹后的圖像見圖 4(a),并計(jì)算圖 4(a)中連通區(qū)域的面積,其最大的外接矩形即為水尺目標(biāo)所在的區(qū)域;然后在原始圖像f(x,y)上剪切最大外接矩形所在區(qū)域的水尺目標(biāo),得到圖 4(b)所示。
圖4 外接矩形粗略定位
基于膨脹裁剪的水尺圖像使得比真實(shí)水尺圖像略大,同時(shí)在清澈水面下剪切的水尺圖像的下邊界還存在部分的倒影。該倒影會(huì)嚴(yán)重影響對(duì)水尺刻度的識(shí)別精度。如4(b)所示水尺圖像上的刻度具有很強(qiáng)的水平邊緣信息以及周邊環(huán)境幾乎沒有水平邊緣信息特點(diǎn),利用水平邊緣信息和掃描線法[9]再次裁剪水尺的左右區(qū)域。常見的邊緣信息獲取算子有Roberts、Sobel、Pre-witt以及Canny等。本文基于算法的復(fù)雜度以及實(shí)際效果考慮,采用了Sobel算子進(jìn)行水平邊緣的檢測(cè),然后對(duì)圖像的每一列進(jìn)行掃描,其示意圖如圖5(a)所示,統(tǒng)計(jì)像素跳變次數(shù),統(tǒng)計(jì)方法如式(5)所示,即上一像素與下一像素邏輯異或處理,最后確定跳變次數(shù)連續(xù)大于閾值C的掃描線中的起始位置x1和終止位置x2,并再次裁剪得到如圖5(b)所示,閾值設(shè)定為10。
其中,代表x行y列的像素值,Nx代表x列的像素跳變個(gè)數(shù),^代表邏輯異或。
同時(shí),色度和亮度是相互獨(dú)立的,在水面上下部分,物體的顏色的亮度會(huì)呈現(xiàn)比較大差異,見圖5(c)。
故對(duì)水尺圖像的飽和度(Saturation)進(jìn)行建模,設(shè)計(jì)統(tǒng)計(jì)函數(shù)Ey對(duì)每一行的飽和度進(jìn)行累加,如式(6)所示。
其中,height為水尺圖像的高,x1和x2分別為掃描線確定的起始和終止位置。
由于膨脹操作使得截圖部分尺寸大于真實(shí)的水面水尺,為減少運(yùn)算量,故式(6)是從截取圖像的下半部分對(duì)飽和度進(jìn)行能量統(tǒng)計(jì),并對(duì)Ey歸一化,得到如圖5(e)所示能量函數(shù)圖。由圖5(e)能量統(tǒng)計(jì)圖觀察知,倒影部分的能量明顯偏低,故設(shè)定閾值即可找到水尺的下邊界,取閾值為0.25,重裁剪后的水尺圖像如圖5(d)所示。
圖像的傾斜矯正的核心在于如何確定待檢目標(biāo)的傾斜角,目前傾斜角的檢測(cè)主要分為5類:基于變換的方法,基于投影特征的方法,基于交叉相關(guān)性的方法,基于變換的方法和最近鄰簇方法[11]。
目前常用的5種傾斜角度檢測(cè)方法都存在計(jì)算復(fù)雜度高的缺點(diǎn),并且這些方法一般適用于文檔圖像和車牌圖像的校正,對(duì)于水尺圖像傾斜校正缺乏適應(yīng)性,存在較大的誤差[11]。考慮嵌入式設(shè)備的計(jì)算能力和效果,該五類算法并不能適用于水尺刻度的矯正。本算法根據(jù)水尺幾何特性,利用水尺定位和裁剪過程中的最大連通區(qū)域的最小包圍矩形,獲取該連通區(qū)域的傾斜角θ。其最小包圍矩形不用循環(huán)迭代方式即可獲取到傾斜角,適用于嵌入式設(shè)備,其最小包圍矩陣如圖6(a)。
假設(shè)圖像某點(diǎn)坐標(biāo)P(x0,y0),矯正坐標(biāo)為P1(x,y)則旋轉(zhuǎn)矩陣如式(7)所示:
矯正前后的水尺圖像對(duì)比圖如圖6(b)、6(c)所示:
圖6 矯正前后對(duì)比圖
水尺的左半部分的數(shù)字會(huì)影響正確識(shí)別水尺水位識(shí)別結(jié)果,所以算法首先需要消去數(shù)字字符,然后進(jìn)行連通處理,最后獲取連通區(qū)域的個(gè)數(shù),其個(gè)數(shù)即為水上的水尺刻度個(gè)數(shù)。此過程主要分為:消除字符、連通性分析提取水尺刻度。
圖5 水尺裁剪過程
如圖6(c)所示,將水尺圖像分為左右部分,利用閉操作對(duì)水尺的右半部分做形態(tài)學(xué)處理,使得右半部分能夠完全填充字符區(qū)域同時(shí)不影響右半部分的空白區(qū)域,然后利用右半部分消去左半部分的數(shù)字。
閉操作能使得輪廓平滑,同時(shí)能夠消、消弭狹窄的間斷和長細(xì)的鴻溝,消除小的空洞,并填補(bǔ)輪廓中的斷裂[8]。根據(jù)水尺圖像的特點(diǎn),可采用大小為水尺圖像寬的1/4作為形態(tài)學(xué)處理的核,有效地將右半部分刻度區(qū)域填充。
使用結(jié)構(gòu)元素B對(duì)集合A進(jìn)行閉操作,表示A?B,其數(shù)學(xué)定義如下:
假定原水尺圖像為f(x,y),閉操作后的左半部分和右半部分水尺圖像分別為 f1(x,y)、f2(x,y),則用右半部分的像素取反后與左半部分進(jìn)行邏輯與就可以消去左半部分的字符,按式(9):
水尺消去數(shù)字前后如圖7(a)和圖 7(b)所示。
水尺圖像在消去數(shù)字后,可能存在部分左右刻度線連接在一起的情況。因此,需要先斷開左右部分的刻度連接。形態(tài)學(xué)開操作能夠有效地消除細(xì)小的突出物以及在纖細(xì)處分離物體[8]。
使用結(jié)構(gòu)元素B對(duì)集合A進(jìn)行開操作,表示A°B,其數(shù)學(xué)定義如下:
然后采用算法復(fù)雜度比較低的Sobel算子做水平邊緣檢測(cè),斷開水尺刻度之間的連接處,同時(shí)采用大津法(Ostu)對(duì)圖像做二值化。其二值化圖如圖7(c)所示。
最后統(tǒng)計(jì)圖7(c)中的連通區(qū)域個(gè)數(shù)就是水尺的刻度。連通區(qū)域檢測(cè)結(jié)果如圖7(d)所示。
本文算法的驗(yàn)證實(shí)驗(yàn)在樹莓派嵌入式設(shè)備,Ubuntu 64操作系統(tǒng)、OpenCV3.2.0版本的開源庫進(jìn)行,采用最小刻度1cm的紅色水尺,并用手機(jī)采集了分辨率為958×1280,不同水位高度、拍攝角度以及水面清澈程度下的118張圖像,來識(shí)別圖像中水面部分的水尺的刻度個(gè)數(shù),并以此計(jì)算水位高度。典型實(shí)驗(yàn)如圖8所示以及部分水位提取結(jié)果分析如表3所示。
圖7 連通性提取水尺刻度
圖8 典型實(shí)驗(yàn)結(jié)果圖
表2 不同場(chǎng)景下部分水位提取結(jié)果分析表
從表2可以看出,算法的誤差大概在1cm左右,并能有效地解決倒影問題,適用于工程水尺水位檢測(cè)的誤差要求,同時(shí)算法的平均識(shí)別速度82.18141ms,基本達(dá)到實(shí)時(shí)要求,可以對(duì)視頻每5-10幀做一次水位檢測(cè)。
本文是基于機(jī)器視覺提出的水尺測(cè)量算法,可廣泛運(yùn)用于各監(jiān)測(cè)站點(diǎn)的水位測(cè)量系統(tǒng)中,能快速和較小誤差獲取水尺刻度。水尺刻度提取方法將標(biāo)定好的攝像機(jī)采集到的水尺圖像在HSV色彩空間下,使用掃描線以及形態(tài)學(xué)處理的方式定位并分割水尺與倒影,同時(shí)裁剪水面上的水尺圖像,然后通過最小外接矩形矯正水尺圖像,最后采用連通性分析得到水尺的刻度。實(shí)驗(yàn)結(jié)果表明,該算法能夠快速和較小誤差的識(shí)別水位刻度,其水位刻度誤差在1cm左右,滿足水利行業(yè)對(duì)水位高度計(jì)算的要求。算法在夜晚存在顏色無法提取使得不能識(shí)別水尺刻度的弊端,有待于后續(xù)的改進(jìn)。
參考文獻(xiàn):
[1]仲志遠(yuǎn).一種基于圖像識(shí)別的水位測(cè)量算法[J].國外電子測(cè)量技術(shù),2017(6):96-99.
[2]李翊,蘭華勇,嚴(yán)華.基于圖像處理和BP神經(jīng)網(wǎng)絡(luò)的水位識(shí)別研究[J].人民黃河,2015(12):12-15.
[3]高姍姍,周新志,雷印杰.基于圖像處理和稀疏表示的水位識(shí)別研究[J].人民黃河,2016(12):52-56.
[4]王瑩.基于圖像處理的水位監(jiān)測(cè)系統(tǒng)的研究與實(shí)現(xiàn)[D].西安電子科技大學(xué),2014.
[5]石晗耀,陶青川.基于雙目視覺的水位測(cè)量算法[J].現(xiàn)代計(jì)算機(jī),2017(8):55-59.
[6]張陽.基于計(jì)算機(jī)視覺的河流水位測(cè)量系統(tǒng)設(shè)計(jì)[D].太原理工大學(xué),2014.
[7]高曉亮,王志良,王馨,等.基于HSV空間的視頻實(shí)時(shí)水位檢測(cè)算法[J].鄭州大學(xué)學(xué)報(bào)(理學(xué)版),2010(3):75-79.
[8]岡薩雷斯.數(shù)字圖像處理(MATLAB版)[M].北京:電子工業(yè)出版社,2004.
[9]石貴民.基于掃描線的新型車牌定位方法研究[J].科學(xué)技術(shù)與工程,2014(8):218-221.
[10]ZhangZhenyou.Flexible Camera Calibration by Viewinga Planefrom Unknown Orientation,International Conferenceon Computer Vision[C].Kerkyra:IEEEXplore Digital Library,1999.
[11]姜兵.基于圖像識(shí)別的遠(yuǎn)程水位監(jiān)測(cè)系統(tǒng)研究[D].西安電子科技大學(xué),2011.