摘要:
圖像法在流速測量領域越發重要,提出了基于幀間特征點匹配的流速測量模型,在試驗模型上進行了驗證,并在黃河濮陽范縣段進行了應用。對加速穩健特征(Speeded Up Robust Features,SURF)算法與暴力匹配(Brute Force,BF)算法進行改進,根據圖像中的輪廓信息對河道區域進行分割,使得SURF算法的識別區域與識別結果更精準,識別速度更快。然后,根據特征點間的歐氏距離篩選特征點,計算出特征點的像素位移,根據幀速率計算得到特征點的像素速度并將其轉化為實際速度。結果表明:與多普勒流速儀測量結果進行對比,所提算法測量結果的平均絕對誤差為0.56 cm/s,平均相對誤差為5.7%;與LK光流法相比,分別提高了0.3 cm/s與4.1%。該算法應用于黃河濮陽范縣段的分析結果表明:平均相對誤差為4.24%,比LK光流法提高了4.15%。基于幀間特征點匹配的流速測量模型在保證測量精度的情況下,能兼顧流速測量的實時性與便捷性,滿足對河流流速實時、準確、便捷的測量要求。
關鍵詞:
流速測量; 智能檢測; 圖像法; 幀間特征點圖像處理
中圖法分類號:TB937;TN911.73
文獻標志碼:A
DOI:10.15974/j.cnki.slsdkb.2025.03.019
文章編號:1006-0081(2025)03-0116-08
收稿日期:
2024-04-17
基金項目:
河南省重大科技專項項目(201110210300);鄭州市重大科技創新專項項目(2019CXZX0050);河南省高等學校重點科研項目計劃(21A510007)
作者簡介:
劉明堂,男,教授,博士,主要研究方向為水利信息技術。E-mail:liumt99@163.com
引用格式:
劉明堂,張浩.基于幀間特征點匹配的流速測量模型研究
[J].水利水電快報,2025,46(3):116-123.
0" 引" 言
河流流速信息是水利工程建設、流域治理開發、預防旱澇災害,以及水資源保護利用等方面的重要決策依據[1-2]。隨著近年來圖像處理技術的不斷發展,圖像法被越來越多地應用在流速測量中[3]。趙小楠[4]提出一種基于尺度與旋轉不變特性的金字塔分層LK光流算法計算運動速度場,然后將河流圖像沿測流斷面垂直均勻分段,并根據每一段的權重比值進行流速的計算測量。凃洋、張艷、邰肇悅等[5-7]同樣使用光流法進行流速測量,但加入了示蹤粒子,利用PyrLK法計算示蹤粒子質心的運動速度,以此作為河流流速。Yeh等[8]對大尺度粒子圖像法(Large-Scale Particle Image Velocimetry,LSPIV)進行改進,將圖像劃分為不同窗口,通過計算每個窗口互相關系數來自適應調整檢測窗口的大小,以實時自動尋找充足且可見性好的示蹤粒子檢測區域。張絲葦[9]在流速-面積法(Vleocity Area Method,VAM)的基礎上,結合LSPIV與立體視覺技術,在都江堰白沙河站點搭建了測量系統。王磊等[10]利用快速傅里葉變換對粒子圖像法中的互相關算法進行改進,提高了流速測量的分辨率,結合全局標定法對應圖像空間尺寸與實際空間尺寸,將算法應用在了河渠流速測算中。其他基于圖像法的測流方法還有很多,例如鄭月光[11]在浮標法的基礎上,利用無人機豎直攝影來跟蹤浮標的航跡與時間,從而計算流速。周如月[12]使用RAFT無監督學習網絡來估計光流并計算流速。金誠等[13]利用CFD斷面模擬數據訓練SaDE-ELM神經網絡以得到明渠的斷面流速場,并在都江堰人民渠主干渠應用。王萬良等[14]則直接使用CBEGAN生成對抗網絡來識別不同流速時的水面波紋特征,從而估計圖像的流速區間。
以上方法各有其優缺點與適用場景,本文在時空圖像流速測量的基礎上,搭建河流模型并提出一種基于幀間特征點匹配的流速測量方法,利用單目相機獲取河流視頻流并計算流速。首先對加速穩健特征(Speeded Up Robust Features,SURF)算法與暴力匹配(Brute Force,BF)算法進行了改進,將河道區域從河流圖像中分割出來,以減少無關特征點對識別精度與識別速度的影響。其次,對BF匹配結果進行篩選,并按照歐氏距離升序排序,取前20組點計算其前后幀位移差,最后結合幀速率計算流速。該算法測量結果準確、實時性高、操作便捷,可對水文信息獲取等工作起到幫助作用。
1" 測量原理與試驗過程
1.1" 測量原理
在求取流速的過程中,所求物理量為河流表面的某點位移和位移時間。在視頻被提取為幀圖像后,選取兩幀I0,It,視頻幀速率為已知信息,則兩幅圖像時間間隔T由式(1)可得
T=1f·t(1)
式中: f為視頻流幀速率,即視頻每秒幀數;t為幀間隔數,t的取值會對算法測量結果造成不同程度影響,當t取值過小時,河流表面的湍流或部分特征點的無規則運動所帶來的誤差將被放大;當t取值過大時,某些存在時間較短的特征點的運動會被忽略。
隨后進行特征點匹配,并求取兩幀中同一特征點的位移,見圖1。圖中A,B為I0幀中識別到的特征點,A′,B′為It幀識別到的特征點,取兩點的橫向位移Δx′,Δx作為參與流速計算的值。為減小誤差,保證識別的準確度,在進行特征點匹配時,按照匹配結果降序,選取前20組特征點求取其平均數作為最終位移量。此時流速的平均瞬時像素速率V為
V=∑20i=1ΔxiT20(2)
式中:xi為特征點x在第i幀圖像中的位置。
1.2" 模型試驗過程
為設計算法并驗證其改進性能,本文以河道環境為基礎,以試驗室內模擬河道為對象,設計了基于單目視覺的河流流速測量模型,如圖2所示。
使用Vectrino小威龍三維點式流速儀的測量結果作為算法測量結果的對比依據。首先關閉進水口并向儲水箱注水,隨后將相機與流速儀連接至電腦,待流速儀配置完成并開始采集數據時,打開進水口與相機,等待儲水箱流空后停止數據采集和視頻錄制,將本次數據與視頻歸為一組。本文在不同流速下共采集3組數據,將流速儀數據導出為包含時間戳信息的.adv文件,并在視頻流中截取對應時間戳的視頻。
2" 研究方法
2.1" SURF算法
SURF算法是一種改進型的圖像特征檢測和描述算法,廣泛應用于物體識別、圖像拼接、圖像配準等領域。在保持SIFT(Scale-Invariant Feature Transform)算法尺度不變性和旋轉不變性的基礎上,得益于使用Haar小波特征和積分圖,SURF的計算速度相比于SIFT有了顯著提高。SURF識別特征點的過程可以分為構造Hessian矩陣、特征點過濾、特征點主方向計算與生成特征描述子[15-17]。
2.1.1" 構造Hessian矩陣
SURF算法使用Hessian矩陣的行列式值來構造尺度金字塔。Hessian矩陣為多元函數的二階偏導,對于圖像I(x,y),其Hessian矩陣Hx,y為
Hx,y=2f2fx2xy2fxy2fy2(3)
隨后,對Hx,y利用尺度為σ的高斯尺度空間Lx,y,σ進行模糊:
Lx,y,σ=Ix,yGx,y,σ(4)
Gx,y,σ=12πσ2e-x-m22+y-n222σ2(5)
式中:為卷積運算;x,y為像素位置;m,n表示高斯模板的維度;σ為尺度空間因子,σ值越小則圖像被平滑越少,圖像細節越多。在進行高斯模糊時,引入積分圖來減小計算量,在需要用到某個區域像素和時直接調用,避免了重復計算。這種方式將圖像與高斯二階微分模板的濾波轉化為對積分圖的加減運算,如圖3所示。
圖3中矩形ABCD的像素和為
IABCD=a-b-c+d(6)
經過高斯模板模糊后的Hessian矩陣為
Hx,y,σ=Lxxx,y,σLxyx,y,σLxyx,y,σLyyx,y,σ(7)
式中:二階導Lxx,Lxy,Lyy]為對一階導Lx=Lx+1,y-L(x,y)的再次求導:
Lxx=Lx+1,y+Lx-1,y-2Lx,y(8)
則Hessian行列式的決定值DetH為
DetH=LxxLyy-ωLxy2(9)
式中:ω為補償系數,經驗值為0.9。此時,SURF所搭建的金字塔中每層圖像均由DetH給出。
2.1.2" 特征點過濾
SURF算法會將每個像素點都與其三維空間里鄰域空間中的點進行比較,如果該點像素值為其鄰域空間中的極值,則作為初步特征點留存。同時,利用三維線性插值得到亞像素級的特征點,并去掉小于一定閾值的點,如圖4所示。
以特征點為中心,張角為π3的扇形窗口,以角度θ進行旋轉并計算Haar小波響應值dx,dy,疊加后得到矢量(mω,θω):
mω=∑ωdx+∑ωdy(10)
θω=arctan∑ωdy∑ωdx(11)
Haar響應值的累加值θ所對應的方向θωmaxmω即為特征點的主方向,當存在大于主方向峰值80%以上的峰值時,則認為此峰值對應的方向為特征點的輔助方向。Haar小波的模板以及主方向計算如圖5所示。
2.1.3" 特征描述子
SURF算法在生成特征點的描述子時,需要計算圖像的Haar小波響應,但這里計算的是矩形區域,而不是扇形區域,求解如圖6所示。
以被識別到的特征點為中心,在特征點主方向上20 s×20 s的鄰域內,使用尺寸為2 s的Haar小波模板對每個大小為5 s×5 s的子窗口計算響應值。隨后,使用尺寸為3.3 s的高斯核函數對dx,dy進行加權計算并統計,得到每個子窗口的向量Vi:
Vi=∑dx,∑dx,∑dy,∑dy(12)
由于有4×4個子窗口,故最終每個特征點都有4×4×4=64維的描述子。引入Haar小波響應值的絕對值∑dx,∑dy非常重要,4種分量的響應如圖7所示。
對于SURF算法的描述子,可以將其擴展到128維。在求解圖像子窗口的Haar小波響應值的統計和時,對于dx≥0和dxlt;0,dy≥0和dylt;0的情況加以區分,同時在求響應值絕對值時也區分。這樣,每個子窗口就產生了8個梯度統計值,從而其描述子的向量Vi也增加到了8個維度、特征矢量維度增加到8×4×4=128。
2.2" BF算法
BF算法是一種模式匹配算法,其匹配思想是將目標串的每一個字符都與模式串的所有字符匹配,從模式串的第一個字符開始向下匹配,當發生失配時,模式串首字符從目標串的第二個字符開始,見圖8。
假設目標串長度為m,模式串長度為n,則最理想的情況為一次匹配成功,最壞的情況是最后一次匹配成功,即匹配m-n+1次。BF算法匹配的時間復雜度為O(mn)。
2.3" 評價指標
本文所涉及的流速測量結果可用平均絕對誤差、平均相對誤差[18]進行評價。絕對誤差是指測量值與真實值之間差值的絕對值,能夠很好地反映誤差的實際情況,而不會出現誤差相互抵消的問題,適用于時間序列中的測量誤差。相對誤差是指絕對誤差與真實值比的百分數,更能反映測量結果的可信程度,可用于不同量綱的測量結果誤差分析。對于一個測量結果序列M,其平均絕對誤差MAE和平均相對誤差MRE為
MAE=∑ni=1Mi-Tin(13)
MRE=∑ni=1Mi-TinTi(14)
式中:Mi為第i個測量結果,Ti為Mi對應的真實值。
3" 結果分析與討論
3.1" 特征點的識別
以某一幀圖像為例,表1給出了部分特征點描述子的主要屬性值。
將識別到的特征點繪制在原圖像中,見圖9。從圖中可以看出,原始圖像中識別到了河道外大量無關特征點,這些無關特征點狀態穩定,位移極小,對后續流速的計算影響很大,因此考慮剔除。
3.2" 河道區域分割
針對無關特征點過多的問題,對河道模型圖像進行分割,使河道外圖像造成的影響降低到最小。使用OTSU法對圖像進行二值化,二值化后的圖像見圖10。
從圖中可以看出,二值化后的圖像雖然剔除了大部分無關圖像,但還有殘留,且邊緣毛刺明顯。因此,需要利用圖像輪廓操作來使河道平滑,并繼續剔除無關部分,對二值化后的圖像進行平滑和去除小區域操作。
得到了河道的輪廓區域后,利用該輪廓來限制SURF特征點識別時的識別范圍。這里采用所得輪廓的最大外接矩形而不是輪廓掩膜來作為特征點識別的限制范圍,原因是特征點識別的限制范圍在前后兩幀圖像中應當相同,而掩膜圖像要小于原圖像中的河道范圍,利用掩膜作為限制范圍時,前幀的特征點可能在后幀中偏移出了掩膜范圍,造成特征點識別效果降低。由于最大外接矩形的范圍要大于原圖像中河道的范圍,因此河道中的特征點無論怎樣運動,都不會被排除在SURF算法的識別范圍外。在標記出河道輪廓的最大外接矩形后,對區域進行特征點識別。在限制了SURF算法的識別區域之后,特征點的數量銳減到了516個,且大多無關的特征點都被剔除,余下的特征點幾乎都在河道中。
3.3" 特征點的匹配與篩選
特征點匹配的目標串與模式串的維度相同,均為64維,對于其特征描述子中的坐標點、主方向以及Haar小波響應值,BF算法的匹配策略并不是單純比較值是否相等。
SURF算法識別特征點一般選擇考察其坐標的歐氏距離,隨后將歐氏距離最近的點列為相似點,主方向與小波響應值的匹配策略與此相同。在識別兩幅圖像時,第一幅圖像的特征點集合為模式串,記為p,第二幅圖像中的特征點集合為目標串,記為P,對于一個模式串特征點pi,有以下公式確定其索引i:
i1=imin[(X-xi)2+(Y-yi)2](15)
i2=imin(φ-θi)(16)
i3=imin(Ω-ωi)(17)
式中:X,Y為目標串中特征點坐標;(xi,yi)為模式串中索引為i的特征點坐標;φ為目標串中特征點主方向;θi為模式串中特征點pi主方向;Ω為目標串中特征點小波響應值;ωi為模式串中特征點小波響應值。
式(15)基于坐標的歐氏距離來確定索引,通過比較模式串中特征點pi的坐標(xi,yi)與目標串中某點坐標(X,Y)的歐氏距離,i1確定了模式串中某點與目標串中某點坐標距離最近的特征點的索引。
式(16)基于主方向匹配來確定索引。通過計算(φ-θi)并取使得差值最小的i作為索引,i2確定了模式串中與目標串中某點主方向最接近的特征點的索引。
式(17)基于Haar小波響應值進行匹配,Ω是目標串中某點的Haar小波響應值,ωi是模式串中特征點pi的Haar小波響應值。通過計算Ω-ωi并取使得差值最小的i作為索引。i3確定了模式串中與目標串中某點Haar小波響應值最接近的特征點的索引。
這種匹配方式會造成一對多或者多對一的情況出現,為了避免這種情況,BF算法通常會將目標串與模式串的匹配位置調換進行反選,以減小誤匹配。對模型河道識別到的特征點直接進行BF匹配的結果見圖11,每一組特征點的歐式距離見圖12。
從圖11中可以看到,特征點的匹配結果十分混亂,對于那些匹配結果不準確,無關特征點的匹配結果應當剔除。因此對匹配過程做出改進,改進思路如下:首先對于每一組匹配結果,計算出其歐氏距離并記錄,然后對于所有記錄到的結果,以中位數為閾值,高于該閾值的匹配結果被判定為無效匹配結果;最后,基于每一組點的歐式距離,對匹配結果進行升序排序,并取前20組距離最小的特征點參與后續計算位移的過程。在改進思路確定后,將其應用到算法中,此時圖像特征點的匹配結果分步驟見圖13。
從圖中可以看出,匹配到的每一組特征點按照兩點兩幀間的歐氏距離進行篩選之后,已濾掉了匹配效果極差的點組,余下的每一組特征點按照匹配策略進行升序排序,篩選出前20組特征點組后,可滿足進行特征點位移的計算條件,20組的歐氏距離見圖14。
3.4" 流速計算
用每一組特征點橫坐標的增量作為位移,根據圖中水尺字符E的像素大小與實際大小得到映射關系,實際流速為
V=2.972×55Vpixel(18)
式中:V為實際流速,cm/s;2.972×55為像素尺寸到實際尺寸的映射關系;Vpixel為像素流速,像素/s。將這20組特征點的位移標注在特征點旁,并計算平均像素流速與平均實際流速。
將本文模型、LK光流法的測量結果與流速儀數據進行對比,測量結果絕對誤差與相對誤差見圖15。由圖中可以看出,本文模型識別結果與流速儀測量結果趨勢基本相同,絕對誤差相差不大。
在不同的流速下,另取2組圖像進行上述相同的操作,剔除識別結果為0的數據后,對余下的數據進行誤差分析,3組數據的誤差見表2。對比流速儀測量結果,本文算法最小平均絕對誤差為0.56 cm/s,最小平均相對誤差為5.7%;相同的試驗條件下,LK光流法的最小平均絕對誤差為0.86 cm/s,最小平均相對誤差為9.8%。
4" 算法應用
為驗證本文模型實用性,進行考察選址后,最終應用于黃河濮陽范縣段。所用相機為海康DS-2DC4C122DZ-DE(12xF1)球機,采用太陽能供電,采集的最大圖像尺寸為1 920像素×1 080像素,主碼流傳輸的情況下最高碼流幀率為30 fps,支持開放型網絡接口與第三方管理平臺傳輸視頻流。
以PyCharm作為模型部署平臺,利用海康威視螢石云平臺獲取視頻流并導入算法,視頻傳輸主碼流選擇rtmp流媒體協議,視頻編碼采用上限分辨率更高的H.265類型。采用筆記本處理數據,CPU為IntelCore-i7-8250U,基準頻率1.8 GHz,最大睿頻4.0 GHz,內存為雙通道DDR4-4G×2,時鐘頻率為2 133 MHz,硬盤為500 G,操作系統為Windows10,能夠完全滿足算法所需算力。由于供電手段有限,這里使用旋槳式流速儀作為比對標準值,其型號為LS-1206B。
隨后將模型部署,對同一時段內的回傳視頻,選擇其中隨機20幀圖像,分別用本文模型與LK光流法進行檢測,并將旋槳式流速儀結果作為參考值進行對比,結果與誤差如圖16所示,兩種算法的誤差見表3。從表中可以看出,本文算法平均絕對誤差為3.04 cm/s,平均相對誤差為4.24%,LK光流法的平均絕對誤差為6.46 cm/s,平均相對誤差為8.39%。
5" 結論與建議
5.1" 結" 論
本文在時空圖像流速測量法的基礎上,提出了基于幀間特征點匹配的流速測量模型,對SURF算法與BF算法進行了改進。首先搭建起了河道模型,闡述了流速測量的原理,隨后將圖像中的河道區域分割,使用歐氏距離篩選特征點,最后將其部署在黃河范縣段,應用結果表明其所測結果相對準確,計算速度快,能夠滿足實際應用的需要,主要結論如下。
(1) 對河道區域的分割能夠有效提高SURF特征點識別的精度與速度,經BF算法匹配特征點后,利用其歐氏距離可以有效篩選特征點,提高檢測精度。
(2) 在黃河范縣段的應用顯示,基于幀間特征點匹配的流速測量模型測量結果相對誤差較小,平均絕對誤差3.04 cm/s,平均相對誤差4.24%,模型性能穩定,能夠滿足流速測量的需要。
5.2" 建" 議
(1) 本文模型對視頻流的質量有一定要求,為了保證模型的識別效果,分辨率不能過低。在夜間或者惡劣天氣下識別效果可能不理想,需要根據情況加裝補光設備。
(2) 本文對像素尺寸與實際尺寸映射關系的計算依賴于水尺,倘若在獲取的圖像中沒有水尺或水尺難以識別,還需要根據實際情況尋找另外的參照物,這影響了模型的可移植性,后續可以對雙目相機下的流速測量方案進行研究驗證。
(3) 為保證模型的流速測驗精度,應選擇流勢平緩、流速不超過1.5m/s左右的河段安裝相機。相機需牢牢固定于安裝平臺上,以減小其因外力抖動對測量結果的影響。
參考文獻:
[1]" 蔣四淮,吳瓊,賀志崗,等.2022年低估水期長江中下游水位流量關系外延研究[J].人民長江,2023,54(2):49-54.
[2]" 謝永剛.新中國70年治水的成就、方針、策略演變及未來取向[J].當代經濟研究,2019(9):14-23.
[3]" 楊聃,邵廣俊,胡偉飛,等.基于圖像的河流表面測速研究綜述[J].浙江大學學報(工學版),2021,55(9):1752-1763.
[4]" 趙小楠.基于光流計算的河流表面流速估計研究[D].西安:西安電子科技大學,2021.
[5]" 凃洋,劉春晶,曹文洪,等.基于OpenCV實現金字塔光流法對表面流場的計算[J].中國水利水電科學研究院學報,2016,14(3):224-228.
[6]" 張艷,史海靜,郭明航,等.基于熱紅外成像的坡面薄層水流流速測量方法[J].農業工程學報,2021,37(21):108-115.
[7]" 邰肇悅.非接觸測流法在高海拔地區徑流量測量中的應用[J].水利水電快報,2017,38(5):17-18.
[8]" YEH M T,CHUNG Y N,HUANG Y X,et al.Applying adaptive LS-PIV with dynamically adjusting detection region approach on the surface velocity measurement of river flow[J].Computers and Electrical Engineering,2019,74:466-482.
[9]" 張絲葦.基于大尺度粒子圖像測速技術的山區河道流量測驗研究[D].杭州:浙江大學,2019.
[10]" 王磊,朱威,楊慧慧.基于表面波紋特征的PIV明渠表面流速測量方法研究[J].電子器件,2023,46(5):1455-1460.
[11]" 鄭月光.基于無人機豎直攝影視頻的高洪測流應用分析[J].水利水電快報,2022,43(增2):5-7.
[12]" 周如月.基于無監督學習的光流估計及其在水速測量的應用[D].武漢:華中科技大學,2021.
[13]" 金誠,李博,楊嵐斐,等.基于機器學習-CFD的明渠流速場預測模型[J].人民長江,2023,54(9):166-174.
[14]" 王萬良,楊勝蘭,趙燕偉,等.基于條件邊界平衡生成對抗網絡的河流表面流速估測[J].浙江大學學報(工學版),2019,53(11):2118-2128.
[15]" 陳慧中,陳永光,景寧,等.基于SURF的月球影像ROI檢測[J].紅外與毫米波學報,2011,30(6):561-565,570.
[16]" 李新科,高潮,郭永彩,等.利用改進的SIFT算法檢測橋梁拉索表面缺陷[J].武漢大學學報(信息科學版),2015,40(1):71-76.
[17]" 唐穎復,王忠靜,張子雄.基于改進SIFT和SURF算法的沙丘圖像配準[J].清華大學學報(自然科學版),2021,61(2):161-169.
[18]" 吳喜之.統計學:從數據到結論(第四版)[J].中國統計,2013(6):2.
(
編輯:張" 爽
)
Research on flow velocity measurement model based on inter-frame feature point matching
LIU Mingtang,ZHANG Hao
(Faculty of Electronic Engineering,North China University of Water Resources and Hydropower,Zhengzhou 450045,China)
Abstract: The image method plays an increasingly important role in the field of flow velocity measurement.We proposed a flow velocity measurement algorithm based on inter frame feature point matching,which had been validated on experimental models and applied in the Fanxian section of Yellow River.We also improved SURF (Speeded Up Robust Features) and BF (Brute Force) by segmenting the river area based on the contour information in the image,making SURF′s recognition area and results more accurate and faster.Then,feature points were filtered based on the Euclidean distance between them,and the pixel displacement of the feature points was calculated.The pixel velocity of the feature points was calculated based on the frame rate and converted into the actual velocity.The result showed that the average absolute error of the algorithm measurement results in this paper was 0.56 cm/s,and the average relative error is 5.7% compared with the measurement results of the Doppler current meter.Compared with the LK optical flow method,it had increased by 0.3 cm/s and 4.1%,respectively.The algorithm was applied to the Fanxian section of Yellow River in Puyang,with an average relative error of 4.24%,which was 4.15% higher than the optical flow method.The flow velocity measurement algorithm based on inter frame feature point matching can balance the real-time and convenience of flow velocity measurement while ensuring measurement accuracy.It can basically meet the real-time,accurate and convenient measurement requirements for river flow velocity in the context of water conservancy digitization and informatization.
Key words:
velocity measurement; intelligent detection; image processing method;inter-frame feature point image processing