中圖分類號:TM73 文獻標志碼:A 文章編號:1671-0797(2025)16-0083-06
D0I:10.19514/j.cnki.cn32-1628/tm.2025.16.022
0 引言
近年來,無人機在變電站室內巡檢領域的應用越來越廣泛,變電站室內復雜的工作環境對無人機的精確定位能力提出了更高的要求。然而,無人機在變電站室內存在定位不精確的問題[1-3],對變電站室內的安全造成隱患。因此,迫切需要提出一種針對變電站室內無人機定位的方法,以提高定位的精確程度。
國內外研究學者針對無人機室內定位展開了大量研究,其方法主要有:視覺、UWB無線電通信和即時定位與地圖構建方法[46]等。聶偉等[7]提出一種基于單目視覺的無人機室內定位方法,通過位姿預測參考幀中的特征塊在當前幀中的位置提高定位精確度,但每幀之間的誤差會累計。侯楊陽等8提出一種基于Kalman濾波的室內無人機實時定位算法研究,通過Kalman濾波運動估計,利用遞推原理建立幀間關系提高定位精度,但幀間誤差仍會積累。周洲等[9]提出的一種基于光流定位的室內無人機自主避障研究,通過加載光流進行精確定位,但傳統光流定位隨著時間增加,誤差也會不斷增加。上述方法雖然提高了精確程度,但未能有效解決誤差累積問題,在變電站室內無人機長時間工作時會導致定位不精確,造成安全隱患。
針對上述問題,本文提出一種基于改進LK光流的變電站室內無人機精確定位方法。首先,使用Shi-Tomasi角點檢測算法,提高特征點檢測速度;其次,構建光流金字塔框架,對大規模動態圖像進行尺寸調整,近似地將它們轉換為細微位移變化,以符合光流的基本要求;然后,利用前后向誤差補償更新前向估計偏移量,并對異常特征點進行剔除;接著,提取跟蹤效果好的特征點進行LK光流計算;最后,采用自主設計的無人機測試平臺進行飛行實驗對所提方法進行驗證。結果顯示,無人機基于改進LK光流法在變電站室內的定位效果良好。
1傳統LK光流算法
變電站室內環境復雜,且室內無人機無法像室外無人機一樣通過GPS信號定位。通常使用傳統LK光流法[10-]實現室內無人機定位,其原理是通過檢測拍攝的變電站室內圖像中光點和暗點的移動,來判斷圖像中像素點相對于無人機的移動速度。假設地面保持不動,就能計算出無人機相對于地面的速度,隨后通過積分導航來確定無人機的精確位置。傳統LK光流法的計算過程為:
Ixu+Iyv+It=0
式中: u 為x軸光流值,即水平方向上的運動速度; v 為y 軸光流值,即垂直方向上的運動速度; Ix?Iy 和1表示圖像在 x,y,t 方向上的偏導數。
Lucas-Kanade光流算法的核心思想是利用一個固定大小的鄰域窗口W來追蹤圖像序列中的特征點。在這個窗口內,以最小化平方差(SumofSquaredDifferences,SSD)作為優化目標,來估計特征點經過Δt 時間間隔的運動,求出光流向量
T。設兩幀之間的SSD值為 ε ,其計算公式如下:

