本發(fā)明涉及計(jì)算機(jī)視覺(jué)領(lǐng)域、自動(dòng)控制領(lǐng)域、機(jī)器人領(lǐng)域,具體涉及一種用于無(wú)人機(jī)精準(zhǔn)著陸等控制操作的地標(biāo)設(shè)計(jì)及檢測(cè)方法。
背景技術(shù):
近年來(lái),隨著無(wú)人機(jī)技術(shù)的發(fā)展,無(wú)人機(jī)精準(zhǔn)識(shí)別地標(biāo)并著陸有著廣泛的應(yīng)用,尤其是著陸在移動(dòng)平臺(tái)(如艦艇、大型車輛)和狹窄區(qū)域(如城市、工廠)等。視覺(jué)導(dǎo)航具有精度高、體積小、信息量大、無(wú)源性和信息豐富等優(yōu)點(diǎn)。將視覺(jué)技術(shù)應(yīng)用于無(wú)人機(jī)的精準(zhǔn)定位,具有很大的研究意義和發(fā)展空間。目前的無(wú)人機(jī)導(dǎo)航多基于gps及慣性組件,慣性導(dǎo)航系統(tǒng)定位誤差隨時(shí)間而增大,民用gps導(dǎo)航的精度低,同時(shí)無(wú)法適應(yīng)室內(nèi)等gps信號(hào)弱的地方。結(jié)合計(jì)算機(jī)視覺(jué)技術(shù),應(yīng)用自然地標(biāo)或者人工地標(biāo)可以有效實(shí)現(xiàn)無(wú)人機(jī)自主精準(zhǔn)著陸。而針對(duì)無(wú)人機(jī)的地標(biāo)設(shè)計(jì)及應(yīng)用大多基于單一特征的檢測(cè)方法,應(yīng)對(duì)無(wú)人機(jī)可能面臨的復(fù)雜環(huán)境,圖像噪聲更為強(qiáng)烈,難以具備普適性;抑或地標(biāo)設(shè)計(jì)和視覺(jué)算法較為復(fù)雜,不便于無(wú)人機(jī)實(shí)時(shí)處理,增加了對(duì)硬件的要求和控制無(wú)人機(jī)精準(zhǔn)著陸的約束條件。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供一種用于無(wú)人機(jī)精準(zhǔn)著陸的多特征信息地標(biāo)檢測(cè)方法,該地標(biāo)形狀簡(jiǎn)單、區(qū)分度高、特征信息多,可適用于多種復(fù)雜環(huán)境,同時(shí)配合相應(yīng)的識(shí)別及姿態(tài)解算算法,可協(xié)助無(wú)人機(jī)快速有效識(shí)別地標(biāo)并實(shí)現(xiàn)無(wú)人機(jī)姿態(tài)信息的準(zhǔn)確解算,為實(shí)現(xiàn)無(wú)人機(jī)精準(zhǔn)著陸等控制操作提供重要信息。
本發(fā)明的技術(shù)方案是:
1.一種用于無(wú)人機(jī)精準(zhǔn)著陸的多特征信息地標(biāo)檢測(cè)方法,包括多特征地標(biāo)的設(shè)計(jì)方法以及相應(yīng)的高效檢測(cè)算法,包括輪廓層次信息、幾何位置信息、顏色信息、投影不變量多種特征信息構(gòu)成地標(biāo)的識(shí)別、判斷及定位方法,實(shí)現(xiàn)無(wú)人機(jī)的實(shí)時(shí)定位并輔助無(wú)人機(jī)著落。
2.地標(biāo)圖案由具有嵌套關(guān)系的圓和圓環(huán)組成,外層大圓環(huán)確定地標(biāo)的興趣區(qū)域,大圓環(huán)內(nèi)部設(shè)置四個(gè)實(shí)心圓,這構(gòu)成地標(biāo)的輪廓層次信息;有一個(gè)實(shí)心圓位于外圓環(huán)中心,其他三個(gè)實(shí)心圓按照一定角度和距離環(huán)繞在外圓環(huán)中心,構(gòu)成幾何位置信息;四個(gè)實(shí)心圓填充不同的顏色,色彩的特定分布作為顏色信息;其中兩個(gè)實(shí)心圓距離外圓環(huán)圓心長(zhǎng)度相同,這兩個(gè)實(shí)心圓圓心與外圓環(huán)圓心連接的兩條直線與外圓環(huán)交點(diǎn)形成兩個(gè)的交比值,作為投影不變量。
3.高效檢測(cè)算法輔助無(wú)人機(jī)著落方法包含以下幾個(gè)步驟:
(3.1)將攝像機(jī)拍攝到的圖片進(jìn)行灰度化,得到灰度圖片,為克服光照對(duì)地標(biāo)的影響,對(duì)地標(biāo)進(jìn)行歸一化操作,將灰度圖片的像素值范圍轉(zhuǎn)換到0~255之間得到標(biāo)準(zhǔn)化的灰度圖片;
(3.2)運(yùn)用canny邊緣檢測(cè)算法對(duì)步驟(3.1)得到的標(biāo)準(zhǔn)化灰度圖片進(jìn)行邊緣檢測(cè),進(jìn)行輪廓提取進(jìn)而得到帶有輪廓信息的輪廓圖片;在實(shí)際操作中發(fā)現(xiàn),當(dāng)?shù)貥?biāo)距離較遠(yuǎn)時(shí),輪廓中地標(biāo)的邊沿可能出現(xiàn)了斷裂的情況,此時(shí),需要在輪廓檢測(cè)前對(duì)輪廓進(jìn)行形態(tài)學(xué)膨脹;
(3.3)梳理上述步驟中得到的地標(biāo)輪廓的層次信息,包括父輪廓,子輪廓,前輪廓,后輪廓信息并保存成兩個(gè)線性表,用vector<contours>存儲(chǔ)輪廓信息,用vector<vec4i>存儲(chǔ)輪廓的層次信息;
(3.4)線性遍歷輪廓信息表vector<vec4i>,對(duì)于表中的每一個(gè)輪廓,查看它的所有子輪廓的個(gè)數(shù),并將子輪廓個(gè)數(shù)為4的輪廓信息保留下來(lái)作為候選地標(biāo)信息;
(3.5)對(duì)于步驟(3.4)得到的輪廓信息,首先對(duì)輪廓進(jìn)行橢圓檢測(cè),排除那些不是橢圓的候選輪廓,對(duì)于剩下的輪廓,通過(guò)檢測(cè)內(nèi)部輪廓的相對(duì)大小判斷是否為真正的地標(biāo)輪廓;首先計(jì)算子輪廓的方差v,計(jì)算公式為
(3.6)如果步驟(3.5)已經(jīng)沒(méi)有候選輪廓,則退出到下面步驟(3.8),如果有一個(gè)輪廓,則提取子輪廓的中點(diǎn)坐標(biāo),并且將它們按照相對(duì)位置和顏色進(jìn)行排序;
(3.7)求取相應(yīng)直線與外輪廓圓的交點(diǎn)以形成并計(jì)算交比值;并檢驗(yàn)地標(biāo)是否滿足交比不變性;如果存在多個(gè)候選輪廓,則滿足交比不變性且誤差最小的作為地標(biāo);
(3.8)按照顏色順序輸出子輪廓的中點(diǎn)坐標(biāo),子輪廓的中點(diǎn)坐標(biāo)可以通過(guò)公式
(3.9)根據(jù)求解的無(wú)人機(jī)相對(duì)位置以及姿態(tài)傳感器的數(shù)據(jù)對(duì)無(wú)人機(jī)姿態(tài)做進(jìn)一步解算,得到最優(yōu)估計(jì)的姿態(tài)位置信息并反饋至飛行控制系統(tǒng)以協(xié)助飛行控制系統(tǒng)做下一步控制決策。
本發(fā)明的優(yōu)點(diǎn)與積極效果是:
1.應(yīng)用視覺(jué)技術(shù),有效彌補(bǔ)gps精度差或信號(hào)弱以及慣性導(dǎo)航定位誤差隨時(shí)間增大的不足,適用環(huán)境廣泛;
2.地標(biāo)具備輪廓層次、顏色和幾何不變量等多特征,可有效應(yīng)對(duì)無(wú)人機(jī)可能面臨的圖像噪聲更為強(qiáng)烈的復(fù)雜環(huán)境;
3.高效識(shí)別算法配合特征多且圖案簡(jiǎn)單、區(qū)分度高的地標(biāo),可快速且準(zhǔn)確識(shí)別地標(biāo),完成姿態(tài)解算,為實(shí)現(xiàn)無(wú)人機(jī)精準(zhǔn)著陸等控制操作提供重要信息;
4.地標(biāo)設(shè)計(jì)簡(jiǎn)潔,檢測(cè)算法執(zhí)行快速,對(duì)硬件條件要求較低,亦可配合無(wú)人機(jī)完成著陸外其他任務(wù)及適用于移動(dòng)機(jī)器人定位等。
附圖說(shuō)明
圖1為本發(fā)明的多特征信息地標(biāo)示意圖;
圖2為本發(fā)明實(shí)例的地標(biāo)具體圖示;
圖3為本發(fā)明的檢測(cè)算法流程圖;
圖4為本發(fā)明的配合檢測(cè)算法各部分的地標(biāo)圖示。
具體實(shí)施方式
以下以設(shè)計(jì)適用于小型四旋翼無(wú)人機(jī)精準(zhǔn)著落為例,具體闡述多特征地標(biāo)的設(shè)計(jì)方法及高效檢測(cè)算法,具體內(nèi)容如下:
1.多特征的地標(biāo)圖案,圖案見(jiàn)附圖1,設(shè)計(jì)步驟包括以下子步驟:
1.1確定地標(biāo)圖案的尺寸和形狀:根據(jù)無(wú)人機(jī)應(yīng)用環(huán)境及自身尺寸合理設(shè)定地標(biāo)圖案的尺寸。以室內(nèi)小型四旋翼無(wú)人機(jī)的應(yīng)用背景,以及機(jī)載560×480分辨率的攝像機(jī)為例,我們選取半徑為25厘米的外圍。一般選取地標(biāo)尺寸稍大于無(wú)人機(jī)尺寸的2倍,及外圓環(huán)半徑r約為無(wú)人機(jī)旋翼半徑的1.5~3倍。外圓環(huán)的寬度d一般為半徑的1/20,這里為1.25厘米,圓環(huán)中填充黑色。內(nèi)部實(shí)心圓的半徑r要視相機(jī)分辨率而定,對(duì)于我們的應(yīng)用環(huán)境,我們定為
1.2確定實(shí)心圓與外圓環(huán)中心的相對(duì)位置:使實(shí)心圓1位于外圓環(huán)中心,另外三個(gè)實(shí)心圓的位置可做調(diào)整,但需保證有兩個(gè)實(shí)心圓3、4距離中心距離相等,以形成相同的交比值。另外一個(gè)實(shí)心圓2位置可自由調(diào)整,只要構(gòu)成非對(duì)稱排列即可提供無(wú)人機(jī)降落的偏航角信息,這里,我們?cè)O(shè)定實(shí)心圓2距離中心l2≈0.46×r,實(shí)心圓3、4距離中心l3=l4≈0.67×r,并且實(shí)心圓1、2、3構(gòu)成直角三角形,以降低中心投影帶來(lái)的形變影響,另外,實(shí)心圓2和3形成45°夾角,實(shí)心圓3和4形成90°夾角。如果不需要考慮無(wú)人機(jī)降落方向問(wèn)題,實(shí)心圓的排列可以對(duì)稱,也可以用實(shí)心圓之間排列順序提供地標(biāo)的序列號(hào)信息。地標(biāo)如圖2。
1.3確定實(shí)心圓的填充顏色信息:由于色彩受光照影響較大,不建議將色彩作為地標(biāo)檢測(cè)的主要標(biāo)準(zhǔn),而是在合適的應(yīng)用條件(光照充足)及較好的相機(jī)分辨度基礎(chǔ)上,利用顏色信息加速檢測(cè)算法或者將顏色信息作為地標(biāo)的序列號(hào)信息以適用于指定地標(biāo)的降落。這里,中心實(shí)心圓1被填充為黑色,實(shí)心圓2、3、4被填充為綠、紅和藍(lán),對(duì)于彩色圖像的三種分量,也可以按照亮度填充實(shí)心圓2、3、4,以適用更復(fù)雜的情況。
2.地標(biāo)的高效檢測(cè)算法,算法流程見(jiàn)附圖3,該檢測(cè)過(guò)程包括以下幾個(gè)子步驟:
2.1通過(guò)無(wú)人機(jī)機(jī)載攝像頭實(shí)時(shí)獲取地面圖像信息,將圖像進(jìn)行灰度化處理,得到灰度圖片,為克服光照對(duì)地標(biāo)的影響,對(duì)地標(biāo)進(jìn)行歸一化操作,即將灰度圖片的像素值范圍轉(zhuǎn)換到0~255之間得到標(biāo)準(zhǔn)化的灰度圖片。
2.2設(shè)定鄰域進(jìn)行自適應(yīng)二值化對(duì)圖像做進(jìn)一步處理,采用canny邊緣檢測(cè)算法對(duì)步驟2.1得到的標(biāo)準(zhǔn)化灰度圖片進(jìn)行邊緣檢測(cè),提取輪廓進(jìn)而得到帶有輪廓信息的輪廓圖片。在實(shí)際操作中我們可以發(fā)現(xiàn),當(dāng)檢測(cè)的輪廓圖片在70cm以內(nèi)或輪廓圖片是從較遠(yuǎn)處得到的時(shí)候,輪廓中地標(biāo)的邊沿常出現(xiàn)斷裂的情況,這對(duì)于我們接下來(lái)的步驟2.3地標(biāo)的輪廓信息的提起是十分不利的,因此,在得到了輪廓圖片的時(shí)候,我們還需要對(duì)輪廓進(jìn)行形態(tài)學(xué)膨脹以得到完整的輪廓信息圖片。
2.3此步驟梳理上述步驟中得到的地標(biāo)輪廓的層次信息包括父輪廓(包含該輪廓的輪廓),子輪廓(該輪廓包含的輪廓),前輪廓(和他沒(méi)有繼承與被繼承關(guān)系的上面一個(gè)輪廓),后輪廓(和他沒(méi)有繼承與被繼承關(guān)系的下面一個(gè)輪廓)信息并保存成兩個(gè)線性表,用vector<contours>存儲(chǔ)輪廓信息,用vector<vec4i>存儲(chǔ)輪廓的層次信息;
2.4線性遍歷輪廓信息表vector<vec4i>,并對(duì)于表中的每一個(gè)輪廓,查看它的所有子輪廓的個(gè)數(shù),并將子輪廓個(gè)數(shù)為4的輪廓信息保留下來(lái)作為候選地標(biāo)信息,其中,圖4(a)為待處理的地標(biāo)示意圖;存儲(chǔ)的父輪廓信息如圖4(b)外圓環(huán),子輪廓如圖4(c)中實(shí)心圓。
2.5對(duì)于步驟2.4得到的輪廓信息,首先需要對(duì)輪廓進(jìn)行橢圓檢測(cè)以排除那些不是橢圓的候選輪廓,然后進(jìn)一步對(duì)剩下的候輪廓進(jìn)行判斷,以確定其是否為我們的地標(biāo)輪廓,主要是檢測(cè)內(nèi)部的圓在誤差允許范圍內(nèi)是否一樣大。這里,我們用候選輪廓的子輪廓的方差大小來(lái)進(jìn)行判斷。計(jì)算公式為
2.7求取相應(yīng)直線與外輪廓圓的交點(diǎn)p1,p2,q1,q2(如圖4(e)),并且查看地標(biāo)是否滿足交比不變性。即查看等式
2.8按照顏色順序輸出子輪廓的中點(diǎn)坐標(biāo),子輪廓的中點(diǎn)坐標(biāo)可以通過(guò)公式
2.9根據(jù)無(wú)人機(jī)興對(duì)地標(biāo)位置以及針孔相機(jī)模型對(duì)無(wú)人機(jī)姿態(tài)做進(jìn)一步解算,如圖4(f),將已經(jīng)獲取的信息轉(zhuǎn)換至無(wú)人機(jī)坐標(biāo)系姿態(tài)位置信息并反饋至飛行控制系統(tǒng)以協(xié)助飛控做下一步控制決策。