[翻譯學習]MonoSLAM: Real-Time Single Camera SLAM

目錄

1.介紹

1.1本文的貢獻

2.研究現狀

2.1基於視覺的SLAM

3.方法

3.1概率三維地圖

3.2自然視覺地標

3.3系統初始化

3.4運動建模與預測

3.5主動特徵測量和地圖更新

3.6特徵初始化

3.7地圖管理

3.8功能取向估計


MonoSLAM: Real-Time Single Camera SLAM

作者:Davison A J , Reid I D , Molton N D , et al

論文下載

摘要:我們提出了一種可以對在未知環境中快速運動的單目相機進行3D軌跡重建的實時算法。這個系統,我們稱之爲MonoSLAM,它是第一個成功的基於移動機器人的單目非控相機的“純視覺”SLAM算法,取得了從結構到運動模型的實時且無漂移性能。算法的關鍵在於通過一個概率框架在線創建了一個稀疏卻穩定的自然標記地圖。我們的核心貢獻包括一個用於構圖和測量的活性方法,使用一種通用運動模型來平滑相機運動,和單目特徵初始化與特徵定位估計的解決方案。這共同構成了一個高效而穩健的算法,其在標準電腦和手持相機上運行達到了30Hz。這個工作拓寬了機器人領域內SLAM運用的領域,並開闢了一個新的空間。我們提出的MonoSLAM可以進行高性能全尺寸的人形機器人的實時3D定位與構圖應用,以及手持相機的實時增強現實。

關鍵詞:自動測量,三維單目場景分析,跟蹤

 

1.介紹

在過去的10年裏,自主機器人導航已經取得了顯著的進展,特別是,模擬新定位和地圖(SLAM)已經在機器人領域得到了很好的定義,它是一個移動傳感器平臺,在動態地構建其環境的表示的同時,同時估計其自身的運動。SLAM是目前在實驗機器人系統中使用順序貝葉斯推理的現代方法常規實現的,而SLAM算法現在正開始交叉應用到實際系統中。然而,有趣的是,儘管有龐大的計算機視覺研究羣體,但直到最近,相機的使用還沒有成爲機器人SLAM研究進展的核心,人們對激光測距儀和聲納等其他傳感器給予了更多關注。

這似乎令人驚訝,因爲視覺是SLAM傳感器的一個有吸引力的選擇,原因有很多:相機小巧、精確、無創、易於理解——而且如今價格便宜、無處不在。當然,視覺也有很大的直覺吸引力,因爲人類和動物主要用來導航的感覺。但是,相機捕捉世界上唯一的幾何間接通過光度效果和輪到認爲太難了圖像的稀疏的特性向外成可靠的長期實時地圖生成,尤其是來自攝像機的數據速率遠高於其他傳感器。

相反,視覺研究人員專注於小圖像集的重建問題,開發了一種名爲“運動結構”(SFM)的領域。SFM算法已經被擴展到更長的圖像序列上,但這些系統本質上是離線的,分析一個完整的圖像序列,生成所觀察到的攝像機軌跡和場景結構的重建。爲了獲得一個序列的全局一致估計,從幀到幀特徵匹配的局部運動估計在一個全局優化中進行細化,在整個序列中前後移動(稱爲束調整)。這些方法完全適合於自動分析從任意來源獲得的短圖像序列——電影鏡頭、消費視頻,甚至是幾十年前的存檔視頻——但不能對任意長序列進行實時的一致定位。

我們的工作高度關注高幀速率實時性能(通常爲30Hz)作爲一個要求。在應用程序中,實時算法是必要的,只有當它們被用作包含動態世界中其他組件的循環的一部分時——機器人必須控制它的下一個動作步驟,人類需要對他的動作進行視覺反饋,或者是另一個等待輸入的計算過程。在這些情況下,從一個移動的相機實時獲得的最直接有用的信息是它在哪裏,而不是一個完整詳細的“最終結果”地圖的風景準備顯示。儘管本地化和映射是複雜耦合的問題,而且slam研究已經證明,解決這兩個問題都需要同時解決這兩個問題,但在這項工作中,我們將重點放在本地化上,將其作爲感興趣的主要輸出。當然已經構建了一個映射,但是它是一個稀疏映射,用於優化標記修改以支持本地化。

此外,實時攝像機跟蹤場景通常涉及在受限環境下的擴展和循環運動(當類人機器人執行任務時,馴養機器人會打掃房間,或者通過圖形增強從不同角度觀察房間)。重複定位,即不發生從地面真相逐漸漂移,在這裏將是至關重要的,比在不斷探索新的區域而不返回的情況下更重要。這就是我們的全概率slam方法發揮作用的地方:它將自然地構建場景地標的持久映射,在基於狀態的框架中獨立引用,並允許循環閉包來糾正長期漂移。形成一個持久的世界地圖意味着,如果相機的運動受到限制,算法的處理要求是有限的,可以保持連續的實時操作,不像在跟蹤方法,如[4],其中閉環校正是通過匹配一個不斷增長的歷史過去的姿態。

1.1本文的貢獻

我們的主要貢獻是證明了用一個可自由移動的攝像機作爲唯一的數據源確實可以實現實時定位和映射。我們通過應用概率SLAM方法的核心來實現這一目標,並針對這裏的一個特別困難的SLAM場景提出了新穎的見解。MonoSLAM算法我們解釋和演示達到所需的效率實時操作通過使用一個活躍的、引導功能映射和測量方法,一般運動模型平滑前3d攝影機運動捕捉動態信息固有的連續視頻和創新性的自上而下解決單眼功能初始化的問題。