式中: (x0,y0) 表示窗口W的中心坐標;窗口大小設為(wx,wy):I(x,y,t) 為像素灰度值。
對式(②兩邊求導并一階泰勒展開得到式(3):


代入式(3得到式(4),其中 G 為光流梯度方程。

當 ε 為極小值,
為0時,可以利用公式(5)求出光流值。

2變電站室內無人機精確定位方法
2.1 Shi-Tomasi角點檢測算法
變電站室內圖像中需要檢測的角點數量龐大,通常使用Shi-Tomasi算法[12]檢測角點,其原理是對計算得出的行列式特征值進行評估,將其與一個預設的閾值進行對比,若特征值超過這個閾值,則認定該點為S-T特征點。Shi-Tomasi角點檢測算法的計算過程如下:
設W平移 [U,V] ,其變化為 E(u,v) ,則公式為:
(6)式中: w(x,y) 表示圖像采集滑動窗口的大小, x 和y為窗口內像素坐標;函數I為像素密度函數。

式中: M 為一個 2×2 的海森矩陣。
2.2 光流金字塔模型
變電站室內收集到的都是大尺度運動圖像,通常使用光流金字塔模型[13-14]將大位移運動近似轉化為小位移運動,使其滿足光流約束條件。其原理是:首先,在圖像金字塔的最高層級計算出變換矩陣和光流估計值,這些初步結果被用作下一層圖像的初始估計;隨后,每一層圖像都會利用上一層提供的信息來迭代計算更精確的變換矩陣和光流值,并將這些更新后的值傳遞到下一層,直到最底層就能得到精確的變換矩陣和光流估計值。
光流金字塔模型的計算過程為:


IL-1(2x+1,2y-1)+IL-1(2x-1,2y+1)+
II-1(2x+1,2y+1)]
式中: L 表示金字塔層數, L 的值通常取 1,2,…
2.3 前后向誤差分析與補償
理論上前一幀圖像中,特征點的前向跟蹤點a和這些特征點的反向跟蹤點d預期在同一點,然而,過程中不可避免地會出現一些偏差,所以 a 和d兩點位置一定不會出現重合現象。所以,為提高定位精確度引入誤差分析與補償[15],誤差分析如圖1所示,其原理是利用前一幀圖像中的點a來預測當前幀的點d;然后利用當前幀的反向跟蹤結果c,反向推算出前一幀中這些特征點的前向跟蹤結果b。這個過程涉及特征點的雙向估計,以確保跟蹤的準確性和一致性。
圖1對稱性模型視圖

設 Φt 時刻的度量值為 It(X),t+1 時刻為 It+1(X) ,利用前后向模型建立新的目標函數:


It(X+doffset-back)]2
式中: doffsetprev 和 doffset-back 表示前向和后向跟蹤的偏移量。
對目標函數中的 doffsetprev 和 doffset-back 分別求偏導,并分別進行一階泰勒展開,可以求出:
It+1(X+doffset-prev)≈It+1(X)+?It+1doffset-prev
It(X+doffset-back)≈It(X)+?Itdoffset-back
將式(10)和式(11)分別代入式(9)后,可以求出特征點后向運動偏移量 doffset-back 值為:
doffset-back=[It(X)-It+1(X)-?It+1doffset-prev]?
[(?It+1)??It]-1
最后,更新偏移量dosepre 。
doffset-prevnew=βdoffset-prev+(1-β)doffset-back
式中:加權值 ?β 通過實驗求得。
2.4基于前后向誤差補償的LK金字塔光流算法
本文提出一種基于Shi-Tomasi角點檢測的改進LK光流算法。首先,采用Shi-Tomasi角點檢測算法,從復雜的圖像中迅速提取特征點;其次,建立光流金字塔模型,對不同尺度的圖像進行光流估計;最后,引入前后向誤差補償分析,有效提高光流計算的精確程度。其流程如圖2所示。
其主要步驟如下:
1)采集圖像序列中 t,t+1 時刻圖像;2)采用Shi-Tomasi特征點檢測算法對t時刻圖像進行特征點檢測;3)利用LK光流的特征點跟蹤算法找到t和 t+1 時刻圖像中特征點坐標;④計算特征點前向和后向誤差;5)通過應用優化后的誤差補償機制,排除異常特征點,并同步調整預測的偏移值;6提取跟蹤效果好的特征點并進行LK光流算法計算,求解光流。
3 實驗結果與分析
3.1 硬件平臺介紹
本文利用自行開發的無人機測試平臺開展飛行測試,其參數如表1所示。
表1測試平臺參數

圖2改進LK光流算法流程

3.2 算法驗證
為驗證本文算法的優越性,本節采用傳統LK光流法與本文改進算法分別跟蹤SURF、ORB和FREAK三種特征點提取算法所得特征點的運動軌跡,并通過實驗評價指標對比兩種算法的性能表現。
實驗評價指標采用光流算法角誤差的平均值(AverageAngularError,AAE)與均方差(StandardDeviation,STD)。
AAE 與STD計算公式如下:


式中: STD 為 ?AAE 誤差的波動情況; N 表示特征點數量; ?e(i) 表示特征點角誤差,公式如下所示:

式中: uic 和 vic 為圖像中第i個特征點理想光流值; uie 和vie 為實際光流值; k 為相鄰圖像間圖像序列的幀數。
實驗過程為:
1)準備一個變電站常見物品電容器,拍攝電容器移動 4cm 和 12cm 的圖像。2)利用SURF、ORB和FREAK特征點提取算法提取特征點。3)利用改進光流算法和傳統LK光流法估計下一時刻的點。4利用檢測時間、特征點提取數、特征點跟蹤率、AAE和STD對實驗進行分析。
當電容器移動 4cm 時,從表2可知:
表2移動4cm情況下利用特征點光流法估計統計

1)特征點檢測時間:SURF特征點提取算法需要建立尺度空間,所以檢測時間長,ORB和FREAK特征點提取算法是對FAST算法的改進,具有原算法的快速性。
2特征點檢測數量:SURF特征點提取算法檢測特征點數比ORB特征點提取算法和FREAK特征點提取算法檢測數多大約兩倍。
3)特征點跟蹤率:SURF特征點提取算法在特征點跟蹤效果上要略好于ORB和FREAK。
最后,通過分析圖3和圖4中顯示的AAE誤差和STD誤差可知,本文算法提高了特征點跟蹤精度。
圖34cm運動光流AAE誤差對比

圖44cm運動光流STD誤差對比

