劉冠廷,郭 明,岳曉奎
(西北工業(yè)大學(xué)航天學(xué)院,西安710072)
隨著近年來航天發(fā)展熱潮的興起,很多國家和地區(qū)向空間中發(fā)射了大量的航天器,很多航天器即將失效或已經(jīng)失效,這就使得航天器的在軌服務(wù)成為各國的關(guān)注焦點(diǎn).而航天器間的相對導(dǎo)航則是實(shí)現(xiàn)航天器在軌服務(wù)的關(guān)鍵技術(shù).特別是基于視覺的相對導(dǎo)航,由于視覺傳感器具有自主性,成本低和功耗低等優(yōu)點(diǎn),被廣泛的應(yīng)用到空間任務(wù)當(dāng)中[1-3].
為了滿足目標(biāo)航天器失效情況下的相對導(dǎo)航,需要對目標(biāo)航天器的自然特征進(jìn)行提取.常見的特征點(diǎn)提取方法主要包括 Harris,SIFT和 SURF算法.Harris算法的精度很難滿足空間中的相對導(dǎo)航要求,本文主要針對SIFT,和SURF兩種算法進(jìn)行了比較分析并在四旋翼平臺(tái)上進(jìn)行了實(shí)驗(yàn)驗(yàn)證.
Harris算法是一種基于信號(hào)的特征點(diǎn)提取算法[4],通過在圖像上設(shè)置一個(gè)局部窗口,以圖像像素點(diǎn)作為中心,利用Taylor展開方法,計(jì)算窗口沿任何方向上移動(dòng)后的灰度變化,如果圖像中一點(diǎn)向任意方向很小的偏移都會(huì)引起灰度的很大變化,那么該點(diǎn)就是角點(diǎn).Harris算法具有旋轉(zhuǎn)不變性,對噪聲和光照變化具有較強(qiáng)的魯棒性,但是不具有尺度縮放的不變性.
SIFT 算法是由David Lowe于1999年提出的一種基于圖像局部特征算法[5],并于2004年完善[6].根據(jù) Lindeberg[7]提出的,尺度規(guī)范化的高斯拉普雷斯算子(LoG)具有真正的尺度不變性,Lowe提出了差分高斯算法(DoG),其實(shí)質(zhì)是在不同的尺度空間上查找特征點(diǎn).
SIFT算法可分解為4步:
1)尺度空間極值檢測:搜索所有尺度上的圖像位置,通過高斯差分來檢測出對于尺度和旋轉(zhuǎn)不變的興趣點(diǎn).
2)關(guān)鍵點(diǎn)定位:對于每個(gè)興趣點(diǎn),依據(jù)于它們的穩(wěn)定程度,通過一個(gè)擬合精細(xì)的模型來確定位置和尺度.
3)方向確定:基于圖像局部的梯度方向,分配給每個(gè)關(guān)鍵點(diǎn)位置一個(gè)方向.后續(xù)所有對圖像數(shù)據(jù)的操作都相對于關(guān)鍵點(diǎn)的方向、尺度和位置進(jìn)行變換,從而保證了變換的不變性.
4)關(guān)鍵點(diǎn)描述:在每個(gè)關(guān)鍵點(diǎn)周圍的鄰域內(nèi),在選定的尺度上測量圖像局部的梯度.利用梯度來描述關(guān)鍵點(diǎn)示,這種描述允許比較大的局部形狀的變形和光照變化.
通過上述SIFT算法的實(shí)現(xiàn)過程可以看出SIFT算法具有較好的尺度不變性和旋轉(zhuǎn)不變性,同時(shí)對光照的局部變化也不敏感.
SURF算法是由 Bay于 2008年提出的[8],SURF利用Hessian矩陣來檢測特征點(diǎn),用Hessian矩陣行列式的最大值標(biāo)記斑狀結(jié)構(gòu),極值點(diǎn)檢測和精確定位通過非極大抑,對尺度空間中的每一個(gè)像素與相鄰上下尺度及本尺度周圍的26個(gè)鄰域值進(jìn)行比較,從而得到局部極大值和極小值.最后,利用二次方程的泰勒展開式進(jìn)行曲面擬合,實(shí)現(xiàn)特征點(diǎn)的精確定位.SURF算法的計(jì)算量小,運(yùn)算速度快,同時(shí)具有較好的尺度不變性和旋轉(zhuǎn)不變性.
將SIFT算法和SURF算法進(jìn)行比較,如表1所示.
表1 SIFT與SURF算法的比較
四旋翼飛行器采用四個(gè)旋翼作為飛行的直接動(dòng)力源,旋翼對稱分布在機(jī)體的前后、左右四個(gè)方向,并位于同一高度平面,且四個(gè)旋翼的結(jié)構(gòu)和半徑相同,相對的兩個(gè)螺旋槳轉(zhuǎn)速相同,四個(gè)電機(jī)對稱的安裝在飛行器的支架端,支架中間放置飛行控制單元和外部設(shè)備.四旋翼的工作原理是通過調(diào)節(jié)四個(gè)電機(jī)的轉(zhuǎn)速來改變旋翼的轉(zhuǎn)速,實(shí)現(xiàn)升力的改變,從而控制飛行器的位置和姿態(tài).
實(shí)驗(yàn)中使用的是德國mikrokopter公司的四旋翼Quadrotor,由單個(gè)的零件焊接組裝而成.如圖1所示,包括四個(gè)電機(jī)、四個(gè)螺旋槳、支架、中間機(jī)體、云臺(tái)、相機(jī)組成.電子控制部分包括電機(jī)、電調(diào)、飛控板、導(dǎo)航板、GPS天線,導(dǎo)航板可以處理GPS信息,實(shí)現(xiàn)定點(diǎn)飛行等功能,飛控板則是整個(gè)飛行控制的核心,包括傳感器信息的獲取、姿態(tài)信息的濾波檢測、姿態(tài)的穩(wěn)定控制、信號(hào)的傳輸與解碼以及將控制信號(hào)向電調(diào)的傳達(dá).電調(diào)則是是指無刷電機(jī)調(diào)速器,對電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)整.MK-tool是調(diào)節(jié)終端,利用它對電路板進(jìn)行更新固件,并對參數(shù)進(jìn)行設(shè)置.通過遙控器可以實(shí)現(xiàn)四旋翼俯仰、滾轉(zhuǎn)、偏航以及各個(gè)功能的實(shí)現(xiàn).見圖1.
圖1 Mikrokopter四旋翼
本實(shí)驗(yàn)平臺(tái)將圖像傳輸部分和整個(gè)四旋翼分開,組成一個(gè)獨(dú)立的回路,這樣即不占用控制板內(nèi)存,又能保證了傳輸回來圖像的清晰程度.整個(gè)圖像回路包括:相機(jī),發(fā)射器,接收器,圖像采集卡,軟件部分.
相機(jī)和無線發(fā)射器固定四旋翼上面上,相機(jī)采用的是super-vision CCD camera,通過A/V接口直接與發(fā)射機(jī)相連,發(fā)射器是5.8 Hz通道,圖像采集卡,是一種可以獲取數(shù)字化視頻圖像信息,并將其存儲(chǔ)和播放出來的硬件設(shè)備.發(fā)射器將圖像信號(hào)發(fā)射給接收器,然后進(jìn)行數(shù)據(jù)的回收,數(shù)據(jù)回收主要有兩部分組成,因?yàn)榻邮掌魇盏降氖莂v信號(hào).首先要有圖像采集卡,將av模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)給電腦,然后通過opencv的打開攝像頭,采集數(shù)據(jù).
四旋翼的飛行可以分為2個(gè)方面:一個(gè)是穩(wěn)定飛行,一個(gè)是目的飛行,它會(huì)不停的檢測自身狀態(tài),然后濾波、去噪算法準(zhǔn)確獲得每個(gè)時(shí)刻的狀態(tài)值,通過穩(wěn)定回路,通過調(diào)整控制四個(gè)電機(jī)的轉(zhuǎn)速保持動(dòng)態(tài)的穩(wěn)定,預(yù)測同時(shí),它還會(huì)接受外部指令,實(shí)現(xiàn)偏航、滾轉(zhuǎn)和加減油門等的飛行控制,對于姿態(tài)的穩(wěn)定控制算法,由于是作為實(shí)驗(yàn)的工具,我們主要實(shí)現(xiàn)程序與四旋翼的通信,給其發(fā)送飛行指令,控制飛行.
程序主要由以下幾個(gè)部分組成:1)初始化并打開COM端口2)控制指令3)將控制指令按照結(jié)構(gòu)體形式根據(jù)通信協(xié)議發(fā)送給端口.
PC機(jī)都有一個(gè)或多個(gè)串行端口,它們依次為Com1、Com2…….這些串口提供了外部設(shè)備與PC進(jìn)行數(shù)據(jù)傳輸和通信的通道,在CPU和外設(shè)之間充當(dāng)了解釋器的角色.當(dāng)字符數(shù)據(jù)從CPU發(fā)送給外設(shè)時(shí),這些字符數(shù)據(jù)將被轉(zhuǎn)換成串行比特流數(shù)據(jù);而當(dāng)接受數(shù)據(jù)時(shí),從外界進(jìn)來的比特流數(shù)據(jù)被轉(zhuǎn)換成字符數(shù)據(jù)傳遞給CPU進(jìn)行處理.在操作系統(tǒng)方面,Windows用通信驅(qū)動(dòng)程序(COMM.DRV)調(diào)用API函數(shù)發(fā)送和接受數(shù)據(jù).
實(shí)驗(yàn)用四旋翼的通信協(xié)議格式如表2所示.
表2 通信協(xié)議格式
其中,在地址位中,Addr為1是飛控板,2為導(dǎo)航板,5為電調(diào),CRC位是通過前面幾位自動(dòng)生成的.
對于飛行狀態(tài)的四旋翼,其自身存在振動(dòng),以及圖像傳輸過程中存在噪聲,能否將實(shí)時(shí)傳輸回來的照片進(jìn)行有效率的特征點(diǎn)提取是圖像匹配與位姿估計(jì)的關(guān)鍵,下面我們將四旋翼在飛行過程中采集的圖片收回的圖片分別進(jìn)行SIFT以及SURF算法的實(shí)驗(yàn),見圖2、3.
在這一組圖片中,四旋翼逐漸靠近目標(biāo)的小車,采集三幅圖像,進(jìn)行特征點(diǎn)的提取實(shí)驗(yàn).
圖2 基于SIFT算法的特征點(diǎn)提取
圖3 基于SURF算法的特征點(diǎn)提取
兩種算法的結(jié)果如表3所示.
表3 SIFT與SURF算法比較
在上述四旋翼的逼近過程中,目標(biāo)相對于四旋翼發(fā)生了尺度變化和旋轉(zhuǎn)變化,但通過實(shí)驗(yàn)結(jié)果可以看出,兩種算法的提取的特征點(diǎn)數(shù)目和匹配用時(shí)都基本穩(wěn)定,變化不大,說明SIFT和SURF兩種算法都具有較好的尺度不變性和旋轉(zhuǎn)不變性.
實(shí)驗(yàn)中不斷地對比SIFT與SURF算法的時(shí)間,提取的特征點(diǎn)個(gè)數(shù),以及匹配的成功率.SIFT在兩幅圖像上搜尋到特征點(diǎn)數(shù)量大于SURF,但是特征提取時(shí)間比SURF明顯較長,由于提取的特征點(diǎn)數(shù)量不同,匹配消耗的時(shí)間SURF也明顯短于SIFT,兩幅圖像匹配的最終耗時(shí)SURF也算法明顯短于SIFT算法,從匹配的效率上來看,SIFT算法的成功率相對SURF算法的略高,綜合各個(gè)方面,尤其是考慮航天器在軌操作的實(shí)時(shí)性要求,SURF算法比較適合應(yīng)用于航天器的相對導(dǎo)航.
[1]KIMURA S,MINENO H,YAMAMOTO H,et al.Preliminary Experiments on Technologies for Satellite Orbital Maintenance by using Micro - LabSat 1[J].Journal of Advanced Robotics,2004,18(2):117-138.
[2]EVANS J W,MULDER T A.Autonomous Rendezvous Guidance and Navigation for Orbital Express and Beyond[C]//16th AAS/AIAA Space Flight Mechanics Conference,2006.
[3]CASONATO G,GIOVANNI B.Palmerini.Visual Techniques Applied to the ATV/ISS Rendezvous Monitoring[C]//IEEE Aerospace Conference Proceedings,2004.
[4]HARRIS C,STEPHEN M J.A Combined Corner and Edge Detector[C]//Alvey Vision Conference,1988.
[5]LOWE D G.Object Recognition from Local Scale Invariant Features[C]//International Conference on Computer Vision,1999.
[6]LOWE D G.Distinctive Image Features from Scale Invariant Keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[7]LINDEBERG T.Scale-space theory:A basic tool for analyzing structures at different scales [J].Journal of Applied Statistc,1994,21(2):224-270.
[8]BAY H,ESS A,TUYTELAARS T,et al.SURF:Speeded-up robust features[J].Computer Vision and Image Understanding,2008,110(3):346-359.