涂 穎,張 海,2
(1. 北京航空航天大學(xué)自動(dòng)化科學(xué)與電氣工程學(xué)院,北京 100083;2.飛行器控制一體化技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100083)
無(wú)人機(jī)傳統(tǒng)導(dǎo)航方式有慣性導(dǎo)航系統(tǒng)(Inertial Navigation System,INS)、全球定位系統(tǒng)(Global Po-sitioning System,GPS)和INS/GPS組合導(dǎo)航系統(tǒng)等,近年來(lái)視覺(jué)導(dǎo)航成為新的研究熱點(diǎn),特別是對(duì)于小型低成本無(wú)人機(jī),視覺(jué)導(dǎo)航有著十分重要的意義。視覺(jué)著陸是視覺(jué)導(dǎo)航的關(guān)鍵技術(shù)之一,且全自主視覺(jué)著陸技術(shù)對(duì)于有人機(jī)也有著重要意義。
提高視覺(jué)導(dǎo)航著陸抗干擾能力的關(guān)鍵,在于提取出圖像中最為穩(wěn)定的特征點(diǎn)。傳統(tǒng)特征點(diǎn)主要有尺度不變特征變換(Scale Invariant Feature Transform,SIFT)、加速魯棒性特征(Speed Up Robust Featu-res,SURF)、加速分割檢測(cè)特征(Features from Accelerated Segment Test,F(xiàn)AST)以及定向FAST和旋轉(zhuǎn)BRIEF特征(Oriented FAST and Rotated BRIEF, ORB)等,它們都是從幾何約束出發(fā),主要是基于幾何不變性和光度不變性等假設(shè),沒(méi)有利用到環(huán)境中存在的結(jié)構(gòu)約束。當(dāng)場(chǎng)景光照、相機(jī)視角等條件發(fā)生改變時(shí),特征點(diǎn)也會(huì)隨之變化。傳統(tǒng)特征點(diǎn)提取算法不能保證檢測(cè)出穩(wěn)定存在的特征點(diǎn),會(huì)影響視覺(jué)著陸的精度與可靠性。
文獻(xiàn)[5]提出了一種基于地面紅外合作目標(biāo)和機(jī)載紅外視覺(jué)系統(tǒng)的著陸方案,滿足無(wú)人機(jī)全天候自主著陸要求;文獻(xiàn)[6]設(shè)計(jì)了由多個(gè)合作Apriltag標(biāo)簽進(jìn)行聯(lián)合定位的算法,以提升無(wú)人機(jī)定位精度和識(shí)別幀率;文獻(xiàn)[7]采用了由6個(gè)圓心已標(biāo)識(shí)的紅色圓組成的地標(biāo),并基于仿射變換和支持向量機(jī)分類器設(shè)計(jì)了地標(biāo)識(shí)別方法。這些視覺(jué)著陸方案都是針對(duì)合作地標(biāo)的,不能實(shí)現(xiàn)真正的自主性。
為了實(shí)現(xiàn)基于魯棒的非合作特征的視覺(jué)著陸,本文選取圖像中的直線交點(diǎn)作為結(jié)構(gòu)化約束特征點(diǎn)。通過(guò)算法設(shè)計(jì)檢測(cè)出降落平臺(tái)中跑道線角點(diǎn)等結(jié)構(gòu)化約束特征點(diǎn),并對(duì)其進(jìn)行高精度定位,獲取抗干擾能力強(qiáng)、定位達(dá)到亞像素精度的特征點(diǎn),為視覺(jué)相對(duì)定位提供具有高位置精度的圖像特征。
在環(huán)境中,線特征往往比點(diǎn)特征更加穩(wěn)定。提取直線交點(diǎn)作為結(jié)構(gòu)化約束特征點(diǎn),能夠提高特征點(diǎn)的抗干擾性能。當(dāng)視角變化時(shí),相對(duì)于點(diǎn)特征和區(qū)域特征,直線交點(diǎn)具有更高的穩(wěn)定性,對(duì)于視覺(jué)著陸應(yīng)用更具有實(shí)際意義。
因直線灰度梯度方向具有一致性,可利用這一特性進(jìn)行給定方向直線段的檢測(cè),進(jìn)而提取線段交點(diǎn),并結(jié)合Shi-Tomasi角點(diǎn)檢測(cè)算法,實(shí)現(xiàn)對(duì)結(jié)構(gòu)化約束特征點(diǎn)的粗定位。
首先,將圖像轉(zhuǎn)換為灰度圖像,并對(duì)圖像進(jìn)行高斯平滑,減少圖像整體噪聲并保留邊緣信息。
圖像中像素(,)處的灰度值為(,),沿、方向的灰度梯度(,)、(,)計(jì)算公式如下
(,)=?(,)
(,)=?(,)
(1)
(2)
其中,?表示卷積操作,進(jìn)而以(,)表示直線邊緣的梯度方向
(3)
為提高直線交點(diǎn)的檢測(cè)效率,應(yīng)舍棄梯度值較小的像素點(diǎn),保留具有明確界限的邊緣區(qū)域。實(shí)際應(yīng)用中,以經(jīng)驗(yàn)值對(duì)梯度方向進(jìn)行篩選
(,)=
(4)
′(,)=(,)&(,)
(5)
其中,&表示對(duì)矩陣進(jìn)行按位與操作,將掩膜矩陣(,)與梯度矩陣(,)進(jìn)行按位與操作,舍去梯度值較小的像素點(diǎn)。
為實(shí)現(xiàn)直線邊緣方向的分類,設(shè)計(jì)邊緣方向分類濾波器,以豎直向下的方向?yàn)?°方向,逆時(shí)針旋轉(zhuǎn)依次增加22.5°,生成如圖1所示的16個(gè)主方向的圖像梯度分類集合。
圖1 圖像梯度方向分類示意圖Fig.1 Gradient direction classification of visual image
將梯度分類記為(),=1,2,…,16,設(shè)置梯度方向的正負(fù)閾值分別為和,保證集合具有一定的容錯(cuò)性。
設(shè)計(jì)直線邊緣檢測(cè)濾波器,模板函數(shù)映射如下
()=((-1)*225°,,),
=1,2,…,16
(6)
其中,()為直線邊緣檢測(cè)濾波器,濾波器模板為半徑為的圓形,直線邊緣寬度設(shè)置為。如圖2所示,濾波器模板方向與梯度分類方向一致。
圖2 直線邊緣檢測(cè)濾波器模板Fig.2 Filter template of line edge detection
將對(duì)應(yīng)相同主方向的圖像梯度集合和直線檢測(cè)濾波器進(jìn)行卷積,統(tǒng)計(jì)這16個(gè)主方向的像素點(diǎn)個(gè)數(shù)
()=()?()
(7)
設(shè)置閾值,若像素點(diǎn)統(tǒng)計(jì)值小于閾值,則認(rèn)為是曲線或是較短的線段,需將其剔除,實(shí)現(xiàn)如下
(8)
其中,為邊緣一致性檢測(cè)提取出的特征直線段;閾值取值通常為濾波器模板半徑的1.5倍。
對(duì)于如圖3所示的降落平臺(tái),結(jié)構(gòu)化約束特征點(diǎn)集中在白色標(biāo)識(shí)線部分。設(shè)置合適閾值,提取出圖像中特定方向特征直線段,如圖4所示。
圖3 降落平臺(tái)原圖Fig.3 Original image of the landing platform
圖4主要是為了提取出視覺(jué)圖像中白色標(biāo)識(shí)線部分的水平短邊緣,并通過(guò)設(shè)置較大的梯度方向正負(fù)閾值和,提取盡可能多的長(zhǎng)邊緣,用于結(jié)構(gòu)化約束特征點(diǎn)的粗定位。
圖4 特定方向特征直線段提取結(jié)果Fig.4 Extraction results of feature straight segments in particular direction
將提取出的特定方向直線段進(jìn)行組合,獲取由直線段交點(diǎn)形成的角點(diǎn)
()=()()
(9)
其中,()由給定方向特征直線段()和()組合而成。
圖5所示為結(jié)構(gòu)化約束特征點(diǎn)初步提取效果,由于直線邊緣檢測(cè)濾波器中的直線具有一定寬度,特征點(diǎn)在直線交點(diǎn)區(qū)域內(nèi)不唯一,并且精度不夠。
對(duì)以初步提取的特征點(diǎn)為中心的小矩形區(qū)域,使用Shi-Tomasi角點(diǎn)檢測(cè)算法提取強(qiáng)角點(diǎn),實(shí)現(xiàn)對(duì)結(jié)構(gòu)化約束特征點(diǎn)的粗定位。
(a)結(jié)構(gòu)化約束特征點(diǎn)初步提取效果
(b)細(xì)節(jié)放大圖圖5 基于梯度一致性邊緣檢測(cè)算法的結(jié)構(gòu)化約束特征點(diǎn)初步提取效果Fig.5 Preliminary result of structural constrained features based on gradient consistency edge detection algorithm
基于梯度一致性的邊緣檢測(cè)算法對(duì)模糊邊緣也具有一定的提取效果,能有效確定結(jié)構(gòu)化約束特征點(diǎn)的所在區(qū)域,但粗定位的部分特征點(diǎn)位置存在偏移,無(wú)法直接用于相對(duì)定位解算;而直線段檢測(cè)算法(Line Segment Detector, LSD)包含圖像中直線段端點(diǎn)信息,能夠計(jì)算得到直線段斜率,有利于設(shè)計(jì)亞像素角點(diǎn)定位精度改進(jìn)算法。
設(shè)計(jì)改進(jìn)LSD算法,在以粗定位結(jié)構(gòu)化約束特征點(diǎn)為中心的小區(qū)域內(nèi),提取特征直線段,并求解線段交點(diǎn)。設(shè)計(jì)亞像素角點(diǎn)定位精度改進(jìn)算法,結(jié)合Shi-Tomasi角點(diǎn)檢測(cè)算法,將結(jié)構(gòu)化約束特征點(diǎn)精度提高到亞像素級(jí),從而實(shí)現(xiàn)結(jié)構(gòu)化約束特征點(diǎn)的精定位。
LSD算法主要用于提取圖像中的局部直線段輪廓,能夠檢測(cè)出圖像中絕大部分的線段結(jié)構(gòu),并且算法速度快、效果好。利用LSD算法,提取以粗定位結(jié)構(gòu)化約束特征點(diǎn)為中心的矩形區(qū)域內(nèi)的特征直線段,效果如圖6所示。
圖6 LSD算法效果Fig.6 Results of LSD algorithm
LSD算法在區(qū)域增長(zhǎng)過(guò)程中會(huì)對(duì)使用過(guò)的像素進(jìn)行標(biāo)記,導(dǎo)致圖像中的每一個(gè)像素至多只能屬于一條直線段;外部環(huán)境存在遮擋等情況時(shí),直線段也會(huì)被割裂成多段。因此,需要對(duì)LSD算法進(jìn)行改進(jìn)。
通過(guò)直線斜率篩選,得到候選線段集合
(10)
其中,為衡量線段斜率接近程度的篩選閾值。
通過(guò)端點(diǎn)距離篩選,得到候選線段集合
=
(11)
其中,為衡量線段端點(diǎn)接近程度的篩選閾值。
通過(guò)中點(diǎn)斜率篩選,得到最終候選線段集合
=
(12)
其中,為衡量線段中點(diǎn)斜率接近程度的篩選閾值。
然后在更為連續(xù)的線段集合中尋找到相交的線段,提取出結(jié)構(gòu)化約束特征點(diǎn)。將可能相交的兩條線段構(gòu)成線段集合
={,∈|>,<}
(13)
其中,為線段和的斜率差;為線段和最近的端點(diǎn)距離。式(13)表示線段相交判定準(zhǔn)則,即兩條線段的最近端點(diǎn)的距離小于給定值,且斜率之差大于給定值。
為便于匹配,對(duì)線段進(jìn)行直線參數(shù)化描述,結(jié)構(gòu)化特征約束點(diǎn)即是參數(shù)化直線的交點(diǎn),從而得到結(jié)構(gòu)化約束特征點(diǎn)集合
(14)
圖7所示為L(zhǎng)SD算法改進(jìn)前后特征直線段提取情況,改進(jìn)后的算法有利于剔除過(guò)短的線段,實(shí)現(xiàn)了被割裂線段的有效接續(xù),保留較為魯棒的線段。
(a)LSD算法效果
(b)改進(jìn)LSD算法效果圖7 改進(jìn)前后LSD算法效果對(duì)比Fig.7 Comparison of results based on LSD and improved LSD algorithm
基于改進(jìn)LSD算法提取的結(jié)構(gòu)化約束特征點(diǎn)效果如圖8所示,相對(duì)于粗定位效果,此時(shí)的結(jié)構(gòu)化約束特征點(diǎn)定位更加準(zhǔn)確,魯棒性也更強(qiáng)。
(a)改進(jìn)LSD算法提取特征直線效果
(b)基于改進(jìn)LSD算法的結(jié)構(gòu)化約束特征點(diǎn)提取效果圖8 基于改進(jìn)LSD算法提取結(jié)構(gòu)化約束特征點(diǎn)Fig.8 Results of structural constrained feature points based on improved LSD
首先介紹亞像素角點(diǎn)檢測(cè)算法原理,如圖9所示,點(diǎn)為角點(diǎn),點(diǎn)位于平滑區(qū)域內(nèi)部,點(diǎn)處于邊緣。
圖9 角點(diǎn)特征Fig.9 Corner features
設(shè)點(diǎn)處的像素梯度為,在上述這兩種情況下有
·(-)=0
(15)
·-·=0
(16)
轉(zhuǎn)換成如式(17)所示的最小二乘形式
(17)
點(diǎn)的最小二乘解為
(18)
對(duì)于剩下的各個(gè)點(diǎn),進(jìn)行求和處理
(19)
為提高精確性,在最小二乘求解過(guò)程中引入高斯權(quán)重
(20)
選取合適的點(diǎn)區(qū)域,提高角點(diǎn)的定位準(zhǔn)確性。假設(shè)為初始角點(diǎn),以為中心選取如圖10所示的方形環(huán)形區(qū)域,區(qū)域內(nèi)的每一點(diǎn)構(gòu)成集合。
圖10 pi點(diǎn)區(qū)域的選取Fig.10 Region of pi
由于噪聲等干擾的存在,不能保證陰影區(qū)域內(nèi)像素點(diǎn)梯度值計(jì)算正確,因此只選取像素梯度穩(wěn)定可靠的像素點(diǎn)進(jìn)行最小二乘迭代。
角點(diǎn)是通過(guò)基于改進(jìn)LSD算法提取出的特征直線相交形成的,選取特征直線段上的像素點(diǎn),以及垂直直線段方向上下鄰域內(nèi)的像素點(diǎn),如圖11所示,構(gòu)成像素點(diǎn)集合。
圖11 像素點(diǎn)集合A示意圖Fig.11 Diagram of pixel collection A
計(jì)算在直線段方向上的像素點(diǎn)梯度,以及垂直直線段方向上下鄰域內(nèi)的像素點(diǎn)梯度。集合中像素點(diǎn)(,)的灰度值為(,),沿、方向的灰度梯度為(,)、(,),計(jì)算其實(shí)際梯度角度為
(21)
將對(duì)應(yīng)的特征直線斜率角度賦值給集合中對(duì)應(yīng)的像素點(diǎn),即給出了集合中每個(gè)像素點(diǎn)的理論梯度角度。
比較集合中像素點(diǎn)的理論梯度角度和實(shí)際梯度角度,如果2個(gè)角度的絕對(duì)值之差小于設(shè)置閾值,則認(rèn)為該像素點(diǎn)的梯度可信。
為使像素點(diǎn)梯度更加準(zhǔn)確,角度差值閾值的取值通常較為嚴(yán)格。這里認(rèn)為像素點(diǎn)的理論梯度角度與實(shí)際梯度角度的差值在1°以內(nèi)是可以接受的。
遍歷集合中所有像素點(diǎn),其中梯度可信的像素點(diǎn)組成集合。
最后,利用梯度可信的像素點(diǎn)進(jìn)行最小二乘迭代,亞像素角點(diǎn)的定位精度會(huì)得到有效提高。
如圖12所示,對(duì)比改進(jìn)前后亞像素角點(diǎn)檢測(cè)算法精度,以驗(yàn)證亞像素角點(diǎn)定位精度改進(jìn)算法的有效性,表1所示為改進(jìn)前后亞像素角點(diǎn)坐標(biāo)與角點(diǎn)坐標(biāo)真值對(duì)比。
(a)改進(jìn)前
(b)改進(jìn)后圖12 改進(jìn)前后亞像素角點(diǎn)檢測(cè)算法效果對(duì)比Fig.12 Comparison of subpixel corner results
表1 改進(jìn)前后亞像素角點(diǎn)坐標(biāo)與坐標(biāo)真值對(duì)比
改進(jìn)前部分亞像素角點(diǎn)坐標(biāo)與坐標(biāo)真值存在較大偏差,甚至存在偏離4.2個(gè)像素的情況;而改進(jìn)后的亞像素角點(diǎn)坐標(biāo)在或方向的最大誤差在0.5個(gè)像素左右,整體坐標(biāo)偏移小于1個(gè)像素,定位精度得到有效提高。
圖13所示為亞像素角點(diǎn)定位精度改進(jìn)算法的應(yīng)用效果圖,在粗定位結(jié)構(gòu)化約束特征點(diǎn)小區(qū)域內(nèi),選取像素梯度可信度高的點(diǎn),用于改進(jìn)亞像素角點(diǎn)的定位精度。
(a)特征直線及垂直相鄰方向上的像素點(diǎn)
(b)梯度可信的像素點(diǎn)
(c)亞像素級(jí)結(jié)構(gòu)化約束特征點(diǎn)圖13 亞像素角點(diǎn)定位精度效果Fig.13 Results of improved subpixel corner positioning algorithm
利用SURF特征算法和ORB特征算法提取圖像中的特征點(diǎn),效果如圖14所示。
(a)ORB特征算法
(b)SURF特征算法圖14 傳統(tǒng)特征點(diǎn)算法提取效果圖Fig.14 Results of traditional feature point extraction algorithm
ORB特征僅考慮圖像的灰度變化,SURF特征依賴于局部區(qū)域像素梯度方向,都沒(méi)有利用到環(huán)境中存在的結(jié)構(gòu)約束。傳統(tǒng)特征點(diǎn)無(wú)法滿足視覺(jué)著陸過(guò)程中相對(duì)定位的需要。
選取參數(shù)如表2所示,基于梯度一致性邊緣檢測(cè)算法提取圖像中的結(jié)構(gòu)化約束特征點(diǎn)。
表2 基于梯度一致性邊緣檢測(cè)算法提取結(jié)構(gòu)化約束特征點(diǎn)參數(shù)選取
對(duì)以特征點(diǎn)為中心70×70大小的矩形區(qū)域,使用Shi-Tomasi角點(diǎn)檢測(cè)算法提取強(qiáng)角點(diǎn),實(shí)現(xiàn)對(duì)結(jié)構(gòu)化約束特征點(diǎn)的粗定位,效果如圖15所示。
圖15 結(jié)構(gòu)化約束特征點(diǎn)粗定位效果Fig.15 Rough positioning result of structural constrained feature points
選取參數(shù)如表3所示,基于改進(jìn)LSD算法,提取以粗定位特征點(diǎn)為中心的100×100大小矩形區(qū)域內(nèi)的結(jié)構(gòu)化約束特征點(diǎn)。選取參數(shù)如表4所示,進(jìn)行結(jié)構(gòu)化約束特征點(diǎn)精定位。其中,窗口區(qū)域winSize和死區(qū)zeroSize的取值表示選取的點(diǎn)區(qū)域外方形大小為15×15,內(nèi)方形大小為3×3。
表3 基于改進(jìn)LSD算法提取結(jié)構(gòu)化約束特征點(diǎn)參數(shù)選取
表4 結(jié)構(gòu)化約束特征點(diǎn)精定位參數(shù)選取
圖16所示為結(jié)構(gòu)化約束特征點(diǎn)精定位效果圖。
圖16 結(jié)構(gòu)化約束特征點(diǎn)精定位效果Fig.16 Precise positioning result of structural constrained feature points
對(duì)比圖16與圖15,相較于粗定位而言,結(jié)構(gòu)化約束特征點(diǎn)的精定位具有以下優(yōu)點(diǎn):
1)濾除了不能穩(wěn)定存在的結(jié)構(gòu)化約束特征點(diǎn);
2)舍棄了重復(fù)檢測(cè)到的多余特征點(diǎn);
3)在原有特征點(diǎn)鄰域內(nèi)檢測(cè)出更多穩(wěn)定的結(jié)構(gòu)化約束特征點(diǎn);
4)將像素精度的結(jié)構(gòu)化約束特征點(diǎn)提高到亞像素級(jí)精度。
對(duì)比圖14和圖16可以發(fā)現(xiàn),ORB特征點(diǎn)分布存在聚集現(xiàn)象,且不穩(wěn)定,無(wú)法滿足視覺(jué)定位需求;SURF特征點(diǎn)具有較好的分布,但仍然沒(méi)有利用到環(huán)境中固有的結(jié)構(gòu)約束,不能保證特征點(diǎn)出現(xiàn)在結(jié)構(gòu)化邊緣。
相比較而言,結(jié)構(gòu)化約束特征點(diǎn)是非合作特征點(diǎn),具有更好的旋轉(zhuǎn)不變性和尺度不變性,抗干擾能力更強(qiáng)。同時(shí),亞像素級(jí)別的特征點(diǎn)能有效提高視覺(jué)定位的精度和可靠性。
更換降落平臺(tái)場(chǎng)景,提取圖像中的高精度結(jié)構(gòu)化約束特征點(diǎn),效果如圖17所示。
圖17 高精度結(jié)構(gòu)化約束特征點(diǎn)提取效果Fig.17 Results of highly precise structural constrained feature points
以圖16和圖17所示的提取效果為例,能夠說(shuō)明論文算法可以有效獲取穩(wěn)定的高精度結(jié)構(gòu)化約束特征點(diǎn)。
在實(shí)際應(yīng)用中,應(yīng)根據(jù)視覺(jué)定位需求,利用論文算法提取適合于導(dǎo)航定位的結(jié)構(gòu)化約束特征點(diǎn),結(jié)合這些標(biāo)志角點(diǎn)的三維空間坐標(biāo),使用非迭代n點(diǎn)透視算法(Efficient Perspective-n-Point,EPnP)解算無(wú)人機(jī)相對(duì)于降落平臺(tái)的相對(duì)位姿信息,實(shí)現(xiàn)視覺(jué)相對(duì)定位。
本文針對(duì)視覺(jué)著陸過(guò)程中無(wú)人機(jī)的相對(duì)定位問(wèn)題,選取環(huán)境中相交的特征直線段交點(diǎn)作為結(jié)構(gòu)化約束特征點(diǎn),該特征點(diǎn)能夠有效抑制旋轉(zhuǎn)、尺度、視角等不利因素的影響。本文主要結(jié)論如下:
1)設(shè)計(jì)基于梯度一致性的邊緣檢測(cè)算法,提取視覺(jué)圖像中的結(jié)構(gòu)化約束特征點(diǎn),同時(shí)利用Shi-Tomasi角點(diǎn)檢測(cè)算法,實(shí)現(xiàn)結(jié)構(gòu)化約束特征點(diǎn)的粗定位;
2)在粗定位確定特征點(diǎn)區(qū)域的基礎(chǔ)上,設(shè)計(jì)改進(jìn)LSD算法,獲取特征直線段的方程,進(jìn)一步定位結(jié)構(gòu)化約束特征點(diǎn);
3)設(shè)計(jì)亞像素角點(diǎn)定位精度改進(jìn)算法,將結(jié)構(gòu)化約束特征點(diǎn)精確到亞像素級(jí),有利于提高視覺(jué)相對(duì)定位的精度與可靠性。