CLRerNet:利用LaneIoU提升車道檢測置信度
摘要
車道標檢測在自動駕駛和駕駛輔助系統中至關重要。現代深度車道檢測方法在車道檢測基準測試中表現出色。通過初步的預言機實驗,我們首次拆解車道表示組件以確定研究方向。我們表明,正確的車道位置已存在于現行車道檢測器的預測中,并且準確表示與真實值IoU的置信度分數最有益。基于這一發現,我們提出了LaneIoU,它通過考慮局部車道角度與評估指標更相關。我們開發了一種名為CLRerNet的新檢測器,其在目標分配成本和損失函數中采用LaneIoU,旨在提升置信度分數質量。通過仔細設計的基準測試,包括交叉驗證,我們證明CLRerNet大幅超越現有技術——在CULane上的F1分數為81.43%,相比現有方法的80.47%;在CurveLanes上為86.47%,相比86.10%。代碼和模型可在 GitHub 上獲取。
1. 引言
車道檢測在自動駕駛和駕駛輔助系統中起著重要作用。與其他計算機視覺任務一樣,卷積神經網絡(CNN)的出現推動了車道檢測性能的快速發展。現代車道檢測方法按車道實例表示可分為四類。分割基準[18,27]和關鍵點基準[21]分別將車道視為分割掩碼和關鍵點。參數表示方法[25,16]利用曲線參數回歸車道形狀。行基準表示[24,28,19,20,15]將車道視為特定水平線上的坐標集。前兩類被用于自下而上的檢測范式,直接在圖像中檢測車道位置,隨后將其分組為車道實例。后兩類被用于自上而下的實例檢測方法,每個車道檢測被視為全局車道實例和局部車道點集。行基準表示在檢測性能方面已成為事實上的標準。我們選擇CLRNet作為基線。
車道檢測的性能依賴于車道點定位和實例級分類。車道檢測基準[18,7]采用基于分割掩碼的IoU作為評估指標。預測車道中得分高于預設閾值的被視為有效預測以計算F1分數。因此,預測車道與真實車道的分割基準IoU應較大,分類分數應較高。為確定研究方向,我們首先進行初步預言機實驗。將置信度分數替換為預言機值后,F1分數接近完美(98.47%)。這表明正確車道已在預測中,置信度分數需更準確地表示與真實值的IoU。圖1(中)顯示了所有預測(藍色)和真實值(虛線橙色)的比較。預測的置信度分數與顏色深度成正比。最左側的預測是高置信度假陽性,錯過了真實值,但在真實值附近存在高IoU的低置信度預測。
下一個問題是:如何將基于分割的IoU作為學習目標?在行基準方法中,預測和真實車道均表示為固定行上的x坐標。[28]引入LineIoU損失逐行測量交集和并集并分別求和。但這種方法與基于分割的 IoU 不等價,特別是對于非垂直、傾斜車道(例如圖1底部)或曲線。我們引入新的IoU——LaneIoU,考慮車道的局部角度。LaneIoU整合每行的角度感知交集和并集以匹配基于分割的IoU。行基準方法為每個錨點學習全局車道概率分數。最近目標檢測器中采用的動態樣本分配[4,5]在車道檢測訓練中也有效[28]。IoU矩陣和成本矩陣分別確定每個真實車道分配的錨點數量和分配的錨點。置信度目標被設置為正(一)。因此,樣本分配負責學習置信度分數。我們引入LaneIoU到樣本分配中,使檢測器的置信度分數接近基于分割的IoU。LaneIoU動態確定每個真實車道分配的錨點數量,并作為成本函數優先分配錨點。此外,用于回歸水平坐標的IoU 損失也被我們的LaneIoU替代,以適當懲罰不同傾斜角度的預測車道。將LaneIoU集成到CLRNet中,使檢測器訓練更直接,因此我們將其命名為CLRerNet。我們通過在CULane和CurveLanes上的廣泛實驗展示了LaneIoU的有效性,并報告了最新的基準測試結果。重要的是,為確保基準測試的可靠性和公平性,我們采用五種模型的平均分數作為每個實驗條件的結果,而以往工作僅顯示單一模型的分數。此外,由于車道檢測評估中的F1指標對檢測器的車道置信度閾值極為敏感,我們利用訓練集的5折交叉驗證確定閾值。我們的貢獻如下:
-
明確研究方向:通過初步預言機實驗,我們表明正確的車道位置已存在于現檢測器的預測中,并且表示與真實值的IoU的置信度分數最有益于提升性能。
-
明確訓練方法:我們采用與評估指標高度相關的LaneIoU作為車道相似性函數,并將其集成到訓練中作為樣本分配成本和回歸目標。
-
明確基準測試:采用多模型評估和基于交叉驗證的分數閾值確定,確保公平基準測試。LaneIoU的有效性和通用性得到驗證,CLRerNet在CULane和CurveLanes基準測試中達到最新水平。
2. 相關工作
2.1 目標檢測
樣本分配:樣本分配是目標檢測的主要研究重點。從檢測頭生成的提議被分配給真實樣本。[22,13,8,12]通過在特征圖網格和真實框之間靜態計算IoU來分配真實樣本。[4]為對象檢測器的訓練樣本分配引入最優傳輸分配(OTA),動態分配預測框給真實樣本。[5]簡化OTA并實現無迭代分配。IoU函數:提出了幾種IoU函數的變體[23,29,30],用于準確的邊界框回歸和快速收斂。例如,廣義IoU(GIoU)[23]引入最小凸包的概念,即使邊界框不重疊,也能使IoU可微。我們的LaneIoU基于GIoU,但新增了在行基準表示中計算曲線之間的IoU功能。
2.2 車道檢測
車道檢測范式根據車道表示類型分為四類,即基于分割、基于關鍵點、基于行和基于參數的表示。
-
基于分割的表示:這類工作是基于像素的車道存在概率估計。SCNN[18]和RESA[27]采用語義分割范式,在每個像素上將車道實例分類為不同類別。車道與類別的對應關系由注釋確定,因此不夠靈活(例如某些車道位置可能屬于兩個類別)。基準數據集[18,7]采用像素級IoU比較預測車道與真實車道,對基于分割的方法較為友好。然而,這些方法不將車道視為整體實例,需要計算成本高昂的后處理。[19,28]僅在訓練期間利用分割任務作為輔助損失以改進骨干網絡。我們遵循這些方法,采用輔助分支和損失。
-
基于行的表示:車道實例被表示為固定行上的x坐標集。LaneATT[24]采用車道錨點來學習每個錨點的置信度分數和局部x坐標偏移。錨點被定義為固定角度和起點。訓練目標根據每個錨點與真實車道之間的水平距離靜態分配。CLRNet[28]采用可學習的錨點參數(起點xa、ya和θa)和長度l。對于樣本分配,采用簡化最優傳輸分配[5]動態分配最近的預測給每個真實車道。這兩種方法通過錨點池化特征圖,并將提取的特征輸入到頭部網絡。頭部網絡輸出每個錨點的分類和回歸張量。這種范式對應于兩階段目標檢測方法,如[13,8]。UFLD[19]通過展平特征圖捕獲全局特征,并學習行-wise車道位置分類。UFLDv2[20]擴展[19],增加列-wise車道表示以處理近水平車道。CondLaneNet[15]從車道起點的概率熱圖中學習,并從中提取動態卷積核。動態卷積被應用于特征圖,從而完成行-wise車道點分類和x坐標回歸。LaneFormer[6]采用具有行和列注意力的變換器,以端到端的方式檢測車道實例。此外,車輛檢測結果被輸入到解碼器中,使管道具備對象感知能力。在四種表示類型中,基于行的表示在檢測性能方面已成為事實上的標準。
3. 方法
3.1 網絡設計和損失函數
基于行的表示[28,15,24]采用了四種類型中最準確但簡單的檢測流程。我們從基于行的方法中選擇性能最佳的CLRNet[28]作為基線。網絡示意圖如圖2所示。骨干網絡(例如ResNet[9]和DLA[26])和上采樣網絡提取多級特征圖,其空間維度為輸入圖像的1/8、1/16、1/32。初始錨點由Na個可學習的錨點參數(xa、ya、θa)形成,其中(xa、ya)是起點,θa是錨點的傾斜度。沿每個錨點采樣特征圖并輸入到卷積和全連接(FC)層。FC層輸出分類 logits c、錨點細化 δxa、δya、δθa、長度 l 和局部x坐標細化 δx張量。通過δxa、δya和δθa細化的錨點重新采樣更高分辨率的特征圖,并重復該過程三次。池化特征通過交叉注意力與特征圖交互,并在不同細化階段進行連接。車道預測表示為分類(置信度)logits和從最終xa、ya、θa、l和δx計算出的在Nrow行上的x坐標集。更多關于細化機制的細節可在[28]中找到。在訓練期間,通過動態分配器[5]將接近真實車道的預測分配給真實車道。分配的預測被回歸到對應的真實車道,并學習被分類為正類。