畢道明,黃 輝,范 靜,陳恭彥,張 海
(1.國防科技大學空天科學學院,長沙410073;2.沈陽飛機設計研究所,沈陽110035;3.北京航空航天大學自動化科學與電氣工程學院,北京100191)
艦載機、航母間的相對定位與運動測量對著艦安全有著決定性作用,考慮到全球?qū)Ш叫l(wèi)星系統(tǒng)存在被干擾的可能[1],開展全自主抗干擾著艦定位技術(shù)研究有著十分重要的意義?;诜呛献髂繕说囊曈X著艦技術(shù),可以最大限度地降低系統(tǒng)間耦合性,并提高系統(tǒng)可用性,是重要的發(fā)展方向。
視覺著艦系統(tǒng)利用機載攝像頭獲取目標的圖像信息,通過圖像處理技術(shù)計算出無人機與甲板的相對位姿,最后將位姿信息發(fā)送給飛行控制系統(tǒng),引導無人機自主完成著艦動作[2]。許多研究機構(gòu)與高校都開展了相關(guān)方面的研究,并取得一定的研究成果。文獻[3]和文獻[4]利用特征點匹配計算兩幀圖像的位姿變換,其特征點提取方法受到環(huán)境干擾影響較大,且不能直接得出無人機與艦船的相對位姿,需要借助一方的絕對位姿信息。文獻[5]設計了一種T形紅外熱輻射合作目標來引導著艦;文獻[6]設計了一種彩色非對稱合作目標,通過計算合作目標的最小周長多邊形來獲取輪廓上的角點;文獻[7]設計了一種新型的三維立體合作目標與定位算法,提升了著艦過程中的抗遮擋魯棒性。然而針對合作地標點的位姿解算依靠艦船,隱蔽性較差,且不能做到真正的自主性。
針對上述問題,本文提出了一種視覺著艦中魯棒的非合作特征點匹配算法,僅利用航母自身建筑及標志標線的結(jié)構(gòu)特性選取位置穩(wěn)定的結(jié)構(gòu)特征點,可以有效避免現(xiàn)有特征點算法因成像質(zhì)量、視角變化等原因造成的特征點位置不穩(wěn)定問題,特征點匹配誤差小于1個像素,進而保證視覺解算精度,并具有抗戰(zhàn)損、全自主的優(yōu)點。
視覺著艦的關(guān)鍵是:艦載機在下滑過程中,能夠準確獲得位置精確已知的視覺特征點,進而通過機器視覺解算,得到艦載機與航母的相對位置與運動信息。為滿足不同情況下視覺著艦的要求,如圖1所示,非合作視覺特征點能夠穩(wěn)定存在、定位精度高,且具有合理的分布,提高視覺位姿解算的精度。所謂非合作視覺特征點,指的是僅利用航母自身建筑及標志標線的結(jié)構(gòu)特性選取位置穩(wěn)定的結(jié)構(gòu)特征點,而不依靠人為放置額外標志物,從而可以達到全自主的優(yōu)點。目前視覺導航中應用最為廣泛的視覺特征有基于加速分割的特征[8](Fea?tures from accelerated segment test,F(xiàn)AST)、有向FAST與旋轉(zhuǎn)BRIEF[9](Oriented FAST and rotat?ed BRIEF,ORB)、加速魯棒特征[10](Speeded up robust feature,SURF)等。
圖1 視覺著艦問題描述Fig.1 Problem description of visual landing
ORB特征是一種改進的FAST角點特征,在考慮像素鄰域點的灰度變化的基礎(chǔ)上計算了特征點的主方向。然而其基本原理仍然是考慮圖像的灰度變化,沒有利用周圍環(huán)境信息的約束,無法對特征點進行穩(wěn)定有效檢測。
SURF特征被認為是目前精度最高、穩(wěn)定性最好的特征匹配算法,其是對尺度不變特征變換[11](Scale invariant feature transform,SIFT)特征的改進,其基本結(jié)構(gòu)、步驟與SIFT相近,但具體實現(xiàn)的過程有所不同。然而SIFT、SURF特征點為不同尺度下小區(qū)域圖像內(nèi)容的統(tǒng)計指標峰值,從提取原理上看,該方法避免了特征點出現(xiàn)在直線上,其特征點與結(jié)構(gòu)近似無關(guān),不能作為計算錨點。
圖2給出了航母模型的ORB、SURF特征,可見特征點并不能保證出現(xiàn)在穩(wěn)定的外形與標志結(jié)構(gòu)上,且實驗表明隨著光照、距離、視角的變化特征點變化明顯,不能達到利用航母表面標定點進行視覺定位解算的目的。
圖2 主流特征點提取算法效果圖Fig.2 Effect diagrams of mainstream feature point ex?traction algorithm
本文提出了以外形及標志標線為對象的結(jié)構(gòu)化特征點檢測方案,將圖3中穩(wěn)定存在的特征點提取出來,但并不能利用ORB、SURF等方法可靠獲得特征作為非合作特征,如艦尾的角點、跑道線的角點等,核心思想是挑選穩(wěn)定存在的直線交點,因其具有抗干擾能力強、定位準確的特點,但現(xiàn)有基于灰度信息的圖像特征算法無法滿足要求,必須設計新的結(jié)構(gòu)特征檢測與匹配算法。
圖3 特征點的選取Fig.3 Feature point selection
利用圖像的結(jié)構(gòu)化特征點一定是由直線相交所形成這一思想,在圖像結(jié)構(gòu)邊緣檢測的基礎(chǔ)上進行特征點的檢測。將不同方向的結(jié)構(gòu)化邊緣進行組合,若存在角點,則邊緣將會產(chǎn)生交點,該交點位置即為圖像結(jié)構(gòu)化特征點。
在直線檢測方法中,線段檢測子(Line seg?ment detector,LSD)算法被認為是目前最有效的方法之一[12],其按照梯度方向的一致性直接將鄰近像素編組為線段區(qū)域,能在線性時間內(nèi)得出亞像素級精度的檢測結(jié)果,具有速度快、調(diào)節(jié)參數(shù)少的優(yōu)點,但也存在著一些不足:(1)算法對每個像素點在區(qū)域增長步驟中標記了是否使用,所以每個像素點只能被一條直線包含,當圖像上兩直線相交時至少有一條直線被分為兩段;(2)雖然使用降采樣和高斯濾波可以降低圖像噪聲的影響,卻造成小尺度下線段的提取精度下降;(3)遮擋、光照變化等環(huán)境因素會影響線段的連續(xù)性和穩(wěn)定性。
圖4給出了LSD直線檢測效果,圖中紅色線段為檢測結(jié)果,可見LSD能夠有效檢測結(jié)構(gòu)性邊緣,但斷續(xù)線段增加了結(jié)構(gòu)特征識別的難度,不利于非合作特征提取的數(shù)量最大化,而特征的數(shù)量、分布對后續(xù)相對定位解算至關(guān)重要,因此必須對基于LSD的結(jié)構(gòu)特征提取進行改進。
圖4 LSD檢測效果圖Fig.4 Effect diagram of LSD detection
改進思想是對LSD提取線段進行合理接續(xù)。
首先根據(jù)線段長度進行排序,得到l={l1,l2,l3,…,ln},從最長的線段l1開始進行線段分組,因為長線段往往來自具有連續(xù)強梯度的圖像區(qū)域,所以更加可靠。
通過直線斜率篩選,得到候選線段集合,有
式中ks為衡量線段斜率相近程度的篩選閾值。
通過端點距離篩選,得到候選線段集合
式中ds為衡量線段端點相近程度的篩選閾值。
通過中點斜率篩選,得到最終候選線段集合
式中kn為衡量線段中點斜率相近程度的篩選閾值。
需要注意的是,3個篩選步驟的順序很重要,按照合理的優(yōu)先級依次進行可以有效提交合并效率,因為角度篩選的計算最簡便,所以應該最先使用,其次端點距離,最后中點斜率差。線段分組及合并重復迭代地進行,直到無法再分組及合并為止。具體的算法流程如圖5所示。傳統(tǒng)LSD直線提取算法與優(yōu)化后的直線提取算法效果對比如圖6所示。
圖5 線段合并流程圖Fig.5 Flow chart of line segment merging
從對比圖6中可以看出,改進后的直線檢測算法刪除了過短的線段,保留了穩(wěn)定性較高的直線,將原本被割斷的直線被合并在了一起,提升了結(jié)構(gòu)化特征點的提取穩(wěn)定性。
圖6 直線檢測算法效果對比圖Fig.6 Comparison of the effect of line detection algo?rithms
在改進線段連續(xù)性后,可以依據(jù)穩(wěn)定直線進行結(jié)構(gòu)特征點選取。從LSD直線原理來看,一個點只能屬于某一條直線,因此提取線段不會相交,需要按一定的規(guī)則找到優(yōu)化后的線段的交點。本文采用了以下方法:首先,找到符合可能相交的兩條線段,構(gòu)成線段集合?,相交判定準則為:兩條線段的最近端點的距離小于給定值ds,且斜率之差大于給定值ks;然后將線段進行直線參數(shù)化描述;最后求取參數(shù)化直線的交點,即為結(jié)構(gòu)化的角點,從而得到結(jié)構(gòu)化特征點集合P。
式中:kij為線段li和lj斜率差;dij為線段li和lj最近的端點距離。
經(jīng)以上處理得到的結(jié)構(gòu)化特征點數(shù)量較多,按照直線提取的穩(wěn)定性對特征點進行排序,將長直線的交點作為最高優(yōu)先級,并按照特征點的分布進行航母表面區(qū)域網(wǎng)格化優(yōu)先級排序,圖7給出了部分最高優(yōu)先級結(jié)構(gòu)特征點。
圖7 部分結(jié)構(gòu)化特征點分布圖Fig.7 Distribution of some structured feature points
在應用中,以上操作僅僅是獲得了實時圖像中的結(jié)構(gòu)特征點,尚未建立起與基準圖中參考點的匹配關(guān)系,鑒于現(xiàn)有基于描述符的匹配算法不能保證所有結(jié)構(gòu)特征能夠被有效匹配,且干擾情況下僅能實現(xiàn)個別特征點的匹配,本文采用基于特征描述符灰度圖像預匹配與單應陣空間匹配兩階段的方案,可以實現(xiàn)所有實時圖像結(jié)構(gòu)特征點的有效利用,對提高后續(xù)定位解算精度與可靠性有重要意義。
由于結(jié)構(gòu)化特征點的提取并不是僅僅依靠圖像的灰度變化或者圖像內(nèi)容的統(tǒng)計指標峰值,所以用普通的描述符并不能很好地描述該關(guān)鍵點周圍像素的信息,從而造成匹配丟失或者誤匹配現(xiàn)象。鑒于結(jié)構(gòu)化特征點具有明確的角點及灰度梯度變化性質(zhì),采用二進制魯棒尺度不變特征點(Binnry robust invariant scalable keypoint,BRISK)[13]描 述符進行預匹配。
BRISK特征描述符是一種具有尺度不變性和旋轉(zhuǎn)不變性的二進制描述子,采用的是鄰域采樣模式。相比BRIEF[14]描述子隨機選取兩個像素點做二進制比較,BRISK具有旋轉(zhuǎn)、尺度不變性和對噪聲的魯棒性。圖8給出了BRISK算子采樣情況,以關(guān)鍵點為中心,進行多層、多尺度圓周采樣,每個虛線圓代表對應位置的高斯平滑標準差σ,其正比于每個采樣點與各自中心的距離。
圖8 BRISK采樣模式Fig.8 BRISK sampling mode
然后對N個點兩兩選取組成點對,共有N(N-1)/2個點對,表示為(pi,pj)。這些點的平滑 像 素 值 分 別 為I(pi,σi)、I(pj,σj)。根 據(jù) 以 上 信息,可計算出局部梯度,有
對所有采樣點對集合A,根據(jù)距離長短定義短距離點對S和長距離點對的子集L,特征點的主方向計算如下
描述符的每bit值等于短距離點對的比值,即
式中α是根據(jù)計算的特征點主方向的旋轉(zhuǎn)角度。
通過式(8),生成二進制描述符,并選擇Ham?ming距離進行匹配。
在圖像清晰、實時圖與基準圖尺度相近情況下,通過BRISK特征描述符可實現(xiàn)大部分結(jié)構(gòu)化特征點匹配,但使用大量基準圖并不是最優(yōu)的解決方案,為實現(xiàn)少量基準圖下的所有結(jié)構(gòu)特征點有效匹配,在BRISK特征匹配基礎(chǔ)上設計了單應陣再匹配方案。
單應陣匹配就是在已有BRISK匹配基礎(chǔ)上,利用已知的確定特征間的位置關(guān)系,依據(jù)成功匹配特征點確定的實時圖、基準圖間單應陣,對BRISK未匹配的實時圖結(jié)構(gòu)特征點進行空間位置匹配,實現(xiàn)結(jié)構(gòu)特征點的最大利用。
算法設計中,首先采用尺度相近基準圖、實時圖匹配,然后進行實時圖相鄰幀匹配的方法,提高BRISK特征匹配成功率,基于基準圖、實時圖中成功匹配點集p1、p2,建立當前實時圖與基準圖間的單應變換矩陣,有
利用H可以獲得基準圖結(jié)構(gòu)化特征點(xp,yp)在實時圖中的大致位置,即
進而在實時圖的小區(qū)域內(nèi)尋找直線的交點,因在結(jié)構(gòu)化特征點選擇方案設計中充分考慮了特征的鄰域突出性,可以有效避免誤匹配,最終獲得匹配點,有
綜合考慮圖片大小和H陣計算精度對搜索鄰域σ的影響,采用自適應方法對σ進行修正,有
式中:F為圖片大??;m為BRISK預匹配成功的特征點對數(shù)。
通過實驗發(fā)現(xiàn)圖片大小為720像素×720像素,特征點對數(shù)為15時,對應σ=2可以獲得較好的效果。
由圖9可見,在BRISK描述符預匹配的基礎(chǔ)上,利用結(jié)構(gòu)化特征點的結(jié)構(gòu)化信息實現(xiàn)再匹配,可以找回部分丟失的匹配點,實現(xiàn)結(jié)構(gòu)特征點的最大利用。
圖9 特征匹配效果圖Fig.9 Feature matching renderings
首先定義基準幀和當前幀兩個概念,然后在航母中無人機的著陸甲板選擇一點為航母坐標系原點,坐標系按照定義的各軸向確定得到航母坐標系XwYwZw,無人機坐標系為XpYpZp,之后在基準幀中保存結(jié)構(gòu)化特征點的世界坐標,獲取實時圖后,用第1幀與基準幀進行特征匹配,這樣就獲取了第1幀中結(jié)構(gòu)化特征點在世界坐標系中的坐標;最后根據(jù)N個3D空間點以及它們的投影位置,利用EPnP[15]算法估計相機相對于航母模型的相對位姿。依次將前一幀當作當前幀的基準幀,進行特征匹配,并估計位姿,如此循環(huán)。
為驗證視覺著艦中魯棒特征點匹配算法設計的有效性,設計一套半物理仿真平臺進行實驗驗證,航母模型采用1∶700的遼寧艦模型。測試平臺為 戴 爾i5?8500T@2.10 GHz,8 GB內(nèi) 存,64位Linux操作系統(tǒng)。算法基于OpenCV庫在KDevel?op開發(fā)環(huán)境下編寫。
實驗在實際著艦下滑角情況下采集視頻,并選擇1 000 m距離視覺效果作為目標場景,對ORB、SURF以及本文提出算法的特征匹配效果進行對比,結(jié)果如圖10所示。算法效果對比如表1、2所示。
由圖10及表1、2可見,ORB算法提取的特征點數(shù)雖然最多,但是其分布不規(guī)律、過于集中在部分區(qū)域,且不穩(wěn)定,不能滿足定位解算需求。SURF算法提取的特征點雖具有較好分布,但不能保證出現(xiàn)在結(jié)構(gòu)化邊緣上,特征點位置隨成像質(zhì)量、視角的變化而變化,無法滿足相對位置解算的需要。本文算法相比于其他算法能更好地提取到圖像的結(jié)構(gòu)化特征點,具有更好的抗尺度、旋轉(zhuǎn)及成像質(zhì)量變化的能力,且可利用LSD算法能夠?qū)⒎呛献魈卣鼽c定位誤差控制在1個像素以下,并能保證算法的實時性,可為機器視覺解算提供位置精度高且穩(wěn)定的參考特征。
表2 算法平均耗時對比Table 2 Compar ison of algor ithm average time con?sumption ms
本文針對視覺著艦應用,提出了一種非合作視覺特征點設計方法,利用LSD直線檢測算法實現(xiàn)航母外形及標志標線結(jié)構(gòu)化角點的高精度、高可靠性檢測,該算法可有效抑制尺度、旋轉(zhuǎn)、視角和成像質(zhì)量等多種因素的不利影響,充分利用航母自身結(jié)構(gòu)及視覺圖像的穩(wěn)定性為視覺著艦提供穩(wěn)定、定位精度高的圖像特征點,并通過實驗驗證了算法的有效性。