簡而言之,與SFM方法相比,使用SLAM,我們既能實時估計運動相機的狀態和地圖,又能從運行估計中受益,指導有效的處理。SLAM的這方面經常被忽視。例如,序列SLAMis非常自然地能夠選擇一組高分辨率、可跟蹤、但有效間隔的特性來實現其可視化地圖,只需要使用簡單的啓發式地圖構建。除了最重要的圖像處理外,合理的置信邊界假設可以避免所有的處理,並且在高幀率下,除了輸入圖像的微小搜索區域外,所有的搜索區域都被我們的算法完全忽略。我們的映射方法可以概括爲“高質量特徵的稀疏映射”。

在這篇論文中,我們能夠在房間大小的域中實時演示Mono_slam。SLAM的一個長期目標是實現一個具有以下性能的系統:一個連接在便攜式電腦上的低成本攝像頭將在一個未知場景的任意位置開機,然後由一個快速移動的機器人(可能是飛行或跳躍),甚至是一個奔跑的人在一個任意大的區域內進行拍攝,所有時間都可以毫不費力地實時恢復它的軌跡,併爲它所看到的一切建立一個詳細、持久的地圖。當其他人攻擊大地圖問題,但繼續與以前相同的緩慢移動的機器人和多傳感器平臺工作時,我們正從另一個方向解決這個問題,並解決與高度動態3D運動、商品視覺感知、處理效率和放鬆平臺假設相關的問題。我們相信我們的研究結果在理論和實踐上都很重要,因爲它們爲SLAM技術的應用開闢了全新的道路。本論文借鑑了會議論文[5]、[6]、[7]中發表的早期研究成果。我們還提出了新的未提出過的結果,證明了該算法在類人機器人和增強現實應用中的先進應用。

2.研究現狀

我們對哈里斯和派克[8]的工作感到高興,他們的機器人系統使用一個攝像頭的輸入順序構建可視地圖,這可能是我們研究的鼻祖,遠遠領先於那個時代。令人印象深刻的結果表明,三維地圖從長圖像序列,並實現了後期的實時實現。然而,這項工作的一個嚴重疏忽是將每個映射的視覺特徵的位置處理爲非耦合估計問題,忽略了由普通攝像機運動引入的強相關性。相關的方法由Ayache[9]和後來的Beardsley等人在一個未校準的幾何框架中提出,但這些方法也忽略了相關性,結果是對映射和定位估計不自信,無法閉合環路和糾正漂移。

Smith等人([11])和與之類似的Moutarlier和chatila[12]提出,考慮到一般機器人定位和映射問題中的所有相關關係,並在單個狀態向量和協方差矩陣中使用擴展卡爾曼濾波(EKF)更新。馬尼卡倫納德[13],[14],和其他證明日益複雜的機器人映射使用相關算法進行技術和本地化,但單一狀態向量和“全協方差”的方法史密斯等人沒有收到廣泛關注,直到1990年代中後期,也許當計算能力幾乎達到了頂點,它可以測試。

一些早期的實現證明了在真實機器人系統中構建中等規模地圖的單一EKF方法,並令人信服地證明了維護估計相關性的重要性。這些成功使得EKF作爲SLAM中的核心估計技術得到了廣泛的應用,而它作爲aBayesian解決方案的通用性也在各種不同的平臺和傳感器上得到了理解。近年來,基於EFK和相關概率濾波器的SLAM系統在不同的領域都取得了顯著的效果。偏離標準EKF的方法主要針對大比例尺地圖的構建,其中EKF由於線性化而存在計算複雜度和精度不高的問題,包括子映射策略(如[20]、[21])和因子化粒子濾波(如[22])。在測繪精度和比例方面,最具壓力的結果來自使用激光測距傳感器的機器人。這些直接返回準確的距離和方位掃描附近一片的場景,它可以處理史料可重複的特性來插入地圖(例如,[23])或者簡單匹配與其他重疊掃描機器人精確測量位移和全方位的再構建一個歷史性的機器人位置供本地掃描引用(例如[24],[25])。

2.1基於視覺的SLAM

算法使用視覺作爲唯一的向外的感知。在第1節中,我們提到了視覺對激光傳感器的額外挑戰,包括非常高的輸入數據率、視覺數據固有的3D質量、缺乏直接深度測量以及難以提取長期特徵來繪製地圖。這些因素意味着只有視覺的SLAM系統相對較少成功(現在我們將SLAM系統定義爲能夠在關閉循環以糾正漂移的同時動態構建持久映射的系統)。在本節中,我們將回顧一些最有趣的地方,並將我們的工作放到上下文中。

Neira等人提出了一個簡單的系統映射垂線段在2d約束室內環境[26],但方法的起源論文是戴維森和穆雷[18],[27],[28]的系統使用,關注主動立體的第一個視覺全景系統實時處理(在5赫茲),能夠建立一個動態的3d地圖自然地標和可控移動機器人。被使用的機器人主動頭強制一個一個地選擇特徵測量和稀疏映射。然而,事實證明,如果仔細選擇和傳播,一小組地標可以提供非常準確的slam參考。戴維森和基塔·[29]將該方法推廣到機器人通過結合立體視覺和傾斜儀在非平面坡道上進行定位的情況。

