當前位置: 華文星空 > 汽車

自動駕駛汽車如何「看到」紅綠燈?

2016-06-19汽車

這道題非常有意思。之前一直很好奇,終於有人提出來了。於是,搜了點資料看看,不成專業,姑且給我們這樣的智駕小白增添點課外知識。

以下內容來自於Gitee網站的公開分享,其中有一篇特意講了Apollo辨識紅綠燈的策略,做個轉譯,分享給大家。

題目問,自動駕駛汽車如何「看到」紅綠燈?轉譯過來就是,自動駕駛如何準確檢測且辨識紅綠燈。

先說紅綠燈,我們知道有3種狀態:紅、黃、綠。

但是,對於機器來說,這樣的總結還不夠。因為在交通訊號燈不工作的情況下,它可能顯示黑色,或者閃爍的紅燈/黃燈。

那麽,機器對交通訊號燈的分類至少有5種:紅、黃、綠、黑、未知。

再看機器檢測到交通訊號燈的途徑。Apollo搭載有高精地圖,高精地圖包含有交通訊號燈的資訊,那麽機器至少有了一個預判,知道在某個路口的某個位置,理論上可以檢測到交通訊號燈。

具體的傳感器是什麽?網絡攝影機!

但是,僅使用一個固定視野的網絡攝影機是不夠的,因為交通訊號燈的高度以及十字路口的寬度變化很大,有可能沒有進入網絡攝影機的視野。

所以,Apollo使用了兩個網絡攝影機來擴大感知的視野:

第1個是焦距為25mm的長焦鏡頭,拍攝到的訊號燈比較大,容易被辨識到,但視野太窄。如果車道不夠直,或者車輛離訊號燈太近,那麽,訊號燈都有可能出現在視野之外。

第2個是焦距為6mm的廣角鏡頭,主要對視野進行補充。

PS:這兩個網絡攝影機互為冗余,但具體到某一時刻只能以兩者之一為主。策略模組會自適應地做出最優選擇,至少,在應該檢測出訊號燈的路口,不因視野問題而檢測不出。

焦距為25mm的長焦鏡頭
焦距為6mm的廣角鏡頭

檢測問題解決之後,機器將會進入演算法流程,主要描述為兩個階段:1、預處理階段;2、處理階段。

預處理階段包括有:紅綠燈投影、相機選擇、圖片資訊及緩存同步;

處理階段包括有:糾正(確定準確的訊號燈邊界框)、辨識(分辨訊號燈的顏色)、修改(根據歷史時間順序修正顏色)。

PS:涉及到演算法環節,班門弄斧了,盡可能結合我的理解,通俗地解釋一下。

首先明確一個前提:機器沒有必要檢測每一幀影像,因為訊號燈的變化頻率比較低,在計算資源有限的情況下,抓住關鍵影像即可,那麽對影像的選擇和匹配就很重要了。

1-1 紅綠燈投影

在高精地圖中,根據車輛定位資訊,其實可以找到訊號燈的三維座標。但這些是3D數據,而網絡攝影機拍到的是2D數據,彼此之間需要有一個換算關系。

怎麽換算的?不做深入剖析了,主要借助了相機模型和一些標定。

機器有點傻的,它不像我們人一樣,從2D影像中,可以直接找出訊號燈在哪裏。而要曲折地借助3D轉2D的換算關系,用一個矩形邊界框,在2D影像中把訊號燈的位置圈出來。

這就是」紅綠燈投影「階段的輸出結果,但這個位置一般圈得比較大,有時候也會圈錯,也就是 藍色矩形框。

註意藍色框

1-2 相機選擇

我們在開始就提到了,有長焦和廣角兩個鏡頭做配合,一般優先選擇長焦鏡頭的輸出,因為訊號燈顯示得更大。

如果長焦鏡頭沒有檢測到訊號燈,那就需要廣角鏡頭出馬了,但是影像裏的訊號燈顯示小一些。

1-3 圖片資訊及緩存同步

經過這一步,再往下一步走,就到了處理階段。

主要講究」刪繁就簡「,因為辨識訊號燈與辨識障礙物的要求不同。因為訊號燈既沒有很高的變化頻率,也因為對訊號燈的辨識,主要在顏色變化。

所以,有些不重要的影像可以舍棄掉了。


2-1 糾正(確定準確的訊號燈邊界框)

預處理之後,機器會得到一張2D影像,被圈出了訊號燈的位置,但上文也說了,這個圈可能不準。

為了校準,機器畫了一個更大範圍的圈(絕不是盲目畫,有一些計算在裏面)。這個圈被叫做ROI(region of interest,興趣區域),也就是 黃色矩形圈

再之後,畫了興趣區域的2D影像,被放入摺積神經網絡中做檢測,將會輸出一個結果。

註意黃色框

2-2 辨識(分辨訊號燈的顏色)

上文畫圈,只是為了確定訊號燈的位置。

到了辨識這一階段,就要真正辨別訊號燈的顏色了,仍然用到了摺積神經網絡。

2-3 修改(根據歷史時間順序修正顏色)

這一階段,主要對辨別顏色的結果,再做一次修正。

a、如果判斷出了紅和綠,結果很清楚,那就是紅燈、綠燈;

b、如果判斷出了黑,那就不一定了。因為有可能不湊巧,就在訊號燈閃爍的時候,恰好拍到了黑色的狀態,其實這個訊號燈並沒壞。

那該怎麽辦?按照歷史緩存,看看之前的影像結果是怎樣的,要是」連續黑「,那訊號燈鐵定是壞了;

c、如果判斷出了黃,也值得細品。黃燈只出現在」綠燈變紅燈「的空隙中,但為了安全期間,直接以紅燈作為輸出結果;

Apollo辨識紅綠燈的策略,大體上即是如此。

總結:單車智能辨識紅綠燈,本質上就是在」猜「,靠不靠譜,就看猜的有多準。

車路協同,是把答案直接告訴所有車,此時亮的什麽燈,多久要變燈,一清二楚,該加速還是該減速,車輛會做出準確判斷。

車路協同有什麽問題嗎?太貴了,太仰仗國家投錢砸基建了。那個」三有原則「,有錢、有技術、有決心,缺一不可。

參考文章: https:// gitee.com/ApolloAuto/ap ollo/blob/master/docs/specs/traffic_light.md