盧艷軍,劉 颯
(沈陽航空航天大學自動化學院,遼寧 沈陽 110136)
無人機以其成本低、效率較高、無人員傷亡風險、機動性能好、使用方便等優(yōu)勢,被廣泛應用于軍事和民用領域。無人機導航可以通過慣性導航系統(tǒng)(inertial navigation system,INS)、全球定位系統(tǒng)(global position system,GPS)、歐洲伽利略導航系統(tǒng)以及中國北斗衛(wèi)星導航來實現(xiàn),然而其信號不是總能獲取的。當失去GPS 信號時,隨著時間的推移,慣性測量單元(inertial measurement unit,IMU)的累積誤差會越來越大,導致導航無法滿足任務要求,甚至會造成更嚴重的后果。計算機視覺可以通過視覺采集設備對視覺信息進行采集,并通過計算機系統(tǒng)對視覺信息進行處理、分析,實現(xiàn)對目標的檢測、識別、跟蹤、定位等功能,且抗干擾能力很強。因此,將視覺采集引入無人機導航,利用視覺采集的實時信息與IMU 和GPS 進行融合,可以很好地解決系統(tǒng)失去定位的問題。
視覺導航通過視覺傳感器選取一個既定目標作為絕對零點,將其作為坐標系的原點供IMU 參照比對,并將二者信息融合實現(xiàn)無人機自身定位,以便完成更高級的任務,如無人機自主著陸控制[1-3]和撞線回收[4]等。
隨著計算機視覺技術的迅速崛起,視覺傳感器在無人機導航領域引發(fā)了新的研究熱潮。以單目相機、雙目立體相機、RGB-D 相機和魚眼相機等為代表的視覺傳感器,可采集豐富的環(huán)境信息,且價格低廉、魯棒性好。
本文以多種視覺傳感器在導航系統(tǒng)中的視覺處理流程為主線,對近年來該領域的相關科研成果進行了梳理,詳細分析了視覺導航中各種圖像處理和信息融合方法的優(yōu)勢和缺陷,并對該領域的發(fā)展前景進行了展望。
在無人機視覺導航中,計算機視覺技術首先對視覺傳感器采集到的、反饋到上位機上的圖像信息進行預處理,然后對圖像信息進行特征提取和圖像識別,最終將輸出位置信息與IMU 融合,完成后續(xù)定位跟蹤導航任務。視覺處理過程如圖1 所示。
圖1 視覺處理過程圖Fig.1 Visual processing diagram
獲取圖像質(zhì)量的優(yōu)劣直接關系到識別算法的設計和精度。為了保證獲取圖像的質(zhì)量,通常需要對視覺傳感器采集到的原始圖像信息進行去噪、灰度化和二值化等預處理。
濾波是一種典型去噪方法,可以有效抑制噪聲并保留真實的信息。楊磊[5]等通過一種自適應高通濾波器,較大程度地保留圖像中小目標對象的頻率信息,提高了圖像預處理的魯棒性;尹業(yè)宏[6]等使用GAUSS 濾波,克服了邊界效應以獲得較好的圖像。林國清[7]等采用填充的方法去除孔類噪聲;符宇[8]在單目避障系統(tǒng)中采用維納濾波和基于邊緣檢測的小波去噪算法,提高了圖像復原的質(zhì)量。
灰度化在實際圖像預處理時往往不會單獨出現(xiàn),而是伴隨著其他方法同時處理目標圖像。如:柴洪林[9]在實現(xiàn)無人機夜間自主著陸時,采用灰度形態(tài)學和鄰域處理的方法對視頻圖像進行預處理;索文凱[10]通過灰度變換、色相飽和度(hue,saturation,valus,HSV)色彩變換、HU 不變距匹配等方法,保障了合作目標的準確識別率;王輝[11]還提出了改進的非線性全局映射灰度化方法,以應對邊緣特性丟失和模糊的情況。
二值化旨在區(qū)分環(huán)境和目標。王紅雨和尹午榮[12]等通過將簡單的二值化描述方式擴充到三維向量,增強了局部二值模式算子(local binary patterns,LBP)對局部紋理特征的描述能力及其抗噪能力,進而使目標與環(huán)境區(qū)分開。
無人機在執(zhí)行導航定位任務時,需要以某個或某些靜態(tài)或動態(tài)的目標作為參照物,從而確定坐標零點以獲取全局信息,或者鎖定已識別目標進行跟蹤。因此,對“零點”的特征檢測提取尤為重要。這關乎接下來的定位導航精度。
2.2.1 靜態(tài)目標特征檢測提取
常見的靜態(tài)目標檢測提取方法包括角點檢測、尺度不變特征轉(zhuǎn)換(scale-invariant feature transform,SIFT)算法檢測、加速穩(wěn)健特征(speeded up robust features,SURF)檢測、隨機抽樣一致(random sample consensus,RANSAC)算法等。
角點特征對圖像圖形的分析理解具有重要的作用,是圖像圖形的重要特征信息之一?;叶葓D像、二值圖像、輪廓邊緣等均可作為角點檢測的依據(jù)。在實際應用中,基于灰度圖像的角點檢測方法以其快速性好、準確性高和魯棒性突出等優(yōu)勢,成為較為合適的角點檢測方法。Harris 角點檢測和SUSAN 角點檢測是典型的基于灰度圖像的角點檢測方法。趙世杰在研究基于雙目視覺融合慣性導航的無人機狀態(tài)估計時,采用Harris 角點檢測保留圖像特征提高算法速度[13]。劉磊提出了一種改進的SUSAN 特征檢測算法,提高了檢測算法的魯棒性[14]。
SIFT 算法基于尺度不變特征,在處理圖像幾何變形、分辨率差異、旋轉(zhuǎn)等方面有較好效果,是計算機視覺的典型特征提取算法[15]。Jean Liénard 等利用SIFT特征檢測,實現(xiàn)了在低成本無人機處理硬件條件下圖像的三維場景重建[16]。包曉安和詹秀娟等利用SIFT特征檢測,解決了目標丟失重新找回的問題[17]。Xing C 等為了提高無人機序列圖像的匹配精度,使用了SIFT 算法對其進行特征匹配[18]。
SURF 算法則是SIFT 算法的高效變種,在模糊邊緣或特征點較少的影像中能更為精準地提取目標物的角點,且實時性更強[19]。李鮮在研究未知環(huán)境中的無人機物體識別系統(tǒng)時,使用SURF 特征檢測并利用雙目立體視覺技術完成了三維點云的表面重建[20]。王亭亭等利用SURF 算法,在復雜環(huán)境下較好地實現(xiàn)了對目標的追蹤效果[21]。劉琴琴等在提高圖像偽造內(nèi)容的檢測精度研究中,利用 Forstner 檢測算子提取圖像的特征點,同時改進SURF 生成特征向量,提高了檢測算法的精度[22]。R.A.Persad 等使用SURF 描述符匹配關鍵點,以提高準確性[23]。
RANSAC 可在被觀測數(shù)據(jù)包含噪聲、外點等各類缺陷時,通過迭代的方法估算其數(shù)學模型參數(shù),并從中得到有用樣本數(shù)據(jù)。Shirin M 等使用RANSAC 算法實現(xiàn)了對包括房屋、墻體以及地面的建筑物平面圖像的三維點云重建,且提高了算法精度[24]。
2.2.2 動態(tài)目標特征檢測提取
無人機在執(zhí)行飛行任務時,通常選取運動目標作為既定目標完成跟蹤或定位。根據(jù)檢測原理,將運動目標檢測方法分為背景差法、幀間差分法和光流法三類。
將一幅或多幅背景圖像的平均值作為背景圖像,利用此背景圖像減去后續(xù)序列圖像的當前幀和背景圖像,以實現(xiàn)背景去除的方法被稱為背景差分法。采用該方法所得到的像素數(shù)大于設定閾值,即可判定運動物體存在于被監(jiān)控場景中。背景差分法的數(shù)學表達式如下:
式中:IDL為背景幀差圖;BL為背景亮度分量;i為幀數(shù);N為序列總幀數(shù);T為閾值。
利用序列的兩幀相減得到亮度差的絕對值。將其與閾值作比較,以判定運動物體是否存在于被監(jiān)控場景中的運動目標檢測方法被稱為幀間差分法。其數(shù)學表達式如下:
式中:IDM為相鄰幀差圖;IM為亮度分量。
光流法的基本原理是:基于亮度恒定、幀間小運動和空間一致的假設前提,根據(jù)圖像序列中像素在時間域上的變化和圖像相鄰幀之間的相關性,得到圖像當前幀與上一幀之間存在的對應關系,從而計算出相鄰幀之間物體的運動信息。光流法的數(shù)學表達式如下:
式中:Ix、Iy、It分別為圖像像素點灰度沿x、y、t方向的偏導數(shù);(u,v)為所求光流矢量。
龍迎春等利用混合高斯模型的背景差法,在攝像頭靜止階段對運動目標進行檢測,實現(xiàn)了對目標的靜止跟蹤[25]。賈其臣使用背景差法檢測目標完成了對行人的檢測與跟蹤計數(shù)[26]。劉磊采用RASUAC 算法剔除誤匹配點,同時使用三幀差法對目標進行檢測,并實現(xiàn)準確定位[14]。祝奔奔等使用金字塔LK 光流法檢測目標提高了障礙物識別的精度[27]。李成美等使用Shi-Tomasi 角點檢測和金字塔LK 光流法結(jié)合檢測目標[28]。邱鵬瑞使用改進的光流法解決了無人機由于飛行不穩(wěn)導致的無法定點懸停的問題[29]。吳琦使用補償角速率的光流微分法計算幀間像素點小位移,并用前后誤差算法提取精度較高的點,以避免像素點跟蹤錯誤,提高了光流測速的精度[30]。
另外,王長亮使用方向梯形度直方圖(histogram of oriected gradient,HOG)特征和局部二值模式(local binary patterns,LBP)特征融合,提高了人體檢測準確度[31];王松使用改進ViBe 檢測算法,提高了算法的檢測性能[32]。
2.2.3 存在的問題及展望
Harris 角點檢測算子具有不受光照旋轉(zhuǎn)影響的優(yōu)勢,但是其旋轉(zhuǎn)不變性、對灰度平移和尺度變化不敏感、不具有尺度不變性等劣勢,使其效果不佳。許佳佳等針對其不具有尺度不變性的缺點,以傳統(tǒng)的Harris算法為基礎構(gòu)建高斯尺度空間,提取了具有尺度不變性的角點特征[33]。雖然SIFT 和SURF 檢測具有較好的旋轉(zhuǎn)魯棒性,但對圖像實時性要求較高的系統(tǒng),此檢測將不再適用。李言俊[34]等以SIFT 特征向量生成過程為基礎,把歐氏距離替換為準歐式距離作為度量,以衡量特征描述符之間的相似度,使SIFT 特征匹配效率得以提高,最終使實時性得到提升。胡訪宇[35]等使用圖變換匹配(graph transform matching,GTM)方法對使用SURF 算法配準的遙感圖像進行去除誤配,使結(jié)果更準確。韓文靜[36]等在SURF 算法中加入了RANSAC剔除誤匹配點算法的程序,提升了定位精度和實時性。而精度和實時性都較好的RANSAC 算法在沒有進一步優(yōu)化時,算法的計算量明顯偏大。賈彤[37]在RANSAC 算法中引入了衡量因子η,通過取η值高的情況作為樣本,從而減少了迭代次數(shù)和時間消耗。
背景差法勝在原理算法設計簡單。但在各種噪聲干擾和復雜環(huán)境條件下,其背景建模的難度極大。Hong Liang 使用高斯混合模型背景法減少了物體檢測和背景建模的時間,同時進一步提高慢運動目標的檢測精度和速度[38]。幀間差分法應用于動態(tài)環(huán)境時具有較好的適應性和穩(wěn)定性,但在環(huán)境運動速度過快或過慢的極端情況時將出現(xiàn)檢測失敗[39]。QU J J[40]將背景差法和幀間差分法相結(jié)合,有效地解決了漏檢、誤檢等情況。光流法在檢測識別目標位置方面具有較高的精度,但其對光照異常敏感且具有實時性差的缺陷。為了提高光流法的檢測實時性,楊葉梅提出一種基于高斯金字塔的改進光流法,并將基于最大類間方差的圖像分割法和形態(tài)學濾波中的開、閉運算結(jié)合使用,使運動區(qū)域提取的時間得以縮短[41]。
特征提取檢測的目的在于明顯區(qū)別目標與周圍環(huán)境信息,穩(wěn)、準、快地檢測、識別出系統(tǒng)自身所需信息。無人機在執(zhí)行飛行作戰(zhàn)任務時,需要綜合各方面性能要求以及成本問題,從而客觀選取更為合適的檢測方法。
當視覺傳感器選定的“零點”為動態(tài)目標時,無人機在完成對此目標的檢測后,需要對其進行識別定位跟蹤,并協(xié)同導航,以確保后續(xù)導航任務的精度。在計算機視覺領域中,視覺目標跟蹤是一個極為重要的分支,具有廣泛的應用范圍。作為人機交互、無人駕駛等領域發(fā)展的基礎,其越來越受到學術界的重視。在線跟蹤時,為了捕捉目標和背景在跟蹤過程中的變化,必須不斷更新外觀模型。視覺目標跟蹤基本框圖如圖2所示。
圖2 視覺目標跟蹤基本框圖Fig.2 Basic block diagram of visual target tracking
2.3.1 目標跟蹤方法
視覺目標跟蹤算法可根據(jù)其觀測模型分為生成式方法和判別式方法。近年來,以相關濾波和深度學習為代表的判別式跟蹤方法以其速度快、效果好的優(yōu)勢,逐步取代生成式跟蹤方法,一躍成為學術界的研究熱點。
基于相關濾波的跟蹤思想是在目標區(qū)域訓練回歸器,再在下一幀的目標區(qū)域中尋找響應最大的位置(即目標位置),公式如下:
式中:F為目標區(qū)域傅里葉變換;H為濾波模板傅里葉變換,H*為H的共軛轉(zhuǎn)置;G為最終響應。
為減少計算量,采用如下模板更新策略:
式中:η為模板更新速率。
生成類方法的原理是以當前幀對目標區(qū)域建立的模型為基礎,在下一幀尋找與所建立目標區(qū)域數(shù)學模型最為相似的區(qū)域作為預測位置。其中,粒子濾波、卡爾曼濾波、Camshift 和Meanshift 等是具代表性的生成類目標跟蹤方法。齊會云為提高對動態(tài)目標的跟蹤效果,使用基于CS 模型的交互式多模型例子濾波算法,提升了跟蹤精度[42]。劉磊使用粒子濾波算法完成了對運動目標的跟蹤[14]。李成美等利用卡爾曼濾波法預測目標下一幀位置,完成了動態(tài)目標的精準跟蹤[28]。李曉松[43]和賈其臣[26]使用了同樣的方法對目標進行預測。王長亮針對人體形態(tài)易發(fā)生變化和出現(xiàn)遮擋的問題,使用了Camshift 算法與擴展卡爾曼算法融合的跟蹤算法[31]。賈配洋等針對目標識別速度慢的問題,提出了以Apriltags 識別算法結(jié)合卡爾曼算法,實現(xiàn)實時跟蹤目標[44]。Ha N P 等利用可見光傳感器和卡爾曼濾波,完成了無人機在無GPS 情況下的安全降落[45]。張仁蒲使用改進的Meanshift 算法,也同樣解決了目標遮擋丟失的問題[46]。
判別類方法的原理是將當前幀中的目標區(qū)域和背景區(qū)域分別作為正、負樣本用以訓練分類器,并使用此分類器在下一幀數(shù)據(jù)中尋找最優(yōu)目標區(qū)域。其中,核相關濾波(kernel correlation filter,KCF)算法、高效卷積算子(efficient convolution operators,ECO)以及基于神經(jīng)網(wǎng)絡的深度學習式判別跟蹤方法是受到研究者廣泛關注的基于相關濾波的判別類跟蹤方法。王松使用KCF 算法完成了對視頻中運動目標的檢測[32]。程子一等應用改進的KCF 算法解決了目標被嚴重遮擋的問題[47]。劉金花使用視覺處理器(graphics processing unit,GPU) 加速KCF 算法,實現(xiàn)了目標的高速跟蹤[48]。王楊使用改進的KCF 算法解決了目標較大形變的問題[49]。劉延飛等在KCF 的基礎上提出了一種基于異常值檢測的方法,為目標丟失后何時載入目標重檢測定位提供可靠的依據(jù)[50]。ECO 算法是以CCOT 算法為基礎,從模型大小、樣本集大小和更新策略三個方面加以提速演進而來的。在對比了多種相關濾波算法后,Danelljan M 等闡明了ECO 算法在實時性和快速準確性方面的優(yōu)勢[51]。翁靜文等提出的ECOHC(ECO+HOG+CN 特征)、跟蹤算法解決了無人機指定行人跟蹤中目標遮擋嚴重、尺度變化大的問題[52]。由于深度特征對目標具有強大的表示能力,因此其與神經(jīng)網(wǎng)絡的結(jié)合在計算機視覺目標跟蹤領域得到了充分的發(fā)展。Michels J 等利用深度學習完成了在非結(jié)構(gòu)化的戶外環(huán)境高速駕駛遠程控制車的任務[53]。Mannar S 等則利用監(jiān)督學習導出與障礙物間的真實距離,從而實施避障[54]。Fornari G 等使用人工神經(jīng)網(wǎng)絡(artificial neural network,ANN)作為邊緣檢測器,通過視覺完成GPS 被破壞情況下的無人機自主跟蹤導航[55]。另外,Choi H 等又提出一種非線性自適應觀測器,通過估計狀態(tài)和參數(shù)仿真實現(xiàn)無人機對目標的跟蹤[56]。李曉偉等也通過基于上下文的STC 算法驗證了其對運動目標跟蹤的有效性[57]。
2.3.2 存在的問題及展望
視覺目標跟蹤本身就是一個極具挑戰(zhàn)的任務,而且運動場景往往較為復雜、多變。要想出色地完成目標跟蹤的任務,就必須考慮目標遮擋、形變、尺度變換以及背景雜亂等問題,同時必須考慮實時性和準確性。
粒子濾波是基于蒙特卡洛方法的一種順序重要性采集法,用于表示從后驗概率中提取的隨機狀態(tài)粒子的分布。盡管它在非線性、非高斯系統(tǒng)中具有優(yōu)勢,但需要大量樣本才能逼近系統(tǒng)的后驗概率密度,因而會由于算法復雜程度的提升而產(chǎn)生樣本貧化的問題。因此,在保證樣本多樣性和有效性的同時,如何克服樣本貧化的是該算法亟待解決的問題。卡爾曼濾波的使用過程中,當運動目標長時間被遮擋時會產(chǎn)生目標丟失的問題。Camshift 是由Meanshift 推演而來的。雖然其在目標大小發(fā)生變化時可自適應調(diào)整跟蹤區(qū)域,但在目標出現(xiàn)運動過快的極端情況下仍會發(fā)生目標丟失的問題。KCF 使用的是多通道梯度的HOG 特征,其跟蹤響應速度極快、實時性好。但對于高速運動的目標,無法實現(xiàn)跟蹤且目標,一旦被遮擋也會導致跟蹤失敗。相比之下,僅以性能來說,ECO 是目前較好的相關濾波算法,但其深度特征的能力并沒有發(fā)揮出來。未來對于ECO 的研究重點應該是在不改變現(xiàn)有優(yōu)秀性能的前提下,發(fā)揮其深度特征的作用。而深度學習執(zhí)行的分類任務是區(qū)分類間差距,這與目標任務所研究的對于環(huán)境信息和目標信息的區(qū)分存在著本質(zhì)上的不同。若要使基于深度學習的目標跟算法得到長足的發(fā)展,必須將在分類圖像數(shù)據(jù)集上訓練的卷積神經(jīng)網(wǎng)絡遷移到目標跟蹤。
從圖像中提取的目標特征可用于估計無人機自身的運動狀態(tài)。無人機的定位和導航問題的解決將依賴于這些運動狀態(tài)的準確估計。將視覺傳感器信息、GPS 數(shù)據(jù)信息、慣性傳感器數(shù)據(jù)信息進行融合,可使無人機位置的估計更加準確。
一種思路是利用光流傳感器與慣性導航系統(tǒng)融合,以完成無人機的自主導航任務。IMU 組合光流傳感器估計位置和速度如圖3 所示。
圖3 IMU 組合光流傳感器估計位置和速度示意圖Fig.3 IMU combined optical flow sensor estimation position and velocity diagram
李濤等提出了一種基于擴展卡爾曼濾波的,將慣導系統(tǒng)、光流、磁強計和氣壓計數(shù)據(jù)融合的組合導航系統(tǒng)。該系統(tǒng)有效地解決了在速度、位置、姿態(tài)估計過程中存在累計誤差的問題[58]?;┧C在無人機靜止或處于勻速運動狀態(tài)時,將陀螺儀和磁強計的數(shù)據(jù)進行融合,以估計無人機的姿態(tài)。在無人機處于加速或減速的狀態(tài)時,使用陀螺儀數(shù)據(jù)來估計無人機的姿態(tài)。較僅使用捷聯(lián)慣性導航系統(tǒng)對無人機姿態(tài)進行估計而言,該方案使無人機姿態(tài)估計的誤差大大降低[59]。余超凡等通過將塊匹配法采到的光流值與IMU 數(shù)據(jù)進行卡爾曼濾波,實時獲取當前的環(huán)境信息,為后續(xù)實時避障提供了實時路徑規(guī)劃[60]。張午陽等利用了光流傳感器和超聲波模塊,完成了無GPS 情況下的定點懸停[61]。曾幼涵等也用光流傳感器和慣性元件的融合,完成了無人機在無GPS 下的導航[62]。Mostafa M 等通過擴展卡爾曼濾波將光流數(shù)據(jù)、雷達數(shù)據(jù)、IMU 數(shù)據(jù)、氣壓計和磁力計計量值進行融合增強了無人機在全球衛(wèi)星導航系統(tǒng)(global navigation satellite system,GNSS)信號中斷期間的導航精度[63]。Amedeo V 等利用車輛之間的差分GPS 和基于視覺的跟蹤(DGPS/Vision)構(gòu)建虛擬的附加導航傳感器,然后將其信息進行擴展卡爾曼過濾,以實現(xiàn)多無人機協(xié)作導航[64]。Arreola L 等通過將密集光流算法、GPS 和慣性元件融合,完成了低成本的懸停和跟蹤[65]。
另一種思路是利用視覺SLAM 法完成定位導航。曹美會等利用視覺SLAM 輔助測量位置信息,從而控制無人機在GPS 缺失情況下的自主飛行控制[66]。Jean Liénard 等利用VSLAM 完成了三維景象的實時重建[16]。
還有一些研究者使用基于模型的信息融合法實現(xiàn)無人機自主導航。Hinas A 等通過基于OODA 的高級決策算法,分辨出無人機本身是處于定位、下降還是懸停階段,然后通過Mavros 連續(xù)向自動駕駛儀發(fā)送本地位置信息,以實現(xiàn)導航任務[67]。
視覺導航的研究內(nèi)容主要集中于視覺圖像預處理、目標檢測提取、目標識別跟蹤和數(shù)據(jù)融合等方面。背景差法、幀間差分法、光流法等是運動目標跟蹤的典型方法。而在靜態(tài)目標跟蹤時,通常使用角點提取、SIFT 算法檢測、SURF 檢測、RANSAC 算法等方法。狀態(tài)估計可由目標跟蹤通過分析特征來實現(xiàn),同時與其他傳感器采集到的數(shù)據(jù)進行融合,卡爾曼濾波、粒子濾波、人工神經(jīng)網(wǎng)絡是常用方法。
由于現(xiàn)實條件的制約,很多問題還亟待解決。首先,由于無人機受到載重、續(xù)航等物理條件的約束,需要對無人機視覺導航進行更加深入的研究,以適應無人機在飛行速度上的提升和算法處理實時性方面的提高。與理想條件相比,實際應用中的環(huán)境噪聲干擾等不確定因素會導致實物試驗的失敗。所以,如何將技術較為成熟的地面機器人視覺導航研究成果推廣到無人機視覺導航中、如何在不過分犧牲導航精度的前提下提升無人機算法的響應速度、如何使無人機在未知環(huán)境下自適應地估計自身狀態(tài)從而完成導航任務,將成為需要進一步探討的重點問題。