車道線還有的卷?HeightLane:超越BEV-LaneDet等一眾SOTA!
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
寫在前面 & 筆者的個人理解
單目圖像的準確3D車道線檢測面臨重大挑戰,主要由于深度信息的歧義性和地面建模的不完善。以往的研究通常采用具有有限自由度的平面地面假設進行地面建模,這在復雜道路環境中,尤其是存在不同坡度的情況下,顯得力不從心。本研究提出了一種名為HeightLane的創新方法,它基于多斜率假設創建錨點,從單目圖像中預測出高度圖,從而提供對地面的詳細和精確表示。HeightLane結合了預測出的高度圖和基于可變形注意力機制的空間特征轉換框架,高效地將2D圖像特征轉換為3D鳥瞰視圖(BEV)特征,增強了空間理解力和車道結構識別能力。此外,高度圖還被用于BEV特征的位置編碼,進一步提升了空間精度。這種顯式視圖轉換方法有效地彌合了前視感知與空間精確的BEV表示之間的差異,顯著提高了檢測性能。為了解決原始OpenLane數據集中缺少必要的地面真實高度圖的問題,作者利用Waymo數據集的LiDAR數據,為每個場景的可行駛區域生成了高度圖。使用這些真實高度圖訓練了從單目圖像中提取高度圖的模塊。在OpenLane驗證集上的廣泛實驗表明,HeightLane在F-score等指標上達到了最先進的性能,展示了其在現實世界應用中的潛力。
相關工作總結
3D車道檢測
3D車道檢測對于現實駕駛場景中的準確定位至關重要。雖然2D車道檢測已經得到了廣泛的研究,但關于3D車道建模的卻相對較少。傳統的方法通常使用逆透視變換(IPM)將2D特征轉換到3D空間,基于道路平坦的假設。然而,這種假設在遇到斜坡或下坡等不平坦地形時會失效,導致特征表示扭曲和可靠性降低。
SALAD通過結合前視圖圖像分割與深度估計來解決3D車道檢測問題,但它依賴于密集的深度注釋和精確的深度預測。此外,遠處車道因顯得較小,每個像素覆蓋的深度范圍更廣。M2-3DLaneNet通過融合LiDAR數據增強單目3D檢測,將圖像特征提升至3D空間,并在鳥瞰視圖(BEV)空間中融合多模態數據,但這增加了數據收集的復雜性和成本。DV-3DLane同樣使用LiDAR和相機輸入進行3D車道檢測,但它從兩種來源生成車道查詢,而非提升圖像特征。
與此同時,BEVLaneDet采用視圖關系模塊學習圖像特征與BEV特征之間的映射,要求兩者之間的關系固定。該論文引入了一種虛擬坐標,始終使用特定的外參矩陣和內參矩陣來調整圖像。此外,它不是使用BEV特征的錨點,而是提出一種在BEV上直接預測車道的關鍵點表示法。LATR和Anchor3DLane通過將地面假設為具有2個自由度(2-DoF)的平面,在3D車道檢測方面取得了最新進展。
LATR使用地面建模作為變換器中的位置編碼,預測地面的俯仰角和高度;而Anchor3DLane則利用俯仰角和偏航角進行2D特征提取。與此不同,作者的方法HeightLane在BEV空間中僅使用LiDAR創建地面真實高度圖。與M23DlaneNet不同,后者在推理過程中需要同時使用LiDAR和相機數據,而HeightLane僅依賴相機數據簡化了推理過程。作者的方法不是用2-DoF對地面進行建模,而是預測預定義BEV網格中每個點的高度,創建了一個密集的高度圖。通過采樣專注于地面的空間特征,作者生成了BEV特征,允許使用關鍵點表示法進行準確的3D車道預測,有效地橋接了2D圖像數據和3D車道幾何學。這種方法優化了空間特征的處理,在保持高精度的同時提高了效率。
鳥瞰視圖高度建模
BEVHeight引入了一種新穎的方法,將深度估計中使用的深度分箱技術應用到高度概念上。這種方法通過對圖像中的物體高度箱進行分類,首次提出了一種回歸方法,用于確定3D目標檢測中物體與地面之間的高度。然而,該方法的實驗僅限于路邊相機數據集,限制了研究的應用范圍。BEVHeight旨在通過利用物體的高度信息,提供更精確的3D位置信息。
另一方面,HeightFormer利用Nuscenes自動駕駛數據集,嘗試回歸物體與地面之間的高度。HeightFormer將預測的高度信息整合到變換器的解碼器中,與基于深度的方法相比,實現了性能的提升。這一改進展示了利用高度信息進行更準確3D目標檢測的潛力。
作者提出的方法HeightLane,利用了車道始終附著在地面上的特性。通過僅預測相對于地面的高度,HeightLane顯式地將圖像特征轉換到對應于地面的預定義BEV網格中。這種方法簡化了任務,旨在提高3D目標檢測中空間轉換的準確性。
HeightLane方法詳解
圖 2. HeightLane方法的總體架構圖。HeightLane接收一個2D圖像作為輸入,并通過卷積神經網絡(CNN)主干提取多尺度的前視圖特征。利用預定義的多斜率高度圖錨點、車輛坐標到相機坐標的外參矩陣T以及相機的內參矩陣K,將2D前視圖特征采樣到鳥瞰視圖(BEV)網格上,以形成BEV高度特征。隨后,該BEV高度特征通過一個CNN層進一步處理,以預測高度圖。預測出的高度圖用于空間特征的轉換,其中初始的BEV特征查詢和高度圖共同確定了查詢在前視圖特征中應參考的像素點。在這個過程中,前視圖特征充當鍵和值,而BEV特征則作為查詢。通過可變形注意力機制,這一流程最終生成了增強的BEV特征查詢。
高度提取模塊
高度預測
高度監督
圖 3. 在OpenLane驗證集中展示的“上坡和下坡”場景下,LiDAR數據累積的結果。左側的顏色條表示與道路高度相對應的顏色值。
高度引導的空間變換框架
作者提出的空間變換框架利用第3.1節預測的高度圖,如圖4所示。BEV初始查詢經過自注意力模塊處理,在自注意力過程中,BEV查詢之間進行交互,并為每個BEV查詢添加位置編碼以提供位置信息。位置編碼是可學習的參數。與在2D FV特征上執行注意力的研究不同,作者的方法使用BEV網格坐標和每個BEV查詢的高度嵌入進行位置編碼。
圖 4. 使用可變形注意力的高度引導空間變換框架結構圖。該框架展示了BEV查詢如何在自注意力階段接收高度位置編碼,并在交叉注意力階段通過高度圖映射到圖像像素。可變形注意力學習了從參考點到周圍區域的偏移,以生成多個參考點。
訓練
實驗結果和分析
數據集
作者的方法在OpenLane數據集上進行了評估,該數據集覆蓋了多樣的道路條件、天氣狀況和照明環境。OpenLane建立在Waymo數據集基礎之上,使用了150,000張圖像用于訓練,40,000張圖像用于測試。該數據集包含798個訓練場景和202個驗證場景,每個場景大約包含200張圖像。盡管OpenLane數據集本身不包含生成高度圖所需的信息,但由于其基于Waymo數據集構建,作者能夠從中提取每個OpenLane場景所需的LiDAR數據。在提取LiDAR數據的過程中,作者注意到數據在每個場景的中部密集,而在末端幀則變得稀疏。例如,圖3展示了一個場景,其中車輛啟動、上坡、右轉,并繼續行駛在另一段坡道上。在起始點(綠色區域),LiDAR數據較為稀疏,因此作者采用了雙線性插值來填補高度圖中的空隙,以確保高度圖的一致性。作者的評估包括了多種場景,如上坡/下坡、曲線、極端天氣、夜間、交叉口以及合并/分流等條件。評估指標包括F分數、近端和遠端的X誤差以及Z誤差。
實現細節
作者采用了ResNet-50作為2D特征提取的骨干網絡,并將圖像尺寸設定為576×1024像素。為了獲得多尺度的圖像特征,作者增加了額外的CNN層,以產生尺寸為輸入圖像1/16和1/32的特征圖,每個特征圖具有1024個通道。高度圖和BEV特征的BEV網格尺寸被設置為200×48像素,分辨率為每像素0.5米。在高度提取模塊中,作者為多斜率高度圖錨點設置了-5°、0°和5°的斜率Θ。在5°的斜率下,高度圖能夠表示高達約8.75米的高度。在高度引導的空間特征轉換中,作者使用了具有2個注意力頭和4個采樣點的可變形注意力機制。位置編碼是通過嵌入BEV網格的X和Y位置以及相應的預測高度來生成的。
在OpenLane上的評估
定性結果
圖5展示了OpenLane驗證集上的定性評估結果。作者的方法HeightLane、現有的最佳性能模型LATR以及地面真實值的預測結果被可視化展示。其中,地面真實值用紅色表示,HeightLane用綠色表示,LATR用藍色表示。圖5的第一行展示了輸入圖像,第二行展示了在3D空間中HeightLane、LATR和地面真實值的可視化對比。第三和第四行分別從Y-Z平面視角展示了HeightLane與地面真實值、LATR與地面真實值的3D車道對比。
圖 5. 在OpenLane驗證集上,與現有最佳性能模型LATR相比,作者的方法HeightLane的定性評估結果。第一行:輸入圖像。第二行:3D車道檢測結果 - 真實值(紅色)、HeightLane(綠色)、LATR(藍色)。第三行和第四行:從Y-Z平面視角展示的真實值與HeightLane、LATR的對比。放大可查看更多細節。
特別是,HeightLane即使在車道中斷后再次出現的場景中,如交叉口或減速帶上方,也能準確檢測到車道。這一點在圖5的第1、2、4、5和6列中尤為明顯。例如,在第1列中,盡管存在車輛遮擋和部分車道標記不完整,HeightLane仍然能夠提供精確的車道預測,證明了其在處理具有遮擋和信息不完整的復雜場景中的魯棒性。此外,借助高度圖的使用,HeightLane有效地模擬了道路坡度的變化,如圖3所示,道路從平坦過渡到有坡度的情況。在展示曲線道路和部分可見車道的第2和5列中,HeightLane展示了其在曲線上維持連續車道檢測的優越預測精度和性能。
圖6可視化了高度提取模塊預測的高度圖,從左到右依次為輸入圖像、預測高度圖和地面真實值高度圖。場景從上到下依次為上坡、平地和下坡路段,更多可視化結果可在補充材料中找到。
圖 6. 高度提取模塊的可視化結果。從左至右依次為:輸入圖像、預測的高度圖和真實值高度圖。圖像展示了上坡、平地和下坡的場景。
定量結果
表1展示了HeightLane在OpenLane驗證集上的定量評估結果。作者的模型在總體F分數上達到了62.5%,超越了所有現有的最先進模型。特別是在極端天氣、夜間和交叉口等具有挑戰性的場景中,HeightLane實現了顯著的性能提升,并在這些條件下取得了最佳成績。此外,HeightLane在曲線和合并/分流場景中也展現了強勁的性能,獲得了這些類別中的第二佳表現。盡管在持續上坡或下坡的場景中,HeightLane的表現不是最佳,因為在這些情況下,2-DoF平面假設已經足夠。然而,HeightLane在斜率變化的場景中表現出色,如圖5第3列所示,證明了其在處理變化坡度條件下的適應性和預測能力。
表 1. 在OpenLane驗證集的不同場景下,使用F分數對不同方法進行的定量結果比較。每個場景中最佳和次佳結果分別用粗體和下劃線標出。
表2展示了Openlane驗證集上的F分數、X誤差和Z誤差的定量比較結果。HeightLane在F分數方面取得了最佳成績,超越了其他所有模型,達到了62.5%。雖然在Z誤差方面并未達到最佳或第二佳的表現,但仍然展示了具有競爭力的結果。在X誤差方面,HeightLane實現了第二佳的性能,證明了其在橫向方向上準確估計車道位置的能力。
表 2. 在OpenLane驗證集上,與其他模型的定量結果比較。評估指標包括F分數(越高越好)、近端和遠端的X誤差與Z誤差(越低越好)。最佳和次佳結果分別用粗體和下劃線標出。
消融實驗
表3展示了不同高度提取方法對應的F分數。視圖關系模塊,最初在[18]中提出,并在[22]中作為一個MLP模塊用于轉換BEV特征。單斜率高度圖錨點方法將零高度平面投影到圖像上,并使用從該平面采樣的圖像特征作為BEV特征。然而,這種方法假設地面是平坦的,并且僅在該高度處采樣2D圖像特征,導致特征表示不完整。相比之下,作者提出的多斜率高度圖錨點方法在圖像上投影了具有不同斜率的多個平面,從每個平面采樣圖像特征,并將它們融合以形成BEV特征。這種多錨點方法實現了最高的F分數。
表 3. 根據不同的高度提取方法得到的F分數比較。表格中標粗的配置表示作者最終采用的方案。
表4展示了不同高度圖錨點設計對應的F分數。第一行對應于表3中的單斜率高度圖錨點。當使用0°加上±3°時,性能比僅使用0°提高了4.5%。同樣,使用0°加上±5°時,性能提升了6.3%。盡管0°、±3°和±5°的配置實現了最佳性能,但與僅使用0°和±5°相比,性能提升的邊際效應較小。然而,增加高度圖錨點的數量會增加最終BEV高度特征中的通道數,從而增加計算成本。為了在性能和計算效率之間取得平衡,作者最終選擇了0°和±5°高度圖錨點的配置作為論文中的最終方法。
表 4. 根據不同高度圖錨點設計得到的F分數比較。表格中標粗的配置表示作者最終采用的方案。
表5將作者的方法與各種多模態3D車道檢測器進行了比較。其中,Ours (GT)表示在推理步驟中使用真實高度圖代替高度提取模塊獲得的結果。這種替代旨在觀察在假設高度提取模塊預測的高度圖非常準確的情況下,空間特征變換框架的性能。通過使用從LiDAR數據獲得的真實高度圖,作者可以與使用LiDAR輸入的檢測器進行公平的比較。結果表明,當高度圖預測準確時,作者的HeightLane方法能夠實現與使用LiDAR和相機輸入的模型相當或甚至更好的性能。這證明了作者方法的潛力,能夠有效地利用精確的高度信息,突出了作者在2D圖像數據和3D車道幾何轉換中的魯棒性和能力。
表 5. 與多模態模型在OpenLane驗證集上的比較結果?!癘urs (GT)”表示在推理階段使用真實高度圖代替預測的高度圖。其中,M代表僅使用相機數據,ML代表同時使用相機和LiDAR數據。
結論
作者的研究工作通過提出一種創新的高度圖方法,成功克服了單目圖像中3D車道檢測面臨的主要挑戰,包括深度信息的不確定性和地面建模的不完善性。作者的主要貢獻包括:
- 定義了一個用于直接從圖像中預測高度信息的鳥瞰視圖(BEV)網格和多斜率高度錨點。
- 提出了一個由高度圖引導的空間特征轉換框架。
- 在OpenLane數據集的復雜場景中,實證展示了作者的HeightLane模型的卓越性能。
本研究所提出的方法通過高度圖增強了對空間結構的理解和車道的識別能力,顯著提升了自動駕駛車輛系統的技術水平。通過精確的3D變換,這些技術進步為自動駕駛領域的發展提供了強有力的支持。作者通過廣泛的實驗驗證了模型的有效性,這標志著在將3D車道檢測技術應用于現實世界場景方面邁出了重要的一步。