樊顧飛,高 昂,王芳芳,羅 潔
(南京水利科學研究院,江蘇 南京 210029)
水利水電工程的過水建筑物,壁面會承受不同程度的水壓力,如果某處水壓力超過設計要求,易造成建筑物運行異常,甚至產(chǎn)生安全風險,如二灘水電站水墊塘底板因承受較大的水壓力而發(fā)生破壞,對工程安全產(chǎn)生威脅,也造成了一定的經(jīng)濟損失[1]。因此,在工程設計階段,常采用水工模型試驗的方法研究各過水建筑物邊壁所承受的水壓力。因此,水壓力是水利水電工程模型試驗研究中需要關注的重要指標[2]。
水流對過流建筑物壁面的水壓力受水流條件、邊壁形狀等因素影響,因此在物理模型試驗研究中,如何準確全面地獲取過流建筑物各測點的水壓力一直備受關注。在物模試驗中,水壓力的獲取方式主要有兩種。一種是基于壓力變送器組合而成的自動化采集方法,通過滲壓計將水壓力轉變?yōu)殡娦盘枴T摲椒ù嬖谝韵卤锥耍海?)對于較大尺度的水工模型試驗,試驗用水會挾帶顆粒雜質(zhì)(如泥沙、焊渣、鐵銹等),容易淤堵壓力變送器的采集孔;(2)對于采集數(shù)據(jù)異常的測點,不能即時在試驗中發(fā)現(xiàn)并完善,可能會遺漏關鍵測點數(shù)據(jù);(3)對于大批量測點的采集,壓力變送器使用維護成本較高。另一種是根據(jù)連通器原理將測壓管與測點相連,測壓管內(nèi)部水深能較好地反映該測點的水壓力值。因此,測壓管水深是試驗中需要獲取的重要參數(shù)。目前常采用人工讀取測壓管水深的方法,該方法存在以下弊端:(1)對于大批量測壓管,需要耗費大量的時間與人力、物力,效率較低;(2)對測壓管內(nèi)水深變幅不大的情形適用性好,當測壓管內(nèi)水深變幅較大、變速較快時,該方法適用性極大受限;(3)難以實時、同步獲取各測壓管內(nèi)水深隨時間的變化序列;(4)存在人工讀數(shù)誤差,數(shù)據(jù)準確度不高。人工讀取方法的弊端阻礙了對過流建筑物水壓力參數(shù)的深入挖掘與分析。
基于此,本文將圖像識別技術應用于水力學模型試驗研究,提出了基于圖像識別技術的測壓管群水深智能獲取方法,并建立智能識別系統(tǒng),實現(xiàn)自動、同步獲取多個測壓管水深隨時間的變化過程,可顯著提高模型試驗的效率與數(shù)據(jù)的豐富度。
近年來,隨著圖像采集技術和計算機技術的不斷發(fā)展,自動化、信息化和智能化的圖像識別技術已被廣泛應用于水利實踐中。Gao等[3]將無人機技術和圖像識別技術應用于天然河道水位測量,顯著提高了野外水位短期測量的效率;聶鼎等[4]提出了基于圖像處理技術的水庫水位獲取方法,可避免外界因素對水位計算的干擾,與人工檢測精度近似,但不適用于夜晚及壩坡不平整的小型水庫;李翊等[5]提出了基于圖像處理技術和人工神經(jīng)網(wǎng)絡的水位測量方法,克服了水尺傾斜及水面干擾帶來的不利影響,該方法可有效識別水位,但也存在一定的誤識別;鮑江等[6]運用Haar對視頻圖像進行分段處理,計算出水位線位置,但受光強影響明顯;徐興等[7]設計了基于圖像處理技術的水位識別系統(tǒng),利用裁剪、Cr色度分量提取、二值化等圖像處理方法識別水中球形浮標的位置,檢測水位高度,測量精度約0.22 cm;王偉等[8]利用ARM與圖像處理技術對水位線與河岸線進行提取并計算水位線高度,實現(xiàn)二值化與直線提取自動化,滿足了水位測站無人值守、自動測量的要求;Takagi等[9]運用多種算法檢測標尺上的折點來檢測水位線,但算法受標尺上污點影響較大。上述研究對基于圖像識別技術的水位測量方法應用進行了有益探索,論證了圖像識別技術在水位識別中的可行性,但目前還未見對多個測壓管水位同步測量的方法和系統(tǒng)。
基于此,本文將圖像識別技術應用于水工模型試驗中測壓管群水位的同步測量,提出了基于圖像識別技術的測壓管群水深智能獲取方法,具體研究思路為:(1)測壓管內(nèi)放置可隨水面運動的浮球;(2)攝像機側視拍攝多個測壓管內(nèi)浮球隨水面的升降過程;(3)將拍攝的影像資料導入計算機,由軟件識別系統(tǒng)自動同步獲取多個測壓管內(nèi)水深變化過程。系統(tǒng)軟件以 Win10 為操作平臺,以VC++2017結合OpenCV[10]為開發(fā)工具,通過圖像識別技術獲取多個浮球運動過程,得到測壓管群水深實時變化過程。
清晰的水位變化圖像是后續(xù)圖像處理和水深統(tǒng)計的基礎,因此圖像的采集必須能獲得清晰可靠的水深變化影像。為使多個測壓管中浮球運動過程采集更加精準,需確保各測壓管平行布置于測壓排之上,各測壓管垂直布置并位于同一立面;為有效識別浮球圖像,浮球與測壓排的顏色對比度需要大于預定值,多次對比分析后,將測壓排設置為白色,浮球采用與測壓排對比度高的紅色。
為提高計算機對圖像數(shù)據(jù)的計算效率,將彩色圖像轉化為灰度圖像,灰度圖像仍然可以反映圖像的色度和亮度等級的分布及特征。將每幀圖像轉化為灰度圖,可采用分量法進行圖像灰度處理。
采用分量法獲取灰度圖的轉換公式如下:
式中:fg(x,y)表 示原始RGB通道上色彩圖轉換后的灰度圖;fR(x,y)、fG(x,y)、fB(x,y)分別表示紅、綠、藍3個通道的分量圖。
專用程序采用分量法將RGB三色的數(shù)值矩陣轉化為灰度圖的數(shù)值矩陣,通過對比觀察,選取差異最明顯的綠色通道灰度圖的數(shù)值矩陣。某一幀原始RGB圖見圖1(a),灰度化處理后如圖1(b)所示。
為了將反映測壓管水深數(shù)據(jù)的紅色浮球與背景分割開來,對灰度圖的數(shù)值矩陣進行二值化操作。由于受光照不均等因素的影響,圖片不同區(qū)域亮度不同,且不同時刻拍攝的圖像整體灰度值也會有差異。因此很難通過某一個或某幾個固定的閾值來實現(xiàn)圖像分割。本系統(tǒng)采用自適應閾值方法,通過計算像素點周圍一定區(qū)域的加權平均值,然后減去一個常數(shù)來得到自適應閾值。通過調(diào)試可得到分割后的二值化圖,見圖1(c),圖中清晰可見8個浮球的黑色區(qū)域(灰度值為0),背景為白色(灰度值為255)。此外,圖1(c)中左側邊緣處還可以看到兩處干擾(紅色箭頭處,實際為安裝螺絲),可能會被誤判為浮球,需進一步處理。特別地,為確保二值化過程的順利,需要注意提高目標點與背景色的對比強度,如本試驗目標點采用紅色小球,背景采用白色。
圖1 圖像識別過程Fig. 1 Image recognition process
為消除圖像左側邊緣處的兩處干擾,對浮球輪廓的裂隙進行融合,從而更準確地獲得浮球輪廓。對二值化圖的數(shù)值矩陣進行開操作,開操作[11]主要通過二值形態(tài)學中的腐蝕和膨脹操作相結合完成。腐蝕操作通過把定義的結構元原點依次在圖像上按像素移動實現(xiàn),任一位置的腐蝕結果基本與結構元中心重合。通過腐蝕操作可以進行降噪處理,表達式如下:
式中:f為待處理的圖像;b為結構元;x、y為任意坐標位置像素。
膨脹操作則與腐蝕操作相反,通過把定義的結構元原點依次在圖像上按像素移動,使目標圖像相應擴張,膨脹操作可以填補目標區(qū)域中某些空洞及消除包含在目標區(qū)域中的小顆粒噪聲,表達式如下:
開操作的表達式如下:
式中:f°b代表使用結構元b對圖像f進行開操作處理。
通過多參數(shù)比選測試,選擇了合適的結構元大小和開操作的次數(shù),得到消除干擾后的二值化圖和開操作圖,見圖1(c)、(d)。
根據(jù)二值化圖,采用findContours函數(shù)識別各浮球輪廓(見圖1(e)),進一步獲取各浮球輪廓的質(zhì)心坐標,計算浮球質(zhì)心豎向坐標與測壓排基準豎向坐標的差,得到水深的像素值hp,將水深像素值乘以標定系數(shù)r,得到實際水深值ht。程序實時水深與統(tǒng)計的歷史最大、最小水深見圖1(f),圖中“2”為當前幀數(shù)、“993”為總幀數(shù)、A為各測壓管最大水深、B為各測壓管實時水深、C為各測壓管最小水深。各測壓管水深H隨時間T變化過程見圖2。
圖2 各測壓管水深隨時間變化Fig. 2 Water depth variation of pressure measuring tubes along time
為驗證該方法的有效性,將其應用于某水利樞紐水工模型試驗研究。該水利樞紐工程為拱壩,泄洪消能形式為3表孔4深孔的挑流消能,工程對水墊塘的底板壓力有較高要求,對模型試驗過程中水墊塘底板多個測壓管水深進行了智能獲取。模型的水墊塘底部布置多個測壓點,測壓點通過輸水管與測壓管相連,測壓管垂直布置于測壓排,浮球漂浮于各測壓管內(nèi)水面處。測壓管的材質(zhì)為透明玻璃圓管,高度為2 m,內(nèi)徑為1.2 cm;測壓排為純白色背景,面積為2 m(高)×3 m(寬);浮球為紅色高密度泡沫,直徑為0.6 cm;攝像機采用索尼FDR-AX45彩色攝像機。
步驟1:攝像機標定,獲取標定系數(shù)r(采集區(qū)實際長度除以像素長度),此處為0.001 85(實際高度為2 m,對應像素長度為1 080);得到測壓排基準線豎向像素坐標為122。
步驟2:攝像機拍攝浮球運動視頻;視頻像素為1 080×960(寬×高),幀率為30 Hz,拍攝時間為33.1 s,共獲得993幀圖像。
步驟3:拍攝結束后,將攝像機拍攝的視頻載入計算機。
步驟4:圖像識別模塊采用圖像識別算法,依次對視頻內(nèi)每幀圖片中多個浮球的輪廓進行識別,獲取浮球中心點像素豎向坐標,減去測壓排像素縱坐標得到水深的像素值,并根據(jù)標定系數(shù)r計算實際水深。
步驟5:計算機保存識別和計算結果。
為了驗證該方法的有效性,同步采用人工測量的方法觀察各測壓管水深變化。人工測量方法通過在2 min的試驗時間中不斷追蹤測壓管群的水位特征高度,獲取各測壓管的最大水深和最小水深。圖像識別方法和人工測量方法得到的水深特征值見表1。分析發(fā)現(xiàn):(1)圖像識別的結果與人工測量結果相近,誤差在±1.5%以內(nèi);(2)人工測量結果的平均值是直接由最大值與最小值取平均得出,而圖像識別結果的平均值是根據(jù)測壓管水深隨時間變化過程計算得出的平均值,更能代表水深的實際平均值。這說明提出的基于圖像識別技術的測壓管群水深智能獲取方法有效可行。
表1 水深特征值對照Tab. 1 Comparison of water depth characteristic values
(1)本文提出了基于圖像識別技術的測壓管群水深智能獲取方法及其水深獲取系統(tǒng)。系統(tǒng)由圖像采集系統(tǒng)和軟件識別系統(tǒng)組成,可同時獲取多個測壓管內(nèi)水深隨時間的變化過程,迅速得出同一時刻內(nèi)預定水域的水面變化狀態(tài)。
(2)軟件識別系統(tǒng)針對多測壓管群水面變化特點,采用灰度化、二值化及開操作等對圖像進行預處理,顯著提高了浮標的準確識別效率。
(3)與傳統(tǒng)人工測量方法相比,該方法自動化程度高,人工成本低,可有效避免人為誤差,數(shù)據(jù)更加可信;能統(tǒng)計出水深的最大值、最小值等特征參數(shù)、水深變化過程,數(shù)據(jù)更加全面,且特征值的統(tǒng)計結果與人工統(tǒng)計結果誤差在±1.5%以內(nèi)。因而,研究提出的測壓管群水深智能獲取方法可應用于實際工程。