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