劉炳浩,柳權奎
(1.湖南工業(yè)大學 土木工程學院,湖南 株洲 412007;2.東義大學 土木工程系,韓國 釜山 47340)
天然河流的水文檢測是洪水及地質災害預防措施的重要組成部分,水文基礎研究和水利工程應用均需要河流實測資料作為基礎支撐[1]。在河流水文檢測工作中,流速和流量是兩個重要的要素。其中,流速是推求流量的必要參數,流量是水文測量和水資源管理中最常用的量化指標,精確的流量預測對洪水預測和水文過程研究等均具有十分重要的意義。
現有的流速測量設備大體上可以分為接觸式和非接觸式兩類。接觸式流速計包括螺旋槳流速儀和多普勒聲學流速儀等,這類流速計需要接觸水體以測量流速;非接觸式流速計包括雷達流速儀、超聲波流速儀等,其無需接觸水體即可完成流速測量。其中,基于影像分析的影像流速儀是一種較為先進的流速測量手段,在洪水等難以接觸水面的條件下,也能迅速準確地獲得整個河流表面的流速分布。與其他非接觸式測定法相比,影像流速測定具有測試精確度高、速度快、成本低、安全性高等特點[2]。在誕生后的20 多年里,影像測速使用的設備從最初的固定攝像頭向便攜式攝像機、熱成像攝像機、智能手機等拓展,發(fā)生了非常多樣的變化。
近年來,隨著無人機技術,特別是小型低空無人機技術的快速發(fā)展,通過無人機獲取地面影像的方法被廣泛應用于應急救援、地形測定、林業(yè)管理、農業(yè)災害檢測、海洋污染檢測、輸電線路巡查等領域。無人機攝影是一種有效、便捷的影像收集手段,由于其可以獲取垂直向下的拍攝角度,同時拍攝者可以遠離危險和難以接近的區(qū)域遙控拍攝,因此其在水文測量方面也具有明顯的優(yōu)勢。
隨著河流表面圖像測速技術(river surface image velocimetry,SIV)的發(fā)展,各種SIV 技術的載體也一起被開發(fā)出來,如固定式SIV 流速計、移動式SIV流速計、紅外線SIV 流速計、手機SIV 流速計等。然而,地面上攝像機拍攝的影像有一個共同的問題,其近、遠端的分辨率相差較大,這是測量誤差發(fā)生的主要原因之一。為了解決這一問題,K.Takehara等[3]使用直徑15 cm 的煎餅作為示蹤物,乘坐直升機對河面進行了現場拍攝和分析,獲取的流速測量結果(1.1 m/s)與I.Fujita 等[4]安裝在地面上的攝像機獲取的結果(1.3 m/s)較為接近,二者對地面標定點的定位標準誤差為12.8 cm,由此可見測定的結果比較準確,但是成本較高。相對于直升飛機,無人機拍攝成本更低,且更為便捷。Yu K.等[5-6]開發(fā)了一種基于無人機影像的表面圖像測速儀,該測速儀添加了遠紅外熱成像攝像頭,可以兼顧夜間使用。F.Tauro 等[7-9]評估了四旋翼無人機的懸停能力,提出了保持相機垂直于水面以避免獲取GRP 的設想,并于2016年在意大利阿爾卑斯山脈的一條山間溪流的兩個不同地點進行了無人機和固定LSPIV(largescale particle image velocimeter)裝置的表面流速檢測對比試驗,試驗結果表明:與傳統(tǒng)的LSPIV 實現相比,來自航空平臺的測量對示蹤劑的移動更敏感,結果更接近準確值。同時,無人機穩(wěn)定懸停的穩(wěn)定性對檢測結果影響較大,高效率的圖像分析手段、無人機高精度的定位能力有可能降低對無人機懸停能力的需求。Q.W.Lewis 等[10-12]分別用無人機和固定攝像機采集視頻,利用LSPIV 在美國伊利諾斯州的10 個不同的河流位置進行了流量測量,將測量結果與聲學多普勒流速計、螺旋槳流速計和已建立的流速計測量的參考值進行了比較,并評估了基于小型無人機系統(tǒng)(small unmanned aerial systems,sUAS)的LSPIV 測量二維平均表面速度以及從連續(xù)圖像獲取的準瞬時二維速度的準確性,評估結果認為:對于持續(xù)二維流動,基于sUAS 的LSPIV 方法得到的平均速度與固定攝像機平臺得到的速度一致,兩種方法測量的速度與聲學多普勒測速儀測量的近地表速度一致。
以上研究成果證實了基于sUAS 的LSPIV 能提供精確的、高分辨率的連續(xù)二維流場大尺度區(qū)域的平均表面速度測量結果,并且可以觀測二維流場結構的演變,是一種有價值的繪制河流表面流場二維圖像的新方法。
利用無人機影像測量河流表面流速的方法仍存在以下問題:
1)無人機晃動對測量結果的影響很大。在大風等極端天氣下,無人機很難保持靜止,無人機自身的晃動會造成被攝物體在視頻中晃動,這種晃動會直接影響流速測量結果。尤其是對大河的測量中,由于無人機需要飛行得更高,少量的晃動就會造成地面上物體出現較大的位置偏差。
2)測量準備工作繁瑣?,F有的方法大多需要人為設置地面參照點,并對參照點進行定位測量,然后借助參照點矯正圖像。這種方法需要大量的準備工作,且測量時間長、效率低。同時,很多自然河流的河岸是難于接近的,這為參照點的設置和測量帶來了諸多不便。
為了解決無人機晃動帶來的問題、簡化測量過程,實現快速、安全、精準的河流表面流速測量,本文擬開發(fā)一種基于無人機飛行記錄信息的圖像矯正方法,在不對參照點進行現場測量的情況下實現對河流表面流速的精準測量。此外,還嘗試了不設置參照點,僅通過飛行記錄來矯正圖像的方法,并分別在試驗河道與自然河道進行了現場測量驗證。
2.1.1 使用參照點的情況
具體的圖像矯正流程如圖1所示,在河流兩岸設置4 個以上的參照點,先根據矯正后的圖像上參照點的像素坐標(u,v)相對于圖像光學中心點像素坐標(u0,v0)的位置,利用共線條件式(式1)計算出參照點的空間坐標(xi,yi),然后根據輸出圖像的尺寸設置一個縮放系數n(pixel/m),令每個參照點在輸出圖像上的像素坐標(xi,yi)=(nxi,nyi)。最后利用待矯正圖像中的參照點像素坐標對圖像進行單應性變換,即可獲得矯正后的圖像。
圖1 使用參照點時的圖像矯正流程示意圖Fig.1 Image correction flow diagram using reference points
本研究飛行高度約為20 m 左右,選用了直徑為18 cm 的紅色圓形紙片貼在碟子上作為參照點,如圖2所示。
圖2 參照點設置示意圖Fig.2 Schematic diagram of reference point setting
因為此處需要用參照點的像素坐標求解空間坐標,因此用共線條件式的逆變換式:
式中:c為相機的焦距;(u,v)為照片中光學中心點的坐標,可通過相機標定獲取;(XW,YW,ZW)為相機光學中心位置的空間坐標;aij為相機的旋轉矩陣R(式3)的元素;后兩項可通過無人機的飛行記錄獲取。
式中:ω、φ、κ分別為相機坐標系繞著X、Y、Z軸旋轉的旋轉分量。
2.1.2 不使用參照點的情況
由于在自然河流流速測定中,往往很難在河岸附近設置參照點。另外,在對大河的流速測定時,由于無人機飛行高度較高,因此如果參照物較小,識別度就會下降,必須使用較大的參照物,這給測量流速增加了不便。因此,如果不用參照點,而直接根據無人機的位置、高度、姿態(tài)等信息,通過對圖像的平移、縮放和三維旋轉等矯正圖像,可極大減少工作量,提高測量效率。
獲取相機外部參數的方法通常有以下兩種:
1)通過EXIF(exchangeable image file format)信息獲取。圖像拍攝時,無人機的GPS 信息和飛行姿態(tài)信息都被記錄在圖像的EXIF 中,EXIF 是專門為數碼相機照片設定的,可以記錄數碼照片的屬性信息和拍攝數據。通過專業(yè)的EXIF 信息編輯軟件,例如MagicEXIF 等,可以很方便地獲取圖像的EXIF信息;利用第三方庫也可以便利地實現EXIF 信息的批量讀取和編輯,例如Python 的exifread 庫等。
2)通過無人機飛行記錄獲取。本研究使用的DJI-Matrix100 無人機可以將飛行軌跡和飛行姿態(tài)等信息記錄在飛行記錄文件中,記錄頻率為10 條/s。也就是說,通過飛行記錄文件可以獲取每個0.1 s 節(jié)點處的GPS 坐標、飛機姿態(tài)、相機姿態(tài)、起飛高度、電池信息,以及此時間點是否攝影或攝像等信息。為了獲取準確的時間間隔,本研究使用幀速率30 fps 的視頻作為分析對象,每3 幀提取1 幀圖像,這樣相鄰兩幀圖像的拍攝時間正好間隔0.1 s,一幀圖像對應一條飛行記錄,具體的獲取流程見圖3。
圖3 通過飛行記錄文件獲取外部參數流程Fig.3 Process of obtaining external parameters from flight information files
2.3.1 參照點的定位誤差
圖4為定位精度試驗中使用的參照點位置示意圖。
圖4 定位精度試驗中使用的參照點位置示意圖Fig.4 Schematic diagram of reference point position in the positioning accuracy test
由于飛行高度誤差等的影響,計算獲得的參照點空間坐標會有一定的誤差,為了研究誤差程度及其對流速測量結果的影響,將現場用長卷尺量得的各參照點之間的距離(如圖4)和定位計算得到的參照點之間距離進行對比,參照點距離誤差情況如表1所示。
表1 參照點距離計算誤差結果Table 1 Calculation error table of reference point distance
從表1可知,參照點距離計算的最大誤差率為0.834%,平均誤差為0.311%。影像測速的原理是根據示蹤物在兩張連續(xù)圖像之間的移動距離和兩圖像的拍攝間隔時間來確定速度,在間隔時間固定的情況下,距離誤差率會直接導致相同比例的流速誤差率。由于水無常態(tài),因此流速測量往往很難做到絕對的精準,通常要求單次測量誤差在10%以內。因此,最大0.8%左右、平均0.3%左右的誤差率完全可以滿足流速測量的需要。
2.3.2 使用參照點時的圖像矯正誤差
本試驗使用時長5 s 左右,幀速率30 fps 的視頻,每3 幀提取1 幀,共提取51 幀圖像作為分析對象,無人機飛行高度約17 m,矯正縮放系數n=180 pix/m,即每像素對應長度約5.55 mm。圖像矯正的目的除了獲取正射圖像外,還應保證固定物體(參照點)在每幀圖像上處于同樣的像素位置,也就是說,參照點在每幀圖像上的像素坐標偏差越小,則矯正的效果越好。本試驗中矯正后各參照點在每幀圖像上的像素坐標偏差情況如表2所示。
表2 圖像矯正誤差計算表Table 2 Calculation table of image correction error
根據矯正結果,在此次試驗中x、y方向的極差平均為3.67, 2.33 像素,換算為長度則分別為20.4 ,12.9 mm。如果考慮結果的離散程度,全體平均差為0.65 像素,x、y方向的標準差分別為1.055, 0.541 像素,分別相當于5.86, 3.0 mm。這種程度的誤差,在STIV(spatial-temporal image velocimetry)方法的應用上影響較小。
2.3.3 未使用參照點時的圖像矯正誤差
在不使用參照點的情況下,由于外部參數已知,可以直接根據相機的位置和姿態(tài),利用數字圖像處理技術對圖像進行平移和三維旋轉,獲得正射影像。為了研究矯正誤差的大小,分別用試驗水渠河岸的固定區(qū)域和自然河道進行了測量,然后對比相鄰的兩幀圖像中固定物體的偏移情況。圖5選出了其中比較具代表性不使用參照點時矯正出現誤差的影像。
圖5 不使用參照點矯正圖像時的誤差特點Fig.5 Features of errors in image correction without reference points
圖5中,圖5a 出現誤差是因為兩圖片之間存在平移;圖5b 和5e 原因是兩圖片之間存在偏航角偏差(yaw 角誤差);圖5c 和5d 出現誤差的原因是兩圖片之間存在橫滾角和俯仰角偏差(5c 為后圖roll 角小,pitch 角大;5d 為后圖roll 角大,pitch 角?。?。
從圖5可以發(fā)現,這種方法對于外部參數的準確度要求很高,而無人機的GPS 定位精度并不高,姿態(tài)角度也只精確到0.1°,這是導致連續(xù)的兩張圖像之間出現偏差的主要原因,這種偏差對影像測速有較大的不利影響,然而不同的圖像測速方法對這種影響的敏感度也不一樣,選擇一種合適的圖像分析方法有可能減少一部分矯正誤差帶來的影響。
目前,河流表面圖像測速的方法主要有大尺度粒子圖像測速(LSPIV)和時空圖像測速(STIV)兩種。LSPIV 技術的原理很簡單,在圖像1(在時間t拍攝)中選擇一個區(qū)域作為查詢區(qū)域(interrogation area),同時在圖像2(在時間t+Δt拍攝)上確定一個搜索區(qū)域(searching area)(如圖6)。利用互相關算法找出查詢區(qū)域在圖像2 中的位置,進而得出查詢區(qū)域在時間間隔Δt內移動的距離,就可以計算出移動速度。
圖6 LSPIV 原理示意圖Fig.6 Schematic diagram of LSPIV principle
STIV 首先選擇合適的時間間隔Δt,采集M幀圖像序列;然后在圖像中沿待測水流的運動方向設置一組寬度為單像素、長度為L(約50~80)像素的測速線,將這些測速線按時間序列組合在一起,以L-t為直角坐標系合成一幅大小為L×M像素的時空圖像。圖7為STIV 原理示意圖。
圖7 STIV 原理示意圖Fig.7 STIV schematic diagram
從圖7可以看出,河流水面測速線構成的時空圖像具有顯著的紋理特征,表現為具有特定方向性的明暗條帶。將紋理主要走向和縱坐標軸間的夾角φ定義為時空圖像的紋理主方向,則tanφ=L/t,即該時間段的流速。
時空圖像中的紋理線條,會呈現出特定的傾斜方向,并隨機分布在圖像的各個位置。圖8為時空圖像紋理傾斜度檢測原理圖。
圖8 時空圖像紋理傾斜度檢測原理Fig.8 Principle of spatio-temporal image texture inclination detection
根據傅里葉變換幅度譜的自配準性質[13],若原圖像的長寬相等,不管這些傾斜的紋理線條的位置和分布如何,只要對它進行傅里葉變換獲取其幅度譜,則這些傾斜紋理對幅度譜的貢獻都會被集中地反映在通過幅度譜中心,且垂直于原紋理線條方向的直線上,如圖8c。
如圖8d 所示,以幅度譜的中心點為原點O建立極坐標系,以圖像邊長的一半,即N/2 作為搜索半徑設置搜索線,以Δθ=0.1°為步距,0~180°作為搜索范圍。統(tǒng)計搜索線上的幅度值F(r,θ),即可按下式計算能量-角度分布:
能量峰值對應的角度即為所求的傾斜角度。在實際應用中,可以估計流速的大概范圍,進而減少范圍,提高算法效率。
在使用LSPIV 方法對圖像序列中兩幅相鄰圖像進行匹配時,圖像矯正過程中的偏差會直接導致與偏差量相同數值的查詢區(qū)域運動距離的計算錯誤,以至最終影響流速計算結果。而STIV 是根據時空圖像(spatial-temporal image,STI)的紋理傾斜度測定一個時間段的流速,且STI 是由這個時間段內每一幀圖像中提取一條檢測線組合而成,其中相鄰兩幀圖像之間的少許誤差對STI 的整體紋理傾斜度幾乎無影響。圖9為圖像矯正誤差對時空圖像紋理的影響示意圖。
圖9 圖像矯正誤差對時空圖像(STI)紋理的影響示意圖Fig.9 Effect of image correction error on spatio-temporal image texture
從圖9可看出這一點,圖中靜止的參照點在STI中顯示為一條豎直紋理,矯正誤差導致這條豎直紋理出現了少量的不規(guī)則性,但是這種不規(guī)則性幾乎不會對紋理主方向的判斷造成影響,從這個角度來說,STIV 能更好地適應本研究所提出的圖像矯正方法。
為了驗證這種圖像矯正方法在現場試驗中的適用性,分別在韓國安東河流試驗中心急流試驗河道和釜山市溫泉川進行了現場驗證試驗?,F場情況如圖10 所示。其中,在安東河流試驗中心的試驗中,使用了泡沫作為示蹤物,分別在圖10a 所示的直線和曲線河道進行了影像采集。溫泉川試驗選在了上游的內院橋()附近,由于是秋季,水面漂浮了一些樹葉可以作為示蹤物,因此沒有使用人工示蹤物。試驗環(huán)境如表3所示。
圖10 河流流速現場測定試驗場地圖Fig.10 Field test site for river velocity measurement
表3 河流流速現場測定試驗環(huán)境Table 3 Test environment for river velocity measurement
本次試驗中,為了對比結果的準確度,用聲學多普勒流速儀FlowTracker 測量了相同位置各個測點的流速,與影像測速儀獲得的流速進行對比,流速測量結果如表4和表5所示。
表4 模擬河道流速試驗結果Table 4 Field experiment results of simulated river velocity measurementm/s
表6 自然河流流速試驗結果Table 6 Field experiment results of natural river velocity measurement m/s
如果以多普勒流速儀的測量值作為參考真值,影像測速儀在使用和不使用參照點的情況下,試驗水路直線段的平均流速測量誤差分別為0.044 m/s(4.4%)和0.035 m/s(3.5%),曲線段的平均流速測量誤差分別為0.008 m/s(0.8%)和0.044 m/s(4.6%),自然河道的測量中,平均流速測量誤差分別為0.001 m/s(1.1%)和0.019 m/s(28.7%)。
可見,在試驗河道,即使不使用參照點矯正圖像,由于示蹤物充足,也能獲得較為準確的流速。然而,在示蹤物較少的天然河道的試驗中,如果不使用參照點的話,由于矯正偏差較大,因此,在示蹤物密度較低的情況下,往往無法很好地捕捉到示蹤物的軌跡,出現了大量異常值,而且流速測量的準確度也明顯低于使用參照點的情況。
利用數字圖像分析技術的河流表面流速測定方法(SIV)是一種高效、安全、準確度高的非接觸式流速測定方法。無人機作為一種新的視覺媒體設備,通過高空垂直攝影可獲得良好的視覺影像,而且可以在很多車輛和人難以接近的區(qū)域使用。本研究利用無人機的優(yōu)點,把用無人機拍攝的河流表面影像作為分析對象,開發(fā)出基于無人機圖像的河流表面影像流速測定系統(tǒng)。
在對無人機拍攝的影像進行分析時,最大的問題是無人機自身的晃動,特別是大風等極端天氣下,無人機很難穩(wěn)定懸停,因而在攝像機和水面之間存在相對運動。在這種情況下拍攝的圖像不宜直接作為分析對象使用,應先進行矯正。
本文開發(fā)出利用無人機飛行信息中記錄的位置和姿態(tài)信息,對無人機拍攝的影像進行正射矯正的方法。在使用參照點的情況下,矯正后圖像中,同樣的固定物體在不同的圖像中只存在最大2~5 像素的偏差,完全可以滿足圖像測速要求。而不使用參照點的情況下,由于無人機位置和姿態(tài)信息不準確,圖像校正的精度較差,但是在示蹤物豐富的試驗河道測量中,仍然獲得了比較精確的測量結果,可以滿足水文測量的精度需求。即使在示蹤物不充足的自然河流試驗中,平均流速誤差也僅為0.019 m/s。
未來將設法對現有的無人機影像測速技術進行優(yōu)化,具體包括:1)結合現有的圖像矯正方法,設法彌補無人機位置和姿態(tài)記錄不夠精確的問題,在不使用參照點的情況下,提高圖像矯正精度;2)結合現有的STIV 算法,研究更高效且可以準確判斷水流方向的圖像測速技術。