• 沒有找到結果。

第一章 緒論

1.2 相關研究回顧

近十年來,基於影像之同時定位與建立地圖(SLAM),是移動式機器人技術

發展上一項重要的領域,其基本概念是透過環境中的參考資訊對機器人狀態進行 修正[1][2],且整個系統是由多個不同的部分所組成,包括特徵點的擷取、特徵 點的比對、定位系統的演算法、地圖的建立以及地圖資訊的應用等。在SLAM的 研究上所使用之感測裝置主要以視覺感測裝置以及距離感測裝置為主。 [3]以單 眼攝影機在機器人上實現EKF SLAM,[4]則估測手持攝影機之姿態並建立環境地 圖,為了使機器人更詳盡的擷取環境資訊,[5][6]以全向鏡做感測裝置實現於雙 輪以及全向式移動平台,而[7][8]則以不同角度之四個單眼攝影機取得環境影像,

並且實現自我外部攝影機參數設定之功能,[9]則藉由Rao-Blackwellized Particle Filter (RBPF)以立體視覺感測器實現機器人定位,並以區域和整體環境中的權重 修正地圖建立後的結果。在使用距離感測器上則有雷射掃描儀[10]和超音波[11]

等之使用;距離感測裝置能取得準確的環境深度資訊,但距離資訊所得到的特徵 通常具有獨特性不足之問題。視覺感測裝置帶有豐富訊息之影像,然通常需要數 次的影像或兩個以上的攝影機才能計算特徵點在環境中的空間資訊。近年來結合 影像和距離感測裝置Kinect受到許多研究的重視,[12]以Kinect作為感測裝置架設 於四輪移動平台,並以不同色環作為環境地標(Landmark)實現EKF和PF (Particle filter)定位系統演算法。

在以視覺感測器取得影像作為環境的感測裝置的研究上,關於特徵點的擷取 的作法,[13][14]以環境中對稱物體的性質做地標(Landmark),提出 Multi-scale Symmetry Transform(MUST)的做法,[15]提出具快速運算特性的角點偵測方法,

而近年來相當被重視的則為Lowe[16]所提出的Scale invariant feature transform (SIFT)演算法,其將影像以Difference of Gaussian(DoG)擷取影像中穩健的關鍵點,

計算不同尺度下的變化,並以具方向性的特徵點描述,使得提取出來的影像特徵 點具備有抗尺度變化、抗旋轉、以及抵抗在一定的改變量下的視角和光源變化。

同樣藉由影像取得環境資訊,Speed up robust feature(SURF)演算法以積分影像的 使用簡化影像摺積運算,並透過Hessian matrix的應用以簡化的影像遮罩找尋影像 特徵,除了有著穩健且具獨特性的影像特徵外,同時具備較快的運算速度[17]。

定位與導航是移動式機器人基本技術之一,機器人能得知自身於環境中之位 置才能自由移動。然為了使定位系統持續修正機器人狀態並降低對整體機器人效 能的影響,定位與導航的即時運算性能是機器人應用之關鍵要素。定位與導航是 由數個不同的部分所組成,提高其即時運算的性能可透過降低各部分運算成本而 達成,諸如特徵點擷取的效率,特徵點比對的做法和修改定位系統的演算方法等,

其中定位系統計算所耗費的運算成本通常是最主要的部分,而影響定位系統所耗 費的運算成本上主要是使用的特徵點數量。以Particle Filter(PF)的演算法而言,

隨著散佈的粒子數量越高,其估測的機器人狀態也就越準確,但所需花費的運算 時間也就越久。而Kalman Filter(KF)的演算法是一種以疊代的方式估測機器人狀 態,系統狀態向量的大小影響運算矩陣的維度,同樣的受到所使用的特徵點數量 影響,於是為了解決定位與導航在運算成本上的問題,最直觀的作法便是降低所 取樣的特徵點數量,在前段中所述的特徵點擷取方法MUST [13] [14],其目的除 了取得影像中更加具代表性且更穩定的特徵外,同時也能降低特徵點擷取的數量;

除了直接降低擷取的特徵點數量外。另一個做法便是對做為定位系統的特徵點進 行額外的處理,[3]以單眼攝影機為感測裝置,其將機器人行進間所取得之影像 分為數個群組,每一個群組以開頭的影像作為參考影像,接續的影像特徵與參考 影像的特徵進行比對,取得的相同特徵點作為EKF的輸入,修正系統狀態向量,

