close

點擊下方卡片,關注「新機器視覺」公眾號

重磅乾貨,第一時間送達


本文來源:智能車情報局

編輯:智車科技


/導讀/

基於深度學習的計算機視覺,應用於無人駕駛的視覺感知系統中,主要分為四大塊:

動態物體檢測(Dynamic Object Detection)

通行空間(Free Space)

車道線檢測(Lane Detection)

靜態物體檢測(Static Object Detection)


主要從需求、難點、實現三個方面對每項感知部分做剖析。上述檢測的難度從難到易排序:DOD>FS=LD>SOD。

動態物體檢測
檢測需求:對車輛(轎車、卡車、電動車、自行車)、行人等動態物體的識別;
檢測難點:(三座大山:檢測類別多、多目標追蹤難度大、測距精度足夠准)

(1)遮擋情況情況較多,heading朝向的問題,測距精準度
(2)行人、車輛類型種類較多,難以覆蓋,容易誤檢(集裝箱vs卡車、樹幹vs行人)
(3)加入追蹤,id切換的問題。3D物體檢測

實現方案:攝像頭的內外參標定;對動態物體的檢測,尤其是車輛的檢測,是需要給出車輛的3D bounding box的(給出一個偽3D也是可以的),所以在神經網絡的訓練打標籤時與普通的2D檢測有區別,3D的好處在於能給出車的一個heading信息,以及車的高度信息。車輛及行人都要給出對應的id號,要加入多目標跟蹤算法,遮擋情況下的id難以維持,這是一個難點。另外神經網絡提取特徵能力再強大,也不能cover掉所有的動態物體檢測,可以依據現實場景增加一些幾何約束條件(如汽車的長寬比例固定,卡車的長寬比例固定,車輛的距離不可能突變,行人的高度有限等),增加幾何約束的好處是提高檢測率,降低誤檢率,如轎車不可能誤檢為卡車;方案是訓練一個3D檢測模型(2.5D也行)加後端多目標追蹤優化加基於單目視覺幾何的測距方法。

對於動態物體的檢測,最後需要結合激光雷達的結果進行融合,在夜間、雨雪天氣,視覺無法處理;同時,有激光雷達信息,對於車輛的朝向信息判斷更準確,僅憑一個攝像頭去做檢測、去做heading、去做精準的距離判斷,難度太大。

結合激光雷達,夜晚能準確給出車輛的heading信息

通過空間檢測

檢測需求:對車輛行駛的安全邊界(可行駛區域)進行劃分,主要對車輛、普通路邊沿、側石邊沿、沒有障礙物可見的邊界、未知邊界進行劃分。

綠色代表可通行區域

檢測難點:
(1)複雜環境場景時,邊界形狀複雜多樣,導致泛化難度較大。不同於其它的檢測有明確的檢測類型(如車輛、行人、交通燈),通行空間需要把本車的行駛安全區域劃分出來,需要對凡是影響本車前行的障礙物邊界全部劃分出來,如平常不常見的水馬、錐桶、坑窪路面、非水泥路面、綠化帶、花磚型路面邊界、十字路口、T字路口等進行劃分。

(2)標定參數校正;在車輛加減速、路面顛簸、上下坡道時,會導致相機俯仰角發生變化,原有的相機標定參數不再準確,投影到世界坐標系後會出現較大的測距誤差,通行空間邊界會出現收縮或開放的問題。

(3)邊界點的取點策略和後處理;通行空間考慮更多的是邊緣處,所以邊緣處的毛刺,抖動需要進行濾波處理,使邊緣處更平滑。障礙物側面邊界點易被錯誤投影到世界坐標系,導致前車隔壁可通行的車道被認定為不可通行區域,如下圖所示。

視覺感知結果與實際投影到世界坐標系下是有差別的

實現方案:攝像頭標定(若能在線標定最好,精度可能會打折扣),若不能實現實時在線標定功能,增加讀取車輛的IMU信息,利用車輛IMU信息獲得的俯仰角自適應地調整標定參數;選取輕量級合適的語義分割網絡,對需要分割的類別打標籤,場景覆蓋儘可能的廣;描點操作(極坐標的取點方式),邊緣點平滑後處理操作(濾波算法)。

車道線檢測

檢測需求:對各類車道線(單側/雙側車道線、實線、虛線、雙線)進行檢測,還包括線型的顏色(白色/黃色/藍色)以及特殊的車道線(匯流線、減速線等)的檢測。

直觀感受車道線的檢測

標準單一情況下的車道線識別難度不大,路況大都是平行筆直的實線或虛線(如特斯拉支持高速公路的輔助駕駛,它們的車道線檢測擬合的效果極好)。車道線的檢測難點在於:

(1)線型種類多,不規則路面檢測車道線難度大;如遇地面積水、無效標識、修補路面、陰影情況下的車道線容易誤檢、漏檢。
(2)上下坡、顛簸路面,車輛啟停時,容易擬合出梯形、倒梯形的車道線。
(3)彎曲的車道線、遠端的車道線、環島的車道線,車道線的擬合難度較大,檢測結果易閃爍;