在最近的工作中,基於視覺的SLAM已經在一系列不同的系統中得到了應用。Jung和Lacroix[30]提出了星型視覺SLAM系統,該系統使用向下看的立體定向來定位一艘機器人飛艇並執行地形測繪。它們的實現是連續的,但不實時運行,並依賴於一個寬基線固定立體鑽機來直接獲取深度測量。金姆和Sukkarieh[31]使用單眼視覺結合準確的慣性傳感映射從動態操縱無人機地面目標在一個令人印象深刻的系統中,儘管目標是人爲放置和評估他們的位置是容易多了,他們可以認爲處在一個平面。

Bosse等人在他們的ATLAS submap-ping框架中,[20]、[32]將全方位視覺與其他傳感器結合使用,特別使用人工環境中的線條作爲一致的方位參考。最近Eustice等人的[33]已經使用一個向下看的相機和慣性傳感定位水下遠程車輛,並從低幀率圖像序列產生詳細的海底勘探結構。在迴環閉包相對較少的實驗設置中,使用有效的稀疏信息過濾器,他們的方法可以很好地擴展到大規模映射。

Sim等人最近發表的工作。[34]使用一種結合SIFT特性[35]和快速slam濾波[22]的算法來實現特別大規模的純視覺SLA。他們的方法是處理器密集型的,平均每幀10秒的處理時間是目前離實時操作很大的因素。商用vSLAM系統[36]也使用SIFT特性,不過在SLAM算法中,該算法嚴重依賴於里程測量來構建可識別位置的連接地圖,而不是完全連續的精確定位。毫無疑問,SIFT等不變特性在匹配方面提供了高水平的性能,並允許以與設計用於視覺對象識別相同的方式進行高保真度的“位置識別”。它們在閉環鎖定“丟失的機器人”(包括匹配非常弱的先驗)方面的價值是顯而易見的。然而,由於提取它們的計算成本很高,它們不太適合繼續進行搜索——像我們使用主動搜索的方法在速度上總是優於不變匹配。

我們工作的一個重點是將SLAM所需的硬件簡化到儘可能簡單的情況,即一臺連接到計算機的相機,並要求對該相機的自由3D運動做出最少的假設。幾位作者提出了與我們目標相似的實時攝像機跟蹤系統。McLauchlan和Murray[37]引入了VSDF(可變狀態維濾波器),利用稀疏的信息濾波框架從運動相機中同時恢復結構和運動,但無法演示長期跟蹤或循環關閉。Chiuso等人的方法[38]分享了我們工作的幾個想法,包括使用一個擴展的卡爾曼濾波器來傳播地圖和定位不確定性,但是隻給出了使用小攝像機運動跟蹤小組對象的有限結果。他們的方法使用簡單的梯度下降特徵跟蹤,因此無法在高加速度或忽略後的閉合環路中觀察特徵。nist等[39]提出了一個基於實時系統非常標準從運動到結構的幀到幀匹配方法的大量特徵點能夠重建瞬時動作,令人印象深刻而又沒有能力經過時間的忽視和重識別特性,因此,不可避免地會導致增強現實或定位迅速漂移。Foxlin[40]採用了一種不同的方法在一個單一的相機系統,使用基準標記附加到天花板結合高性能慣性感應。該系統取得了令人印象深刻的中繼表本地化結果,但需要大量額外的基礎設施和成本。Burschka和Hager[41]演示了一個小規模的視覺定位和映射系統,儘管通過分離定位和映射步驟,他們忽略了估計相關性,而且這種方法在長時間內工作的能力值得懷疑。

在下一節中,我們將以一種對以前SLAM方法的細節不熟悉的讀者可以訪問的形式逐步介紹我們的方法。

3.方法

3.1概率三維地圖

與[11]一樣,我們的方法的關鍵概念是基於概率特徵的地圖,它表示當前對相機狀態和所有感興趣的特性的估計的快照,關鍵是這些估計中的不確定性。映射在系統啓動時初始化,並一直持續到操作結束,但是隨着擴展卡爾曼過濾器的更新,映射將不斷地、動態地發展。

圖1所示。(a)概率三維地圖快照,顯示相機位置估計和特徵位置不確定橢球體。在這張圖和其他圖中,本文的特徵顏色代碼如下:紅色=成功測量,藍色=嘗試但失敗測量,黃色=此步驟未選擇測量。(b)檢測到的視覺顯著特徵斑塊作爲視覺地標,並通過對其估計的世界位置的反投影推導出三維平面區域。這些平面區域被投射到未來估計的攝像機位置,從新的角度預測patch的外觀。

在相機運動和特徵觀測過程中,對相機和特徵的概率狀態估計進行更新。當觀察到新的特徵時,地圖會隨着新的狀態進行放大,如果需要,還可以刪除特徵。地圖的概率特徵不僅在於隨時間的傳播,而且還在於對相機狀態和特徵的平均“最佳”估計,以及描述可能偏離這些值的大小的一階不確定性分佈。從數學上講,地圖由a和協方差矩陣P表示。狀態向量x^是由攝像機和特徵的疊加狀態估計量組成的狀態向量x, P是一個等維方陣,可以劃分爲以下子矩陣元素:

在此過程中,所有地圖參數的概率分佈被近似爲一個單一的多元高斯分佈在一個維數等於總狀態向量大小的空間。明確地說,相機的狀態向量x v包括一個度量的三維位置向量r W、方向四元數q RW、速度向量v W和角速度向量!R相對於攝像機攜帶的固定世界幀W和“機器人”幀R(13個參數):

在這項工作中,特徵狀態y i是點特徵位置的三維位置向量。圖3a定義了攝像機和特徵幾何座標系。