藉此達成同時定位與建立地圖,圖1.1說明此方法的設計方式。圖中每個區間由 四個影像所組成,其中第一個影像為參考影像,以固定數量的影像資料做分界降 低定位系統矩陣複雜度的增長。

[18]提出一種處理特徵點地圖資訊的做法,此做法用以降低定位系統的運算 成本,在該文章中其所使用的資料庫為特徵點地圖,在定位與地圖建立使用EKF 演算法,降低建構地圖時的運算成本是以限制單一區域內資料總數的方式將地圖 分為數個部分,藉以降低定位系統所使用的系統狀態向量維度,而最終分離的區 域地圖則以二分法的地圖融合設計將區域地圖資訊整合。圖1.2為該文所設計之

圖 1. 1 影像分界設計之示意圖[3] (Loop closure)之辨認。其實質的意義是使機器人在建立地圖後能使用已建立之地 圖資訊,避免系統重複建圖並使機器人能使用已建立之地圖資料庫。且當機器人 再次行進於重複路徑時,透過使用已建立的地圖資料庫加強定位結果的正確性。

其中最典型的情境是當機器人行進的路徑為方型封閉路線,方形封閉路徑使機器

Ref_cnt=1 Triangle_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4

Ref_cnt=2 Triangle_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=8

Ref_cnt=9

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1 Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=5 Ref_cnt=4

Ref_cnt=3 Ref_cnt=6

Ref_cnt=11

Ref_cnt=14 Ref_cnt=13

Ref_cnt=15 Triangle_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=10

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=12

起始點 Triangle_cnt=1 Ref_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4

Ref_cnt=2 Triangle_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=8

Ref_cnt=9

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1 Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=5 Ref_cnt=4

Ref_cnt=3

Ref_cnt=11

Ref_cnt=14 Ref_cnt=13

Ref_cnt=15 Triangle_cnt=2

Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=10

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=12

起始點 Triangle_cnt=1 Ref_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4

Ref_cnt=2 Triangle_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=8

Ref_cnt=9

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1 Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=5 Ref_cnt=4

Ref_cnt=3 Ref_cnt=6

Ref_cnt=11

Ref_cnt=14 Ref_cnt=13

Ref_cnt=15 Triangle_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=10

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=12

起始點 Triangle_cnt=1 Ref_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4

Ref_cnt=2 Triangle_cnt=1

Triangle_cnt=2 Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=8

Ref_cnt=9

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1 Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=5 Ref_cnt=4

Ref_cnt=3

Ref_cnt=11

Ref_cnt=14 Ref_cnt=13

Ref_cnt=15 Triangle_cnt=2

Triangle_cnt=3 Triangle_cnt=4 Ref_cnt=10

Triangle_cnt=4 Triangle_cnt=3 Triangle_cnt=2 Triangle_cnt=1

Ref_cnt=12

起始點

人最終將從起點位置重複繞行。[20]將影像特徵點整合為特徵點地圖,重合事件 (Loop closing)的偵測是以運行時的影像特徵點比對地圖資料庫訊息(圖1.3)以及 攝影機移動姿態的關聯性(圖1.4)來達成。其影像資訊與資料庫比對的方式是利用 隨機搜尋樹演算法(Randomised tree)先將資料庫特徵點訊息分類,影像特徵資訊 同樣以隨機搜尋樹演算法計算歸屬,藉以加速影像特徵比對之效率。[21]所使用 的資料類型為單張影像的特徵點訊息,每個影像特徵點資訊被轉化為字串化訊息 (bag of word),以圖1.5為例,在t時刻所得到的影像𝐼𝑡其透過與資料庫的字串化訊 息比對而得知當前影像事件𝑆𝑡,事件𝑆𝑡的結果代表當前影像是否為重合影像,資 料庫中的字串化訊息代表不同影像的資料,透過統計的方式計算與資料庫各個影 像的相似程度,也就是當兩時段的影像字串訊息有越多的相同部分其統計數值也 就越高。以[20]建構地圖的方式是將影像資訊整合為特徵點地圖資料庫,與以影 像作為資料庫的做法[21]比較,整合特徵點地圖可以避免相同的特徵點重複存放,

減輕資料庫所需容量降低比對時所需的運算,在重合事件的偵測上,以影像作為 資料庫的做法較易準確的偵測,但所需比對的影像特徵點數量較大。