吉建華 ,孫雨耕 ,2,賈偉廣
(1.天津大學仁愛學院 信息工程系,天津301636;2.天津大學 電氣與自動化工程學院,天津300072;3.國家海洋標準計量中心,天津 300112)
海洋潮位計量是關于潮位測量的科學,實現(xiàn)海洋潮位單位統(tǒng)一、量值準確可靠是我國潮位測量的主要目標之一。目前常用的潮位測量方法主要有GPS法、遙感法、壓力法、聲學法、激光法和圖像法等[1-6]。我國水利部水文儀器及巖土工程儀器質(zhì)量監(jiān)督檢驗測試中心的10 m潮位檢測裝置,其檢測精度優(yōu)于3 mm,但是該裝置不能實現(xiàn)潮位的實時自動測量。四川省水文水資源勘測局的潮位檢測裝置的檢測范圍為0~10 m,允許誤差為±2 mm,雖然測量精度有所提高,但依然無法實現(xiàn)實時檢測和自動檢測。國家海洋標準計量中心的海洋潮位檢定計量裝置的檢測范圍為0~8 m,允許誤差為±2 mm。雖然該裝置能夠?qū)崿F(xiàn)自動檢測,但仍無法實現(xiàn)潮位的實時測量。本文基于以 TI公司的 TMS320DM642(以下簡稱 DM642)數(shù)字信號處理器為核心處理器的海洋潮位檢測系統(tǒng),采用嵌入式軟件的方式對來自電荷耦合元件CCD(Charge-Coupled Device)的海洋潮位視頻信息進行處理,并制作了試驗樣機進行相關試驗。試驗結果表明,該樣機可在保持較高測量精度的基礎上對潮位視頻信息進行高速采集、實時處理及自動識別,基本彌補了原有潮位檢測裝置精度低、非自動、非實時的不足,在技術上具有一定的先進性。同時,本研究成果可為濱海旅游、工程建設等業(yè)務帶來重要的經(jīng)濟效益,對海洋預報、科學研究和國防建設等公益性事業(yè)具有較高的社會效益。
海洋潮位檢測裝置主要由水塔、儲水池、電機控制系統(tǒng)、潮位信息獲取裝置(CCD)和圖像處理系統(tǒng)(DSP)等部分組成,其結構如圖1所示。檢測裝置工作流程為:海洋潮位檢測裝置通過電機控制進/排水閥模擬海水漲/落潮,以透明軟管中的水位模擬海洋潮位,由CCD自動獲取實時潮位圖像,利用圖像處理技術通過鋼尺的刻度獲取實時水位值。
圖1 潮位檢測裝置組成
圖2 軟件設計流程圖
海洋潮位檢測裝置軟件系統(tǒng)包括嵌入式軟件和上位機軟件兩部分,其中嵌入式軟件用于控制DM642芯片實現(xiàn)潮位識別功能,上位機軟件用于完成潮位值的實時顯示、存儲與回放等功能。軟件系統(tǒng)設計流程圖如圖2所示。
嵌入式軟件設計在TI公司提供的集成代碼開發(fā)環(huán)境CCS(Code Composer Studio)下進行,主要完成圖像預處理和潮位識別兩個任務。CCD獲取的視頻采用PAL制式,每幀圖像576行,每行720個像素。
(1)圖像預處理
首先,對圖像進行中值濾波[7]。中值濾波本質(zhì)上是一種統(tǒng)計排序濾波器,對于原圖像中的某點(x,y),中值濾波選擇以該點為中心的
式中,f(s,t)表示原圖像某一鄰域的像素灰度值,Sxy表示中心在點(x,y)處、大小為m×n的矩形鄰域的一組坐標,g(x,y)表示中值濾波之后點(x,y)處的圖像灰度值。
本系統(tǒng)采集到的圖像中存在最多的就是椒鹽噪聲,因此,本文選取3×3的采樣窗口以中值濾波的方式對原圖像進行去噪處理。然后,對圖像進行灰度閾值變換,以將灰度圖像轉(zhuǎn)換為二值圖像,其函數(shù)表達式如式(2):鄰域內(nèi)所有像素的統(tǒng)計排序中值作為(x,y)點的響應,如式(1)
式中,f(x,y)表示原圖像(x,y)點的灰度值,g(x,y)表示灰度閾值變換后圖像(x,y)點的灰度值,T表示閾值。由于圖像背景的灰度值并不是常數(shù),因此,本文采用自適應閾值,即選擇其中某一區(qū)域灰度值的近似中間值作為閾值[8]。最后,對二值圖像進行形態(tài)學處理:腐蝕與膨脹[9]。
對于Z2中元素的集合A和S,使用S對A進行腐蝕,記作AΘS,其定義如式(3)所示:
讓原本位于圖像原點的結構元素S在整個Z2平面上移動,若S的原點平移至z點時S能夠完全包含于A中,則所有這樣的z點構成的集合即為S對A的腐蝕圖像。選擇適當大小和形狀的結構元素對圖像進行腐蝕,可以濾除不能完全包含結構元素的噪聲點,即腐蝕可用來消融物體的邊界,具有一定的降噪作用。
對于Z2中元素的集合A和S,使用S對A進行膨脹,記作A⊕S,其定義如式(4)所示:
讓原本位于圖像原點的結構元素S在整個Z2平面上移動,若其自身原點平移至z點時S相對于其自身的原點的映像S^和A有公共的交集,則所有這樣的z點構成的集合為S對A的膨脹圖像。選擇適當大小和形狀的結構元素,可以將圖像中原本斷裂開來的同一物體橋接起來,即膨脹可用來擴展物體的邊界,有助于將斷續(xù)的線進行連接。
本文采用3×3的結構元素對二值圖像反復進行腐蝕和膨脹操作,從而可以消除二值圖像噪聲,形成粗細適中的潮位線、軟管邊界線和鋼尺邊界線,以方便后續(xù)的潮位識別處理。
(2)潮位識別
潮位識別過程簡述如下。
①設計并初始化數(shù)字特征模板。根據(jù)鋼尺長度和刻度數(shù)字分布,確定數(shù)字特征模板的樣本數(shù)。每個數(shù)字樣本選取25個特征,由此得到數(shù)字樣本的特征模板。
②計算每個像素實際代表的物理長度。根據(jù)整幅圖像豎直方向的像素個數(shù)m和顯示屏的高度x,每個像素實際代表的物理尺寸k可由式(5)求得:
③獲取鋼尺邊界、軟管邊界和潮位線。由于此時的處理對象為二值圖像,因此,邊界提取較為簡單。如果圖像相鄰兩個像素的灰度值相等,則表示此處不存在邊界;反之,若灰度值不相等,則表示此像素即為一個邊界像素點,遍歷判斷所有像素點即可獲取鋼尺邊界、軟管邊界及潮位線。
④鋼尺刻度數(shù)字圖像獲取。尋找鋼尺上處于潮位線下方的第一個數(shù)字的邊界,從而提取刻度數(shù)字的圖像,進而獲取鋼尺刻度數(shù)字的數(shù)字特征。
⑤數(shù)字特征匹配。將第④步中獲取的鋼尺數(shù)字特征與模板中所有數(shù)字的數(shù)字特征進行比對,按照最小距離法確定鋼尺數(shù)字,從而確定潮位的粗略高度,即水位線的厘米值數(shù)字h0(cm)。
假定count為兩個樣本數(shù)字特征之間的距離且初始值為0,s1為鋼尺刻度數(shù)字樣本,s2模板數(shù)字樣本,則鋼尺數(shù)字樣本與模板中某一樣本距離的計算方式如下:
⑥潮位值獲取。根據(jù)每個像素實際代表的長度k及鋼尺數(shù)字(h0)的水平中心位置至潮位線的像素數(shù)n,利用式(6)求出自鋼尺數(shù)值水平中心至潮位線的高度h1:然后,加上第⑤步中求取的水位線的厘米值數(shù)字h0即可獲得最終潮位高度:
潮位檢測裝置采用VC++語言編寫上位機軟件。根據(jù)系統(tǒng)的設計要求,上位機軟件需要實現(xiàn)試驗過程中各時刻潮位值的實時顯示、存儲和回放,并且還要繪制對應的潮位變化曲線。上位機軟件的運行界面如圖3所示。
上位機軟件的主要函數(shù)及其功能描述如下:
圖3 上位機軟件運行界面
(1)void CMy1Dlg::OnButtonread(),打開串口,開始讀取數(shù)據(jù)。
(2)void CMy1Dlg::OnButtonstop(),停止讀取,關閉串口,結束數(shù)據(jù)讀取過程。
(3)void CMy1Dlg::ProcessDis(CString s),對 接收數(shù)據(jù)進行處理,并對小數(shù)點位進行設置,以確保滿足測量精度指標。
(4)void CMy1Dlg::OnButtonsave(),選擇保存路徑。
(5)void CMy1Dlg::OnButtonopen(),查看存儲數(shù)據(jù),可以實現(xiàn)測量數(shù)據(jù)的回放,方便后續(xù)的圖像處理。
為了全面評價基于DSP的海洋潮位檢測裝置的檢測效果,對試驗樣機進行了準確性和穩(wěn)定性測試。試驗在實驗室正常溫度和光照(含打開/關閉室內(nèi)燈光)條件下進行,測量潮位高度范圍為0~8 m。
CCD獲取的潮位視頻信息如圖4所示,圖中水平橫線為潮位線,左側(cè)是與水塔相連的透明軟管,右側(cè)是用于標定潮位值的鋼尺。系統(tǒng)運行后,圖3所示的上位機軟件界面中,左側(cè)顯示檢測裝置的實時測量潮位值及測量時刻,右側(cè)顯示潮位曲線圖。
圖4 潮位視頻信息
檢測裝置的準確性可用示值誤差E進行評價。示值誤差越小,表示樣機準確性越高。若標準計量裝置獲取的潮位值(即標準值)為X,樣機示值為x,則示值誤差可由式(8)求得:
試驗選取了 0 m、1 m、2 m…8 m共 9個試驗點位,分為潮位上升和下降兩個過程進行試驗,試驗結果如表1所示。
由試驗結果可以看出,樣機的最大示值誤差絕對值為1.5 mm,優(yōu)于目前海洋潮位計量檢定的準確度標準(±2 mm)。
檢測裝置的穩(wěn)定性可用標準偏差σ進行評價,標準偏差越小,表示樣機示值的樣本值越接近平均值,從而其穩(wěn)定性越高。若樣機示值的樣本值為xi,均值為μ,每個試驗點位進行重復測試的次數(shù)為N,則標準偏差可由式(9)求得:
表1 潮位示值誤差試驗結果
選取2 m、4 m和7 m共3個試驗點位進行試驗,每個點位分別在潮位上升和下降兩個階段各重復檢測10次,即N=10,試驗結果如表2所示。
由試驗結果可以看出,樣機的最大標準偏差為0.54 mm,檢測裝置的穩(wěn)定性良好。
本研究將DSP技術和數(shù)字圖像處理技術應用于海洋計量檢測領域,在實驗室環(huán)境下,潮位檢測裝置可檢測的潮位變化范圍為0~8 m,檢測最大示值誤差為1.5 mm,最大標準偏差為0.54 mm,性能較國內(nèi)現(xiàn)有同類系統(tǒng)有較大幅度提升。研究成果實現(xiàn)了實時、自動、高精度的潮位檢測,對提高我國海洋潮位觀測水平有一定的促進作用,應用前景較為廣泛。但是,本文代碼包含的子函數(shù)和變量較多,函數(shù)間引用關系較為復雜,所以對運行速度和效率造成較大壓力。為進一步提高運行速度和檢測精度,需要對算法和代碼進行優(yōu)化。
表2 潮位檢測穩(wěn)定性試驗結果
[1]歐陽永忠,陸秀平,孫紀章,等.GPS測高技術在無驗潮水深測量中的應用[J].海洋測繪,2005,25(1):6-9.
[2]鄭宗生,周云軒,蔣雪中,等.崇明東灘水邊線信息提取與潮灘 DEM的建立[J].遙感技術與應用,2007,22(1):35-38.
[3]張博,張朝亮,鄧玉芬,等.基于 Hough變換和 Harris檢測的光學驗潮方法研究[J].海洋測繪,2011,31(4):63-66.
[4]賈偉廣,高占科.基于數(shù)字圖像和激光測距技術的海水潮位研究[J].儀器儀表學報,2013,34(3):614-621.
[5]IWAHASHI M,UDOMSIRI S.Water level detection from video with FIR filtering[C].Proceedings 16th International Conference on Computer Communications and Networks,2007:826-831.
[6]Yang Xiwei,Ke Minyi,Chen Yonghui,et al.Water level measuring network design and implementation[C].2010 2nd International Conference on Information Engineering and Computer Science,2010:1-4.
[7]李國燕,侯向丹,顧軍華,等.快速中值濾波算法的改進及其 FPGA 實現(xiàn)[J].電子技術應用,2013,39(2):137-140.
[8]滿增光,葉文華,樓佩煌,等.基于自適應閾值的距離圖像線段特征提取[J].深圳大學學報理工版,2011,28(6):483-488.
[9]劉紫燕,祁佳.實時圖像邊緣檢測形態(tài)學優(yōu)化設計及FPGA實現(xiàn)[J].電子技術應用,2013,39(9):132-134.