地圖的作用主要是允許實時定位,而不是作爲一個完整的場景描述,因此我們的目標是捕捉一組稀疏的高質量地標。我們假設場景是剛性的,每個地標都是一個固定的世界特徵。具體來說,在這項工作中,每個地標都被假定對應於三維空間中的一個良好的局部點特徵。相機被建模爲一個剛體,需要平移和旋轉參數來描述它的位置,我們還保持對它的線速度和角速度的估計:這在我們的算法中很重要,因爲我們將使用運動動力學,如第3.4節所解釋的那樣。

圖1a所示:所有幾何估計值都可以看作是由表示不確定邊界的橢球體區域所包圍(這裏對應三個標準差)。圖1不能顯示是不同程度的各種橢圓體潛在關聯:在連續映射,這種情況常發生的空間關閉功能通常同時觀察到相機將位置估計的差異(相對位置)是非常有名的,而集團作爲一個整體的位置相對於全局座標系可能不是。這種情況在映射協方差矩陣P中由非對角矩陣塊中的非零項表示,並通過算法的運算自然實現。

地圖表示的總大小超過了O(N2),其中N爲特徵個數,我們使用的完整SLAM算法具有O(N2)複雜度。這意味着,在我們的系統中,可以通過實時處理來維護的特性的數量在當前的30hz實現中限制在100個左右。

在這項工作中,我們選擇使用“標準”的單一、全協方差EKF方法來進行SLAM,而不是使用不同概率表示的變體,這是有充分理由的。如前所述,我們當前的目標是在有限的卷中進行長期的、可重複的本地化。在我們的一個映射中觀察特徵的模式與用於機器人映射的SLAM的許多其他實現(如[25]、[34]或[22])中所看到的模式非常不同。這些機器人主要在走廊式的拓撲結構中移動,沿着探索性的路徑移動,直到它們偶爾回到它們以前見過的地方,在那個階段,它們會修正在迴路中的漂移。可以採用相對特殊的方法來將校正分佈在定義良好的迴路周圍,無論是通過一系列不確定的位姿轉換或子映射,還是通過從一組由有限數量的粒子所反映的可能貧乏的離散軌跡假設中進行選擇。

圖2所示。(a)在第一個跟蹤幀上匹配初始化目標的四個已知特徵。大的圓形搜索區域反映了初始相機位置估計的高不確定性。(b)“平滑”運動模型的可視化:在每個攝像機位置,我們預測一個最有可能的路徑,以及具有較小偏差的備選方案。

在我們的案例中,作爲一個自由相機移動和旋轉在受限制的空間,3 d特徵會的視野在不同序列,不同子集的特徵在不同深度將相機旋轉,和許多不同大小和互連的循環模式會經常關閉。我們認爲,準確地表示地圖不同部分之間的詳細的、靈活的相關性是非常重要的。在已知方法的類中,只有在單個狀態向量和協方差矩陣中維護稀疏特徵映射時,這在計算上是可行的。經過仔細的地圖管理,100個精心挑選的功能足以跨越一個房間。在我們看來,一個方法(例如FastSLAM [22],[42])能夠處理更多的特性,但是表示相關性不那麼精確,是否能夠在敏捷的單攝像機SLAM中給出如此好的可重複定位結果,還有待證明。

3.2自然視覺地標

現在,我們將專門討論構成地圖的特性。我們採用了Davison和Murray[5],[27]的方法,他們發現相對較大的(11×11像素)圖像patch可以作爲長期的地標性特徵,大模板比標準的轉角特徵具有更多的獨特特徵。然而,我們利用現有的相機定位信息,在較大的相機位移和旋轉情況下改進匹配,從而大大擴展了這些特徵的能力。

突出圖像區域最初是卡莉(在時間和地點3.7節)的策略指導下使用史的檢測算子和預[43]從單色圖像從相機獲得(注意,在當前的工作中,我們使用單色圖像主要是出於效率)。我們的目標是能夠在潛在的極端攝像機運動中重複識別這些相同的視覺地標,因此,正向2D模板匹配(如[5])是非常有限的,因爲僅在攝像機旋轉和平移的小角度之後,地標的外觀就會發生很大的變化。爲了改進這一點,我們做了一個近似,即每個地標都位於一個局部平面表面上——這個近似在很多情況下非常好,在其他情況下非常差,但是比假設斑塊的外觀不會發生任何變化要好得多。此外,由於我們不知道這個曲面的方向,所以在初始化時,我們指定曲面法線平行於從特徵到相機的向量(在第3.8節中,我們將提出一種更新這個法線方向估計的方法)。利用第3.6節方法對特徵的三維位置(包括深度)進行完全初始化後,將每個特徵存儲爲一個定向的平面紋理(圖1b)。當從新的相機位置測量一個特徵時,它的patch可以從3D投影到圖像平面上,生成一個模板來匹配真實的圖像。此模板將是第一次檢測到該特性時捕獲的原始正方形模板的變形版本。一般來說,這將是一個完整的投影翹曲,帶有剪切和透視變形,因爲我們只是通過前後相機模型發送模板。即使特徵所在表面的方位不正確,翹曲也能成功地完成繞環扭軸和尺度的旋轉。圖3(a)攝像機的幀和向量以及特徵幾何。(b)從廣角相機主動搜尋原始圖像的特徵。

圖3所示。(a)攝像機的幀和向量以及特徵幾何。(b)從廣角相機主動搜尋原始圖像的特徵。橢圓表示由相機相對位置和特徵的不確定性導出的特徵搜索區域,只搜索這些區域。

