• 沒有找到結果。

攝影機視覺定位演算法…

在文檔中 中 華 大 學 (頁 55-58)

第六章、 複合式地圖之攝影機視覺定位

6.1 攝影機視覺定位演算法…

以下為進行攝影機視覺定位演算法的步驟說明,其總共分為八個步驟:

步驟一、載入複合式地圖。

步驟二、進行機器人定位狀態判斷。當機器人處於未初始化時,則利用粒子濾波器在 世界座標地圖中機器人可能會出現的範圍內來隨機撒點,搜尋出目前機器 人的所在位置與角度。而當機器人處於已初始化狀態時,則取得由上次定 位結果所找到誤差值最小的粒子之位置與角度,來做為當下機器人的位置 資訊。

步驟三、利用當下機器人的位置與角度且根據第四章步驟七所求得的攝影機角度,來 定義出影像在世界座標中的範圍 ROIWC

45

步驟四、進行 MVN 特徵點的偵測。利用攝影機角度判斷在複合式地圖中哪些 NUS 在 ROIWC範圍內。

步驟五、利用 2.3.4 節的方法將 MVN 特徵點由世界座標轉換至影像帄面。

步驟六、針對由步驟五投影在影像上的 MVN 特徵點,找尋它們的Y軸最大值與最小 值來定義 ROIIMG區域的高度範圍。

步驟七、計算經由粒子濾波器隨機灑出的多個粒子之位置與角度(z, x,),並且計算 每一個粒子的定位誤差值,其誤差值計算方法會在 6.2 節中有詳細說明。圖 6-2 是機器人可能的粒子位置與角度之定位誤差值計算方式的示意圖。

圖 6-2 機器人可能的位置與角度誤差值計算示意圖

在 ROIIMG範圍內擷取出當下的 NUS 特徵點(CN),如果上一次所擷取到 的 NUS 特徵點數量太少時,則動態的將 SURF 特徵點與 LBP 特徵點偵測的 能量門檻值降低,以提高特徵點數量使得機器人定位結果較為穩定。若將

當下 NUS 特徵 點擷取(CN)

NUS 特徵點比對 對

MVN index: 2 6 11 22 CN index: 1 7 8 15

世界座標投影 到影像平面

投影於影像平面 1 2 8 11 7 6

15 22

去除雜訊且計算每 個粒子的誤差值

粒子(z,x, ) Map Visible NUS

(MVN)

46

門檻值調降至很低時,特徵點數量還是不夠,則將該次特徵點擷取方法由 NUS 特徵擷取調整為 SURF 特徵擷取。緊接著在複合式地圖中找出攝影機 位於所有粒子的位置與角度可能可以偵測到的 MVN 特徵點,如圖 6-2 右上 角所示,紅色圓點為所有的粒子,其延伸出去的左右藍色線段為攝影機的 可視範圍,藍色三角形為 MVN 特徵點,紅色三角形為超出當下攝影機可視 範圍的 NUS 特徵點。再將 CN 特徵點與 MVN 特徵點進行 SURF 特徵描述 的比對,找出 CN 對應到 MVN 的最佳的對應向量,結果如示意圖中的 CN index 對應到 MVN index,總共找到四組對應結果。最後利用每個粒子所代 表的位置與角度,將所對應到的 CN 與 MVN 特徵點由世界座標系轉換到影 像帄面。緊接著進行 CN 與 MVN 特徵點對應向量的雜訊濾除動作,其做法 將在 6.2 節中有詳細說明。誤差值的計算方法是針對濾除雜訊後的 CN 特徵 點與 MVN 特徵點的對應結果之向量長度進行帄均值計算(像素點個數),最 後所得到的對應向量投影長度帄均值即為該粒子的誤差值。如下式所示,

error 為所計算的誤差值,VDi為某粒子的 CN 與投影在影像上的 MVN 特徵 點其位於影像上之第 i 個對應向量長度,n 為濾除雜訊後的對應向量總數。

1

0

VD

i

1

n

n

i

error

步驟八、在多個粒子中找出誤差值最小的(z, x,),且將此粒子的(z, x,)定義為當下 機器人在世界座標的位置與角度。然後粒子濾波器則在此最佳粒子的附近 再進行撒點,使得定位結果更能趨向準確。在完成步驟八的動作後,則跳 至步驟二來重複執行視覺定位的工作。

47

在文檔中 中 華 大 學 (頁 55-58)