自動駕駛技術論文摘要(汽車自動駕駛論文3000字)
本篇文章給大家談談自動駕駛技術論文摘要,以及汽車自動駕駛論文3000字對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
[搬運]自動駕駛中的單目 3D 車道線檢測——綜述
原文鏈接:? Monocular 3D Lane Line Detection in Autonomous Driving — A Review
車道線檢測是自動駕駛中最基本和關鍵的安全任務之一。這一重要感知任務的應用范圍從 ADAS(高級駕駛員輔助系統)功能如車道保持到更高級別的自主任務,如與高清地圖和軌跡規劃的融合。給定在自動駕駛車輛上收集的輸入 RGB 圖像,車道線檢測算法旨在在圖像上提供結構化線的集合,每條線代表 3D 車道線的 2D 投影。這種算法本質上是二維的,因為輸入和輸出都駐留在同一個圖像空間中。
另一方面, Monocular 3D Lane Line Detection 旨在從單個圖像直接預測道路場景中車道的 3D 布局。具體來說,3D 車道線檢測算法在相機坐標系的 3D 度量空間中輸出一系列結構化的車道線。最近,學術界和工業界已經在探索這項任務的可行性和應用方面做出了一些努力。
一種簡單的方法是使用逆透視映射 (IPM) 將 2D 車道檢測結果重新投影回 3D 空間。IPM 是一種單應變換,可將透視圖像變形為鳥瞰 (BEV) 圖像。但是,IPM 假定地面平坦,并且是靜態且經過良好校準的相機外在因素。在現實世界的駕駛環境中,道路很少是平坦的,并且由于速度變化或崎嶇不平的道路,相機外在因素對車身運動很敏感。
因此,正確的方法是恢復檢測到的 2D 車道線上每個點的深度。如果我們在推理時可以使用激光雷達等主動 3D 測量設備,則通過將 3D 測量分配給車道線點,2D 到 3D 的提升相對簡單。如果我們在推理時只有相機圖像,理論上,我們可以利用 單目深度估計 的最新進展來為車道線點分配深度值。雖然這種方法是通用的,但它的計算量很大。這篇博文回顧了更輕量級的方法來直接預測車道線點的 3D 位置。
單目 3D 車道線檢測是對其他單目 3D 任務的補充,這些任務可以從單個 RGB 圖像預測駕駛環境的 3D 信息,例如 單目 3D 對象檢測 和 單目 BEV 分割 。也許并不奇怪,如何從單目圖像中準確地恢復環境深度是這些領域的核心。
二維車道探測網絡
在我們深入研究 3D 車道線檢測算法之前,一個重要的 2D 車道線檢測算法是重新審視 LaneNet ( Towards End-to-End Lane Detection: an Instance Segmentation Approach ?, IV 2018)。它的 2D 車道線檢測性能已經被許多新算法超越,但在當時還是相當創新的,它的許多想法構成了 3D 車道線檢測的基礎。
它對 2D 車道線感知的貢獻是提出了一種用于車道線語義分割的分段然后聚類方法——我們稍后將在 Semi-local 3D LaneNet 中再次討論這個想法。更有趣的是,它還使用稱為 H-Net 的輕量級網絡直接從透視圖像預測單應變換(以 3x3 矩陣 H 的形式)。單應變換矩陣 H 本質上是將采樣的車道線點投影到 BEV 的 IPM,用于優化車道擬合后處理。這里的基本假設是車道應該由 BEV 空間中的三階多項式完美描述。
LaneNet 采用的另一個隱含假設是車道線位于平坦的道路上。對于有坡度的非平坦道路,沒有一個最好的 IPM 可以描述透視圖像和 BEV 圖像之間的轉換,LaneNet 仍然使用單應變換逼近道路相機模型。
那么問題是——描述非平坦道路的最佳轉換是什么?可能會爭辯說,最好的轉換應該準確地將地平線(相機圖像中道路和天空之間的交匯點)映射到無限深度,或者您可能會爭辯說最好的轉換應該將最接近自我汽車的車道線投影到 3D 中的平行線空間。LaneNet 將最佳變換定義為一種映射,該映射使擬合曲線的重投影誤差最小化。
3D 車道探測網絡
普及單目 3D 車道線檢測領域的開創性工作是來自通用汽車以色列研究中心的 3D-LaneNet (ICCV 2019)。 ? 3D LaneNet 不需要諸如平坦地面假設之類的脆弱假設,它只假設對局部路面的攝像機滾動為零。與 2D LaneNet 一樣,它也估計 2D 透視圖像和 3D 局部道路平面之間的單應變換。與直接預測單應矩陣的 LaneNet 不同,3D LaneNet 預測唯一確定單應矩陣的 相機高度和間距。 這兩個參數是以監督的方式學習的。
網絡架構是從圖像轉換為 BEV 空間的雙通路主干。這實際上讓我想起了自監督深度學習 Sfm-learner ?(CVPR 2017) 中的 PoseNet 結構,它預測 6 DoF 自我運動,然后用它來扭曲相鄰圖像。
基于錨點的 3D 車道線表示
它不是直接預測車道線點的深度,而是首先預測相機的俯仰/高度,從而構建 道路投影平面 。道路投影平面根據攝像機安裝俯仰角 ??? _cam 和高度 h_cam 定義 。然后相對于該平面表示 3D 車道線。具體而言,車道線點由其在平面上的投影點(x,y)和高程 Δz 定義。
3D LaneNet 使用基于錨的車道預測頭。與 groundtruth 車道關聯的錨點是最接近車道 x 坐標 Y_ref=20 m 處的錨點。
每個車道線類型的預測總數為#anchor*(2*K+1)。K (K=6) 是每條車道線的預定義 y 位置的數量。K 個點中的每一個預測兩個數字,與錨點 dx 的偏差和高度 z.?每個anchor也有一個conf分數來預測車道線的存在。
請注意,由于這種錨點設計,3D LaneNet 只能處理具有與自我汽車運動方向大致平行的車道線的正常拓撲。例如,它無法處理與自我汽車垂直的車道線。
半局部 3D LaneNet( ?3D LaneNet+)
半局部 3D LaneNet ? 建立在 3D-LaneNet 的基礎上,并增加了兩個貢獻,即處理更復雜拓撲的能力和不確定性預測。不確定性估計是相當標準的 任意不確定性 估計,這里不再贅述。 該論文以3D-LaneNet+ 的形式 在 NeurIPS 2020 研討會上重新發布 。
大部分工作基于 3D LaneNet。它還具有雙路徑主干、相機高度和滾動預測,并具有 BEV 空間中的最后一個特征圖。主要區別在于更靈活的車道線表示,允許對更復雜的車道拓撲進行建模,包括拆分、合并和垂直于車輛行駛方向的車道。
半局部表示還利用 道路投影平面 作為參考,并將其 BEV 投影到道路投影平面上的 3D 車道線公式化。然而,半局部 3D LaneNet 并沒有將每個車道與預定義的錨點相關聯,而是提出了一種緊湊的半局部表示。本質上,它將 BEV 圖像(將 3D 結構投影到道路投影平面)分解為稱為圖像塊的非重疊網格。假設每個圖像瓦片只能有一條車道線穿過它,并且每個瓦片中裁剪的車道線段足夠簡單,可以參數化為 2 DoF 線段(到瓦片中心的距離和方向)。然后下一步是為每個車道學習全局一致的嵌入,以將小車道段聚集成完整的曲線。
這種先檢測后聚類方法的靈感來自 2D LaneNet 。半局部 3D LaneNet 使用推挽損失來訓練圖像塊上的嵌入,并且比原始 2D LaneNet 的語義分割具有更少的計算負擔。在推理過程中,通過模式搜索算法 mean-shift 完成聚類,找到每個聚類的中心,然后設置閾值來獲取聚類成員。
Gen-LaneNet
Gen-LaneNet ?(ECCV 2020) 基于 3D LaneNet 的標準實踐,提出了一種用于 3D 車道線檢測的兩階段方法。它提出首先執行 2D 車道線檢測,然后使用稱為 3D-GeoNet 的單獨網絡將 2D 檢測結果提升到 3D。
將 3D 結構預測與 2D 車道線檢測分離的原因在于 3D 幾何的編碼與圖像特征相當獨立。這種解耦使模塊更加靈活和可擴展。它可以立即受益于第一階段不斷發展的二維車道線檢測算法。更重要的是,它允許僅使用合成數據集對第二階段進行訓練,即使是非真實感模擬也可以完成,因為對圖像特征的依賴已被消除。
在 3D LaneNet 中,不能保證預測的投影與圖像匹配,并且缺乏 2D-3D 一致性。在 Gen-LaneNet 中,3D 從 2D 提升,因此這種一致性是管道固有的。
在第二階段故意去除圖像特征類似于僅在 Deep Object Distance Estimator中使用 bbox info 預測距離,而在 MonoLoco 中僅使用骨架預測距離。 在單目 BEV 語義分割 的許多早期研究中也可以找到類似的緩解 sim2real 域差距的策略。
Gen-LaneNet 還指出了 3D-LaneNet 的一個主要缺點,即在存在非零斜率的情況下,頂視圖投影與 IPM 轉換的特征不對齊。換句話說,IPM 假設一個平坦的地面,并且當這個假設以非零斜率打破時,IPM 轉換后的視圖不是 真正的頂視圖 (BEV)。相反,IPM 轉換的特征是一個扭曲的 BEV 視圖,在本文中稱為 虛擬頂視圖。 這個虛擬頂視圖是通過光線追蹤每個車道線點并投影到道路投影平面(下圖中的橙色點)獲得的。3D 車道線groundtruths 被預處理為虛擬頂視圖,以與IPM 轉換特征對齊。
真實頂視圖和虛擬頂視圖的概念不是很容易掌握。舉一個更具體的例子,零偏航角的上坡 3D 車道將其兩條平行車道線投射到 真實俯視圖中完全平行的目標,但在 虛擬俯視圖 中,當我們上坡時,它們會顯得發散。這種不同的觀點實際上與來自 3D LaneNet 的雙路徑主干網的 IPM 轉換特征一致。
在數學上,在上圖中,我們有以下等式,其中 h 是相機高度,z 是距離道路投影平面 xoy 平面的高度偏差(以上為正)。
假設我們在 3D 中有兩條平行的車道線,因此車道寬度 Δx 是恒定的。在真實的頂視圖中,由于車道寬度仍為 Δx,它們仍將平行顯示。在虛擬俯視圖中,車道寬度變為 Δx? = Δx*h/(hz),如果上坡路的 z 變大(z h),則車道寬度變寬并顯得發散。
Gen-LaneNet 仍然使用基于錨的表示,因此存在與 3D LaneNet 相同的缺點。更好的方法可能是將兩種方法的優點結合起來:使用 Gen-LaneNet 的虛擬頂視圖和解耦管道以及 Semi-local 3D LaneNet 的半局部圖塊表示。
數據集
3D 車道一檢測領域研究有限的主要原因之一是缺乏相關的數據集和基準。構建 3D 車道線數據集主要有三個數據源:合成數據、深度測量(使用激光雷達或可能的立體相機)和時間傳感器融合。
3D LaneNet 和 Semi-Local 3D LaneNet 使用模擬環境 Blender 生成大量具有已知 3D groundtruth 的合成數據。同樣, Gen-LaneNet 利用 Apollo 項目中的模擬器并生成 Apollo 3D Synthetic 車道線數據集 。
3D LaneNet 和 Semi-Local 3D LaneNet 還使用激光雷達檢測器和半手動注釋收集了 2.5 小時的真實數據,但這只是為了驗證這個想法。收集校準和同步的相機和激光雷達數據的多傳感器數據不太可擴展。此外,基于激光雷達的數據集本質上只能達到約 50 米,因為激光雷達能夠可靠地檢測超出此范圍的車道線。
獲取真實 3D 車道線數據的另一種更具可擴展性的方法類似于 MonoLayout ?(WACV 2020) 中描述的方法。鑒于可以獲得準確的自我運動信息,它通過聚合整個視頻的結果(所謂的時間傳感器融合)來使用自生成的地面實況。聚合的groundtruth可以根據預設的距離閾值截斷并投影回單個圖像幀。如果我們想看到超過上述 50 米的限制,同樣的想法也適用于激光雷達數據。
要點
- 預測相機外部參數以在特征圖上執行 單應變換 (IPM) 似乎是標準做法。
- 虛擬頂視圖 解決了轉換后的特征圖和生成的groundtruth之間的錯位。
- 由于城市駕駛場景中復雜的車道線拓撲(環形交叉路口、垂直車道線等), 基于錨點的表示將失敗。 對半局部圖塊進行 預測然后進行聚類似乎是一種更靈活的處理復雜幾何圖形的方法。
- 合成數據集和 sim2real 是引導 3D 車道線檢測系統的方法,特別是考慮到開源的 Apollo 數據集。 從時間聚合的單個圖像感知結果 構建 3D 車道線數據集的可擴展方法仍未得到充分探索。我期待著未來在這個方向上做更多的工作。
- 對于未來的工作,最好使用 Gen-LaneNet 的虛擬頂視圖和解耦管道以及 Semi-local 3D LaneNet 的半局部 tile 表示。
References
LaneNet : Towards End-to-End Lane Detection: an Instance Segmentation Approach , IV 2018
3D-LaneNet : End-to-End 3D Multiple Lane Detection , ICCV 2019
Semi-local 3D LaneNet :? Semi-Local 3D Lane Detection and Uncertainty Estimation , ArXiv, 03/2020
Gen-LaneNet : A Generalized and Scalable Approach for 3D Lane Detection , ECCV 2020
3D-LaneNet+ : Anchor Free Lane Detection using a Semi-Local Representation , NeurIPS 2020 workshop
Deep Radar Detector: ? Vehicle Detection With Automotive Radar Using Deep Learning on Range-Azimuth-Doppler Tensors , ICCV 2019
SfMLearner : Unsupervised Learning of Depth and Ego-Motion from Video , CVPR 2017
MonoLayout : Amodal scene layout from a single image , WACV 2020
自動駕駛技術基本知識介紹
自動駕駛車,是一種無須人工干預而能夠感知其周邊環境和導航的車輛。它利用了包括雷達、激光、超聲波、GPS、里程計、計算機視覺等多種技術來感知其周邊環境,通過先進的計算和控制系統,來識別障礙物和各種標識牌,規劃合適的路徑來控制車輛行駛。
美國汽車工程師協會(SAE,Society of Automotive Engineers),則將自動駕駛劃分為 0~5 共六級。
Level 0:無自動化(No Automation)
沒有任何自動駕駛功能或技術,人類駕駛員對汽車所有功能擁有絕對控制權。駕駛員需要負責轉向、加速、制動和觀察道路狀況。任何駕駛輔助技術,例如現有的前向碰撞預警、車道偏離預警,以及自動雨刷和自動前燈控制等,雖然有一定的智能化,但是仍需要人來控制車輛,所以都仍屬于 Level 0。
Level 1:駕駛輔助(Driver Assistance)
駕駛員仍然對行車安全負責,不過可以授權部分控制權給系統管理,某些功能可以自動進行,比如常見的自適應巡航(Adaptive Cruise Control,ACC)、應急剎車輔助(Emergency Brake Assist,EBA)和車道保持(Lane-Keep Support,LKS)。Level 1 的特點是只有單一功能,駕駛員無法做到手和腳同時不操控。
Level 2:部分自動化(Partial Automation)
人類駕駛員和汽車來分享控制權,駕駛員在某些預設環境下可以不操作汽車,即手腳同時離開控制,但駕駛員仍需要隨時待命,對駕駛安全負責,并隨時準備在短時間內接管汽車駕駛權。比如結合了 ACC 和 LKS 形成的跟車功能。Level 2 的核心不在于要有兩個以上的功能,而在于駕駛員可以不再作為主要操作者。
Level 3:有條件自動化(Conditional Automation)
在有限情況下實現自動控制,比如在預設的路段(如高速和人流較少的城市路段),汽車自動駕駛可以完全負責整個車輛的操控,但是當遇到緊急情況,駕駛員仍需要在某些時候接管汽車,但有足夠的預警時間,如即將進入修路的路段(Road work ahead)。Level 3 將解放駕駛員,即對行車安全不再負責,不必監視道路狀況。
Level 4:高度自動化(High Automation)
自動駕駛在特定的道路條件下可以高度自動化,比如封閉的園區、高速公路、城市道路或固定的行車線路等,這這些受限的條件下,人類駕駛員可以全程不用干預。
Level 5:完全自動化(Full Automation)
對行車環境不加限制,可以自動地應對各種復雜的交通狀況和道路環境等,在無須人協助的情況下由出發地駛向目的地,僅需起點和終點信息,汽車將全程負責行車安全,并完全不依賴駕駛員干涉,且不受特定道路的限制。
注釋:DDT(Dynamic driving task):動態駕駛任務,指汽車在道路上行駛所需的所有實時操作和策略上的功能,不包括行程安排、目的地和途徑地的選擇等戰略上的功能。
無人駕駛系統的核心可以概述為三個部分:感知(Perception),規劃(Planning)和控制(Control),這些部分的交互以及其與車輛硬件、其他車輛的交互可以用下圖表示:
感知是指無人駕駛系統從環境中收集信息并從中提取相關知識的能力。其中,環境感知(Environmental Perception)特指對于環境的場景理解能力,例如障礙物的位置,道路標志/標記的檢測,行人車輛的檢測等數據的語義分類。 一般來說,定位(Localization)也是感知的一部分,定位是無人車確定其相對于環境的位置的能力。
為了確保無人車對環境的理解和把握,無人駕駛系統的環境感知部分通常需要獲取周圍環境的大量信息,具體來說包括:障礙物的位置,速度以及可能的行為,可行駛的區域,交通規則等等。無人車通常是通過融合激光雷達(Lidar),相機(Camera),毫米波雷達(Millimeter Wave Radar)等多種傳感器的數據來獲取這些信息。
車載雷達傳感器功能及優缺點各有不同,相關比較如下表所示:
激光雷達 是一類使用激光進行探測和測距的設備,它能夠每秒鐘向環境發送數百萬光脈沖,它的內部是一種旋轉的結構,這使得激光雷達能夠實時的建立起周圍環境的3維地圖。
通常來說,激光雷達以10Hz左右的速度對周圍環境進行旋轉掃描,其掃描一次的結果為密集的點構成的3維圖,每個點具備(x,y,z)信息,這個圖被稱為點云圖(Point Cloud Graph),如下圖所示,是使用Velodyne VLP-32c激光雷達建立的一個點云地圖:
激光雷達因其可靠性目前仍是無人駕駛系統中最重要的傳感器,然而,在現實使用中,激光雷達并不是完美的,往往存在點云過于稀疏,甚至丟失部分點的問題,對于不規則的物體表面,使用激光雷達很難辨別其模式,另一個比較大的挑戰是一個比較大的挑戰是激光雷達感知范圍比較近,感知范圍平均在 150m 左右,這取決于環境和障礙物的不同。激光雷達在角分辨度上也遠遠不及照相機。激光雷達對環境的敏感度也是比較大的,例如雨天中,車輛行駛中濺起來的水花,在激光雷達上都是有噪點的。
毫米波雷達 通過發射電磁波并通過檢測回波來探測目標的有無、距離、速度和方位。由于毫米波雷達技術相對成熟,成本較低,并且在不良天氣下表現良好,因此成為感知設備中重要的一環。但由于其分辨率較低,因此不能作為激光雷達的替代品,而是激光雷達的重要補充設備。
攝像機 根據鏡頭和布置方式的不同主要有以下四種:單目攝像機、雙目攝像機、三目攝像機和環視攝像機。
單目攝像機 模組只包含一個攝像機和一個鏡頭。由于很多圖像算法的研究都是基于單目攝像機開發的,因此相對于其他類別的攝像機,單目攝像機的算法成熟度更高。但是單目有著兩個先天的缺陷。一是它的視野完全取決于鏡頭。焦距短的鏡頭,視野廣,但缺失遠處的信息。反之亦然。因此單目攝像機一般選用適中焦距的鏡頭。二是單目測距的精度較低。攝像機的成像圖是透視圖,即越遠的物體成像越小。近處的物體,需要用幾百甚至上千個像素點描述;而處于遠處的同一物體,可能只需要幾個像素點即可描述出來。這種特性會導致,越遠的地方,一個像素點代表的距離越大,因此對單目來說物體越遠,測距的精度越低。
雙目攝像機 由于單目測距存在缺陷,雙目攝像機應運而生。相近的兩個攝像機拍攝物體時,會得到同一物體在攝像機的成像平面的像素偏移量。有了像素偏移量、相機焦距和兩個攝像機的實際距離這些信息,根據數學換算即可得到物體的距離。雖然雙目能得到較高精度的測距結果和提供圖像分割的能力,但是它與單目一樣,鏡頭的視野完全依賴于鏡頭。而且雙目測距原理對兩個鏡頭的安裝位置和距離要求較多,這就會給相機的標定帶來麻煩。
三目攝像機 由于單目和雙目都存在某些缺陷,因此廣泛應用于無人駕駛的攝像機方案為三目攝像機。三目攝像機其實就是三個不同焦距單目攝像機的組合。根據焦距不同,每個攝像機所感知的范圍也不盡相同。對攝像機來說,感知的范圍要么損失視野,要么損失距離。三目攝像機能較好地彌補感知范圍的問題。因此在業界被廣泛應用。正是由于三目攝像機每個相機的視野不同,因此近處的測距交給寬視野攝像頭,中距離的測距交給主視野攝像頭,更遠的測距交給窄視野攝像頭。這樣一來每個攝像機都能發揮其最大優勢。三目的缺點是需要同時標定三個攝像機,因而工作量更大。其次軟件部分需要關聯三個攝像機的數據,對算法要求也很高。
環視攝像機, 之前提到的三款攝像機它們所用的鏡頭都是非魚眼的,環視攝像機的鏡頭是魚眼鏡頭,而且安裝位置是朝向地面的。某些高配車型上會有“360°全景顯示”功能,所用到的就是環視攝像機。安裝于車輛前方、車輛左右后視鏡下和車輛后方的四個魚眼鏡頭采集圖像,魚眼攝像機為了獲取足夠大的視野,代價是圖像的畸變嚴重。環視攝像機的感知范圍并不大,主要用于車身5~10米內的障礙物檢測、自主泊車時的庫位線識別等。
為了理解點云信息,通常來說,我們對點云數據進行兩步操作:分割(Segmentation)和分類(Classification)。其中,分割是為了將點云圖中離散的點聚類成若干個整體,而分類則是區分出這些整體屬于哪一個類別(比如說行人,車輛以及障礙物)。分割算法可以被分類如下幾類:
在完成了點云的目標分割以后,分割出來的目標需要被正確的分類,在這個環節,一般使用機器學習中的分類算法,如支持向量機(Support Vector Machine,SVM)對聚類的特征進行分類,最近幾年由于深度學習的發展,業界開始使用特別設計的卷積神經網絡(Convolutional Neural Network,CNN)對三維的點云聚類進行分類。
實踐中不論是提取特征-SVM的方法還是原始點云-CNN的方法,由于激光雷達點云本身解析度低的原因,對于反射點稀疏的目標(比如說行人),基于點云的分類并不可靠,所以在實踐中,我們往往融合雷達和相機傳感器,利用相機的高分辨率來對目標進行分類,利用Lidar的可靠性對障礙物檢測和測距,融合兩者的優點完成環境感知。
無人駕駛系統中,我們通常使用圖像視覺來完成道路的檢測和道路上目標的檢測。道路的檢測包含對道路線的檢測(Lane Detection),可行駛區域的檢測(Drivable Area Detection);道路上路標的檢測包含對其他車輛的檢測(Vehicle Detection),行人檢測(Pedestrian Detection),交通標志和信號的檢測(Traffic Sign Detection)等所有交通參與者的檢測和分類。
車道線的檢測涉及兩個方面: 第一是識別出車道線,對于彎曲的車道線,能夠計算出其曲率,第二是確定車輛自身相對于車道線的偏移(即無人車自身在車道線的哪個位置) 。一種方法是抽取一些車道的特征,包括邊緣特征(通常是求梯度,如索貝爾算子),車道線的顏色特征等,使用多項式擬合我們認為可能是車道線的像素,然后基于多項式以及當前相機在車上掛載的位置確定前方車道線的曲率和車輛相對于車道的偏離。
可行駛區域的檢測目前的一種做法是采用深度神經網絡直接對場景進行分割,即通過訓練一個逐像素分類的深度神經網絡,完成對圖像中可行駛區域的切割。
交通參與者的檢測和分類目前主要依賴于深度學習模型,常用的模型包括兩類:
傳感器層將數據以一幀幀、固定頻率發送給下游,但下游是無法拿每幀的數據去進行決策或者融合的。因為傳感器的狀態不是100%有效的,如果僅根據某一幀的信號去判定前方是否有障礙物(有可能是傳感器誤檢了),對下游決策來說是極不負責任的。因此上游需要對信息做預處理,以保證車輛前方的障得物在時間維度上是一直存在的, 而不是一閃而過。
這里就會使用到智能駕駛領域經常使用到的一個算法 卡爾曼濾波。
卡爾曼濾波(Kalman filter) 是一種高效率的遞歸濾波器(自回歸濾波器),它能夠從一系列的不完全及包含噪聲的測量中,估計動態系統的狀態??柭鼮V波會根據各測量量在不同時間下的值,考慮各時間下的聯合分布,再產生對未知變數的估計,因此會比只以單一測量量為基礎的估計方式要準。
卡爾曼濾波在技術領域有許多的應用。常見的有飛機及太空船的導引、導航及控制??柭鼮V波也廣為使用在時間序列的分析中,例如信號處理及計量經濟學中??柭鼮V波也是機器人運動規劃及控制的重要主題之一,有時也包括在軌跡最佳化??柭鼮V波也用在中軸神經系統運動控制的建模中。因為從給與運動命令到收到感覺神經的回授之間有時間差,使用卡爾曼濾波有助于建立符合實際的系統,估計運動系統的目前狀態,并且更新命令。
信息融合是指把相同屬性的信息進行多合一操作。
比如攝像機檢測到了車輛正前方有一個障礙物,毫米波也檢測到車輛前方有一個障礙物,激光雷達也檢測到前方有一個障礙物,而實際上前方只有一個障礙物,所以我們要做的是把多傳感器下這輛車的信息進行一次融合,以此告訴下游,前面有輛車,而不是三輛車。
坐標轉換在自動駕駛領域十分重要。
傳感器是安裝在不同地方的比如超聲波雷達(假如當車輛右方有一個障礙物,距離這個超聲波雷達有3米,那么我們就認為這個障礙物距離車有3米嗎?并不一定,因為決策控制層做車輛運動規劃時,是在車體坐標系下做的(車體坐標系-般以后軸中心為O點)所以最終所有傳感器的信息,都是需要轉移到自車坐標系下的。因此感知層拿到3m的障礙物位置信息后,必須將該章礙物的位置信息轉移到自車坐標系下,才能供規劃決策使用。 同理,攝像機一般安裝在擋風玻璃下面,拿到的數據也是基于攝像機坐標系的,給下游的數據,同樣需要轉換到自車坐標系下。
在無人車感知層面,定位的重要性不言而喻,無人車需要知道自己相對于環境的一個確切位置,這里的定位不能存在超過10cm的誤差,試想一下,如果我們的無人車定位誤差在30厘米,那么這將是一輛非常危險的無人車(無論是對行人還是乘客而言),因為無人駕駛的規劃和執行層并不知道它存在30厘米的誤差,它們仍然按照定位精準的前提來做出決策和控制,那么對某些情況作出的決策就是錯的,從而造成事故。由此可見,無人車需要高精度的定位。
目前使用最廣泛的無人車定位方法當屬融合 全球定位系統(Global Positioning System,GPS)和慣性導航系統(Inertial Navigation System)定位方法 ,其中,GPS的定位精度在數十米到厘米級別之間,高精度的GPS傳感器價格也就相對昂貴。融合GPS/IMU的定位方法在GPS信號缺失,微弱的情況下無法做到高精度定位,如地下停車場,周圍均為高樓的市區等,因此只能適用于部分場景的無人駕駛任務。
地圖輔助類定位算法是另一類廣泛使用的無人車定位算法, 同步定位與地圖構建(Simultaneous Localization And Mapping,SLAM) 是這類算法的代表,SLAM的目標即構建地圖的同時使用該地圖進行定位,SLAM通過利用已經觀測到的環境特征確定當前車輛的位置以及當前觀測特征的位置。這是一個利用以往的先驗和當前的觀測來估計當前位置的過程,實踐上我們通常使用貝葉斯濾波器(Bayesian filter)來完成,具體來說包括卡爾曼濾波(Kalman Filter),擴展卡爾曼濾波(Extended Kalman Filter)以及粒子濾波(Particle Filter)。SLAM雖然是機器人定位領域的研究熱點,但是在實際無人車開發過程中使用SLAM定位卻存在問題,不同于機器人,無人車的運動是長距離的,大開放環境的。在長距離的運動中,隨著距離的增大,SLAM定位的偏差也會逐漸增大,從而造成定位失敗。
在實踐中,一種有效的無人車定位方法是改變原來SLAM中的掃描匹配類算法,具體來說,我們不再在定位的同時制圖,而是事先使用傳感器如激光雷達對區域構建點云地圖,通過程序和人工的處理將一部分“語義”添加到地圖中(例如車道線的具體標注,路網,紅綠燈的位置,當前路段的交通規則等等),這個包含了語義的地圖就是我們無人駕駛車的 高精度地圖(HD Map) 。實際定位的時候,使用當前激光雷達的掃描和事先構建的高精度地圖進行點云匹配,確定我們的無人車在地圖中的具體位置,這類方法被統稱為掃描匹配方法(Scan Matching),掃描匹配方法最常見的是迭代最近點法(Iterative Closest Point ,ICP),該方法基于當前掃描和目標掃描的距離度量來完成點云配準。
除此以外, 正態分布變換(Normal Distributions Transform,NDT) 也是進行點云配準的常用方法,它基于點云特征直方圖來實現配準?;邳c云配準的定位方法也能實現10厘米以內的定位精度。雖然點云配準能夠給出無人車相對于地圖的全局定位,但是這類方法過于依賴事先構建的高精度地圖,并且在開放的路段下仍然需要配合GPS定位使用,在場景相對單一的路段(如高速公路),使用GPS加點云匹配的方法相對來說成本過高。
拓展閱讀: L4 自動駕駛中感知系統遇到的挑戰及解決方案
淺析自動駕駛的重要一環:感知系統發展現狀與方向
無人車的規劃模塊分為三層設計:任務規劃,行為規劃和動作規劃,其中,任務規劃通常也被稱為路徑規劃或者路由規劃(Route Planning),其負責相對頂層的路徑規劃,例如起點到終點的路徑選擇。 我們可以把我們當前的道路系統處理成有向網絡圖(Directed Graph Network),這個有向網絡圖能夠表示道路和道路之間的連接情況,通行規則,道路的路寬等各種信息,其本質上就是我們前面的定位小節中提到的高精度地圖的“語義”部分,這個有向網絡圖被稱為路網圖(Route Network Graph),如下圖所示:
這樣的路網圖中的每一個有向邊都是帶權重的,那么,無人車的路徑規劃問題,就變成了在路網圖中,為了讓車輛達到某個目標(通常來說是從A地到B地),基于某種方法選取最優(即損失最?。┑穆窂降倪^程,那么問題就變成了一個有向圖搜索問題,傳統的算法如迪科斯徹算法(Dijkstra’s Algorithm)和A 算法(A Algorithm)主要用于計算離散圖的最優路徑搜索,被用于搜索路網圖中損失最小的路徑。
行為規劃有時也被稱為決策制定(Decision Maker),主要的任務是按照任務規劃的目標和當前的局部情況(其他的車輛和行人的位置和行為,當前的交通規則等),作出下一步無人車應該執行的決策,可以把這一層理解為車輛的副駕駛,他依據目標和當前的交通情況指揮駕駛員是跟車還是超車,是停車等行人通過還是繞過行人等等。
行為規劃的一種方法是使用包含大量動作短語的復雜有限狀態機(Finite State Machine,FSM)來實現,有限狀態機從一個基礎狀態出發,將根據不同的駕駛場景跳轉到不同的動作狀態,將動作短語傳遞給下層的動作規劃層,下圖是一個簡單的有限狀態機:
如上圖所示,每個狀態都是對車輛動作的決策,狀態和狀態之間存在一定的跳轉條件,某些狀態可以自循環(比如上圖中的循跡狀態和等待狀態)。雖然是目前無人車上采用的主流行為決策方法,有限狀態機仍然存在著很大的局限性:首先,要實現復雜的行為決策,需要人工設計大量的狀態;車輛有可能陷入有限狀態機沒有考慮過的狀態;如果有限狀態機沒有設計死鎖保護,車輛甚至可能陷入某種死鎖。
通過規劃一系列的動作以達到某種目的(比如說規避障礙物)的處理過程被稱為動作規劃。通常來說,考量動作規劃算法的性能通常使用兩個指標:計算效率(Computational Efficiency)和完整性(Completeness),所謂計算效率,即完成一次動作規劃的處理效率,動作規劃算法的計算效率在很大程度上取決于配置空間(Configuration Space),如果一個動作規劃算法能夠在問題有解的情況下在有限時間內返回一個解,并且能夠在無解的情況下返回無解,那么我們稱該動作規劃算法是完整的。
配置空間:一個定義了機器人所有可能配置的集合,它定義了機器人所能夠運動的維度,最簡單的二維離散問題,那么配置空間就是[x, y],無人車的配置空間可以非常復雜,這取決于所使用的運動規劃算法。
在引入了配置空間的概念以后,那么無人車的動作規劃就變成了:在給定一個初始配置(Start Configuration),一個目標配置(Goal Configuration)以及若干的約束條件(Constraint)的情況下,在配置空間中找出一系列的動作到達目標配置,這些動作的執行結果就是將無人車從初始配置轉移至目標配置,同時滿足約束條件。在無人車這個應用場景中,初始配置通常是無人車的當前狀態(當前的位置,速度和角速度等),目標配置則來源于動作規劃的上一層——行為規劃層,而約束條件則是車輛的運動限制(最大轉角幅度,最大加速度等)。顯然,在高維度的配置空間來動作規劃的計算量是非常巨大的,為了確保規劃算法的完整性,我們不得不搜索幾乎所有的可能路徑,這就形成了連續動作規劃中的“維度災難”問題。目前動作規劃中解決該問題的核心理念是將連續空間模型轉換成離散模型,具體的方法可以歸納為兩類:組合規劃方法(Combinatorial Planning)和基于采樣的規劃方法(Sampling-Based Planning)。
運動規劃的組合方法通過連續的配置空間找到路徑,而無需借助近似值。由于這個屬性,它們可以被稱為精確算法。組合方法通過對規劃問題建立離散表示來找到完整的解,如在Darpa城市挑戰賽(Darpa Urban Challenge)中,CMU的無人車BOSS所使用的動作規劃算法,他們首先使用路徑規劃器生成備選的路徑和目標點(這些路徑和目標點事融合動力學可達的),然后通過優化算法選擇最優的路徑。另一種離散化的方法是網格分解方法(Grid Decomposition Approaches),在將配置空間網格化以后我們通常能夠使用離散圖搜索算法(如A*)找到一條優化路徑。
基于采樣的方法由于其概率完整性而被廣泛使用,最常見的算法如PRM(Probabilistic Roadmaps),RRT(Rapidly-Exploring Random Tree),FMT(Fast-Marching Trees),在無人車的應用中,狀態采樣方法需要考慮兩個狀態的控制約束,同時還需要一個能夠有效地查詢采樣狀態和父狀態是否可達的方法。
自動駕駛汽車的車輛控制技術旨在環境感知技術的基礎之上,根據決策規劃出目標軌跡,通過縱向和橫向控制系統的配合使汽車能夠按照跟蹤目標軌跡準確穩定行駛,同時使汽車在行駛過程中能夠實現車速調節、車距保持、換道、超車等基本操作。
互聯網科技公司主要做軟件,以工程機上層為主;而車廠其實以下層的組裝為主,也就是OEM,也不是那么懂車。像制動、油門和轉向等這些領域,話語權依然集中在博世、大陸這樣的Tier 1身上。
自動駕駛控制的核心技術是車輛的縱向控制和橫向控制技術??v向控制,即車輛的驅動與制動控制;橫向控制,即方向盤角度的調整以及輪胎力的控制。實現了縱向和橫向自動控制,就可以按給定目標和約束自動控制車運行。所以,從車本身來說,自動駕駛就是綜合縱向和橫向控制。
車輛縱向控制是在行車速度方向上的控制,即車速以及本車與前后車或障礙物距離的自動控制。巡航控制和緊急制動控制都是典型的自動駕駛縱向控制案例。這類控制問題可歸結為對電機驅動、發動機、傳動和制動系統的控制。各種電機-發動機-傳動模型、汽車運行模型和剎車過程模型與不同的控制器算法結合,構成了各種各樣的縱向控制模式,典型結構如圖所示。
此外,針對輪胎作用力的 滑移率控制 是縱向穩定控制中的關鍵部分?;坡士刂葡到y通過控制車輪滑移率調節車輛的縱向動力學特性來防止車輛發生過度驅動滑移或者制動抱死,從而提高車輛的穩定性和操縱性能。制動防抱死系統(antilock brake system)簡稱 ABS,在汽車制動時,自動控制制動器制動力的大小,使車輪不被抱死,處于邊滾邊滑(滑移率在 20%左右)的狀態,以保證地面能夠給車輪提供最大的制動作用力值。一些智能滑移率控制策略利用充足的環境感知信息設計了隨道路環境變化的車輪最有滑移率調節器,從而提升輪胎力作用效果。
智能控制策略,如模糊控制、神經網絡控制、滾動時域優化控制等,在縱向控制中也得到廣泛研究和應用,并取得了較好的效果,被認為是最有效的方法。
而傳統控制的方法, 如PID控制和前饋開環控制 ,一般是建立發動機和汽車運動過程的近似線形模型,在此基礎上設計控制器,這種方法實現的控制,由于對模型依賴性大及模型誤差較大,所以精度差、適應性差。從目前的論文和研究的項目看,尋求簡單而準確的電機-發動機-傳動、剎車過程和汽車運動模型,以及對隨機擾動有魯棒性和對汽車本身性能變化有適應性的控制器仍是研究的主要內容。
車輛橫向控制指垂直于運動方向上的控制,對于汽車也就是轉向控制。目標是控制汽車自動保持期望的行車路線,并在不同的車速、載荷、風阻、路況下有很好的乘坐舒適性和穩定性。
車輛橫向控制主要有兩種基本設計方法,一種是基于駕駛員模擬的方法;另一種是給予汽車橫向運動力學模型的控制方法?;隈{駛員模擬的方法,一種策略是使用較簡單的運動力學模型和駕駛員操縱規則設計控制器;另一策略是用駕駛員操縱過程的數據訓練控制器獲取控制算法?;谶\動力學模型的方法要建立較精確的汽車橫向運動模型。典型模型是所謂單軌模型,或稱為自行車模型,也就是認為汽車左右兩側特性相同。橫向控制系統基本結構如下圖??刂颇繕艘话闶擒囍行呐c路中心線間的偏移量,同時受舒適性等指標約束。
自動駕駛是怎樣工作的?SLAM介紹
SLAM是機器人或車輛建立當前環境的全局地圖并使用該地圖在任何時間點導航或推斷其位置的過程。
SLAM常用于自主導航,特別是在GPS無信號或不熟悉的地區的導航。本文中我們將車輛或機器人稱為“實體”。實體的傳感器會實時獲得周圍環境的信息,并對信息進行分析然后做出決策。
SLAM是一種時間模型,它的目標是從復雜的信息中計算出一系列狀態,包括預期環境,距離,以及根據之前的狀態和信息得出的路徑 。有許多種狀態,例如,Rosales和Sclaroff(1999)使用狀態作為行人邊界框的3D位置來跟蹤他們的移動。Davison 等人(2017)使用單目相機的相機位置,相機的4D方向,速度和角速度以及一組3D點作為導航狀態。
SLAM一般包含兩個步驟,預測和測量。為了準確表示導航系統,SLAM需要在狀態之間以及狀態和測量之間進行學習。SLAM最常用的學習方法稱為 卡爾曼濾波 。
卡爾曼濾波是一種用于狀態估計的貝葉斯濾波類型。它是一種遞歸算法,作為系統中不確定性的函數,使預測可以隨著時間的推移進行校正。不確定性表示為當前狀態估計和先前測量之間的權重,稱為卡爾曼增益。該算法將實體先前的狀態,觀測和控制輸入以及當前的觀測和控制輸入作為輸入。過濾器包括兩個步驟:預測和測量。預測過程使用運動模型,可以根據給定的先前位置和當前的輸入估計當前位置。測量校正過程使用觀察模型,該模型基于估計的狀態,當前和歷史觀察以及不確定性來對當前狀態進行最終估計。
第一步涉及了時間模型,該模型基于先前的狀態和一些噪聲生成預測。
公式1. 預測模型。μ表示狀態的平均變化向量。ψ是狀態數量的矩陣,將當前狀態與先前的平均值相關聯。ε是轉換噪聲,可以確定當前狀態與前一個狀態的緊密相關程度。
第二步是“校正”預測。傳感器收集自主導航的測量值。有兩類傳感器:外傳感器器和內傳感器(proprioceptive)。外傳感器從外部環境中收集信息,包括聲納,距離激光,相機和GPS。在SLAM中,這些是觀察值。內傳感器利用編碼器,加速度計和陀螺儀等設備收集系統內部信息,如速度,位置,變化和加速度。在SLAM中,這些是單元控制,傳感器結果輸入到實體中進行計算。這些傳感器各有利弊,但相互組合可以產生非常有效的反饋系統。
公式2. μ?表示測量平均向量。Φ是狀態數量的將測量的平均值與當前狀態相關聯。ε?是測量噪聲,通常以協方差Σ?分布。
卡爾曼增益增強了測量的可信性。例如,如果相機失焦,我們就不會對拍攝內容的質量報太大期望??柭鲆孑^小意味著測量對預測的貢獻很小并且不可靠,而卡爾曼增益較大則正好相反。
公式 3.卡爾曼增益計算,Σ?是預測的協方差。
更新過程如下:
公式4. 使用卡爾曼增益的卡爾曼濾波學習過程。圖片來自Simon JD Prince(2012)。
雖然這種方法非常有用,但它還存在一些問題??柭鼮V波假定單模態分布可以用線性函數表示。解決線性問題的兩種方法是擴展卡爾曼濾波器(EFK)和無跡卡爾曼濾波器(UFK)。EFK使用泰勒展開來逼近線性關系,而UFK使用一組質量點近似表示正態,這些質量點具有與原始分布相同的均值和協方差。一旦確定了質量點,算法就通過非線性函數傳遞質量點以創建一組新的樣本,然后將預測分布設置為正態分布,均值和協方差等效于變換點。
由卡爾曼濾波強加的單模分布假設意味著不能表示其他狀態假設。粒子濾波是解決這些問題的常用方法。
粒子濾波允許通過空間中的粒子來表示多個假設,高維度需要更多粒子。每個粒子都被賦予一個權重,該權重表示其所代表的狀態假設中的置信度。預測從原始加權粒子的采樣開始,并從該分布中采樣預測狀態。測量校正根據粒子與觀測數據的一致程度(數據關聯任務)來調整權重。最后一步是對結果權重進行歸一化,使總和為1,因此它們是0到1的概率分布。
因為粒子的數量可以不斷增多,因此對該算法的改進集中在如何降低采樣的復雜性。重要性采樣和Rao-Blackwellization分區是常用的兩種方法。
下圖來自Fuentes-Pacheco, J., Ruiz-Ascencio, J., Rendón-Mancha, J. M. (2012)的論文“Visual simultaneous localization and mapping: a survey”,總結了到2010年的SLAM中的一些方法。他們的研究分為幾個方面。核心方案是使用學習算法,其中一些在上文討論過。地圖的類型是捕獲環境幾何屬性的度量圖,或者是描述不同位置之間的連接的拓撲圖。
在線跟蹤中最常用的功能是顯著特征和標記。標記是在環境中由3D位置和外觀描述的區域(Frintrop和Jensfelt,2008)。顯著特征是由2D位置和外觀描述的圖像區域。深度學習技術通常用于在每個時間點描述并檢測這些顯著特征,以向系統添加更多信息。檢測是識別環境中的顯著元素的過程,描述是將對象轉換為特征向量的過程。
應用SLAM的方案有兩種,一種是回環檢測(loop closure),另一種是“機器人*** (kidnapped robot)”?;丨h檢測是識別已經訪問過的任意長度的循環偏移,“機器人*** ”不使用先前的信息去映射環境。
SLAM是自主導航中常用的狀態時間建模的框架。它主要基于概率原理,對狀態和測量的后驗和先驗概率分布以及兩者之間的關系進行推斷。這種方法的主要挑戰是計算復雜。狀態越多,測量越多,計算量越大,在準確性和復雜性之間進行權衡。
[1] Fuentes-Pacheco, J., Ruiz-Ascencio, J., Rendón-Mancha, J. M. (2012). Visual simultaneous localization and mapping: a survey. Artificial Intelligence Review, 43(1), 55–81.
[2] Durrant-Whyte, H., Bailey, T. (2006). Simultaneous localization and mapping: Part I. IEEE Robotics and Automation Magazine, 13(2), 99–108.
[3] T. Bailey and H. Durrant-Whyte (2006). “Simultaneous localization and mapping (SLAM): part II,” in IEEE Robotics Automation Magazine, vol. 13, no. 3, pp. 108–117. doi: 10.1109/MRA.2006.1678144
[4] Simon J. D. Prince (2012). Computer Vision: Models, Learning and Inference. Cambridge University Press.
[5] Murali, V., Chiu, H., Jan, C. V. (2018). Utilizing Semantic Visual Landmarks for Precise Vehicle Navigation.
[6] Seymour, Z., Sikka, K., Chiu, H.-P., Samarasekera, S., Kumar, R. (2019). Semantically-Aware Attentive Neural Embeddings for Long-Term 2D Visual Localization. (1).
[7] Fuentes-Pacheco, J., Ruiz-Ascencio, J., Rendón-Mancha, J. M. (2012). Visual simultaneous localization and mapping: a survey. Artificial Intelligence Review, 43(1), 55–81.
無人駕駛技術的發展與現狀論文
現在很多品牌的汽車都可以實現自動駕駛,未來的汽車一定是無人駕駛的。特斯拉、寶馬、奔馳等品牌的汽車已經能夠實現無人駕駛,這主要依靠攝像頭、傳感器、gps定位系統和電子控制系統。許多汽車帶著l2級自動駕駛離開工廠。在一些特殊情況下,汽車可以自動行駛,而無需車主控制汽車。還有很多車有自動泊車功能,類似于無人駕駛功能。停車時,車主只需換擋?,F在也有很多公司涉足無人駕駛技術領域。隨著工程師們突破一個又一個難關,無人駕駛的時代總有一天會到來。無人駕駛可以避免人為的不正確操作,響應速度和準確率都比人高,因此無人駕駛技術可以避免交通事故的發生概率。雖然目前的無人駕駛技術偶爾會引發事故,但隨著科技的發展,無人駕駛技術也在不斷進步。未來,無人駕駛技術肯定可以避免事故,甚至在關鍵時刻挽救車內成員的生命。
關于自動駕駛技術論文摘要和汽車自動駕駛論文3000字的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。