葛司遠,侯震
(1.燕山大學信息科學與工程學院,河北 秦皇島 066004;2.河北省水利水電勘測設計研究院,天津 300250)
高清視頻處理技術對水庫水位遠程自動監測系統應用
葛司遠1,侯震2
(1.燕山大學信息科學與工程學院,河北 秦皇島 066004;2.河北省水利水電勘測設計研究院,天津 300250)
以桃林口水庫為試點,應用高清視頻處理技術對水庫水位進行遠程自動監測,介紹了系統的工作原理與總體設計方案,選取最優的視頻采集技術及合理的無線數據傳輸方式,利用視頻圖像處理的算法去掉圖片冗余信息,推斷得出計算水位精確的數據,并將結果存放于數據庫中。實現了無人值守水庫水位數據的遠程查看、及時保存、繪制折線圖與自動監測報警的功能。
高清視頻;水位自動監測;無線傳輸;Android平臺
1.1 系統構成
基于高清視頻處理技術的水庫水位遠程自動監測報警系統是由CCD攝像頭、圖像采集卡、水庫水位夜光液位標尺、圖像處理模塊(由PC機實現)、數據庫、服務器、移動設備終端(智能手機、pad等)、無線傳輸模塊(Wi-Fi或GPRS)組成。
1.2水庫水位監測步驟
選取合適位置畫上標尺,夜光液位標尺在夜晚也能夠提供清晰的對比度。在標尺正對面安裝固定CCD攝像頭,采集標尺及水面的模擬圖像;通過視頻線傳輸到圖像采集卡中,經過圖像預處理得到簡化標尺原圖。通過把簡化標尺原圖自上而下進行像素累加得出坐標像素圖;PC機計算出水位高度數據,一并將時間、場地及數據存儲到數據庫中。在服務器開啟監聽之前,要與數據庫建立連接。
開啟手機端軟件連接服務器,點擊查詢按鈕。數據庫接收到服務器發來的查詢語句將水庫水位實時數據返回。水位超過閾值,服務器將觸發移動終端報警。
2.1 視頻采集
視頻采集就是將采集的視頻圖像進行采樣、量化后轉換成數字圖像并輸入、保存到幀存儲器的過程。只有對圖像進行及時采集和獲取高質量的圖像,才能利于下一步圖像分析和處理。視頻采集模塊由圖像采集卡、CCD高清攝像機和計算機構成。
圖像采集卡(Video Capture Card)是圖像采集部分和圖像處理部分的接口,可以將獲取的數字化視頻信息存儲和播放,也可將視頻和音頻的混合信號在數字化時同步保存和播放,使混合信號或模擬攝像機輸出的視頻信號經過數據轉換后輸入計算機,將視頻數據保存在電腦中。
2.2 無線數據傳輸
數據傳輸模塊分為服務器端和移動設備終端,兩部分的通信主要依靠Wi-Fi或GPRS實現無線傳輸。在移動設備終端(如手機、平板電腦等)安裝水庫水位監測軟件,客戶端首次運行時需要添加遠程監控主機IP,結合端口號建立Socke連接,實現與主機服務器的網絡通信。服務器端監聽客戶端請求,調用查詢語句將存儲在數據庫中的水庫水位數據返回給工作人員的移動設備終端。
3.1 圖像預處理
由于水庫水位實際現場的采集圖像包含多種噪聲和大量背景信息,會對水位分界提取造成干擾,所以需要對圖像信息進行預處理以降低干擾。考慮到高清數字攝像設備捕獲的圖像具有較高分辨率,采用常規灰度化、二值化、邊緣檢測的預處理方案即可。
3.1.1 圖像灰度化
彩色圖像中的每個像素是由R,G,B 3個不同的基色分量組成的,每個基色分量的大小直接關系到相應基色的強度。灰度圖像可以認為是R,G,B 3個分量都相同的色圖像。灰度圖像由256種顏色組成,除了黑和白之外,還有介于兩者之間的灰色,每一種顏色的值在灰度圖像中被叫做灰度值。
采用平均值法將彩色圖像轉換成灰度圖像,即取彩色圖像中某點三基色R,G,B的平均值作為轉換的灰度圖像上該點的灰度值,得到灰度圖像。
3.1.2 圖像二值化
選取合適的閾值把圖像中的灰度值變為0或255,使其仍能反映出圖像的特征,變成黑白圖像。采用二值化技術對圖像進行處理,能夠起到突出檢測目標,減小運算量,抑制干擾噪聲的目的。
二值化處理用封閉、連通的邊界來表示不交疊的區域。將圖像的各像素點的灰度值與閾值對比后,把大于或等于該閾值的像素點賦值為255,組成目標區域;相反,小于該閾值的所有像素點被置于區域之外,賦值為0,成為背景或另一物體區域。
3.1.3 邊緣檢測
Canny在1986年提出基于最優化算法的邊緣檢測算子,利用局部極值檢測圖像邊緣,具有很好的信噪比和檢測精度[3]。Canny邊緣檢測算子的具體算法:消除噪聲,利用高斯濾波器對處理的圖像進行平滑處理;利用一階偏導的有限差分求出梯度的幅值和方向;對梯度的幅值進行非極大值抑制;應用雙閾值算法來檢測和連接邊緣[4]。
3.1.3.1 高斯平滑
根據二維高斯函數的圓對稱性和分解性,得到高斯函數的任意方向導數與圖像的卷積,表達式為:

式中x為二維圖像上X軸代表的像素值;y為二維圖像上Y軸代表的像素值;啄為測定的標準像素差。中心邊緣點Gn,在某一方向n→上的一階方向導數表達式為:


將G的二維卷積變成兩個一維的行列濾波器。如:

其中

式(4)~式(9)中,k代表隨機系數。將式(4)和式(5)與圖像f(x,y)卷積,得:

3.1.3.2 梯度計算
求得幅值及其方向角

式中M(x,y)為圖像在點(x,y)處的邊緣強度;α(x,y)是圖像在點(x,y)的邊緣方向。一個像素點若要被判斷為邊緣點。
必須滿足如下條件:①該像素點的邊緣強度要大于沿該點梯度方向上的兩個相鄰像素點的邊緣強度;②和該像素點的梯度方向上的相鄰兩點的方向夾角小于π/4;③在以該點為中心的3×3鄰域中,其邊緣強度極大值要小于某個閾值[5]。
3.1.3.3 對梯度幅值進行非極大值抑制
通過非極大值抑制(non-maxima suppression,NMS)的方法對圖像屋脊帶進行細化,保留幅值局部變化的最大點,生成細化的邊緣[6]。

式中N(x,y)的非零值對應圖像強度階躍變化的對比度;M(x,y)為圖像在點(x,y)處的邊緣強度;ζ(x,y)表示在二維圖片內的某像素點。
經過平滑處理后非極大值抑制幅值圖像N(x,y)還會有許多的假邊緣。
3.1.3.4 用雙門限檢測
根據統計直方圖,選取一個高閾值T1和低閾值T2。若信號響應大于高閾值,則是邊緣;反之,則不是;處在低閾值和高閾值之間,若8個鄰接像素高于高閾值,則也是邊緣。
3.2 水位高度的計算
預處理后圖像分離原始模糊背景,圖像中有效像素為標尺的內容,從而得到簡化標尺原圖。通過把簡化標尺原圖自上而下進行像素累加得出坐標像素圖,Y軸為水位高度,X軸為坐標尺的水平像素和,每個標尺之間的距離設為y。掃描計數X軸的條形碼數,根據具體水庫水位現場情況初始設定每一條條碼代表的真實距離,測出最下端標尺x2,x1與水位線與最下端標尺距離y,根據公式(14)即可算出水位高度H(x,y)。

