日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

SVO(SVO: fast semi-direct monocular visual odometry)

發布時間:2023/11/27 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVO(SVO: fast semi-direct monocular visual odometry) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SVO(SVO: fast semi-direct monocular visual odometry)翻譯

文章目錄

    • SVO(SVO: fast semi-direct monocular visual odometry)翻譯
      • 1、介紹
      • 2、系統概述
      • 3、符號
      • 4、運動估計
        • 4.1、 基于稀疏模型的圖像對齊
        • 4.2、 通過特征對齊松弛
        • 4.3、 姿態和結構優化
        • 4.4、 討論
      • 5、建圖
      • 6、 實施細節
      • 7、實驗結果
      • 8、結論

1、介紹

摘要——半直接法消除了運動估計中昂貴的特征提取和匹配技術的需要,直接在像素級上操作,做到了在高幀率下的亞像素精度(subpixel precision),采用概率建圖(probabilistic mapping)方法對異常測量值進行顯式建模,從而得到較少的異常值和更可靠的點。精確的高幀率運動估計在紋理較少、重復性和高頻的場景中具有更強的魯棒性。該算法應用于GPS無效環境下的無人機狀態估計,在嵌入式計算機上以每秒55幀的速度運行,在消費型筆記本電腦上以每秒300幀以上的速度運行。我們將我們的方法稱為SVO(半直接視覺里程計)。它將基于特征的方法(跟蹤多個特征、并行跟蹤和建圖、關鍵幀選擇)的成功因素與直接方法的精度和速度相結合。無人機的高幀率VO有望提高魯棒性和更快的飛行操縱
A、 視覺運動估計方法的分類
同時從視頻中恢復攝像機姿勢和場景結構的方法可以分為兩類:
a) 基于特征的方法:標準的方法是在每個圖像中提取一組稀疏的顯著的圖像特征(例如點、線);使用不變的特征描述子在連續的幀中進行匹配;使用對極幾何魯棒地恢復相機的運動和結構;最后,通過最小化重投影誤差來優化位姿和結構。
基于特征的方法的缺點是依賴于檢測和匹配閾值,必須使用魯棒估計技術來處理錯誤的特征匹配關系,而且大多數特征檢測都是針對速度而不是精度進行優化的,因此,運動估計中的漂移必須通過對多個特征測量進行平均來補償。
b) 直接法:直接從圖像中的強度值(單通道圖像像素值的大小)估計結構和運動。利用圖像中的所有信息的直接方法,即使是來自梯度很小的區域,在紋理很少的場景中,或者在相機無法聚焦和運動模糊[15]的情況下,在魯棒性方面優于基于特征的方法[14]。光度誤差的計算比重投影誤差更為密集,因為它涉及到大圖像區域的圖像扭曲和積分(warping and integrating)。然而,由于直接方法直接對圖像的強度值進行操作,因此可以節省特征檢測和不變描述子計算的時間。
B、 相關工作
大多數用于無人機[1]、[2]、[7]的單目VO算法都依賴于PTAM[16]。PTAM是一種基于特征的SLAM算法,它通過跟蹤和建圖許多(數百)個特征來實現魯棒性。同時,它通過并行化運動估計和建圖任務并依靠高效的基于關鍵幀的光束平差(BA)[17]來實時運行。然而,PTAM是為小型桌面場景中的增強現實應用而設計的,需要進行多次修改(例如,限制關鍵幀的數量)以允許在大型室外環境中操作[2]。
早期的直接單目SLAM方法跟蹤和建圖少部分,有時需要手動選擇平面片[18]–[21]。第一個方法[18],[19]是使用濾波算法來估計結構和運動的,之后的方法[20] –[22]采用非線性最小二乘法優化。所有這些方法都可以估計面片的法線,從而可以在很大的視點范圍內跟蹤一個面片,從而大大減少了估計中的漂移。然而,[19]-[21]的作者報告了實時性能,只能做到少數選定的平面區域和小數據集。文獻[22]提出了一種適用于車載全向攝像機的VO算法。在文獻[8]中,放寬了局部平面性假設,提出了基于立體攝像機計算任意三維結構的直接跟蹤方法。在[9]-[11]中,同樣的方法也適用于RGB-D傳感器。在DTAM[15]中,引入了一種新的直接方法,該方法通過最小化全局空間正則化能量泛函來計算每個關鍵幀的密集深度建圖。通過攝像機的直接定位,找到了整個深度圖。這種方法計算量非常大,而且只有通過大量的GPU并行處理才能實現。為了減少計算需求,在本文回顧過程中發表的文獻[23]中描述的方法只使用具有強梯度特征的像素。
C、 稿件及提綱
為了減少計算需求,只使用具有強烈梯度特征的像素。
提出的半直接視覺里程計(SVO)算法進行特征匹配,但是特征匹配是直接運動估計的隱式結果,而不是顯式特征提取和匹配的結果。因此,只有當選擇一個關鍵幀來初始化新的3D點時,才需要特征提取(見圖1)。
與以前的直接方法不同,我們使用了許多(數百)個小面片,而不是幾個(幾十個)大的平面片[18]–[21]。使用許多小面片可以提高魯棒性,并允許忽略面片法線。
本文提出的基于稀疏模型的運動估計圖像對齊算法與基于模型的稠密圖像對齊相關[8]–[10]。我們證明了稀疏的深度信息足以得到運動的粗略估計和特征匹配。一旦建立了特征匹配和攝像機姿態的初始估計,該算法將繼續只使用點特征;因此,命名為“半直接”。這種轉換使我們可以依賴于快速和成熟的框架來進行光束平差(例如,[25])。
用一個貝葉斯濾波器顯式地建模異常測量值,來估計特征位置的深度值。只有當相應的深度過濾器已收斂時,才會在地圖中插入三維點,這需要多次測量。可以可靠地跟蹤一些異常點的結果。

