?

基于核相關濾波器算法的無人機目標識別研究

2024-01-09 06:42葛維桐郝永平有德義
裝備機械 2023年4期
關鍵詞:分類器攝像頭濾波器

□ 葛維桐 □ 郝永平 □ 有德義

沈陽理工大學 裝備工程學院 沈陽 110159

1 研究背景

隨著近年來無人機研究的迅速發展,計算機視覺技術、人工智能技術與智能控制的發展越來越快,在無人機平臺目標識別與跟蹤功能中的應用越來越廣泛。在民用領域,無人機應用于三維地形測繪、野外搜救等方面。在軍事領域,無人作戰飛機具有強大的自主攻擊能力,可以通過成像分析技術實現對敵方目標的精準識別和跟蹤,從而實現有效的打擊。隨著開源硬件熱度的上升和固件的更新,無人機產業迎來快速發展的春天[1]。許多研究致力于無人機的自動跟蹤,但是能夠自主跟蹤機動目標的無人機要求很高,研究大多集中在視覺圖像處理與控制追蹤算法方面,通過研究得到識別更多目標、識別速度更快、識別準確率和實時性更高的算法,解決由于遮擋、光線變化、位姿突變所造成的識別目標丟失等問題[2]。目標的幾何變形、旋轉和無人機姿態變換等造成的追蹤失敗問題是研究目標識別的挑戰。當前,對如何搭建無人機目標識別追蹤的硬件系統研究較少。盡管仿真在一定程度上可以反映算法的可行性,但是將算法應用于實際工程所展現出的效果與虛擬仿真相比,會出現不同的現象[3]。

筆者基于Pixhawk自動駕駛儀和Jeston NX機載計算機,進行硬件通信調試和目標追蹤軟件開發,使無人機實現對目標的識別與追蹤功能,可以給研究人員搭建軟硬件系統提供思路與參考。

2 系統硬件設計

2.1 硬件結構

Pixhawk是一款開源自動駕駛儀,原為APM,經過改進傳感器和主控芯片,更新PX4固件,并在此基礎上進一步發展,最終成為Pixhawk。Pixhawk使用雙處理器架構,其中,STM32F765作為主數據處理器,STM32F100作為備用數據處理器,以實現更加高效、穩定的飛行控制。在傳感器方面,選用BMI055和ICM-20689。BMI055為數字3軸12位加速度傳感器及數字3軸16位±2 000(°)/s陀螺儀,ICM-20689為3軸加速度計及陀螺儀[4]。同時采用MS5611氣壓計與IST8310磁力計。多傳感器獲得的數據通過程序融合后,得到更準確的飛控位姿信息,保障無人機在飛行過程中的安全性。將主輸出接口與電調的信號接口連接,并將全球定位系統與串行外設接口連接,根據接收機接口發出的信號不同,選擇對應信號類型的接收機[5]。選擇工作電壓為14.8~16.8 V的4S1P型鋰電池,經分電板降壓后,向自動駕駛儀供電。

2.2 機載計算機

Jeston NX是全世界最小、最領先的嵌入式人工智能超級計算機系統,可以用作獨立人工智能和邊緣計算工具,包括384個圖形處理器、48個張量核,6個264位中央處理器,可以實現高性能的運算和處理能力,從而提供更強大的功能和性能[6]。擁有8 GiByte 128位LPDDR4x內存,搭載雙深度學習加速器引擎,配備4個通用串行總線接口,可以將通用串行總線接口與攝像頭連接。通用串行總線轉串口模塊的一端連接Jeston NX的通用串行總線接口,另一端連接自動駕駛儀的TELEM接口,再通過機器人操作系統運行腳本,實現兩者的通信。Jeston NX運行Ubuntu操作系統,需要通過命令下載相關安裝包,搭建程序的運行環境,并連接顯示器,才能正常工作[7]。機載計算機需被攜帶到天空,顯示器的質量與體積大,不方便攜帶,對此,可以使筆記本計算機和Jeston NX在同一網絡中,使用遠程控制軟件實現地面端控制天空端。筆記本計算機只控制launch文件啟動,無人機框選目標識別追蹤的過程全部由自動駕駛儀和Jeston NX實現,筆記本計算機不參與運算。航模電池可通過XT60并聯線直接向Jeston NX和無人機供電。Jeston NX強大的性能為當下大熱的深度學習程序運行及更深層次的目標識別追蹤研究提供了硬件基礎[8]。

無人機如圖1所示。

圖1 無人機

3 系統軟件設計

3.1 核相關濾波器算法

