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