本文的主要貢獻是:(1)一種比現有的無人機系統更快、更精確的半直接VO管道;(2)集成了一種對異常測量具有魯棒性的概率建圖方法。

2、系統概述

運動估計線程
第一步是通過基于稀疏模型的圖像對齊來初始化位姿:通過最小化相同3D點的投影位置相匹配的像素之間的光度誤差來找到相對于前一幀的相機姿勢(見圖2)。

圖2:改變當前幀和前一幀之間的相對姿勢Tk,k?1隱式地移動新圖像u′i中重投影點的位置。稀疏圖像對齊找到Tk,k?1,將匹配于同一3D點(藍色方塊)的圖像面片之間的光度差減到最小。注意,在所有圖中,要優化的參數用紅色表示,優化成本用藍色顯示。

在下一步中,通過對齊相應的特征面片(參見圖3),可以細化與重投影點相匹配的二維坐標。運動估計是通過優化位姿和結構來完成的,即通過最小化前一個特征對齊步驟中引入的重投影誤差來完成的。

圖3:由于3D點和相機姿勢估計的不精確性,通過單獨優化每個面片的2D位置,可以進一步最小化當前幀中的相應面片(藍色方塊)與先前關鍵幀ri之間的光度誤差。

建圖線程
為每個2D特征初始化一個概率深度濾波器,其匹配的3D點將被估計。每當新的關鍵幀從圖像區域中挑選出來,只要有很少的3D到2D匹配關系被找到,新的深度濾波器就會被初始化。始化時深度有很大的不確定性。在隨后的每一幀,深度估計都會以貝葉斯方式更新(見圖5)。當深度濾波器的不確定性變得足夠小時,一個新的3D點被插入地圖,并立即用于運動估計。

圖5:參考幀r中特征i的概率深度估計?di。真實深度處的點投影到兩個圖像中相似的圖像區域(藍色方塊)。因此,根據與參考面片相關度最高的點u′i計算的三角化深度~dk i更新深度估計值。在新圖像中,相關性最高的點總是位于極線上。

3、符號


4、運動估計

4.1、 基于稀疏模型的圖像對齊

SVO使用直接法,通過計算相機運動和特征匹配的初步猜測,并以基于特征的非線性重投影誤差優化為結論。
以下各節詳細說明了每個步驟,并在圖2至圖4中進行了說明。


4.2、 通過特征對齊松弛

4.3、 姿態和結構優化


4.4、 討論

算法的第一個(第四-A節)和最后一個(第四-C節)優化似乎是多余的,因為這兩個都優化了相機的6自由度位姿。實際上,我們可以直接從第二步開始,通過Lucas Kanade跟蹤所有特征面片[27]來建立特征匹配關系,然后進行非線性位姿優化(第四-C節)。雖然這樣可以工作,但處理時間會更長。在大距離(例如,30像素)上跟蹤所有特征需要更大的面片和金字塔實現。此外,有些特征可能會被錯誤地跟蹤,這就需要異常值檢測。然而,在SVO中,在稀疏圖像對齊步驟中,只需優化攝像機姿態的六個參數即可有效地初始化特征對齊。在稀疏圖像對齊步驟隱式地滿足了對極約束,并確保沒有異常值。
也有人認為第一步(稀疏圖像對齊)足以估計攝像機運動。在事實上,這就是最近為RGB-D相機開發的算法所做的[10],然而,通過對齊全部深度地圖而不是稀疏的面片。我們從經驗上發現,與同時使用所有三個步驟相比,使用第一步只會導致更多的漂移。改進的精度是由于新圖像相對于關鍵幀和地圖進行對齊,而稀疏圖像對齊僅將新幀與前一幀對齊。

