基於單目實現微型無人機感知和避撞

1、介紹

光流在實際環境中應用很難,因爲大部分同質區域,如白牆,沒有足夠的特徵點來計算光流。

我們的算法&實驗:
1. 相對大小探測器感知和避撞前方障礙物;
2. 特徵描述器探測特徵點大小的相對變化並實現實時避撞;
3. 使用引導算法使MAV在森林中飛行,實驗中整條路徑中擺放了20個障礙物。


2、相關工作

由於大小、重量和能量的限制,考慮到計算能力的改進和需要計算比較少,相機是UAV上可承載的最小的傳感器。
生物視覺系統:
1. 運動視差;(光流、SFM)
2. 單目cues;
2. 立體視覺。
光流方法的侷限性在於:幀與幀間的光流與前方角度成比例,這個對牆壁跟蹤和中心飛行時有用,但是對於避撞來說作用很小。
儘管單目方法不能直接測量到障礙物的距離,但仍然可以用來避撞,因爲光流與到障礙物的時間有一定關係。
本文提出是單目線索方法之一,用相對大小來探測前方障礙物。當UAV前方物體變大時,說明障礙物臨近UAV。障礙物變化與臨近障礙物時間成比例。

文獻[23-2012]使用光流在森林中避障,所以要看看。


3、方法

相對大小探測器函數參數爲時間,返回障礙物的大小。當離障礙物的距離由3m變爲了2m時,圖像大小變爲原來的1.5倍。因爲圖像幀率已知,因此可求得到障礙物的時間。
文獻[14]中SIFT實時性差且沒有應用到實際機器人中。
SUFT特徵點(openCV已經封裝此函數):1)比SIFT計算快;2)可計算相對大小變化,即使障礙物大小變化仍可很好匹配.
本文通過匹配連續圖像中的特徵點,比較特徵點所在區域大小的變化來識別是否攝像頭靠近障礙物。
當前特徵點擴大率由原先特徵點大小的改變和模塊匹配組成。

3.1 規模擴大器算法:

用於匹配,過濾和計算連續圖像幀SURF特徵點相對變化。
輸出:障礙物的位置。
這裏寫圖片描述

1. 計算SURF特徵點;
2. 連續圖像匹配SURF特徵點;
3. 去除沒有匹配的點,如果兩匹配點間距離小於0.25;
4. 去除特徵點變小或者不變的點;
5. 確定模塊匹配範圍:(模塊匹配算法輸出:可以表示障礙物的特徵點)

這裏寫圖片描述

  • 上述Template1中KP下標應該是i-nskip,因爲其實由第i-nskip圖像生成的;
  • 5.1 Template1爲第i-nskip幀圖像的第j個特徵點周圍截取size的大小;
  • 5.2 在每次循環中,將此塊圖像Template1擴大到和Template2一樣;
  • 5.3 Template2的選取和Template1一樣;
  • 5.4 Template1和Template2進行匹配,計算它們中每個像素的不同,然後輸出和它們大小一樣的圖像(這個是文中說的);而此處TMscale表示在此scale下模塊匹配的結果,即兩個圖像匹配特徵點形成的矢量(類似光流),因爲圖像xy均擴大了scale倍,則這裏除scale2.
  • 5.5 保存在循環中運動最小的矢量(其越小,說明兩個圖像的匹配度越高,即Template1在變化很小的時候就可以變成Template2)和對應的比例scale;
  • 5.7 如果最小比例scale大於1.2(說明在camera運動過程中離障礙物越近,障礙物變大。如果小於1.2則我們認爲前方是同質區域,如白牆等)且運動矢量(光流)小於[0.8*標準],則將j特徵點標記爲障礙物。

6. 計算剩餘點的平均值,即爲障礙物。

3.2 避撞策略

  1. 若在視野中發現障礙物,則無人機向一旁飛;
  2. 控制航向角來到達目的地。

以下參數的設置保證飛行軌跡的合理性:反應時間;加速限制;飛行速度;障礙物感知距離;視野;樹幹大小;兩樹間的最小速度。


4、實驗

  • 配置:
    1. 前方相機92度,320X240的像素,頻率爲10Hz,算法中採用8bits RGB信息存儲的灰度圖像,算法在地面計算機上實現。
    2. 採用聲納高度傳感器、IMU(陀螺儀、加速度傳感器)和向下的相機來控制AR.Drone的高度。
  • 實驗:
    1. 仿真實驗;
    2. 放置8個樹樁,AR.Drone試飛測試,23次,20次成功。
      本文參考文獻[26-2012]的場景設計,可以看一下。
  • 結論:
    該算法使用低像素的單目攝像頭、普通的PC,在複雜環境中提取SUFT特徵點且結合比例擴大器算法識別障礙物位置,並且不需要障礙物的先驗知識,可以避開類似tree這樣的slim障礙物。但是需要障礙物的質地是SURF特徵點。

5、想法

  1. 交叉障礙物場景參考。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章