橢圓表示由相機相對位置和特徵的不確定性導出的特徵搜索區域,只搜索這些區域。其中SIFT描述符是不變的)和其他一些扭曲。注意,由於目標是可重複的本地化,所以我們不會對保存的模板進行長時間的特性更新,因此我們需要能夠在任意長的時間週期內精確地重新度量特性的位置。隨着時間的推移而更新的模板往往會逐漸偏離最初的位置。

3.3系統初始化

在大多數SLAM系統中,機器人在第一次開機時對周圍世界的結構並沒有具體的瞭解。它可以自由地定義一個座標系來估計它的運動並構建一個地圖,最明顯的選擇是將這個座標系固定在機器人的起始位置,定義爲原點。在我們的單攝像機SLAM算法中,我們選擇在攝像機前放置一個已知目標形狀的場景中使用少量的先驗信息來輔助系統啓動。這提供了幾個具有已知位置和外觀的特性(通常是四個)。主要有兩個原因:

1. 在單相機SLAM中,沒有直接的方式來衡量特徵深度或任何測程法,從一個已知大小的目標能讓我們精確的比例分配給估計地圖與規模和運動,而不是運行一個完全未知的自由度。瞭解地圖的規模是可取的,當它必須與其他信息,如運動學或功能深度的先驗,使它更容易在實際應用中使用。

2. 在地圖中從一開始就有一些特性意味着我們可以立即進入正常的預測-測量-更新跟蹤序列,而不需要任何特殊的第一步。對於單個相機,特徵無法在一次測量後完全初始化到地圖中,因爲它們的深度未知,因此,在我們的標準框架中,我們將無法匹配特徵來估計從第一幀到第二幀的相機運動。(當然,標準立體算法提供了一個單獨的方案,可以用來引導運動和結構估計。)

圖2a顯示了使用典型初始化目標跟蹤的第一步。已知的特徵(在本例中是黑色矩形的角)在系統啓動時將測量到的位置放入地圖,不確定度爲零。現在正是這些特性定義了SLAM的世界座標框架。在第一跟蹤幀上,相機被置於相對於目標的某個近似已知的位置,以便跟蹤開始。在狀態向量中,初始攝像機位置被給定一個初始不確定度,對應於幾個度和中心米。這使得跟蹤可以在第一幀中通過啓動標準跟蹤週期來“鎖定”。

3.4運動建模與預測

啓動後,狀態向量以兩種交替的方式進行更新:1)預測步驟,當相機在圖像採集和更新之間的“盲”區間移動時;2)更新步驟,完成特徵量的測量後。在本節中,我們考慮預測。

構建敏捷攝影機的運動模型是由一個未知的人,機器人,或其他移動身體,乍一看,似乎完全不同的建模上的輪式移動機器人的運動平面:關鍵的區別是,在機器人的情況下,一個是擁有控制輸入驅動運動,如“前進和轉向角1米5度,“而我們沒有這樣的先驗信息敏捷相機的運動。然而,重要的是要記住,這兩種情況都只是表示物理系統的模型類型連續體上的點。每個模型都必須在某種程度上停留在細節上,並對模型與現實之間的差異做出概率假設:這就是所謂的過程不確定性(或噪聲)。以輪式機器人爲例,這個不確定項考慮了諸如潛在的車輪滑移、表面不規則性以及其他尚未明確建模的主要非系統影響等因素。在敏捷相機的情況下,它考慮到未知的動力學和人類或機器人載體的意圖,但這些也可以概率建模。

我們目前使用的是“恆速,恆角速度模型”。“這並不意味着我們假設相機一直以恆定的速度運動,而是我們的統計模型顯示,相機在一個時間步長的運動中,平均而言,我們預計在高斯分佈的情況下,會出現未確定的加速度。”模型如圖2b所示。這個模型的含義是,我們對相機的運動施加了一定的平滑度:非常大的加速度相對不太可能。該模型具有微妙的有效性,即使視覺測量是稀疏的,也能使整個系統具有重要的魯棒性。

我們假設,在每個時間步長中,未知加速度W和角加速度W過程的零均值和高斯分佈引起速度和角速度的脈衝:

視情況而定,V W和R可以耦合在一起(例如,假設在每一個時間步長對攜帶相機的剛體形狀施加一個力脈衝,使其線速度和角速度發生相關變化)。然而,目前我們假設噪聲向量n的協方差矩陣是對角的,表示所有線性和旋轉分量中的不相關噪聲。

在EKF中,新狀態估計FV;運動後,UB必須伴隨着相機狀態不確定性(過程噪聲協方差)qv的增加。我們通過雅可比矩陣計算得到qv:這裏我們沒有給出結果。在這個運動模型中,不確定性的增長速度由pn的大小決定,將這些參數設置爲小或大的值定義了我們所期望的運動的平滑度。對於小的P n,我們期望有一個非常平滑的運動與小加速度,並將很好地跟蹤這種類型的運動,但無法應付突然的快速運動。

3.5主動特徵測量和地圖更新

在本節中,我們將考慮度量SLAM映射中已經存在的特性的過程(我們將在下一節中討論初始化)。

我們的方法的一個關鍵部分是在決定測量哪個特徵之前預測每個特徵的圖像位置。特徵匹配本身是使用straightfor病房進行歸一化互相關搜索模板補丁投射到當前相機估計使用3.2節的方法和圖像數據,模板在圖像掃描和檢測在每個位置匹配,直到找到一個峯值。這種匹配的搜索在計算上是昂貴的;預測是一種主動的方法,通過縮小搜索範圍來最大化效率。首先,使用估計,x v相機的位置和我的特徵的位置,一個點的位置特徵相對於相機預計:透視相機,位置(x, y)的特性將會發現圖像中發現使用標準的針孔模型:

在當前的工作,然而,我們使用廣角相機領域將近100度角度顯示在[6],SLAM的準確性顯著提高了交易單像素角分辨率,有皺紋的相機和地圖估計領域更好的約束特性時截然不同的視角可以同時觀察到。這類相機的成像特性並沒有像圖3b所示那樣很好地近似於透視,它們的圖像顯示出明顯的非透視畸變(三維世界中的直線不會投射到圖像中的直線上)。然而,我們對這些原始圖像進行特徵匹配,而不是首先對它們進行不失真(注意,爲了將這些圖像用於增強現實,必須將後面的圖像轉換爲透視投影,因爲OpenGL只支持透視相機模型)。因此,我們經u 1⁄4ðu perspective-projected座標;vÞ與一個徑向畸變,以獲得最終的圖像位置預測u d 1⁄4ðu d;v dÞ:以下徑向畸變模型被選中,是因爲,一個好的近似,它是可逆的[44]:

這個兩步投影函數關於攝像機和特徵位置的雅可比矩陣也得到了計算(這是一個簡單的微分問題,很容易在紙上或軟件中執行)。這使得計算特徵圖像位置預測的不確定性,用對稱的創新協方差矩陣Si表示:

測量值的恆噪聲協方差R爲對角,大小由圖像分辨率決定。Si的知識使圖像搜索成爲一種完全主動的方法;si表示二維高斯PDF在圖像座標上的形狀,並選擇若干個標準差(門控,通常爲3),定義了一個橢圓搜索窗口,在該窗口內特徵應該具有很高的概率。在我們的系統中,關聯搜索總是發生在門控搜索區域內,以最大限度地提高效率和最小化不匹配的機會。參見圖3 b。S i在主動搜索中還有進一步的作用;它是對度量所期望的信息內容的度量。

高S i的特徵搜索(結果很難預測)將提供更多關於相機估計和特徵位置的[45]信息。在戴維森和穆雷的工作中,基於視覺的SLAM機器人具有可操縱的攝像機[27],這直接導致積極控制觀看方向,以實現有益的測量;這裏我們不能控制相機的運動,但在許多候選度量可用的情況下,我們選擇那些具有高創新協方差的度量,將每幀特徵搜索的最大數量限制在10或12個信息量最大的。選擇這樣的測量方法的目的是消除系統中沿着最長可用軸的不確定性,並有助於確保在估計狀態下沒有特定的不確定性成分失控。我們的主動搜索技術的明顯的比較點是非常快速的自底向上的特徵檢測算法,它對圖像的處理是不加區別的,但是可以在幾毫秒內提取出圖像中的所有特徵。使用主動搜索,我們將始終能夠減少圖像處理的工作量,但在計算出在何處搜索[45]時,可能需要額外的大量計算。如果相機丟失,我們並不認爲主動搜索是明智的——在存在非常高的不確定性的情況下,需要一個不同的過程來重新定位。

3.6特徵初始化

使用我們的單目相機,由於特徵深度未知,無法直接反演特徵測量模型,給出給定圖像測量的新特徵位置和相機位置。估計一個特徵的深度需要攝像機的運動和從不同角度的幾個測量。但是,我們避免了在不嘗試估計其三維位置的情況下,對多幀圖像中的新特徵進行跟蹤,然後執行一個小批量估計步驟,從多個視圖三角剖分初始化其深度。這將違反我們自上而下的方法,並浪費可用的信息:當相機快速移動時,2D跟蹤可能非常困難。此外,我們通常需要非常快地初始化特性,因爲視野較窄的相機可能很快就會經過它們。在識別和第一次測量新特性之後,我們使用的方法是在地圖中初始化一條3D線,該線必須位於該特性所在的位置。這是一條半無限的線,從估計的相機位置開始,沿着特徵觀察方向向無窮前進,像其他地圖成員一樣,其參數具有高斯不確定性。它在SLAM圖中的表示爲:其中ri爲其一端的位置,h爲描述其方向的單位向量。特徵點的所有可能的三維位置都位於一些點上——沿着這條線的位置,但是我們只剩下了它的位置的一個自由度不確定——它沿着這條線到端點的深度或距離。一組離散深度假設沿這條線均勻分佈,可以認爲是一維粒子分佈或直方圖表示的深度上的一維概率密度。現在,我們做一個近似:在接下來的幾段時間裏,當這個新特徵被重新觀察時,對它的圖像位置的測量只提供關於這個深度座標的信息,它們對直線參數的影響可以忽略不計。這是一個很好的近似,因爲與直線方向的不確定度相比,深度的不確定度非常大。當特徵以這種方式用一行和一組深度假設表示時,我們將其稱爲部分初始化。一旦我們以峯值深度PDF的形式獲得了良好的深度估計,我們就用標準的3D高斯表示將該特性轉換爲“完全初始化”。在隨後的每個時間步驟中,假設都通過將它們投射到圖像中進行測試,其中每個假設都被實例化爲一個橢圓搜索區域。每一個橢圓的大小和形狀決定的不確定參數:每個離散假說在深度3 d世界位置W ^ y我1⁄4 r Wþh。該位置通過標準測量函數和3.5節的相關雅可比矩陣投影到圖像中,得到每個深度的搜索橢圓。注意,在非透視相機的情況下(如我們通常使用的廣角相機),橢圓的中心不會沿直線,而是沿曲線。這並不是一個問題,因爲我們分別對待每個假設。我們使用一種高效的算法在這組省略號上對相同的特徵模板進行相關搜索,這組省略號通常會有明顯的重疊(算法構建了一個相關分數的查找表,這樣重疊區域的圖像處理工作就不會重複)。每個橢圓內的特徵匹配爲每個橢圓生成一個似然值,並通過貝葉斯規則對其概率進行重新加權:似然值只是橢圓搜索區域所隱含的圖像空間中二維高斯PDF所表示的概率。注意,在許多小的情況下與相對較小的橢圓重疊(真當相機定位估計很好),我們得到更多的分辨能力不同深度假設比大時,觀察到明顯重疊橢圓,這會影響深度分佈將會崩潰的速度峯值。

