如何在自動駕駛的視覺感知中檢測corner cases?
一篇來自德國大學的論文:“Corner Cases for Visual Perception in Automated Driving: Some Guidance on Detection Approaches“,在arXiv上2021年2月11日出現。
corner cases是自動駕駛中很重要的一個問題,本文討論視覺感知(不包括雷達和鐳射雷達)如何檢測這些corner cases,即出現的未期望或者未知情況。檢測corner case的任務對安全十分關鍵,檢測方法對訓練資料的選擇自動化非常重要,對大眾能否接受自動駕駛技術一事也是如此。該文系統性的分析corner cases出現的層次及其檢測方法的類別,將二者聯絡在一起。
注:上面圖顯示的是corner cases層次劃分【5】。
檢測corner cases包括online和offline方法,online情況是可以作為
安全監控和警告系統
,offline情況是用於實驗室開發新的視覺感知演算法,
選擇合適的訓練和測試資料
。一些不錯的工作已經展開,比如障礙物檢測【6-7】,新出現的目標【8】。
corner cases 定義為 “
there is a non-predictable relevant object/class in a relevant location
”【9】。本文分析根據【5】將它們分為以下幾個層次:
pixel,
domain,
object,
scene,
scenario。
具體講,pixel level 原因分成 global 和local outliers兩個;domain-level 是domain shifts 造成的;object level則是single-point anomalies 或者 single-point novelties;scene-level 來源也分成兩個,collective anomalies和 contextual anomalies,其中contextual anomalies 是指未知位置的已知目標,比如街中心的樹,而collective anomalies 是指數目異常的已知目標,比如demo。最高層的複雜情況是scenario-level, 包括risky scenarios、novel scenarios和anomalous scenarios。
下面表格給出corner cases的各層例子:確實是有趣的corner cases。
檢測它們的方法分為以下類別【10】:
feature extraction,
regression,
knowledge-based,
signal model,
state estimation,
clustering,
classification methods。
corner cases detection方法分為下面5個概念:
reconstruction,
prediction,
generative,
confidence scores,
feature extraction.
Reconstruction 方法 基本上是autoencoder-type networks;Prediction-based 方法 主要是scenario level,比如GAN;Generative 和 reconstruction-based 方法非常相關聯;Feature extraction 方法主要採用 deep neural networks。其中 confidence score 類,進一步又分成 三個子類:
learned confidence scores
Bayesian approaches
post-processing
如下表所示是檢測方法和複雜層次之間的聯絡:
總的來說,可以說由於缺乏包含所有型別corner cases的大規模資料集,以及相關的corner cases檢測的open world問題,
無監督方法
或者僅在正常樣本上訓練的方法目前看來是最有效獲取corner case檢測器的方法。 依賴於異常訓練資料的方法需要更復雜、更專業的訓練集,並且冒著集中於樣本相關的特定corner cases這種風險,對推理中出現未知corner cases的可能性故意視而不見。
pixel level
在pixel level,只有很少的深度學習方法檢測corner cases。但是,對於
global outlier
而言,檢測此類情況時,特徵提取方法可提供好的結果,因為是檢測影響大部分甚至整個影象的情況。這時候,檢測可以被認為是二進位制分類問題,並且網路能夠為該任務提取足夠的特徵。可以進行有監督的訓練,因為這種型別不會有意外的多樣性。然而,由於缺乏帶標記的global outlier(例如過度暴露)的自動駕駛資料集,對利用少樣本學習或類似技術的方法進行研究可能是有益的。此外,更有興趣檢測多個global outliers,例如,共同檢測影象中的過度曝光和曝光不足。在出隧道時,它們甚至可以出現在同一影象中。在以後的工作中考慮聯合或多工學習來研究。
而
local outliers
僅影響影象的一小部分,如畫素壞了。 可以在訓練資料中模擬這些情況,因此透過監督學習解決。 由於具有模擬的可能性,加入另一類,這樣透過語義分割方法來處理檢測問題。 這將導致逐畫素標註,給出壞畫素的位置。 預測性方法(在一個時間跨度)將有利於檢測local outliers。 可以將,例如,壞畫素的預測位置,與實際位置進行比較。 理想情況下,實際位置與根據學習的光流進行預測的位置,正好相反。
domain level
要檢測domain層的corner cases,不需要使用
域適應
方法,而是去找到適合domain mismatch的度量。但是,這些措施通常來自域適應方法,並被用作損失函式。通常,這些措施被認為是特徵提取方法。雖然訓練可能需要來自source domain的正常樣本進行監督,但是應該明確排除來自另一個域的資料進行訓練。在訓練中採用第二個域特定示例的方法存在無法達到第三個域相同效能的危險。 還可以考慮將一個數據集視為分佈內而將另一個數據集視為
分佈外(out-of-distribution)
的OOD檢測方法。這些方法可以從分類擴充套件到汽車視覺感知,因為它們只需要透過正常樣本進行監督訓練即可。為了可靠地檢測domain level的corner cases,需要使用可靠的domain mismatch度量。
object level
在object level,主要任務是檢測
未知類別
的
未知目標
。這些是屬於新類別的例項,以前在訓練中沒有見過。在訓練過程中提供此類corner cases的示例將使網路推斷出僅檢測類似的corner cases,這對任務是不利的。object level的corner cases檢測屬於
開放式識別
的領域,相關方法通常提供某種類別的confidence scores。理想情況下,對於檢測和定位,要求逐畫素評分。也存在符合該思想的reconstruction方法和generative方法。然而,reconstruction-based方法往往結果意義不大。
想為輸入影象獲得語義分割掩碼,其中屬於
未知目標
的畫素與
未知類別
標籤或高不確定性相關聯。考慮到這一衷旨,追求confidence scores和generative檢測方法似乎最有成效,並且許多最近出現的方法都符合這種趨勢。使用Bayesian置信度得分,求解一個與那些未知目標相關的高不確定性模型。
Monte-Carlo dropout
或者
deep ensembles
的貝葉斯深度學習規模化方法為檢測提供了第一步。根據那些single-point anomalies定義的訓練中未見例項,可以推測出,有效而可靠的檢測方法不能依賴包括corner cases的訓練樣本。人們不得不訴諸無監督方法,它們只能使用正態樣本進行訓練。
scene level
在scene level,旨在檢測未知數量或位置的已知類。 此外,認為未來的工作應該利用
例項分割(instance segmentation)
來獲得分組大小,要計算每個類的例項數量。在這種情況下,需要一個閾值來將集體
(collection)
定義為異常(anomalous)。可以透過特徵提取方法來檢測contextual anomalies。但是,在汽車視覺感知,特徵提取可能無法捕獲整個場景的複雜性。因此,許多現有方法給出confidence scores或reconstruction誤差,並區分正常樣本和異常樣本。建議調查類別先驗如何對整個流程產生影響,因為這些先驗知識可能有助於發現錯位的類別代表。
同樣,
貝葉斯深度學習
得出的置信度得分表明模型的不確定性,因此它們對於
異常上下文(unusual context)
情況下定位目標可能很有用。scene level的這兩種corner cases型別都可以使用常規資料進行監督訓練,因為都可以檢測到已知類的例項。但是,與object level不同,雖然可能需要視覺感知應用程式的畫素級
語義分割(semantic segmentation)
標籤,但另外要求例項級標籤告訴目標出現在異常位置,或要求影象級標籤告訴目標是否以未知的數量出現。
scenario level
scenario level的corner cases由特定時間段出現的模式所組成,並且單幀可能看起來並不異常。在這裡,prediction-based
方法
的決策取決於預測幀與實際幀之間的比較,從而提供了有益的結果。純粹的reconstruction方法再一次獲得不可靠的corner cases檢測分數。可以對prediction方法進行有監督訓練,因為它們僅需要正常的訓練樣本即可在推理過程中檢測到corner cases。這對於
novel
scenarios和
anomalous
scenarios尤其重要,此時由於數量大以及相應的危險性,無法捕獲所有可能性。
此外,包含這些樣本實際上可能會損害網路,使其僅檢測此類情況。為此,需要定義度量標準來檢測這種corner cases。儘管可能仍想知道corner cases在影象的位置,但也需要知道時間點。為此,可以考慮在一定時間段的影象標記。除了對度量進行調查之外,建議使用成本函式給予更高的優先順序去檢測視野邊緣處出現的
VRUs(vulnerable road users)
。這可以,例如,改善檢測從遮擋後面跑到街道的人,因為當幀中僅出現幾個人的畫素時,已經可以實現檢測。這種方法還需要識別由於被遮擋或不在視場範圍內而未包括在前一幀的逐幀畫素掩碼。
這種討論也是比較罕見的,值得關注以下。另外附上原文引用的幾個重要參考文獻:
[5] J Breitenstein et al。, “
Systematization of Corner Cases for Visual Perception in Automated Driving
,” IV, 2020。
[6] P。 Pinggera et al。, “
Lost and Found: Detecting Small Road Hazards for Self-Driving Vehicles
,” IROS, 2016。
[7] S。 Ramos et al。, “
Detecting Unexpected Obstacles for Self-Driving Cars: Fusing Deep Learning and Geometric Modeling
,” IV, 2017。
[8] H。 Blum et al。, “
Fishyscapes: A Benchmark for Safe Semantic Segmentation in Autonomous Driving
,” ICCV Workshops, 2019。
[9] J。-A。 Bolte et al。, “
Towards Corner Case Detection for Autonomous Driving
,” IV, 2019。
[10] F。 Lopez et al。, “
Categorization of Anomalies in Smart Manufacturing Systems to Support the Selection of Detection Mechanisms,
” IEEE Robotics and Automation Letters, 2017。