實現方案:傳統的圖像處理算法需經過攝像頭的畸變校正,對每幀圖片做透視變換,將相機拍攝的照片轉到鳥瞰圖視角,再通過特徵算子或顏色空間來提取車道線的特徵點,使用直方圖、滑動窗口來做車道線曲線的擬合,傳統算法最大的弊端在於場景的適應性不好。採用神經網絡的方法進行車道線的檢測跟通行空間檢測類似,選取合適的輕量級網絡,打好標籤;車道線的難點在於車道線的擬合(三次方程、四次方程),所以在後處理上可以結合車輛信息(速度、加速度、轉向)和傳感器信息做航位推算,儘可能的使車道線擬合結果更佳。

市區道路車道線檢測

靜態物體檢測

Tesla Model3 Autopilot渲染在HMI界面的車道線結果(極其穩定,極其魯棒)
靜態物體檢測:
檢測需求:對交通紅綠燈、交通標誌等靜態物體的檢測識別;

檢測難點:(1)紅綠燈、交通標識屬於小物體檢測,在圖像中所占的像素比極少,尤其遠距離的路口,識別難度更大。如下圖紅綠燈在1920*1208的像素層面上占據的像素大小僅為18*45pixel左右,在強光照的情況下,人眼都難以辨別,而停在路口的斑馬線前的汽車,需要對紅綠燈進行正確的識別才能做下一步的判斷。

感受一下紅綠燈識別的難度

(2)交通標識種類眾多;採集到的數據易出現數量不均勻的情況。

交通標識牌種類

(3)交通燈易受光照的影響,在不同光照條件下顏色難以區分(紅燈與黃燈),且到夜晚時,紅燈與路燈、商店的燈顏色相近,易造成誤檢;

實現方案:通過感知去識別紅綠燈,有一種捨身取義的感覺,效果一般,適應性差,條件允許的話(如固定園區限定場景),該裝V2X就裝V2X,多個備份冗餘,V2X > 高精度地圖 > 感知識別。若碰上GPS信號弱的時候,感知識別可以出場了,大部分情況,V2X足以Cover掉大部分的場景。感知方案的具體實現參照文章,主要為紅綠燈數據集採集,標籤處理,檢測模型訓練,算法部署,追蹤後端優化,接口開發;

紅綠燈的算法開發可以參考:

(1)真值的來源。定義,校準,分析比對,絕不是看檢測結果的map或幀率,需要以激光的數據或者RTK的數據作為真值來驗證測距結果在不同工況(白天、雨天、遮擋等情況下)的準確性;
(2)硬件幀率、資源消耗。多個網絡共存,多個相機共用都是要消耗cpu、gpu資源的,如何處理好這些網絡的分配,多個網絡的前向推理可能共用一些卷積層,能否復用;引入線程、進程的思想來處理各個模塊,更高效的處理協調各個功能塊;在多相機讀取這一塊,做到多目輸入的同時不損失幀率,在相機碼流的編解碼上做些工作。
(3)多目融合的問題。一般在汽車上會配備4個(前、後、左、右)四個相機,對於同一物體從汽車的後方移動到前方,即後視攝像頭可以看到,再移至側視相機能看到,最後移至前視相機能看到,在這個過程中,物體的id應保持不變(同一個物體,不因相機觀測的變化而改變)、距離信息跳變不宜過大(切換到不同相機,給出的距離偏差不宜太大,)
(4)多場景的定義。針對不同的感知模塊,需要對數據集即場景定義做明確的劃分,這樣在做算法驗證的時候針對性更強;如對於動態物體檢測,可以劃分車輛靜止時的檢測場景和車輛運動時的場景。對於交通燈的檢測,可以進一步細分為左轉紅綠燈場景、直行紅綠燈、掉頭紅綠燈等特定場景。公用數據集與專有數據集的驗證。
(5)回放工具驗證,感知輸出的離線數據分析。肉眼觀察視覺感知的效果是不可靠的,需要將視覺檢測的結果,激光的結果,RTK的結果都統一在回放工具上,對視覺檢測的結果進行離線分析,包括距離誤差的分析、檢測效果與距離的分析、曲線擬合的分析等等,完成這些工作需要統一時間戳,同時輸出視覺檢測結果的類別信息,距離信息和作為真值傳感器的輸出信息,進行分析對比,以此驗證視覺感知結果的好壞。上述為視覺感知中的具體實現模塊功能。

目前圍繞無人駕駛汽車做基於深度學習開發的獨角獸企業:
圖森(基於深度學習計算機視覺的智能集卡)
momenta(提供基於深度學習的計算視覺解決方案,自主泊車)
地平線(基於深度學習的芯片硬件設計,提供整套軟硬件方案)
Pony.ai(整車系統開發的無人駕駛)

圍繞深度學習開發的大廠:
華為、滴滴、百度、上汽、蔚來

本文僅做學術分享,如有侵權,請聯繫刪文。

—THE END—
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()