圖4所示。在特徵初始化過程中連續幀圖像搜索的特寫視圖。在第一幀中,在搜索區域內識別候選特徵圖像patch。在SLAM地圖中添加一個3D光線,該光線必須沿着該光線的方向,並投射到後續的圖像中。深度分佈假設從0.5 m到5 m,通過相機相對於光線的新位置的不確定性轉化爲一組橢圓,這些橢圓都被搜索,以生成深度分佈的貝葉斯加權的概率。少量的時間步長通常足以降低深度,使其近似爲高斯分佈,使特徵轉換爲完全初始化的點表示。

圖5所示。一幀一幀的演化概率密度超過特徵深度的概率密度由一個粒子集表示。100個等權粒子最初均勻分佈在0.5 m到5.0 m範圍內;隨着後續圖像測量,分佈更加接近高斯分佈。

圖4爲多幀搜索過程,圖5爲分佈從均勻到尖峯的典型隨時間演化過程。當深度與深度估計值的標準差之比下降到閾值(目前爲0.3)以下時,分佈被安全地近似爲高斯分佈,特徵被初始化爲映射中的一個點。剛越過此閾值的特徵通常保留較大的深度不確定性(參見圖1a,其中顯示了沿着相機大致觀察方向拉長的幾個不確定性橢球體),但隨着相機移動和獲得進一步的標準測量,這種不確定性會迅速縮小。這種初始化的重要因素是重疊橢圓生成的搜索區域的形狀。深度先驗消除了沿整個極線搜索的需要,提高了初始化的魯棒性和速度。在實時實現中,通過在每一步對最弱的假設進行確定性剪枝,輔助粒子分佈的崩潰速度(並節省相關搜索工作),在典型的運動中,在2-4幀左右就足夠了。值得注意的是,我們所進行的大多數實驗都涉及到相機的側向運動,而這種初始化方法在視差很小的光軸運動中效果會更差。自從本節的初始化算法首次在[5]中發佈以來,對基本思想的一些有趣的開發已經發布。特別是Sola等人提出了一種算法,該算法通過一組沿三維初始化線間隔的重疊的三維高斯分佈來表示剛初始化特徵的不確定性。這種方法吸引人的地方首先是高斯分佈,它在反演深度上是均勻的,而不是像我們的技術那樣在深度上是均勻的——這似乎是對多個樣本更有效的使用。此外,他們的技術允許對新特性的測量立即對細化相機定位估計值產生影響,從而改進我們等待特性“完全初始化”的需要。”最近,打算等。[47]表明,再參量化的逆深度允許更簡單和有效的初始化標準卡爾曼濾波器框架內,所使用的方法類似於Eade and Drummond[42]在一個新的FastSLAM-based單目SLAM系統。

3.7地圖管理

整個算法的一個重要部分是合理地管理映射中的特性數量,並且需要動態地決定何時應該識別和初始化新特性,以及何時可能需要刪除某個特性。我們map-maintenance準則旨在保持可靠的數量特徵可見於任何相機位置接近預定的價值取決於具體的測量過程中,所需的定位精度和可用的計算能力:我們發現廣角相機拍攝的一些在該地區12給準確的定位沒有過重的負擔——荷蘭國際集團(ing)處理器。我們未來工作計劃的一個重要部分是使用[45]中討論的信息論方法,將諸如此類的啓發式建立在堅實的理論基礎上。特徵“可見性”(更準確地說,預測可測性)是根據相機和特徵的相對位置以及初始化特徵時相機的保存位置來計算的。必須預測特徵位於圖像中,但相機也不能從特徵的初始化角度轉換太遠,否則我們將期望相關性失敗(注意,我們可以處理全範圍的旋轉)。只有當相機經過的區域中可見的數量小於這個閾值時,纔會向地圖添加特徵——沒有充分的理由,增加特徵的數量並增加過濾的計算複雜性是不可取的。通過運行Shi和Tomasi的圖像興趣算子來檢測特徵,從而在圖像中有限大小(約8060像素)的框中找到最佳候選項。搜索框的位置目前是隨機選擇的,限制條件只是它不應該與任何現有的特徵重疊,並且根據目前對相機速度和角速度的估計,任何檢測到的特徵都不會立即從視野中消失。如果一個特徵在預先挖掘的檢測次數和匹配嘗試之後(當該特徵應該可見時)失敗的比例超過一個固定的比例(在我們的工作中是50%),則該特徵將從地圖中刪除。這個標準刪除了一些“不好”的特徵,原因可能有很多:它們不是真正的3D點(位於遮擋邊界,如t -結點),位於移動的物體上,是由曲面上的高光引起的,或者重要的是經常被遮擋。

圖6所示。(a)兩個位置的攝像機的幾何形狀,觀察具有法向n的表面。(b)用於估計平面特徵表面三維方位的處理週期

