基于自适应逆透视变换的车道线SLAM
公眾號致力于分享點云處理,SLAM,三維視覺,高精地圖相關的文章與技術,歡迎各位加入我們,一起每交流一起進步,有興趣的可聯系微信:920177957。本文來自點云PCL博主的分享,未經作者允許請勿轉載,歡迎各位同學積極分享和交流。
前言
前段時間剛分享的AVP-SLAM文章中有一個知識點叫做IPM(逆透視變換)
AVP-SLAM:自動泊車系統中的語義SLAM
RoadMap:面向自動駕駛的輕型語義地圖視覺定位方法
LaneLoc:基于高精地圖的車道線定位
基于道路標線的城市環境單目定位
這個概念理解起來就是將圖像轉換成俯視圖或者稱為鳥瞰圖(BEV),鳥瞰圖對于檢測車道線的來說似乎很重要,基于這種俯視圖上的車道線的檢測衍生的車道線保持等輔助駕駛功能也屢見不鮮,這里我們就針對IPM的概念找到了一篇文章《Adaptive Inverse Perspective Mapping for Lane Map Generation with SLAM》,這是一種基于SLAM的方案用來更新車道線鳥瞰圖。這部分的內容也就是AVP-SLAM論文中的一個模塊,但原文中是已知相機的外參后,直接轉換成固定size的俯視圖,如果要實現一個單目相機的原始圖像轉化為俯視圖,應該如何處理呢?本文就會詳細的介紹如何得到單目的俯視圖。
摘要
本文提出了一種自適應逆透視變換(IPM)算法,從前視攝像機圖像中獲得精確的鳥瞰圖。這些圖像由于車輛的運動會存在一定的形變,即使是很小的運動也會對鳥瞰圖也會產生很大的影響。本文提出了一種自適應的IPM模型,利用運動信息將原始的圖像信息精準地轉換為鳥瞰圖,利用了單目的視覺SLAM的方法得到的運動信息,實驗結果表明,該方法即使在行駛過程中有較大的運動也可以提供穩定的鳥瞰圖。
ADAS系統的一個重要特征是對道路和車道的感知,其目的是感知車輛周圍的環境,本文研究了一種IPM技術,它通常用于基于視覺的道路和車道感知,IPM利用相機的內參以及相機與地面的關系,生成了消除透視效果的鳥瞰圖像,IPM的結果可以為后處理的算法提供更有效的信息,比如車道的感知,地圖的繪制,以及定位和模式識別。
在此之前就已經有很對應用研究了IPM,比如距離檢測,使用全景相機生成大面積的鳥瞰圖,為泊車系統提供的鳥瞰圖以及車道級別的地圖的生成,傳統的IPM變換相機與地面之間存在一定的剛體變換,然而當一個相機跟隨移動平臺發生劇烈的運動時,這種假設就會被打破,鳥瞰圖也會發生一定的形變。本文提出了一種擴展的IPM模型,他可以精確的計算在相機運動下的鳥瞰圖,并且使用了單目里程計法用來計算相機的運動。
自適應IPM模型
在解釋自適應的IPM模型之前,首先需要了解使用相機的物理參數來描述IPM的基本模型[1](這篇文章雖然有點古老,但是從數學層面上闡述了IPM的數學模型)下圖展示了相機坐標系,圖像坐標系,以及世界坐標系之間的關系,其中(u,v)是像素單位,(r,c)和(X,Y,Z)是米制單位。
使用IPM的目的是將像素點(u,v)映射到世界坐標系下的(X,Y,Z),首先定義一個單位向量X'來表示相機的視角的方向(這里用“‘ ”來表示這是一個矢量)那么與X'正交的就是單位向量Y",該向量是與地面和相機的視角的方向都是正交的關系,IPM就是尋找到世界坐標系下的(X',Y',Z')與圖像坐標系(u',v')之間的關系,以便將圖像的像素映射到世界坐標系下。這里一定要注意根據單位的不同的,圖像上的兩種坐標系設置為(u',v')和(r',c').像素空間中的圖像點(u',v')與米制單位空間中的(r',c')是相同點。他們之間的關系定義如下:
這里說明一下K是像素與米單位之間的關系(Px/m),其實就是每米占多少個pixel.圖像的寬度m,以及圖像的高度n。相機的光學中心P在世界坐標系中的位置為(0,0,h)。光學中心的軸用O'表示,是與像平面是正交的(這里可以想象一下,肯定是正交的關系)。
我們近一步的通過下面的側視圖和俯視圖的描述參數中,假設物體的高度為0,那么很容易的計算出世界坐標系中的投影圖像,使用側視圖理解,X'方向上的點X可以寫成像素點v,相機的傾斜角(theta0)和垂直角(theta)的函數。
傾斜角表示平行于地面的直線與光軸之間的角度(O')垂直角是從P到每個像素的線與O'之間的角度,利用上圖中的幾何學關系,我們可以推導出傾斜角和垂直角,這兩個已知量是可以作為函數的參數,尋找兩者之間的關系是我們發現從垂直的焦距fr開始,從中我們可以得到theta(V)。
通過幾何學之間的關系我們可以得到如下的關系式:
其中r_top是是指在(r',c’)坐標系下最高的圖像點,
alpha_r是垂直方向上FOV的一半,
r_top在我們假設像素的坐標系中的v=1的時候是可以被推導出來的
并且fr 是可以根據上兩個式子推導出來的
則θ(v) 可以表示為
最終我們根據上式子表示出 X(v)
請注意,世界坐標系中的X與圖像平面的u無關。下一步,我們用俯視圖求出Y,如圖3所示:
這個關系可以用X和Y之間的比例表達式來推導:
其中fc是水平焦距,可從:
與側視圖幾何圖形類似,C_right是(r',c')坐標中最右側點的C值,a_c是水平視野的半角。當u值為n時,可獲得C_right
因此,fc和Y(u,v)可以定義為(12)、(13)。如果圖像的寬度和高度相同(m=n),則fc與fr相同
Y(u,v)在世界坐標中的位置取決于(u,v),因為Y(u,v)包括X(v)。但該模型僅考慮從固定攝像機獲取圖像的情況。當從運動車輛獲取圖像時,由于車輛的運動,尤其是其俯仰方向,很難將圖像轉換為準確的鳥瞰圖像。為了解決該問題,在該模型中還添加了相機俯仰方向(theta_p)上的角度,如下圖所示。
圖4.自適應IPM模型的側視圖,相機的俯仰角(ep)添加到基本IPM模型中
最后,通過將theta_p添加到原始theta_o,可以導出自適應IPM建模方程(14)
X(v,theat_p)取決于相機的俯仰角(theta_p),Y(u,v,theta_p)也取決于它,這意味著鳥瞰圖像根據俯仰角進行適當補償。
實驗
自適應IPM模型的性能已經在韓國高級科學技術研究所(KAIST)校園采集的真實圖像序列上進行了測試,設置了一個安裝在車輛上的前向攝像頭。測試圖像的分辨率為1280 x 960,拍攝速度為15 fps,使用單目視覺里程計算法[6][7]獲得車輛運動。圖5顯示了通過該方法獲得的特征點。
圖5.視覺里程計得出的特征點,攝像機的運動(x、y、z、滾動、俯仰、偏航)可以使用該算法進行計算
圖6和圖7顯示了當安裝了攝像頭的車輛遇到減速時,現有IPM模型和自適應IPM模型的結果之間的比較。在圖6中,俯仰角從圖6(a)到圖6(c)改變約4.1度。圖6(c)顯示了現有IPM模型的結果。該模型的鳥瞰圖圖像因車輛運動而發生圖像變化而失真。另一方面,自適應IPM(圖6(d))模型的結果顯示,盡管車輛運動,但鳥瞰圖像未失真。
圖6.具有減速的數據集的實驗結果。圖像(a)和(e)之間的俯仰角相差約4.1度。(c) 和(d)是(a)和(b)之后的7幀。
在圖7中,俯仰角從圖7(a)到圖7(c)改變約2.1度。大約2.1度的角度變化是一個相當小的運動,但它會使鳥瞰圖圖像嚴重失真,如圖7(c)所示。圖7(d)顯示了使用自適應IPM模型的未失真鳥瞰圖圖像。
圖7.具有減速的數據集2的實驗結果。圖像(a)和(c)之間的俯仰角相差約2.1度。(c) 和(d)是(a)和(b)之后的5幀。
結論
我們提出了一個自適應IPM模型,考慮運動模型,特別是俯仰角,這是最重要的車輛安裝相機,我們的模型已在車輛通過減速帶時俯仰角發生顯著變化的情況下得到驗證,并檢查了與此類運動對鳥瞰圖像的影響有關的補償結果,采用自適應IPM模型的結果可以提供給其他算法,例如涉及車道檢測和障礙感知的算法,以獲得更精確的性能,該模型只考慮了俯仰運動,因此由于滾動運動,鳥瞰圖像中存在少量失真,因此,可以通過添加滾動參數來改進我們的模型,以獲得針對攝像機運動的更魯棒的IPM模型。
[1]?Hanspeter A Mallot, Heinrich H Bulthoff, JJ Little, and ¨Stefan Bohrer. Inverse perspective mapping simplifies optical flow computation and obstacle detection. Biological cybernetics, 64(3):177–185, 1991.
資源
三維點云論文及相關應用分享
【點云論文速讀】基于激光雷達的里程計及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,歡迎企業來聯系公眾號展開合作。
點一下“在看”你會更好看耶
總結
以上是生活随笔為你收集整理的基于自适应逆透视变换的车道线SLAM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV中检测ChArUco的角点(
- 下一篇: 基于成像激光雷达的鲁棒位置识别