當電容器移動 12cm 時,從表3可知,隨著位移的增加跟蹤效果雖然略有下降,但特征點檢測時間、特征點檢測數量和特征點跟蹤率的實驗結果呈現與表2一致的趨勢,進一步驗證了不同特征提取算法的固有特性。同時,通過分析圖5和圖6中顯示的AAE誤差和STD誤差可知,隨著位移的增加,本文算法仍然能提高特征點跟蹤精度。
3.3 實驗數據分析
本節將依據實際飛行測試來評估算法的實用性和可靠性,實驗在自然光的環境下進行,實驗飛行時間要大于 1min 。無人機懸停時俯仰角信息如圖7所示,無人機俯仰角誤差在 -3.5°~1° 之間,滿足中國(深圳)無人機產業聯盟標準Q/TJYEV—2015《公共安全無人機系統通用標準》中提到的無人機飛行姿態平穩度的俯仰角平穩度誤差為 ±3.5° 。在 0~20s 的時間段內,無人機起飛時的俯仰角度發生了顯著變化,這主要是因為光流傳感器配備的相機焦距是預設的,而此時無人機距離地面較近,導致攝像頭捕獲的圖像模糊不清,難以識別出有效的特征點。在20s以后,無人機俯仰角誤差在 -1°~1° 之間,滿足標準中提到的無人機自主定位時俯仰角誤差的正常范圍應該在 ±1° 以內,這表明本方法用于室內無人機定點懸停效果良好。
表3移動12cm情況下利用特征點光流法估計統計

圖512cm運動光流AAE誤差對比

圖612cm運動光流STD誤差對比

圖7無人機懸停時俯仰角信息

圖8、圖9、圖10表示無人機懸停過程中三維和二維信息。如圖8所示,在無人機起飛階段,高度變化不定,導致無法獲得穩定的速度數據,從而引發偏移現象。當飛行高度達到 1.5m 時,無人機可以穩定懸停。如圖9所示,當無人機飛行高度達到 1.5m 時,垂直飛行沒有出現較大的波動,其誤差能穩定在 ±0.35dm 范圍之內。如圖10所示,無人機懸停時,能在某個區域穩定飛行一段時間,定位效果良好,在 X 軸和Y軸方向上,誤差被控制在 ±0.35dm 以內,而其懸停的精確度大致相當于一個半徑為 35mm 的圓。
圖8無人機懸停空間信息

圖9無人機飛行時間

圖10無人機X軸與Y軸位移偏移量

4結論
本文以無人機為實驗對象,在設計實驗平臺上進行無人機變電站室內飛行實驗,通過無人機懸停時的俯仰角、二維和三維信息進行分析,驗證改進LK光流算法在變電站室內定位效果。
實驗結果表明,無人機在變電站室內能穩定在某一區域進行懸停,其精度為半徑 35mm 的圓形,且俯仰角誤差滿足要求。
[參考文獻]
[1]陳博,李擎.多傳感器融合在無人機室內三維定位中的應用[J].傳感器世界,2022,28(3):27-36.
[2]賀勇,鄧婷,曾子望.基于改進GMS算法的無人機室內定位研究[J].電光與控制,2023,30(11):105-112.
[3]張勝利,焦誠,付永恒.室內定位方法和技術綜述[J].數字技術與應用,2018,36(10):73-74.
[4]吳正越,張超,林巖.基于RBPF的激光SLAM算法優化設計[J].計算機工程,2020,46(7):294-299.
[5]胡瀚文,王猛,程衛平,等.水下視覺SLAM的圖像濾波除塵與特征增強算法[J].機器人,2023,45(2):197-206.
[6]毛科禹,陳桂兵.室內定位技術的應用現狀與發展趨勢[J].現代測繪,2018,41(5):31-34.
[7]聶偉,文懷志,謝良波,等.一種基于單目視覺的無人機室內定位方法[J].電子與信息學報,2022,44(3):906-914.
[8]侯楊陽,華壯.基于Kalman濾波的室內無人機實時定位算法研究[J].現代信息科技,2020,4(16):13-15.
[9]周洲,陳祥祥,汪玲,等.基于光流定位的室內無人機自主避障研究[J].無線互聯科技,2021,18(23):121-122
[10]李振宇,謝云,王松樂,等.一種四旋翼無人機定位的改進LK光流算法[J].機床與液壓,2018,46(21):43-47.
[11]楊潤豐,駱春波,張智聰,等.基于擴展卡爾曼濾波算法的無人機定位[J].電訊技術,2016,56(1):60-66.
[12]于乃功,徐麗,阮曉鋼.一種稀疏光流計算方法[J].計算機科學與技術匯刊(中英文版),2013,2(3):49-54.
[13] Sun D Q,Roth S,Black M J.Secrets of opticalflowestimation and their principles[C]//2010IEEEComputer Society Conference on ComputerVision and Pattern Recognition,2010:2432-2439.
[14]江志軍,易華蓉.一種基于圖像金字塔光流的特征跟蹤方法[J].武漢大學學報(信息科學版),2007,32(8):680-683.
[15]呂高杰,毛鑫,胡銀記,等.一種基于前后向誤差比較的檢測跟蹤遮擋方法[J].紅外技術,2016,38(4):337-341.