周 清,許悅雷,加爾肯別克
(西北工業(yè)大學(xué)無人系統(tǒng)技術(shù)研究院,西安 710072)
無人機(jī)自主空中加油(Aerial Refueling, AR)導(dǎo)航主要包括對(duì)加油錐套的檢測(cè)、跟蹤、位姿計(jì)算三個(gè)方面。在加油過程中,加油機(jī)和受油機(jī)由遠(yuǎn)及近。在處于遠(yuǎn)端階段時(shí),加油錐套所占成像像素比重較小,錐套信息的獲取更容易受到視野中干擾源的影響。由于此階段還未涉及對(duì)接任務(wù),主要工作在于檢測(cè)和跟蹤到加油錐套,從而進(jìn)行靠近。當(dāng)加油機(jī)和受油機(jī)距離較近時(shí),在檢測(cè)和跟蹤的同時(shí)進(jìn)行錐套的位姿計(jì)算,準(zhǔn)確獲取錐套與受油錐頭的相對(duì)位姿,并反饋給飛控系統(tǒng),引導(dǎo)受油機(jī)自主對(duì)接錐套。
目前,在航空航天領(lǐng)域的對(duì)接任務(wù)中,根據(jù)任務(wù)目標(biāo)的不同,可分為合作目標(biāo)對(duì)接任務(wù)和非合作目標(biāo)對(duì)接任務(wù)。合作目標(biāo)對(duì)接任務(wù)具有計(jì)算量相對(duì)較小、精度較高等優(yōu)勢(shì)。合作目標(biāo)的相對(duì)導(dǎo)航技術(shù)發(fā)展已較為成熟, 目前包括美國的自主交會(huì)技術(shù)驗(yàn)證( Demonstration of Autonomous Rendezvous Technology, DART)試驗(yàn)和我國的空間站計(jì)劃等均已實(shí)現(xiàn)了合作目標(biāo)的自主相對(duì)導(dǎo)航。而對(duì)于非合作目標(biāo)捕獲技術(shù),目前還沒有找到公開報(bào)道的在軌演示驗(yàn)證[1-2]。而對(duì)于無人機(jī)空中加油任務(wù),完全可以采取加油機(jī)和受油機(jī)合作的方式。通常事先對(duì)加油錐套進(jìn)行光學(xué)特征點(diǎn)的標(biāo)記(在加油錐套坐標(biāo)系下的坐標(biāo)已知),如LED燈、紅外、人工特殊顏色等。
德州農(nóng)工大學(xué)的Valasek等研究了VisNav系統(tǒng),將紅外LED安裝在錐套上,采集紅外LED的數(shù)據(jù)后,利用高斯最小二乘微分校正算法得到六自由度導(dǎo)航信息。圖像處理簡(jiǎn)便,提高了測(cè)量精度及處理速度[3]。比薩大學(xué)的Pollini等研究了基于被動(dòng)視覺傳感器的相對(duì)導(dǎo)航系統(tǒng)[4]。該系統(tǒng)采用多個(gè)紅外LED作為標(biāo)志。他們建立了偽實(shí)時(shí)閉環(huán)仿真系統(tǒng),經(jīng)過特征點(diǎn)提取及正交迭代算法[5]處理后得到虛擬相機(jī)與錐套之間的相對(duì)位姿信息。在國內(nèi),西北工業(yè)大學(xué)的宋春華等將安裝在錐套內(nèi)環(huán)的4個(gè)近紅外LED作為特征標(biāo)志,通過近紅外成像的方式提取錐套的特征紅外LED標(biāo)記圓,以其圓心作為特征點(diǎn),利用4個(gè)特征點(diǎn)進(jìn)行橢圓擬合,將擬合的圓心作為錐套的中心[6]。北京航空航天大學(xué)的解洪文及西北工業(yè)大學(xué)的紀(jì)超等為解決傳統(tǒng)單目視覺導(dǎo)航算法更新速度慢、易受干擾等問題,分別提出了基于雙目視覺的空中加油導(dǎo)航方法[7-8]。將布置在錐套端面上的多個(gè)光學(xué)標(biāo)志作為目標(biāo)特征,利用雙目視覺系統(tǒng)計(jì)算出光學(xué)標(biāo)志的空間位置,通過空間圓的圓心及法線方向可以計(jì)算出錐套的位置和姿態(tài)。仿真結(jié)果表明,該方法在距離較近時(shí)位置和姿態(tài)測(cè)量精度非常高。國內(nèi)空軍工程大學(xué)的王旭峰等建立了自主空中加油的一個(gè)視覺相對(duì)導(dǎo)航半物理地面試驗(yàn)平臺(tái),并在加油錐套斷面區(qū)域加裝了紅色標(biāo)識(shí)環(huán)帶,利用顏色及錐套環(huán)帶對(duì)錐套進(jìn)行目標(biāo)識(shí)別,通過Kalman濾波估計(jì)得到相對(duì)位姿[9]。
通過對(duì)加油技術(shù)發(fā)展現(xiàn)狀的總結(jié)分析可知,無人機(jī)空中加油需要解決魯棒性和精度問題。上文介紹的文獻(xiàn)中均獲得較好的精度,但這些傳統(tǒng)的加油對(duì)接導(dǎo)航方法很難突破魯棒性瓶頸。而近年來,深度學(xué)習(xí)在目標(biāo)檢測(cè)方面展現(xiàn)出很高的魯棒性,且當(dāng)前基于回歸的目標(biāo)檢測(cè)方法(一步法)已展現(xiàn)出良好的實(shí)時(shí)性[10]。但位姿計(jì)算采用成熟的傳統(tǒng)算法比神經(jīng)網(wǎng)絡(luò)算法可靠得多。所以本研究的思路為,采用深度學(xué)習(xí)方法進(jìn)行錐套目標(biāo)檢測(cè)和跟蹤,輔助傳統(tǒng)方法進(jìn)行位姿計(jì)算;神經(jīng)網(wǎng)絡(luò)可以很好地彌補(bǔ)傳統(tǒng)方案中魯棒性不高的缺點(diǎn),因此先采用神經(jīng)網(wǎng)絡(luò)尋找到目標(biāo),再在目標(biāo)的小范圍內(nèi)進(jìn)行特征點(diǎn)的提取,發(fā)揮深度學(xué)習(xí)和傳統(tǒng)方案的優(yōu)勢(shì)。
采用深度學(xué)習(xí)進(jìn)行錐套目標(biāo)的檢測(cè)和跟蹤,神經(jīng)網(wǎng)絡(luò)由于具有高魯棒性特點(diǎn)可以很好地完成這一步驟。當(dāng)檢測(cè)到加油錐套后,對(duì)檢測(cè)框內(nèi)的目標(biāo)采用傳統(tǒng)算法進(jìn)行特征點(diǎn)檢測(cè)、提取和匹配以計(jì)算加油錐套的準(zhǔn)確位姿。
檢測(cè)跟蹤算法的原型選擇技術(shù)上較為成熟的yolov3算法。yolov3算法為單步檢測(cè)算法,速度上比Fater R-CNN快10倍左右。鑒于本任務(wù)的特點(diǎn),對(duì)此算法進(jìn)行了一定的改進(jìn),適當(dāng)減小通道和層數(shù)。為了節(jié)省資源,在檢測(cè)到錐套目標(biāo)后,切換為更加輕量和快速的跟蹤算法。本方案跟蹤算法為檢測(cè)算法輕量化,同時(shí)其檢測(cè)范圍比檢測(cè)算法小,能夠在不失準(zhǔn)確性的同時(shí)獲得更高的速度。
雙目視覺算法主要包括3個(gè)過程:特征點(diǎn)提取、三維重建、相對(duì)位姿計(jì)算。首先提取到紅色人工標(biāo)記點(diǎn)的像素坐標(biāo);然后利用左右圖像標(biāo)記點(diǎn)坐標(biāo)的關(guān)系進(jìn)行坐標(biāo)點(diǎn)的特征點(diǎn)三維重建;進(jìn)而求得錐套目標(biāo)坐標(biāo)系和受油機(jī)坐標(biāo)系的轉(zhuǎn)換關(guān)系,即為加油錐套的位姿。
采用檢測(cè)算法檢測(cè)到加油錐套后,檢測(cè)算法停止運(yùn)算,將結(jié)果傳遞給跟蹤算法,跟蹤算法為檢測(cè)算法輕量化,通道減半,檢測(cè)范圍縮小,速度為檢測(cè)算法的2.5倍,以進(jìn)一步提高程序的時(shí)效性。
網(wǎng)絡(luò)為邊界框預(yù)測(cè)4個(gè)坐標(biāo)tx,ty,tw,th。如果方格從圖像左上角偏移(cx,cy),并且先驗(yàn)邊界框?qū)挾群透叨确謩e為pw和ph,則相應(yīng)的預(yù)測(cè)如下
bx=σ(tx)+cx
(1)
by=σ(ty)+cy
(2)
bw=pwetw
(3)
bh=pheth
(4)
使用邏輯回歸為每一個(gè)邊界框預(yù)測(cè)目標(biāo)分?jǐn)?shù)。如果某個(gè)先驗(yàn)邊界框與真實(shí)邊界框重疊的部分比其他先驗(yàn)邊界框大,則這個(gè)邊界框的目標(biāo)分?jǐn)?shù)就設(shè)置為1。如果某個(gè)邊界框不是最好的邊界框,但是和真實(shí)邊界框的重疊部分超過預(yù)設(shè)閾值(在該算法中這個(gè)預(yù)設(shè)閾值設(shè)置為0.5),則這個(gè)預(yù)測(cè)將會(huì)被忽略。為每個(gè)真實(shí)標(biāo)記目標(biāo)分配一個(gè)邊界框,如果邊界框沒有被分配到一個(gè)真實(shí)標(biāo)記目標(biāo)上,則不會(huì)產(chǎn)生坐標(biāo)或預(yù)測(cè)損失,只是說明有物體。
在3個(gè)不同的尺度上預(yù)測(cè)目標(biāo),用一個(gè)與特征金字塔網(wǎng)絡(luò)類似的概念從這些尺度上提取出特征。在基礎(chǔ)特征提取器上添加了幾個(gè)卷積層,用最后幾層預(yù)測(cè)一個(gè)三維張量來編碼邊界框,并進(jìn)行目標(biāo)識(shí)別。對(duì)從前兩層中提取的特征圖進(jìn)行上采樣至2倍,然后取一個(gè)網(wǎng)絡(luò)早期的特征圖,并用連接將它和上采樣特征合并。這可以從上采樣的特征中獲取更豐富的語義信息,從早期的特征圖中獲取更多細(xì)粒度的信息。最后增加幾層卷積網(wǎng)絡(luò)來處理這個(gè)合成的特征圖,并最終預(yù)測(cè)一個(gè)相似的張量。然后把同樣的設(shè)計(jì)在最終尺寸預(yù)測(cè)框上重新執(zhí)行一遍。因此,對(duì)第三尺度的預(yù)測(cè)受益于所有先前的計(jì)算和網(wǎng)絡(luò)早期的細(xì)粒度特征。
網(wǎng)絡(luò)連續(xù)地使用3×3和1×1的卷積層,同時(shí)也有一些跨層連接,總共有42層。如表1所示。
表1 特征提取網(wǎng)絡(luò)Tab.1 Feature extraction network
在完成對(duì)錐套的檢測(cè)跟蹤后,進(jìn)行標(biāo)記點(diǎn)的提取工作。標(biāo)記點(diǎn)采用紅色貼片,如圖3和圖4所示。從圖中可見,攝像頭左右照片曝光程度不同,左攝像頭曝光低,右攝像頭曝光高。為更加突出特征點(diǎn)的細(xì)節(jié)信息,可對(duì)照片進(jìn)行修正。首先,采用伽馬變換對(duì)左攝像頭進(jìn)行圖像增強(qiáng)處理。由于左攝像頭照片偏暗,需對(duì)灰度級(jí)較低的區(qū)域進(jìn)行拉伸,因此將gamma值設(shè)置為小于1的數(shù),此處設(shè)置為0.8,效果圖如圖6所示。另外,由于左右攝像頭照片曝光程度不同,這可能造成后續(xù)左右特征點(diǎn)提取不對(duì)稱。所以,以左攝像頭伽馬變換后的照片為基準(zhǔn),對(duì)這2張照片進(jìn)行直方圖規(guī)定化。加油錐套左圖直方圖如圖7所示。圖8為錐套右圖以左圖為基準(zhǔn)的直方圖規(guī)定化前后效果。
對(duì)于目標(biāo)的顏色特征,采用HSV空間比RGB空間更易提取[11]。為了分割出有紅色標(biāo)記的圖像區(qū)域,需要對(duì)HSV圖片的色調(diào)、飽和度及亮度的上下限進(jìn)行選擇以進(jìn)行閾值分割。從圖9可以看出,分割效果十分理想。接著,需要進(jìn)行輪廓檢測(cè),找到標(biāo)記區(qū)域并以每個(gè)標(biāo)記點(diǎn)的質(zhì)心坐標(biāo)作為特征點(diǎn)。這里,為了消除噪聲干擾,需要對(duì)圖片進(jìn)行中值濾波和開操作、閉操作的形態(tài)學(xué)處理方法。另外,攝像頭鏡頭并非理想的小孔成像模型,其本身帶有一定的畸變。為了消除畸變,需要對(duì)特征點(diǎn)像素坐標(biāo)進(jìn)行校正,將提取的特征點(diǎn)按一定順序以矩陣的形式保存。
由于左右特征點(diǎn)皆是按相同的順序保存,這給特征點(diǎn)匹配工作帶來了很大的便利。雙目視覺三維重建原理如圖1所示,用C1和C2這2臺(tái)攝像機(jī)同時(shí)拍攝空間中一點(diǎn)P,通過圖像匹配可以確定左、右成像平面上的投影點(diǎn)P1和P2為P的成像點(diǎn)。利用立體幾何關(guān)系,有如下公式
圖1 雙目視覺三維重建原理Fig.1 Binocular vision three-dimensional reconstruction principle
(5)
(6)
式(5)和式(6)中分別消去Zcl和Zcr,得到關(guān)于[XbYbZb]的方程組
(7)
寫成矩陣的形式為
AX=b
(8)
X代表P點(diǎn)在受油機(jī)坐標(biāo)系下的坐標(biāo),理論上,式(8)有唯一解,但在實(shí)際應(yīng)用中由于噪聲的影響導(dǎo)致式(8)不一定有解,此時(shí)可以用最小二乘法求解,即
X=(ATA)-1ATb
(9)
位姿估計(jì)算法所要解決的根本問題是獲取受油機(jī)和加油錐套之間的相對(duì)位置和相對(duì)姿態(tài),即加油錐套和受油機(jī)相對(duì)位姿問題,實(shí)際上即是求解2個(gè)三維坐標(biāo)系之間的平移和旋轉(zhuǎn)問題。首先通過三維重建算法獲得特征點(diǎn)的空間坐標(biāo)。另外特征點(diǎn)在目標(biāo)體坐標(biāo)系下的坐標(biāo)為已知量。于是可以根據(jù)特征點(diǎn)在2個(gè)坐標(biāo)系下的坐標(biāo)求得受油機(jī)和加油錐套的相對(duì)位姿。
設(shè)加油錐套開始的相對(duì)位姿為位姿Ⅰ,表示為(R,t);經(jīng)過一段時(shí)間的相對(duì)運(yùn)動(dòng)之后,相對(duì)位姿變?yōu)槲蛔刷?,表示?R′,t′),如圖2所示。
圖2 加油錐套相對(duì)位姿示意圖Fig.2 Drogue relative posture
旋轉(zhuǎn)矩陣R是一個(gè)三維矩陣,它表示了2個(gè)坐標(biāo)系各坐標(biāo)軸之間的旋轉(zhuǎn)關(guān)系。假設(shè)空間中的某點(diǎn)P在加油錐套坐標(biāo)系和攝像機(jī)坐標(biāo)系中的坐標(biāo)分別為Pt=(Xt,Yt,Zt)T和Pc=(Xc,Yc,Zc)T,則有如下變換公式
Pc=RPt+t
(10)
常用的旋轉(zhuǎn)矩陣的表示方法有歐拉角表示法和四元數(shù)表示法兩種[12]。由于歐拉角在±90°位置存在奇異的問題,而且四元素具有4個(gè)自由度,任意旋轉(zhuǎn)與單位四元數(shù)之間的關(guān)系都是一一對(duì)應(yīng)的[13]。旋轉(zhuǎn)矩陣與單位四元數(shù)的轉(zhuǎn)換關(guān)系可以表示為
(11)
對(duì)于每個(gè)特征點(diǎn)其測(cè)量誤差為
ei=Pci-(RPti+t)
(12)
解決位姿估計(jì)問題的方法之一就是通過各點(diǎn)誤差平方之和的最小化來估計(jì)位姿參數(shù)(R,t),即將以下關(guān)于(R,t)的目標(biāo)函數(shù)最小化
(13)
采用解析法對(duì)式(13)進(jìn)行求解,即直接將特征點(diǎn)在2個(gè)坐標(biāo)系下的坐標(biāo)值代入式(13),建立關(guān)于(R,t)的方程組,然后解出位姿參數(shù)(R,t)[14]。從具體算法角度,采用單位四元數(shù)法對(duì)式(13)進(jìn)行最小化問題的求解[15-16]。
由于坐標(biāo)重心化轉(zhuǎn)換模型可有效地解決法方程的病態(tài)問題。首先,將特征點(diǎn)在攝像機(jī)坐標(biāo)系和目標(biāo)坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換為重心化坐標(biāo),代入式(10)進(jìn)行計(jì)算。通過化簡(jiǎn),得到目標(biāo)函數(shù)為
(14)
最小化式(12)相當(dāng)于最大化式(13)。構(gòu)造M矩陣后,對(duì)其進(jìn)行特征值分解,求出最大的特征值及其對(duì)應(yīng)的特征向量。
假設(shè)矩陣M的4個(gè)特征值為λi(i=1,2,3,4),與之對(duì)應(yīng)的4個(gè)特征向量為ei(i=1,2,3,4),則有
定義2 端到端的時(shí)延:是指一個(gè)數(shù)據(jù)包從源節(jié)點(diǎn)到達(dá)目的節(jié)點(diǎn)所花費(fèi)的時(shí)間,它是一個(gè)重要的衡量指標(biāo),因?yàn)樗拇笮∧軌蛑苯臃磻?yīng)出路由協(xié)議的性能,這里取平均值.
Mei=λiei,(i=1,2,3,4)
(15)
考慮是一個(gè)四維向量,任意的單位四元數(shù)q可以由線性表示出來。即
q=a1e1+a2e2+a3e3+a4e4
(16)
因?yàn)閝是單位四元數(shù),所以
(17)
假設(shè)最大的特征值為λi,則
(18)
故當(dāng)a1=1,a2=a3=a4=0時(shí),D可取得最大值。此時(shí)的單位四元數(shù)為q=e1,即為矩陣M最大的特征值所對(duì)應(yīng)的特征向量。
求得了單位四元數(shù)q之后,將其代入式(11)即可求得旋轉(zhuǎn)矩陣R,然后利用R和t的約束關(guān)系即可求出平移向量t。
試驗(yàn)指標(biāo)要求如下:穩(wěn)定跟蹤鎖定目標(biāo)距離范圍應(yīng)不小于40m;位置精度應(yīng)滿足與目標(biāo)距離≤10m時(shí),距離誤差優(yōu)于±10cm。
帶標(biāo)記的加油錐套原圖如圖3和圖4所示。雙目位姿計(jì)算僅需4個(gè)特征點(diǎn)即可,此處采用7個(gè),通過最小二乘法擬合,還對(duì)遮擋情況具有一定的抗干擾性。圖5所示為左攝像頭圖片的檢測(cè)跟蹤效果圖,可見有比較好的檢測(cè)跟蹤效果,而且由于采用深度學(xué)習(xí)算法,魯棒性也較好。
圖3 加油錐套左攝像頭照片F(xiàn)ig.3 Drogue left photo
圖4 加油錐套右攝像頭照片F(xiàn)ig.4 Drogue photo by right camera
圖5 加油錐套左圖跟蹤效果圖Fig.5 The tracking effect of drogue in left photo
圖6 加油錐套左圖增亮處理Fig.6 Image enhancement of drogue in left photo
圖7 加油錐套左圖直方圖Fig.7 Histogram of drogue in left photo
圖8 加油錐套右圖直方圖規(guī)范化Fig.8 Histogram specification of drogue in right photo
提取檢測(cè)框內(nèi)的圖片內(nèi)容進(jìn)行圖像分割處理,繼而進(jìn)行圖片處理和特征點(diǎn)計(jì)算,并結(jié)合檢測(cè)跟蹤程序傳遞來的坐標(biāo),計(jì)算出左右圖像特征點(diǎn)的坐標(biāo)值。圖9和圖10所示分別為左攝像頭照片特征分割和特征點(diǎn)提取效果圖。由圖可見,提取效果良好。
圖9 左攝像頭照片特征分割Fig.9 Feature segmentation in left photo
圖10 左攝像頭照片特征提取Fig.10 Feature extraction in left photo
最后,通過左右照片特征匹配即可得到特征點(diǎn)的空間坐標(biāo)。并通過四元數(shù)計(jì)算加油錐套位姿。表2所示為計(jì)算得出7個(gè)特征點(diǎn)的空間坐標(biāo),表中數(shù)據(jù)為四舍五入后結(jié)果。
表2 特征點(diǎn)空間坐標(biāo)Tab.2 Spatial coordinates of feature points
從表2可求得加油錐套和無人機(jī)相對(duì)位姿為:R=([0.92, -0.13, -0.38], [-0.21, -0.96, 0], [-0.34, 0.23, -0.91]),轉(zhuǎn)化為歐拉角為:俯仰角θ=20.18°;偏航角ψ=-14.20°;滾轉(zhuǎn)角Φ=-12.63°。t=([-0.40], [-0.10], [6.51])。
當(dāng)捕獲目標(biāo)距離為40m時(shí),垂直視場(chǎng)高46m。攝像機(jī)垂直分辨率為1080,故加油錐套在垂直方向占1080×0.6/46≈14個(gè)像素。同理,推理得水平方向亦占14個(gè)像素。經(jīng)過實(shí)驗(yàn)表明,本文跟蹤算法通過調(diào)整padding框的大小可以實(shí)現(xiàn)9×9個(gè)像素穩(wěn)定跟蹤,滿足設(shè)計(jì)要求。
對(duì)第一個(gè)和第二個(gè)特征點(diǎn)真實(shí)距離采用激光測(cè)量,和本文算法得出的試驗(yàn)結(jié)果進(jìn)行比較,距離精度如下。
表3 特征點(diǎn)距離精度Tab.3 Distance error of feature points
統(tǒng)計(jì)結(jié)果表明,在10m內(nèi),錐套位姿計(jì)算精度可達(dá)厘米級(jí)。
本文針對(duì)無人機(jī)空中加油實(shí)際工程問題,提出了一種切實(shí)可行的技術(shù)思路。算法分析和實(shí)驗(yàn)結(jié)果表明:
1)加油錐套檢測(cè)跟蹤算法具有良好的魯棒性和精度,為后續(xù)位姿計(jì)算帶來了很大的方便。
2)采用標(biāo)記點(diǎn)進(jìn)行基于雙目視覺的位姿計(jì)算方案計(jì)算簡(jiǎn)潔,精確度高。
3)為了提高識(shí)別效果,本方案特征點(diǎn)亦可采用LED燈或紅外形式。