5、建圖


[28]中詳細描述了該模型的遞歸貝葉斯更新步驟。與[28]相比,我們使用逆深度坐標來處理大場景深度。
當只搜索極線上當前深度估計值周圍的小范圍時,所提出的深度估計值是非常有效的;在我們的情況下,該范圍相當于當前深度估計值標準差的兩倍。圖6展示了如何減少深度的不確定性所需的運動量。與標準的兩視圖三角測量方法相比,本文提出的方法的主要優點是,每個濾波器經過多次測量直到收斂,這樣觀察到的異常值要少得多。此外,錯誤的測量被顯式地建模,這使得深度即使在高度相似的環境中也能收斂。在[29]中,我們演示了如何將相同的方法用于稠密建圖。

圖6:為了使深度濾波器(如紅線所示)的不確定性收斂,無人機(從頂部看)只需要很少的運動。

6、 實施細節

該算法通過引導(bootstrapped)得到前兩個關鍵幀的位姿和初始地圖。和[16]一樣,我們假設一個局部平面場景并估計一個單應矩陣。初始地圖是從前兩個視圖三角化的。
為了處理更大的運動,我們采用了由粗到細的稀疏圖像對齊算法。對圖像進行半采樣以創建五個級別的圖像金字塔。然后在最粗級別上優化強度殘差,直到收斂。隨后,在下一個更精細的級別初始化優化。為了節省處理時間,我們在第三級收斂后停止,此時估計值足夠精確,可以初始化特征對齊。
為了提高效率,該算法在地圖中保持固定數量的關鍵幀,這些關鍵幀被用作特征對齊和結構細化的參考。如果新幀相對于所有關鍵幀的歐式距離超過平均場景深度的12%,就被選為關鍵幀。在地圖中插入新的關鍵幀時,將移除距離相機當前位置最遠的關鍵幀。
在建圖線程中,我們將圖像分成固定大小的單元(30×30像素)。除非已經存在二維到三維的匹配關系,否則就在單元中具有最高Shi-Tomasi分數的快速角點[30]處初始化一個新的深度濾波器。這將導致圖像中的特征均勻分布。相同的網格也用于在特征對齊之前重投影地圖。請注意,我們在圖像金字塔的每個級別提取快速角點,以找到與比例無關的最佳角點。

7、實驗結果

實驗是在一個向下看的相機上記錄的數據集和一個手持相機的序列上進行的。視頻在筆記本和安裝在無人機上的嵌入式平臺上處理(參見圖17)。注意,算法最多使用2個CPU內核。在消費者筆記本電腦上進行的實驗有兩個不同的參數設置,一個優化速度,一個優化精度(表一)。在嵌入式平臺上,只用到了速度參數。

圖17:KMel機器人公司的“Nano+”,定制嵌入式處理器和向下看的攝像頭。SVO在平臺上以每秒55幀的速度運行,用于穩定和控制。

表一:SVO的兩種不同參數設置。
比較了SVO算法與文獻[2]中改進的PTAM算法的性能。我們沒有與原始版本的PTAM[16]進行比較的原因是它不能處理大環境,并且在高頻紋理的場景中不夠健壯[2]。文獻[2]的版本解決了這些問題,并就我們所知構成了無人機中性能最好的單目SLAM算法。
A、精確度
我們對同樣在[2]中使用過的數據集進行精度評估,如圖7所示。真實地面(ground-truth)來源于一個運動捕捉系統。飛行軌跡長84米,無人機飛行平均離地高度1.2米。

圖7:快速參數設置的SVO(見表一)與PTAM和真實地面對比。放大顯示,該算法生成的軌跡比PTAM平滑。
圖8和圖9說明了隨時間變化的位置和姿態誤差。為了生成平面圖,我們使用[31]將前10幀與實際情況對齊。PTAM的結果與文獻[2]中報告的范圍相似。由于平面圖高度依賴于前10幀的對準精度,我們還報告了以米每秒為單位的偏移表II。