式中x為在簡化標尺原圖中X軸的對應數值;y為在簡化標尺原圖中Y軸的對應數值;駐y為每個標尺之間的距離;x2為最下端標尺所對應的數值;x1為水位線下標尺對應的數值。
例如,根據桃林口水庫平時水位,假設x2為80,y為4.38,駐y設為10,則x1應等于70,根據公式(16)算得H(x,y)=(10-4.38)/10×(80-70)+70=75.62(m)。
水庫水位監測系統中,終端應用程序的主要作用是:接收數據、保存數據、處理數據。接收數據,就是將水庫現場采集到的高清視頻經過視頻處理得到的水位數據通過無線通信網絡接收到移動終端上;保存數據,就是將接收到的水位數據在本地以文本文檔格式保存起來;處理數據,就是將接收到的數據繪制成水庫水位監測折線圖,供工作人員分析使用。因此,基于以上的用戶需求,移動終端應用程序應該實現三大系統功能:數據查詢系統、水位折線圖、預警系統。
4.1 數據查詢系統
終端應用程序和服務器通過建立Socket通信連接來接收水位數據,Socket通信傳輸給移動終端的數據是按照事先定義的數據包格式存儲到數據庫中[8],用戶進入數據查詢系統后,通過選擇日期從而從數據庫中調出該日的水庫水位數據,并顯示在終端用戶界面上。
4.2 水庫水位折線圖
水庫水位折線圖更加直觀的將水庫水位數據顯示給用戶,使用戶能夠更加真切地感受水庫水位的波動和變化。實現該功能需進行如下4個步驟:
4.2.1 創建畫布
Android 4.0以上平臺提供了更加完整的畫圖工具,導入android.graphics包,使用onDraw()方法在Canvas類上繪制圖形。
4.2.2 調取數據
首先需要在終端的存儲卡上調出以文本文檔存儲的文件,在將數據解析出來。
4.2.3 繪制折線圖
調用moveTo()設置折線起點坐標的位置,調用lineTo()繪制折線節點坐標位置,最后通過canvas.drawPath()在畫布Canvas上將設置好的節點進行連接,完成折線圖繪制。
4.2.4 完善圖形注釋
根據屏幕分辨率指定合適的起始點和終點的坐標,用canvas.drawPath()在畫布上繪制出橫縱坐標軸,在調用canvas.drawText()在畫布上繪制出坐標的文字說明。
4.3 預警系統
預警系統對于數據的處理是在服務器端實現的。終端應用程序只是在接收的環節接收服務器端發來的報警指標來觸發報警開關。
本實驗選取的檢測視頻時長是1min 5s,幀速率為29幀/s,視頻的總幀數1885。每29幀圖像取一幀圖像。圖像采集過程中,除了采集到目標水位標尺圖像,還會不可避免地將背景圖像進行采集,如背景中的大壩、閥門等,此外,還會有光照、水位波動等因素的干擾。為了去除這些干擾,完成圖像的檢測,需要對圖像進行預處理。
首先用平均值法將彩色圖像變成灰度圖像,簡化圖像信息,進行灰度化處理。對圖像進行二值化過程中,為了能突出檢測目標,便于后續工作的檢測,所以要去合適的閾值,選取了閾值T為0.5,成功得到二值圖像。
從得到的二值圖像中可知,在閾值T=0.5時,水位標尺清晰可見,不需要進行邊緣檢測,如果邊緣像素點有些模糊,為得到圖像目標的基本特征邊緣,需要采用Canny邊緣檢測算子對二值圖像進行邊緣檢測。
水位的計算過程:計算機掃描x2為150,y為9.98,駐y根據桃林口水庫平時水位設為10,則x1應等于140,根據公式(14)算得H=(10-9.98)/10×(150-140)+140=140.02,單位為m。
PC機將計算結果和相應時間存儲到數據庫中列表中,隨時等待查詢語句調取數據。在本次桃林口水庫的試驗中,采用SQL2000數據庫,每秒進行一次刷新,每分鐘存儲在一個文本文檔中,每小時建立一個文件夾進行存儲。
為了提高系統安全性,程序通過驗證用戶名和密碼是否與后臺數據庫中的數據相匹配方可進入程序,否則提示用戶名或密碼錯誤。根據資料顯示青龍河流域降水特點,參考氣象預報及水情測報數據,8月1日設置最高報警水位設置為141.15m[10]。由于本實驗測試時未到汛期,水位漲幅沒有超出報警閾值。按照手機界面提示操作即可查看水庫水位的當前數據和歷史數據。
(1)由圖像采集卡、CCD攝像機和計算機構成的采集系統實現了高清分辨率的視頻圖像采集。
(2)采用圖像的灰度化、二值化、Canny邊緣檢測等技術原理進行分析,采取合適的技術進行圖像的預處理和水位檢測,滿足檢測的需求。
(3)在圖像預處理的基礎上實現了對水位的計算,并將檢測結果記錄于數據庫中,統計出每種檢測方法的檢測圖像的總幀數、檢測正確的幀數、檢測出錯的幀數和檢測的正確率。通過對檢測結果的統計,分析檢測方案中正確率不高的原因,采取適當的改進措施,提高檢測的正確率。
(4)用戶隨時通過手機軟件進行數據的查看與讀取,當水位超出閾值時,服務器端會觸發手機端的報警系統。
(5)在風速過大影響水位波動時可能會產生的報警器誤報現象,也相應地提出了設置安全范圍的措施,來提高檢測系統的可靠性。
參考文獻:
[1]趙洪圣.基于數字圖像的液位遠程監測系統[D].天津:天津大學,2010.
[2]劉宏立,孟凡斌.數字圖象處理技術的現狀及其發展方向[J].吉首大學學報(自然科學版),2009,30(1):63-70.
[3]張強.基于幾何特征的目標識別及跟蹤技術的研究[D].長春:長春理工大學,2008.
[4]朱錦輝.基于全方位視覺系統的移動機器人自主定位與導航技術研究[D].天津:天津理工大學,2008.
[5]張宏,譚躍剛,呂紅梅.邊緣檢測在計算機視覺幾何測量中的應用[J].武漢科技學院學報,2006,19(10):17.
[6]戴燕.圖像邊緣檢測與應用[D].西安:西安科技大學,2010.
[7]靳巖,姚尚朗.Android開發入門與實戰[M].北京:人民郵電出版社,2009.
[8]劉俊賢.基于Android平臺的橋梁監測終端應用程序設計與開發[D].西安:西安科技大學,2011.
[9]蓋索林,王世江.Google Android開發入門指南(第2版)[M].北京:人民郵電出版社,2009.
[10]繆萍萍,任喜龍,李博超,等.桃林口水庫分水樞紐工程對區間支流洪水影響[J].水科學與工程技術,2013(2):4-6.
Application of HD video processing technology in the design of remote auto-detection system of the reservoir-water levels
GE Si-yuan1,HOU Zhen2
(1.College of Information Science and Engineering,Yanshan University,Qinhuangdao 066004,China;2.HebeiResearch Institute of Investigation&Design ofWater Conservancy&Hydropower,Tianjin 300250,China)
Taolinkou reservoir as pilot,the high-definition vide o processing technology was applied to the remote automatic monitoring of reservoir levels.The working principle and the overall design of the system were introduced.This paper selects the best video capture technology and reasonable wireless data transmission,using video image processing algorithms to remove redundant information picture,and inferred accurate data to calculate the reservoir water level and the results are stored in the database.By this technology,we can remote viewing and save timely the water level data of unattended reservoir,can draw a line chart and have the function of automaticmonitoring and alarm.
HD Video;automaticmonitoring of reservoir-water levels;wireless transmission;Android platform
TV697.2+1
B
1672-9900(2015)01-0015-05
2015-01-06
葛司遠(1988-),女(滿族),河北張家口人,碩士,主要從事視頻圖像處理方向的通信領域研究,(Tel)15232328219。