自動駕駛中的corner cases
- 2021 年 3 月 5 日
- AI
「 我們都在說corner case,但難得見到這一篇系統性的討論。」
今天分享一篇arxiv上2021年2月11日的文章:Corner Cases for Visual Perception in Automated Driving: Some Guidance on Detection Approaches,對自動駕駛視覺感知中的Corner Cases進行分析並提出了一些方法論。作者來自於德國布倫瑞克工業大學和大眾汽車集團。

圖源[1]
任何一個做自動駕駛的人,相信都躲不過一個詞:「corner cases」。所謂的corner cases,在論文中使用的定義是「there is a non-predictable relevant object/class in a relevant location」。用大白話來說便是「在正確的位置上出現了不可預測的目標」,例如單純一把椅子,下圖第1列是正常的可預測的椅子,第2-4列對一個電腦視覺模型來說,很可能便是難以預測的「corner cases」。

圖源[2]
對自動駕駛而言,倘若感知系統遇到了corner cases,則會帶來嚴重的安全隱患。例如前幾年發生的Tesla的Autopilot 沒有識別出正在橫穿的白色大卡車,直接從側面撞上去,導致車主立即死亡;Uber 的自動駕駛車在亞利桑那州撞死一名推自行車過馬路的女性……
倘若存在能夠檢測出corner cases的方法,首先,可以用於offline篩選包含corner cases的數據,用於訓練新的感知演算法,能夠用於在實際應用中正確識別和處理這些corner cases情況;其次,還能作為online的安全監控和警告,一旦檢測出遇到corner cases情況,可以主動提醒駕駛員進行干預。
論文中根據檢測出corner cases的複雜程度,由淺到深,由易到難可以劃分為以下五大類,並且給出了一些例子:
Pixel level:由數據上的錯誤造成
local outlier:攝影機掉落導致存在像素點損壞;風擋上出現了污垢,秋天葉子落在風擋上,都會遮蔽攝影機部分視野。
global outlier:在長隧道的盡頭,由於晴天大太陽導致攝影機突然出現過度的曝光;夜裡對向駛來的車輛開著的大燈讓攝影機出現炫光;黃昏時在一條朝西的道路上開,被夕陽光致「盲」。
Domain level:數據表現出的對世界的觀測產生了整體偏移
domain shift:冬天到處覆蓋著白色的積雪;從法國通過海峽隧道開車到英國,出隧道後發現車輛都是靠左行駛。
Object level:數據中存在未曾「見」過的實例
single-point anomaly,即出現了未知的物體:在居民區的道路中央出現了一隻熊;一個拄拐杖和一個推著老人助推小車的人在過馬路;
Scene level:單幀數據中出現了與預期不一致的場景模式
collective anomaly,熟知的物體出現了大量未知的聚集:市中心聚集大量或站或走、高舉標語高喊口號的人群;早晚高峰出現了交通擁堵;十字路口出現了建築工地,除了日常的交通標誌外,還出現大量用於管制工地附近秩序的交通標誌;
contextual anomaly,熟知的物體出現在異常的位置:風暴過後一棵倒在路中間的樹;油灑在道路上,周圍擺放了錐桶,雖然油已經被清理了,但錐桶還未撤掉;一輛車停在人行道上;
Scenario level:連續幀數據中出現了與預期不一致的場景模式
anomalous,訓練數據中未出現並且存在高碰撞概率:「鬼探頭」,旁邊靜止的車輛前突然出現一個行人;川流不息的路上,一輛相鄰車道僅稍微領先的車輛,不打轉向燈,突然變道插入;在十字路口不遵循禮讓規則的車輛;
novel,訓練數據中未出現但不會增加碰撞概率:在視覺系統未見過的可穿越的鐵路道口;
risky,訓練數據中曾出現並且仍存在一定碰撞概率:在狹窄的道路會車;機動車道上超越騎自行車的人;

圖源[1] Corner cases的分類
論文中介紹了幾類corner cases檢測的方法,並且根據不同的corner cases類型,也匹配了不同的方法(參見下表)。

圖源[1] Corner cases的類別與檢測方法
具體的方法不在這裡做過多介紹,感興趣的同學可以公眾號回復「20210225」獲取論文仔細研讀。
在我看來,要訓練一個corner cases檢測的模型並不容易:很難整理一個完全的包含所有類型corner cases的大規模數據集。因此,相較於僅使用有監督方法,將無監督學習與有監督結合的方法應用於corner cases detection可能是比較靠譜的思路。一個典型的例子便是Tesla的影子模式:通過與人類駕駛員行為進行比對,找出潛在的corner cases。而後對這些cases進行標註,加入有監督訓練的數據集中。
對於簡單的pixel、domain、object level,可以採用一些ood detection、主動學習的思想。對於複雜的scene level和scenario level問題,更多的還是要依賴於深度學習方法從「感知」到「認知」的進化。
參考資料:
[1] //arxiv.org/abs/2102.05897
[2] //objectnet.dev
- END -
新朋友們可以看看我過往的相關文章
⬇
【相關推薦閱讀】
長按二維碼關注我⬇