在一段時間內,通過這些地圖管理標準對特徵進行“自然選擇”,從而生成穩定的、靜態的、可廣泛觀察的點特徵的地圖。場景中的雜波可以被處理,即使它有時會遮擋這些地標,因爲對遮擋地標的嘗試測量只是失敗,不會導致過濾器更新。只有當雜波和地標的外觀相似而出現不匹配時纔會出現問題,這可能會導致災難性的失敗。但是,請注意,在良好跟蹤期間,任何類型的不匹配都是極其罕見的,因爲大型功能模板具有高度的唯一性,而active search方法意味着通常只在非常小的圖像區域(通常爲15-20像素)內嘗試匹配。

3.8功能取向估計

在3.2節中,我們描述瞭如何視覺補丁功能從圖像中提取流插入地圖作爲導向,locally-planar表面,但解釋說,這些表面的取向是最初只是假設,這證明足夠的計算出現的變化——性質的特性在合理的角度變化。這是在第4和第5節中介紹的應用程序中使用的方法。在本節中,我們將像[7]一樣展示進一步的方法,並在實時SLAM中使用可視化測量來實際改進每個特徵的任意指定的方向,並在特徵位置恢復關於局部表面法線的真實信息。這提高了每個特徵的可測量性範圍,但也使我們朝着實時恢復詳細的三維表面地圖而不是稀疏地標集的未來目標邁進了一步。我們的方法與Jin等人的一些想法相同。[48]描述了一個序列(但不是實時)算法,他們將其描述爲“直接從運動結構”,用於估計特徵位置和方向。他們的方法是“直接”地將全局特徵跟蹤和幾何估計結合起來,這與我們在[5]、[27]工作中多年來使用的概率SLAM和主動搜索原理是一樣的。當相機在一個高度紋理的物體上移動時,它們可以獲得令人印象深刻的patch方向估計。由於我們假設一個特徵對應於三維空間中的一個局部平面區域,當相機移動時,它的圖像外觀將通過改變視角來改變,從而扭曲爲該特徵捕獲的初始模板。翹曲的確切性質將取決於相機的初始和當前位置、特徵中心的3D位置和其局部表面的方向。SLAM系統提供了相機姿態和3D特徵位置的運行估計。現在,我們還爲每個點維護初始攝像機位置和局部表面方向的估計值。這允許從當前的角度預測特性的扭曲外觀。在圖像中,我們對當前的經度進行測量,利用預測值與測量值之間的差值來更新曲面的方向估計。圖6a顯示了在兩個位置觀看定向平面貼片的攝像機的幾何形狀。將一個視圖中的patch外觀與另一個視圖中的patch外觀聯繫起來的翹曲是由單應性描述的:

其中C是相機的標定矩陣,描述透視投影或我們當地的一個近似透視投影圖像與徑向畸變,R和t描述攝像機運動,n是曲面法線和x p是圖像的投影中心的補丁(我是3 3單位矩陣)。假設該外觀預測足以通過SLAM濾波器導出的橢圓不確定區域內的兩個圖像座標上的標準窮窮相關搜索找到特徵的當前圖像位置。下一步是測量預測模板和當前圖像之間的翹曲變化。而不是擴大包括所有的窮舉搜索潛在扭曲的自由度,鎖定了模板的2 d圖像位置,我們進行一個更高效的概率inverse-composi一對梯度下降法的圖像對齊步驟[49],[50]通過額外的搜索參數,假設經紗的變化會很小,這搜索會發現全球最適合。圖6b圖形化地顯示了特徵方向估計的處理步驟。當向地圖添加新特性時,我們初始化其表面法線的估計值,該法線與當前的查看方向平行,但具有較大的不確定性。目前,我們對特徵法線的估計只與攝像機的法線估計和特徵位置的法線估計有微弱的相關性。因此,正常估計不存儲在主SLAM狀態向量中,而是保存在每個特徵的單獨雙參數EKF中。圖7顯示了patch定位算法在兩個不同場景下的結果:一個室外場景包含一個主平面,一個室內場景中有幾個盒子呈現不同方向的平面。在兩種情況下,經過幾秒鐘的跟蹤,大多數映射的特徵塊的方向都恢復得很好。

圖7所示。對包含一個主平面的室外場景和包含多個主平面的室內場景進行實時特徵塊定位。這些視圖是在幾秒鐘的運動後從實時運行的系統中捕獲的,並顯示了最初假設的線框方向和當前估計的紋理補丁

一般而言,很明顯,方向估計只適用於面積較大且具有顯著有趣紋理的patch,因爲在這種情況下,圖像對齊操作可以準確地估計翹曲。這對於在每個特徵位置估計準確的法向量來說是一個限制,因爲許多特徵具有非常簡單的紋理模式,比如黑白角上的紋理模式,在這種情況下,全曲經估計受到了嚴重的限制。我們例子中的場景有些人爲,因爲這兩個場景都包含具有明顯平坦紋理的大平面區域。然而,應該記住的是,目前我們工作中估計特徵方向的動機是爲了提高相機運動的範圍,在這個範圍內,每一個長期的里程碑都是可以測量的。那些很難得到準確的正常估計值的特徵恰恰是那些首先不那麼重要的特徵,因爲它們表現出一種自然程度的觀點——它們的外觀是不變性的。這些特性的正常估計值是否不正確並不重要,因爲仍然有可能匹配它們。我們把這項工作看作從實時移動的攝像機中恢復更完整的場景幾何形狀的總體方向的一部分。

未完待續。。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章