核相關濾波器算法是一項用于識別目標的追蹤技術,通過訓練目標檢測器來估計下一幀幀中的定位,并將其作為新的檢測結果,以此來更新樣本,從而實現對總體目標的準確識別[9]。由于采用循環矩陣來收集正負樣本,并采用脊回歸技術訓練目標檢測器,因此能夠有效將矩陣數據的統計方式轉換為阿達馬積,即元素的點乘,從而大大減小統計量,提高計算速度,使統計方式能夠符合實時性的需要。將線性空間的脊回歸映射到非線性空間結構,能夠有效解決對偶問題,應對常用約束,而且能夠采用循環矩陣傅里葉空間對角化來簡單統計,從而提高計算效率,由此大大提高算法的速度[10]。

3.2 總體程序

首先在第t幀中框選出待跟蹤的目標,若未得到待跟蹤的目標,則機載計算機讀取自動駕駛儀的位置信息,更新當前位置并保持懸停。反之,在第t+1幀中在第t幀的目標位置附近采樣,用訓練出的回歸器在采樣位置對圖像進行相關操作,記錄每個采樣點的響應。響應最強且滿足預先給定閾值條件的采樣被認為是第t+1幀中目標的位置,機載計算機獲取無人機當前位置信息,計算目標的位置。兩個位置通過算法處理后,得出無人機的期望位置。無人機在追蹤目標的過程中,會存在目標丟失的現象。設置丟失閾值為10,在追蹤目標的過程中存在連續10次目標丟失的現象,認定目標丟失。反之,認定目標存在,同時發送期望位置,完成目標追蹤。系統實時追蹤流程如圖2所示。

圖2 系統實時追蹤流程

3.3 機器人操作系統節點程序

自動駕駛儀與機載計算機相互傳輸信息,需要通過相應的節點來實現。使用 C++編程語言編寫節點程序,既可以保證程序的快速響應,又可以調用OpenCV庫進行圖像處理識別目標。機器人操作系統以節點對節點的方式編寫程序,這種方式高內聚低耦合,單個節點的功能穩定單一,各個節點之間聯系緊密,程序模塊的可重用性和可移植性高,程序更加穩定可靠。

由web_cam節點讀取攝像頭的視頻信息,轉換為image_raw話題并發布。節點訂閱圖像話題,得到布爾型目標檢測判斷值、目標姿態四元數和目標坐標,封裝為kcf_tracker話題,發布到目標追蹤節點。

kcf_tracker節點在第一幀中框選出帶最終目標的位置,通過循環矩陣對基礎樣本進行行平移,獲得更多訓練樣本。將圖像對應的二維矩陣變換為n×1維向量,得到基礎樣本x1,x2,…,xn-1,xn,利用置換矩陣P對基礎樣本進行循環移位n次,即可獲得當前幀的訓練樣本矩陣X:

(1)

利用循環矩陣可對角化的性質,使用離散傅里葉矩陣對樣本集合進行對角化,有:

(2)

在跟蹤過程中,需要對目標區域圖像提取適當的特征表達和目標描述,以達到有效區分目標和背景的目的。核相關濾波器算法使用方向梯度直方圖作為目標特征,這一特征可以有效區分目標輪廓邊緣與背景的灰度值變化。在提取過程中,先對目標圖像進行灰度化和歸一化處理,以減小光照變化和噪聲帶來的影響,再計算圖像中各個像素點(a,b)的梯度值:

G1(a,b)=I(a+1,b)-I(a-1,b)

(3)

G2(a,b)=I(a,b+1)-I(a,b-1)

(4)

式中:G1(a,b)、G2(a,b)分別為像素點(a,b)在水平和豎直方向的梯度值;I(a,b)為像素點(a,b)對應的灰度值。

梯度幅值G(a,b)和梯度方向β(a,b)分別為:

(5)

β(a,b)=arctan[G1(a,b)/G2(a,b)]

(6)

最后統計梯度直方圖,得到目標圖像最終的方向梯度直方圖特征。

設訓練樣本為xi,回歸標簽為yi,使用最小二乘法訓練分類器f(x)=ωTx,ω為分類器權重因數,使訓練樣本xi與回歸標簽yi之間平均誤差最小:

(7)

式中:λ為正則項因數。

為提高分類器的泛化能力,防止分類器出現過擬合現象,加入正則項λ‖ω‖2控制過擬合。令ω的偏導數為0,ω的表達式為:

ω=(XTX+λI)-1XTy

(8)

式中:I為單位矩陣;y為各樣本回歸標簽yi組成的列向量。

對式(8)轉換到復數域:

ω=(XHX+λI)-1XHy

(9)

將經過傅里葉變換后的樣本矩陣X代入式(9),得到頻域中的計算式:

(10)

由于目標跟蹤為非線性問題,因此將x通過映射函數φ(x)映射到高維空間,可使非線性問題變為線性問題,分類器權重因數ω可表示為樣本映射后的線性組合:

ω=∑[αiφ(xi)]

(11)

式中:αi為線性組合因數。

(2)濾餅外在水分為25.80%,脫水率達82.98%,濾餅中所含水量僅是入料水量的17.02%。這與使用80網目單絲濾布有關,因為濾布的孔隙較大,過濾阻力減小,所以該廠還將壓濾機入料壓力控制在0.45 MPa水平。

將式(11)代入分類器,得到回歸函數:

(12)

k(xi,xj)=kxixj=φT(xi)φ(xj)

(13)

式中:xi、xj分別為當前幀和下一幀樣本。

核相關濾波器算法采用高斯核函數,將k(xi,xj)組合成n×n維的核函數K,此時K滿足循環矩陣特性。將式(12)代入式(7),可導出由αi組成的因數向量α的表達式:

α=(K+λI)-1y

(14)

對式(14)進行傅里葉變換,得:

(15)

在檢測階段,需要計算測試樣本序列與在線分類器的相關響應,以確定當前幀的目標位置。設x為當前幀訓練樣本序列,z為下一幀測試樣本序列,用kxz表示x和z的核函數,在頻域中對響應進行求解,得:

(16)

object_tracking節點計算無人機的期望位置,并做出決策,發送給底層控制模塊。此節點訂閱了無人機的位置信息和目標的位置信息。得到目標坐標后,將坐標轉換至原點位于無人機質心,0°為X軸正方向,90°為Y軸正方向,上方為Z軸正方向的坐標系中。將需要的坐標轉換至同一坐標系后,求解無人機的期望位置。機器人操作系統節點圖如圖3所示。

圖3 機器人操作系統節點圖

4 識別追蹤測試

4.1 攝像頭標定

首先打開終端,輸入指令roslaunch prometheus_de tection web_cam0.launch,啟動攝像頭節點。等候攝像頭啟動后,啟動攝像頭校準程序。將黑白棋盤格的標準板移動,以收集數據。當X、Y、Size、Skew的進度條變為綠燈時,calibration指示燈亮起,表明目前已有充足的信息可以用于攝像頭的校準。按下calibration按鍵后,等候1 min,校準界面會變為灰色。數據采集界面如圖4所示,攝像頭標定結果界面如圖5所示。

圖4 數據采集界面

圖5 攝像頭標定結果界面

4.2 識別測試

啟動程序后,輸入指令roslaunch prometheus_detection KCF.launch打開窗口,對目標進行框選,查看識別結果。確認識別目標后,使用rostopic list指令查看已發布話題,包括目標名稱、識別狀態、目標位置等消息。目標框選識別界面如圖6所示,話題消息界面如圖7所示。

圖6 目標框選識別界面

圖7 話題消息界面

4.3 無人機目標識別測試

無人機目標識別測試流程如下:

(1) 啟動無人機,遙控器切換至定點模式,使無人機起飛到一定高度,并保持懸停;

(2) 筆記本計算機通過軟件遠程控制機載計算機啟動launch文件,確保機載計算機不斷向無人機發送控制量;

(3) 通過遙控器將無人機切換到離線模式;

(4) 手動對目標進行框選,無人機首次識別目標發生偏航,對坐標系進行校正,追蹤目標;

(5) 取消框選,追蹤結束,降落。

4.4 數據分析

目標識別位置變化如圖8所示,實際軌跡如圖9所示。在目標前后左右移動距離較小、上下移動距離較大的情況下,無人機在向目標追蹤的過程中前后左右方向的移動并不劇烈,上下移動變化則較為明顯。機載計算機發出的期望位置曲線與無人時實際位置曲線有較好的擬合,說明無人機確實按照機載計算機計算出的目標位置向識別目標飛去。

圖8 目標識別位置變化

圖9 目標識別實際軌跡

5 結束語

筆者基于核相關濾波器算法,對無人機目標識別進行研究。經過飛行測試及試驗結果分析,所搭建的目標追蹤系統可行,能使無人機自主識別追蹤目標,并且具有良好的識別效果與追蹤效果。通過研究證明核相關濾波器算法搭載到無人機上是完全可行的,為后續核相關濾波器算法搭載至更多設備的研究提供了參考。

猜你喜歡
分類器攝像頭濾波器
浙江首試公路非現場執法新型攝像頭
攝像頭連接器可提供360°視角圖像
從濾波器理解卷積
基于太赫茲技術的新一代攝像頭及其在安防領域的應用探討
開關電源EMI濾波器的應用方法探討
BP-GA光照分類器在車道線識別中的應用
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
基于Canny振蕩抑制準則的改進匹配濾波器
基于TMS320C6678的SAR方位向預濾波器的并行實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合