羅哲++朱文球++張長隆
摘要:為了能夠?qū)崟r獲得無人機(jī)著陸時所需要的位置信息,文章提出了一種基于視覺的四旋翼無人機(jī)著陸算法。針對該算法設(shè)計出一種新的視覺著陸標(biāo)識,然后通過算法中改進(jìn)的自適應(yīng)閾值方法和相對簡單的著陸標(biāo)識識別方法能夠快速實時的檢測到視覺著陸標(biāo)識,并能夠從著陸標(biāo)識中解算出無人機(jī)需要的位置參數(shù)。實驗表明,該算法能夠?qū)崟r準(zhǔn)確計算出無人機(jī)著陸時相對于視覺著陸標(biāo)識的位置信息。
關(guān)鍵詞:四旋翼無人機(jī);視覺著陸標(biāo)識;自適應(yīng)閾值;著陸標(biāo)識識別
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)25-0122-03
四旋翼無人機(jī)的自主著陸[1]是指僅僅依靠機(jī)載導(dǎo)航設(shè)備來進(jìn)行定位導(dǎo)航,由飛機(jī)控制器控制飛機(jī)在目標(biāo)區(qū)域著陸的過程,傳統(tǒng)的無人機(jī)自主著陸大都主要是通過GPS導(dǎo)航[2]實現(xiàn)的.但單獨的GPS并不能為無人機(jī)提供精準(zhǔn)的位置信息,且不能在室內(nèi)和其他一些特定的場景進(jìn)行定位,很難實現(xiàn)無人機(jī)在著陸平臺上的精準(zhǔn)著陸。
隨著計算機(jī)視覺理論體系的建立和發(fā)展,國內(nèi)外的相關(guān)學(xué)者將視覺引導(dǎo)技術(shù)應(yīng)用到無人機(jī)自主著陸中。目前國內(nèi)外在相關(guān)方面取得一定研究成果的有:美國加州大學(xué)伯克利分校的 BEAR研究小組第一個提出利用視覺測量相對于著陸平臺的相對位置和姿態(tài)[3];瑞典 Link?ping 大學(xué) WITAS 項目提出了有較高可靠性的基于視覺的無人機(jī)著陸控制方案[4];清華大學(xué)的Zeng Fucen,Shi Haiqing等人采用DPS構(gòu)建了小型直升機(jī)的視覺著陸系統(tǒng)[5];南京航空航天大學(xué)的丁萌等對基于計算機(jī)視覺的無人機(jī)自主著陸方法做了研究[6],提出了一種基于模板匹配技術(shù)的跑道識別與跟蹤方法。
在上述研究中,由于圖像處理的復(fù)雜性,視覺著陸算法很難達(dá)到無人機(jī)著陸實時性的要求。本文提出的視覺著陸算法的處理速度可以達(dá)到30幀/秒,完全滿足著陸實時性的要求,且算法的精度非常高。
1 視覺著陸算法
視覺著陸算法主要是檢測圖像中視覺著陸標(biāo)識,解算出無人機(jī)相對于視覺著陸標(biāo)識位置信息,在通過幾何運算把圖像中位置信息轉(zhuǎn)化為真實的位置信息傳送給飛機(jī)控制器進(jìn)行導(dǎo)航。
1.1 視覺目標(biāo)設(shè)計
根據(jù)文獻(xiàn)[7]可知視覺目標(biāo)的設(shè)計有以下幾個基本要求:第一,視覺目標(biāo)要盡可能的簡單,這樣視覺著陸算法能夠更快的處理圖像信息,使著陸算法具有更好的實時性。第二,特征圖形要明顯區(qū)別于周圍的物體和環(huán)境,以便能夠快速被識別。第三,要包含足夠的信息,這樣視覺著陸算法能夠利用這些信息快速的解算出無人機(jī)著陸所需要的參數(shù)。因此,本文根據(jù)以上幾點設(shè)計了一種新的視覺目標(biāo)圖形,如圖1所示。
表1 視覺目標(biāo)元素尺寸
[位置\&矩形\&外部\& L=W=28cm l=w=24cm\&內(nèi)部\&L=W=2cm l=w=3cm\&]
在圖1中,黑色矩形框主要是用來計算無人機(jī)相對于著陸目標(biāo)的位置參數(shù),箭頭是為無人機(jī)提供角度信息。這個視覺目標(biāo)設(shè)計的最大的特點當(dāng)無人機(jī)離地較高時,可以利用外面大的標(biāo)志來估算無人機(jī)的位置信息。當(dāng)無人機(jī)離地較近時,外面大的標(biāo)志此時已經(jīng)不在攝像頭的視野范圍內(nèi),這時可以根據(jù)內(nèi)部小的標(biāo)志來估算無人機(jī)的位置信息。表1是視覺目標(biāo)元素尺寸信息,其中外部的參數(shù)表示大的矩形框邊長信息,內(nèi)部表示小的矩形框邊長信息。
1.2 視覺著陸算法的流程
圖2為視覺著陸算法整個流程圖,其中像素偏移量是指在圖像中無人機(jī)和著陸標(biāo)識相對位置,世界偏移量是指真實的相對位置。輪廓的判定主要是檢查圖像中是否有著陸標(biāo)識,判定成功則說明圖像中有著陸標(biāo)識且成功檢測出來,判定失敗則說明圖像中沒有著陸標(biāo)識或者沒有從圖像中檢測到著陸標(biāo)識,這時立即從第二幅圖像開始檢測,以此循環(huán)。
2 視覺著陸標(biāo)識檢測
著陸標(biāo)志的檢測[8]是四旋翼無人機(jī)基于計算機(jī)視覺著陸最重要的一個環(huán)節(jié),檢測效果的好壞直接關(guān)系到能否從視覺著陸標(biāo)志中解算出無人機(jī)導(dǎo)航所需要的數(shù)據(jù)以及精度。 著陸標(biāo)志檢測有兩種方法,一種是提取圖像的特征點和著陸標(biāo)志進(jìn)行特征匹配。另外一種就是識別圖像的邊緣線或者是特征線。由于四旋翼無人機(jī)的視覺著陸系統(tǒng)對算法的實時性較高,第一種方法相對比較耗時,所以本文采用第二種方法對著陸標(biāo)志進(jìn)行檢測。
2.1 自適應(yīng)閾值化
在本文中采用的自適應(yīng)閾值方法是基于Wellner[6]自適應(yīng)閾值算法改進(jìn)而來的。Wellner算法的基本思想是:對圖像進(jìn)行逐行掃描,計算當(dāng)前掃描點的前S個像素點像素的平均值,若該點的像素值小于前S個像素點像素平均值的(1-T)倍時,則將該點像素值置為0,否則置為1,其表達(dá)式為:
[g(i,j)0,if(i,j)<(Gs(i,j))(1-T)1,otherwise] (1)
其中0為黑色,1為白色;f(i,j)為當(dāng)前像素點的像素值;Gs(i,j)表示當(dāng)前點前S個像素點的像素平均值;T為0到1的數(shù)值;據(jù)經(jīng)驗值,其中S和T的取值為S=width/8(width表示圖像的寬度),T=0.15時效果最好。
以上為Wellner自適應(yīng)閾值算法,但其生成的二值圖像并不能達(dá)到著陸算法需要的效果,所以對上述算法中的公式(1)做了如下改變:
[g(i,j)0,if(i,j)<(Gs(i,j))(1-T)orf(i,j)<(Hb(i,j)(1+T))1,otherwise] (2)
其中Hb(i,j)表示該點前s個像素點中被判定為黑色像素點像素的均值,b表示個數(shù);則這時g(i,j)判定為0(黑色)的條件有兩個,一個是該點像素小于該點前S個像素均值的(1-T)倍,另一個是該點像素小于該點前S個像素點中被判定為黑色像素點像素均值的(1+T)倍。該方法對圖像二值化判斷做了更細(xì)化的處理,能夠生成高質(zhì)量的二值圖。圖3表示W(wǎng)ellner算法和改進(jìn)后算法二值圖像的對比圖。其中在圖3(1)原圖的左下方有陰影遮擋的部分,從對比圖中不難看出,wellner對陰影部分的處理效果不是很好,而改進(jìn)后的wellner算法對陰影部分處理具有很好的效果,能夠生成高質(zhì)量的二值化圖像,這為著陸標(biāo)識的檢測奠定了好的基礎(chǔ)。
2.2 著陸標(biāo)志檢測
2.2.1 輪廓查找
當(dāng)原始圖像通過自適應(yīng)閾值化處理之后,就變成了一幅二值圖像,二值圖像存在比較明顯的聯(lián)通區(qū)域和相對應(yīng)的輪廓信息,文獻(xiàn)[]中的方法可以從二值圖像按照樹形層次結(jié)構(gòu)關(guān)系查找出所有輪廓,并將輪廓保存到序列中。這種方法的好處是輪廓不是單獨存在的,輪廓之間是按照一定關(guān)系連接起來,這為輪廓的排除提供一個好的條件。
2.2.2 輪廓排除
輪廓的排除是視覺著陸算法中一個非常重要的步驟,因為一幅簡單的圖像會有非常多的輪廓。比如圖3(1)原圖產(chǎn)生的輪廓多達(dá)一千多個,如果這些輪廓不進(jìn)行排除,對每個輪廓都進(jìn)行檢測,那將耗費大量的時間。輪廓的排除的條件有以下幾點:
1)排除輪廓面積較小的輪廓;
2)根據(jù)著陸標(biāo)識的特點,利用輪廓之間的樹形層次結(jié)構(gòu)關(guān)系,排除沒有父輪廓和子輪廓的輪廓。
3)由于需要的輪廓為近似為正方形,所以可以排除不在范圍為的輪廓,其中A表示輪廓的長度,B表示輪廓的面積,o是一個介于0到1的數(shù)。當(dāng)前輪廓越接近正方形,o的值則越接近1。
通過以上排除條件可以排除大部分和著陸標(biāo)識輪廓不相近的輪廓,其排除前后對比圖如圖4(a)和(b)所示。
2.2.3 輪廓檢測(Contours detection)
輪廓檢測是視覺著陸算法中最后一個環(huán)節(jié)也是關(guān)鍵點,它的成功與否直接關(guān)系到無人機(jī)能否從攝像頭的視野范圍內(nèi)找到著陸標(biāo)志。輪廓的檢測步驟是先識別出所有近似矩形的輪廓,然后再對輪廓進(jìn)行判定。輪廓識別的方法是對排除后所有的輪廓進(jìn)行多邊形逼近,獲得頂點數(shù)更少的輪廓,再從這些輪廓里面找出所有近似矩形的輪廓,其步驟是:
1)找出輪廓的元素總數(shù)為4的輪廓;
2)輪廓的形狀必須為凸;
3)輪廓任意一點與相鄰兩點組成的向量的夾角接近九十度。
通過這3個步驟可以識別出近似為矩形的所有輪廓。輪廓的判定是通過圖像中就算內(nèi)外矩形框面積的比值和真實設(shè)計矩形面積比值進(jìn)行比較,若在一定范圍內(nèi),則該輪廓為要找的輪廓。經(jīng)過多次測試能夠準(zhǔn)確的檢測到著陸標(biāo)志,其實驗結(jié)果如圖4(c)所示,其中有顏色的表示要找的目標(biāo)。
(a)排除前輪廓圖 (b)排除后輪廓圖 (c)著陸標(biāo)志檢測圖
圖 4 輪廓檢測
2.3 偏移量求取
偏移量是指無人機(jī)中心點和著陸標(biāo)識中心點的相對位置,由于飛行控制器對飛機(jī)的控制參數(shù)是以世界坐標(biāo)系為準(zhǔn)的,所以要將求出的像素偏移量轉(zhuǎn)化為世界偏移量。由于攝像頭是垂直向下的裝在無人機(jī)的正中心,因此可以用攝像頭中心點(光心)的位置代替無人機(jī)中心點的位置。
像素偏移量的求取主要是通過計算圖像中著陸標(biāo)識中心點的坐標(biāo)與圖像中心點坐標(biāo)的差值。世界偏移量主要是利用對攝像頭標(biāo)定獲得參數(shù)將像素偏移量通過相似三角形獲得的,其具體方式如公式(3)
[X=Hxfx+cx;Y=Hyfy+cy] (3)
其中x,y表示像素偏移量,X,Y表示世界偏移量,fx,fy表示在x方向和y方向的焦距,cx,cy表示攝像頭光心和圖像中心點偏移量,H表示高度是通過超聲波獲取的。
3 實驗結(jié)果
實驗數(shù)據(jù)的獲得是通過視覺著陸算法計算出視覺標(biāo)識中心點與攝像頭中心點在x,y方向的差值和實際用標(biāo)尺測量的值對比得到的。實驗是在U3開發(fā)板上運行的,U3開發(fā)板為1.7GHz的四核處理器和2GByte內(nèi)存,裝載的系統(tǒng)是Linux系統(tǒng)Ubuntu12.04版本,時間統(tǒng)計采用C語言的clock計時函數(shù),其精度為毫秒。
3.1 實驗數(shù)據(jù)及結(jié)果分析
設(shè)置攝像頭與著陸標(biāo)識在x方向和y方向的偏移量為200mm和150mm,通過調(diào)整攝像頭的離著陸標(biāo)識的距離來記錄用視覺著陸算法計算出的x,y方向的偏移量,其實驗結(jié)果如表2:
4 結(jié)論
本文對四旋翼無人機(jī)著陸的視覺著陸系統(tǒng)進(jìn)行研究,研究的目的利用改進(jìn)的自適應(yīng)閾值算法和特別著陸標(biāo)識識別算法快速實時的檢測視覺著陸標(biāo)識和計算出無人機(jī)相對于著陸標(biāo)識的位置信息,從而為無人機(jī)實時提供準(zhǔn)確的位置信息,實驗結(jié)果也證明了該系統(tǒng)的有效性。下一步將對著陸標(biāo)識進(jìn)行視覺跟蹤算法[9]進(jìn)行研究,為四旋翼無人機(jī)在可移動平臺上著陸的視覺著陸系統(tǒng)奠定基礎(chǔ)。
參考文獻(xiàn):
[1] Yang S, Scherer S A, Schauwecker K, et al. Onboard Monocular Vision for Landing of an MAV on a Landing Site Specified by a Single Reference Image[C]// Unmanned Aircraft Systems (ICUAS), 2013 International Conference on IEEE, 2013:318 - 325.
[2] Baeder A B T, Rhea J L. GPS attitude-determination analysis for UAV[J]. Aerospace/defense Sensing & Controls, 1996, 2738:232-243.
[3] Koo T J, Shim D H, Shakernia O, et al. Hierarchical Hybrid System Design on Berkeley UAV[J]. International Aerial Robotics Competition, 1998.
[4] G Granlund, K Nordberg, J Wilklund, et al. Witas: An intelligent autonomous aircraft using active vision[J]. In Proceedings of the Uav 2000 International Technical Conference\s&\sexhibition, 2000.
[5] Zeng F, Shi H, Wang H. The Object Recognition And Adaptive Threshold Selection In The Vision System For Landing An Unmanned Aerial Vehicle[C]// Information and Automation, 2009. ICIA '09. International Conference on2009:117 - 122.
[6] 萬明.基于視覺導(dǎo)航的無人機(jī)自主著陸飛行參數(shù)估計方法[D].南京航空航天大學(xué), 2009.
[7] 程麗娟. 基于視覺的無人直升機(jī)著落導(dǎo)航技術(shù)研究[D].南京:南京航空航天大學(xué), 2014.
[8] 劉剛.基于視覺導(dǎo)航小型無人機(jī)自主著陸控制策略研究與應(yīng)用[D].南京:南京航空航天大學(xué), 2014.
[9] Zou J T, Tseng Y C. Visual Track System Applied in Quadrotor Aerial Robot[C]// Digital M anufacturing and Automation (ICDMA), 2012 Third International Conference on IEEE, 2012:1 025-1028.