Road-SLAM:基于道路标线车道级精度SLAM
文章:Road-SLAM : Road Marking based SLAM with Lane-level Accuracy
作者:Jinyong Jeong, Younggun Cho, and Ayoung Kim1
編譯:點云PCL
本文僅做學術分享,如有侵權,請聯系刪除。歡迎各位加入免費知識星球,獲取PDF論文,歡迎轉發朋友圈。內容如有錯誤歡迎評論留言,未經允許請勿轉載!
對本文以及俯視圖生成點云,及點云路標地圖感興趣的。與此相關的內容分享有:
AVP-SLAM:自動泊車系統中的語義SLAM
RoadMap:面向自動駕駛的輕型語義地圖視覺定位方法
LaneLoc:基于高精地圖的車道線定位
其中有很多地方可以討論交流,歡迎各位大佬賜教!同時公眾號也將分享更多與此類型相關的文章,包括其引用文獻,敬請期待。
歡迎自動駕駛行業的小伙伴,按照“姓名+學校/公司”備注,添加微信“ly920177957”交流或者加入群聊。
摘要
在本文中,我們提出了基于道路標記SLAM算法,該算法充分利用了從相機圖像中獲取的道路標記,道路標記物分類良好,信息豐富,用來實現全局定位。為了使用道路標記匹配實現環路閉合,我們的方法將由道路標記和周圍車道組成的特征定義為子地圖,該方法采用隨機森林方法,利用包含道路信息的子地圖提高匹配精度,隨機森林將道路標記分為六類,將SLAM結果與RTK全球定位系統(GPS)數據進行比較,驗證了該方法的有效性,精確的環路檢測通過補償里程計傳感器中的累積誤差來提高全局精度,該方法在4.7 km的路徑長度上實現了1.098 m的平均全局精度,同時具有實時性能。
圖1:Road-SLAM示意圖,將圖像中的道路標記轉換為三維點云,通過分割和分類過程將其分為六類,使用此信息,將創建包含標記之間關系的子地圖,并將其應用于SLAM系統。
介紹
為了避免傳感器的高成本,研究集中于僅視覺系統和從車載相機圖像中估計位姿,我們的研究將檢測路面上的道路標線和車道,并將其轉換為車道級別定位和SLAM的特征,Ranganathan等人從每個道路標記中提取拐角,并通過將其與之前使用高精度GPS生成的輕型先驗地圖進行比較來估計準確位置,Rehder等人使用相機圖像和里程計生成局部柵格地圖,并通過匹配每個地圖來估計車輛的自我運動,在類似的研究中,通過將當前道路特征與先前保存的特征進行比較,存儲道路標記特征并用于位姿誤差校正。這些方法的主要局限性在于,當標線和車道具有相似的形狀和重復模式時,將會導致模糊。
為了解決這種模糊性問題,本文提出的方法隨機森林樹訓練法只對可分辨的道路標線進行分類,這種分類通過避免形狀相似的標記產生視覺鋸齒,大大提高了匹配性能,然后,通過匹配由這些顯著標記和周圍車道構建的子地圖來識別一個地方,通過這樣做,可以僅使用視覺道路標記識別位置,這些標記對環境變化(例如照明、時間和周圍環境)不太敏感,整個SLAM實現如圖1所示,并具有以下貢獻:
?使用信息特征選擇的穩健匹配
?具有全自動匹配檢測的實時性能
?來自視覺環路的精確定位(cm級)
圖2:Road-SLAM算法流程,給定一幅道路圖像,每個模塊都在實時工作的線程中運行的示意圖。
主要內容
系統概述
實驗中使用了一個類似于汽車的平臺上的建圖系統,該平臺如圖3所示,配備有前視ZED攝像機、IMU和兩輪編碼器,兩個車內傳感器,一個IMU和一個車輪編碼器,用于導航,圖像用于道路標記和車道檢測,RTK-GPS安裝在車輛上,僅用于最初設置車輛的位置和方向以及提供真值,雖然ZED相機在與圖形處理單元(GPU)一起使用時也能提供高精度的深度圖像,但在本文中,我們僅將其用作單攝像頭(10 Hz),而不使用GPU和深度圖像。
圖3:傳感器系統配有ZED攝像機、MTi IMU、兩輪編碼器和RTK GPS,RTK GPS僅用于在算法開始時初始設置車輛的方向和位置。
整體算法架構如圖所示,首先,將相機獲取的圖像通過逆透視變換(IPM)將其生成點云,為了提取屬于道路標記的點云,使用自適應二值化算法對IPM圖像進行二值化[,對生成的點云進行分割處理,通過累積點云獲得的子地圖劃分為若干段,然后,使用稱為隨機森林的機器學習方法,將構成子地圖的每個部分劃分為六類,為了提高子地圖的匹配精度,只選擇能夠減少子地圖模糊度的線段,并將其包含在最終子地圖中進行匹配,最后,子地圖匹配模塊通過對前一流水線過程中確定的子地圖進行點匹配來檢測回環。
基于道路匹配的魯棒SLAM
對于子地圖的生成,首先對IPM后的圖像進行預處理和二值化分割和分類,以構建子地圖,子地圖是環路檢測的匹配候選組,該子地圖生成模塊僅包括選擇子地圖中的道路標記和車道線。
A.點云生成
點云的使用IPM算法生成屬于道路標記的點,IPM通過對圖像進行逆透視變換效果來創建鳥瞰圖像,由于IPM方程是在假設車輛前方道路平坦的基礎上推導的,因此車輛的小俯仰運動可能會導致IPM圖像中的大失真,為了克服這個問題,考慮到相機的俯仰角的變化,采用了自適應IPM模型,然后應用自適應二值化算法僅過濾道路上的信息標記,IPM和二值化過程的結果如圖4所示。
圖4:展示所提出方法中采用的自適應IPM和二值化的實例(a)中的紅色框是用于創建點云的原始圖像的ROI。(b)和(c)中的白框是從相機圖像轉換為IPM圖像的ROI,子地圖創建標準通過評估黃色框(c)中的像素來確定。
在對圖像預處理之后,二值化點被送入三維(3D)點云生成階段,在該轉換中,算法限制在了相機附近的感興趣區域(ROI),以避免IPM造成的大的透視失真,如圖4所示,在導航傳感器(例如,車輪編碼器和IMU)生成的里程計上投影二值化點生成車道線和標記點云,子地圖是由車輛局部坐標系中的3D道路標記點組成的地圖,用于環路檢測。子地圖是在車輛行駛方向檢測到道路標記時生成的,因此,點云生成模塊通過檢查ROI中的點數(圖4c中的黃色框)來檢測道路標記,然后,當檢測到累積的三維點云時,該算法將其存儲為一個初始子地圖。
B 道路標線分割
給出二值化點云,然后對道路標線的兩個方面進行分割,首先,并非所有道路標記對姿勢估計都有意義,例如,中心車道無法捕捉沿線的運動,因此僅限于估計全六自由度(DOF)變換,人行橫道具有豐富的特征點,但即使在IPM失真很小的情況下,重復圖案也會令人困惑,因此在提出的方法中,我們決定刪除這些信息量較小的元素,并通過分割的方法來提高匹配的準確性。發現虛線車道、箭頭、道路標記和數字可以作為匹配的信息。
在同一場景中,通常會捕捉到多條道路標線和車道,作為示例,圖6a示出了由從二值化IPM圖像提取的點組成的示例路線圖。
圖6:分割和分類結果,停車車道分為一段,因為我們知道道路標記的實際大小和長度,所以可以刪除這些較大的路段,在分類結果中,組的顏色表示線段所屬的類別(即綠色:箭頭、藍色:道路標記、黃色:編號、紅色:人行橫道)。
如圖所示,菱形道路標記和虛線車道彼此非常接近,對于道路上的數字,每個數字間隔開,虛線車道可能接近這些數字,當道路標記靠近車道元素時,我們采用從粗到細的兩階段分割方法,所有小段都被分割,以首先排除車道,然后,只使用沒有車道元素的路段,應用中更大的分段將道路標記合并到單個簇中。
? ? ? ? ? ? ? ? ? ? ? 圖5:點云分割過程,通過過濾和分割過程,對每個道路標線進行精確分割
端到端分割模塊如圖5所示,由于累積點云是從多個圖像中獲得的,因此許多點往往雜亂無章地聚集在一個片段周圍,為了解決這個問題,分割模塊首先進行
(i)體素化以有效地表示重復的點。
(ii)半徑異常值濾波以去除噪聲。
我們第一次分割的目的是排除大簇(例如,中心線和停車線)和虛線車道,以便清晰地檢測顯著的道路標記,初始分割過程將點分割成一個小半徑,這樣,大簇要素將被劃分為單個路段,虛線車道將被分為若干組,使用特征的線性來檢查這些初始段,以便預先檢測和分類車道,然后,對排除車道和大線段的點使用相對較大的半徑值執行后續分割,因此,按一定距離分隔的段(如數字或人行橫道)組合為一個段,這些段也放在在候選組中進行分類。
C 分類
一旦建立分段標記,分類線程將區分受IPM圖像失真影響較小的分段,以實現魯棒匹配,使用先前分割的道路標記(圖7)
圖7:道路標記分割段,通過一種隨機森林方法將每一結果劃分為單獨的類。
我們通過形狀函數集合(ESF)提取特征,ESF是形狀函數的640元組直方圖,由三個參數定義:兩個隨機選擇點之間的距離、三個點之間的面積以及三個隨機選擇點之間的角度。利用ESF構造的特征向量作為隨機森林的輸入,以區分每個片段,在訓練階段,將隨機森林的最大深度設置為100,從分割過程中獲得的分類候選段用于隨機森林的訓練和測試,隨機森林的輸出由六個類組成:道路標記、數字、箭頭、車道、人行橫道和其他,最后,在分類為隨機森林的路段中,只有信息類(例如道路標記、編號、箭頭和車道)包含在匹配過程的子地圖中。
D 基于GICP的子地圖匹配
當一個地方被重新訪問時,我們在給定一個循環閉包候選對的情況下執行子地圖匹配,使用距離當前車輛位置的距離閾值選擇此候選方案,這些候選對的示例如圖8所示。
圖8:重新訪問某個地方時匹配候選子地圖對(a) 和(b)是先前獲得的子地圖,(d)表示重新訪問時的子地圖。
匹配過程使用廣義迭代最近點(ICP)算法在候選對象中選擇匹配成本最小的子地圖,如果ICP匹配成功,則使用ICP結果計算兩個子地圖之間車輛的相對位置,計算出的相對姿勢作為約束信息傳遞給增量平滑和建圖(iSAM)姿勢圖,以創建回環。
E Road-SLAM?
所提出的方法Road SLAM是基于姿勢圖的方法,該方法最小化了以下誤差函數:
對于里程計約束的生成,車輛的位置是通過基于獲取攝像頭圖像的時間同步所有傳感器來計算的,xt是車輛的位置,六自由度變換(zt;從車輪編碼器和IMU傳感器獲取節點之間的t+1),該方法通過子地圖之間的匹配過程,在車輛再次訪問之前經過的同一地點時檢測環路,整個SLAM框架如圖9所示,黑色圓圈點和邊表示車輛節點(姿勢)和鏈接(約束),時間鏈路由里程測量構建,而穿過順序節點的非時間鏈路由基于子地圖的鏈路,相應節點的子地圖顯示如圖。
圖9:位姿圖SLAM示意圖,由道路標記組成的道路SLAM中使用的子地圖。
實驗
我們使用建圖的汽車平臺獲得的真實數據驗證了所提出的方法,我們的目標環境是復雜的城市道路,而不是高速公路,使用了50至60 km/h的平均車速,這對算法的性能影響很小.該代碼是使用一臺板載PC(Intel i7-6700,16G RAM)實現的,對于傳入的攝像頭圖像(10 Hz)和導航傳感器(100 Hz),該算法在不使用GPU的情況下實時運行,總體軌跡和實驗區域(600m×400m)如圖11a所示,從實驗來看,該算法能夠在4.7 km的行程距離上實現1.0987 m的平均誤差。
圖11:所提出方法的實驗結果
(a) 使用RTK-GPS獲得了地圖區域的航空圖像和描繪的路線。實驗環境為600m×400m,總行程為4.7km
(b) 使用道路標記循環檢測生成路線圖
(c) 僅使用里程計繪制的路線圖
使用隨機林分類
評估用于選擇構成子地圖的元素的隨機林的結果。隨機森林的訓練數據是使用相同的繪圖系統從大約25km的數據收集中獲得的,使用ESF特征提取的數據通過手動標記分為六類(即道路標記(1)、數字(2)、箭頭(3)、車道(4)、人行橫道(5)和其他(6)),下表數據集的分類結果,在檢驗個體分類誤差時,分類器的準確率約為81.92%。
隨機森林分類器的相似矩陣。標線和十字路口是道路標線和人行橫道的縮寫。行表示實際的類,列表示隨機林分類器的結果。
通過分類結果比較子地圖濾波的精度改進效果。
與基于里程計的m地圖(圖11c)相比,使用所提出方法的SLAM結果如圖11所示。當累積里程計誤差通過僅使用道路標線的精確環路檢測進行補償時,會出現這種巨大的改善,為了定性評估定位的準確性,我們提供了環路閉合區域的反向投影路線圖,通過在每次重訪時疊加道路標記點,我們從地圖點的一致性來評估定位精度,圖12a至圖12d示出發生環路檢測的區域(綠色區域),為了評估環路檢測的準確性,根據校正后的車輛位置生成道路標記,無需進一步處理,如圖12a至12d所示,環路閉合附近的道路標記正確重疊,即使車輛已反復通過同一區域,另一方面,圖12e至圖12h示出了環路檢測失敗的區域,特別是在交叉口的情況下,與其他區域相比,環路檢測幾乎沒有發生,因為為了環路檢測的準確性,人行橫道被移除。此外,在圖12h中,道路標記顏色非常混濁,因此未檢測到環路,即使對于圖12e和圖12f的區域,最大誤差也低于2.0 m,因為漂移由附近的回環閉合器校正。
圖12:在同一位置覆蓋多個車輛通行的道路標記點,當檢測到循環閉合時(a到d),將生成全局一致的地圖,如果未檢測到環路或與環路檢測區域的距離增加,則由于累積誤差(e到h),地圖中會出現錯誤。
圖10顯示了通過SLAM和RTK-GPS數據計算的路徑比較計算出的誤差
圖10:所提出方法的精度分析,藍線是算法的最終結果路徑,彩色點是固定的RTK-GPS數據,SLAM和RTK-GPS之間的誤差值按幅度進行顏色編碼。
下表總結每個模塊的計算時間,表中列出了每個模塊所用的平均和最大時間,請注意,自適應IPM在捕獲圖像數據時執行,而其他模塊僅在創建子地圖時發生。
總結
在本文中,我們提出了一種SLAM算法,該算法僅使用一個攝像頭傳感器,并利用對光線和環境變化具有魯棒性的道路標記信息,SLAM算法的準確性可以通過分類和消除使用隨機森林在各種道路標記之間增加環路檢測模糊度的元素來提高,此外,盡管使用了不帶全局位置傳感器的航位推算傳感器,但通過非常精確的環路檢測實現了較高的全局位置精度,這一結果還表明,利用道路標線的初步信息可以實現定位,我們發現,周圍物體的陰影在某些情況下會產生顯著的影響,我們未來的工作是遵循類似的研究路線,朝著光照條件不變的算法發展。
資源
三維點云論文及相關應用分享
【點云論文速讀】基于激光雷達的里程計及3D點云地圖中的定位方法
3D目標檢測:MV3D-Net
三維點云分割綜述(上)
3D-MiniNet: 從點云中學習2D表示以實現快速有效的3D LIDAR語義分割(2020)
win下使用QT添加VTK插件實現點云可視化GUI
JSNet:3D點云的聯合實例和語義分割
大場景三維點云的語義分割綜述
PCL中outofcore模塊---基于核外八叉樹的大規模點云的顯示
基于局部凹凸性進行目標分割
基于三維卷積神經網絡的點云標記
點云的超體素(SuperVoxel)
基于超點圖的大規模點云分割
更多文章可查看:點云學習歷史文章大匯總
SLAM及AR相關分享
【開源方案共享】ORB-SLAM3開源啦!
【論文速讀】AVP-SLAM:自動泊車系統中的語義SLAM
【點云論文速讀】StructSLAM:結構化線特征SLAM
SLAM和AR綜述
常用的3D深度相機
AR設備單目視覺慣導SLAM算法綜述與評價
SLAM綜述(4)激光與視覺融合SLAM
Kimera實時重建的語義SLAM系統
SLAM綜述(3)-視覺與慣導,視覺與深度學習SLAM
易擴展的SLAM框架-OpenVSLAM
高翔:非結構化道路激光SLAM中的挑戰
SLAM綜述之Lidar SLAM
基于魚眼相機的SLAM方法介紹
如果你對本文感興趣,請后臺發送“知識星球”獲取二維碼,務必按照“姓名+學校/公司+研究方向”備注加入免費知識星球,免費下載pdf文檔,和更多熱愛分享的小伙伴一起交流吧!
以上內容如有錯誤請留言評論,歡迎指正交流。如有侵權,請聯系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關注我們
讓我們一起分享一起學習吧!期待有想法,樂于分享的小伙伴加入免費星球注入愛分享的新鮮活力。分享的主題包含但不限于三維視覺,點云,高精地圖,自動駕駛,以及機器人等相關的領域。
分享及合作方式:微信“920177957”(需要按要求備注) 聯系郵箱:dianyunpcl@163.com,歡迎企業來聯系公眾號展開合作。
點一下“在看”你會更好看耶
總結
以上是生活随笔為你收集整理的Road-SLAM:基于道路标线车道级精度SLAM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 根据相机外参实现单应矩阵计算的理论与实践
- 下一篇: 头戴式AR/VR 光学标定