表二:圖7中軌跡的相對位姿和旋轉誤差

圖8:SVO的位置漂移,用快速和精確參數設置,并與PTAM進行比較。

圖9:SVO的Attitutde漂移,用快速和精確參數設置,并與PTAM進行比較。

總的來說,兩個版本的SVO都比PTAM更精確。我們懷疑這一結果的主要原因是[2]的PTAM版本沒有在最高分辨率的金字塔級別上提取特征,并且沒有對PTAM中的所有特征進行亞像素細化。忽略最高分辨率的圖像不可避免地會導致精度降低,這在圖7中清晰可見。在文獻[2]中,低分辨率圖像的使用是因為圖像中的高頻自相似紋理會產生太多的異常3D點。SVO有效地解決了這一問題,通過使用深度濾波器可以得到很少的異常值。
由于相機只是一個角度傳感器,所以不可能通過運動管道(pipeline)從結構中獲取地圖的比例。因此,在上述評估中,我們還將前10次測量的比例與地面真實情況相一致。建議的管道傳播比例,但是有一些漂移,如圖10所示。尺度漂移是通過比較相對平移的歐幾里德范數與實際情況來計算的。未知的尺度和尺度漂移促使人們需要一個用于無人機控制的相機IMU狀態估計系統,如[33]所述。

圖10:圖7所示軌跡隨時間的漂移

圖11顯示了平均重投影誤差。稀疏圖像對齊步驟使幀非常接近最終位姿,因為細化步驟僅略微減少了誤差。重投影誤差是在特征對齊步驟中“生成”的;因此,該圖還顯示在該步驟中,面片僅移動一小部分的像素。

圖11:圖7所示軌跡隨時間的平均重投影誤差。初始誤差是在稀疏圖像對齊(第四-A節)之后,最終誤差是在位姿優化之后(第四-C節)。

快速和精確參數設置之間的精度差異不顯著。在每次迭代(快速參數設置)中分別優化位姿和觀察到的3D點,對于無人機運動估計而言足夠精確。
B、運行時間評估
圖13和圖14顯示了在快速參數設置下,分別在指定的筆記本電腦和嵌入式平臺上計算相機運動所需的時間。筆記本電腦能夠以每秒300幀(fps)的速度處理,嵌入式平臺的處理速度為每秒55幀。PTAM對應的時間分別為91 fps和27 fps。主要的區別是SVO不需要在運動估計過程中提取特征,而是PTAM的主要耗時(筆記本電腦為7ms,嵌入式計算機為16ms)。此外,PTAM跟蹤160到220個特征,而在快速參數設置中,該值被限制為120。我們能用較少的特征可靠地跟蹤相機的原因是使用了深度濾波器,從而確保跟蹤到的特征是有效的。在筆記本電腦上,精確參數設置的運動估計平均需要6毫秒。時間的增加主要是由于局部BA,它在每個關鍵幀處運行,耗時14ms,建圖線程用新幀更新所有深度濾波器所需的時間高度依賴于濾波器的數量。在選定關鍵幀后,濾波器的數量很高,并且隨著濾波器的收斂(converge)而迅速減少。平均而言,建圖線程比運動估計線程快,因此它不是限制因素。

C、穩健性
SVO的速度和精度部分歸功于深度濾波器,它只產生最少數量的異常點。另外,健壯性也是由于深度濾波器:精確、高幀率跟蹤允許濾波器即使在重復和高頻紋理的場景(如瀝青、草地)中也能收斂,這在本文隨附的視頻中得到了最好的演示。視頻的屏幕截圖如圖15所示。圖16顯示了在同一場景中使用PTAM和SVO生成的建圖的比較。雖然PTAM生成異常3D點,相比之下,SVO幾乎沒有異常點,這要歸功于深度濾波器的使用。

8、結論

在本文中,我們提出了半直接VO管道(pipeline)“SVO”,它比現有的VO更加精確和快速。速度的提高是由于運動估計不需要特征提取和匹配。取而代之的是一種直接的方法,它直接基于圖像的強度。該算法在當前的嵌入式計算機上以每秒50幀以上的速度運行,特別適用于無人機的狀態估計。高幀速率運動估計結合抗異常點的概率建圖方法,在紋理較少、重復和高頻的場景中提高了魯棒性。

總結

以上是生活随笔為你收集整理的SVO(SVO: fast semi-direct monocular visual odometry)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。