自動駕駛感知的實現(xiàn)需要軟硬件結(jié)合,本文從傳感器和算法的角度帶大家來了解一下自動駕駛的感知。首先看一下自動駕駛目前的行業(yè)現(xiàn)狀。
行業(yè)現(xiàn)狀
自動駕駛是目前發(fā)展最為迅猛的產(chǎn)業(yè)之一,十年之前,消費者就接觸過“定速巡航(ACC)”這個功能,而現(xiàn)在ACC功能幾乎成為量產(chǎn)車型的標配。目前量產(chǎn)乘用車市場正在專注于L2.5或L3功能的實現(xiàn),如車道居中輔助(LKA)、主動緊急制動(AEB)、交通擁堵輔助(TJA);而創(chuàng)業(yè)公司和研究機構(gòu)則專注于L4或L5等級的技術(shù)研發(fā),并且也取得了非常大的進展,如全自動代客泊車、點到點的無人駕駛出租車、倉庫到倉庫的無人駕駛貨車等。
(該圖片來源于創(chuàng)業(yè)邦)
自動駕駛迅猛發(fā)展的背后到底有哪些力量在推動呢?
兩個方面:一是消費者的訴求;二是科技的發(fā)展。
首先看消費者的訴求
汽車已經(jīng)越來越融入到老百姓的生活中,行車安全是消費者最為關(guān)心的問題之一,目前老年人占據(jù)了用戶人群的一大部分,已經(jīng)變的越來越不能忽視,有調(diào)查報告指出有93%的交通事故都是由人為操作失誤引起,由此可見,消費者尤其是操作不夠靈活的老年人群體對行車安全的訴求越來越強。另外車輛是一個安全舒適的生活延伸,不再是讓人疲憊不堪的駕駛環(huán)境,車輛的智能化可以使消費者從駕車中解放出來。
再來看科技的發(fā)展,科技的發(fā)展包括硬件和軟件的發(fā)展
首先硬件性能得到了全面提升。一方面,芯片算力能耗比巨幅提升。前幾年,芯片算例不足或是能耗太高,導(dǎo)致用在車上時實時性很難保證,因此這成為了智能汽車發(fā)展的重要瓶頸,最近芯片行業(yè)已經(jīng)得到了大力的發(fā)展,以Mobieye為例,從2010年發(fā)布eq1平臺到今年發(fā)布eq4平臺,提出eq5平臺。8年時間,他們芯片每瓦的算力提升了80多倍,給無人駕駛技術(shù)的發(fā)展提供了無限的可能。另外,傳統(tǒng)傳感器得到優(yōu)化,新型傳感器不斷研發(fā)。傳統(tǒng)傳感器如攝像頭、毫米波雷達、超聲波雷達,或新型的傳感器如激光雷達等。在性能提高的同時,它們的制作成本也控制的越來越好。
芯片和傳感器性能的提升為自動駕駛的快速發(fā)展做好了充分的準備。
其次軟件算法不斷推陳出新。提到軟件,不得不提深度學(xué)習(xí),深度學(xué)習(xí)相比于傳統(tǒng)的機器學(xué)習(xí),很好的實現(xiàn)了端到端感知。有業(yè)內(nèi)人士形象的形容深度學(xué)習(xí)的感知:只需要給自動駕駛系統(tǒng)一張封面的圖像,它就能反饋出方向盤這時候有個轉(zhuǎn)角。當然這個形容有待討論,但是不得不說深度學(xué)習(xí)的出現(xiàn)對自動駕駛系統(tǒng)所要求的自動化、一體化的完整性都帶來了很大的幫助。
感知是自動駕駛的第一環(huán),是車輛和環(huán)境交互的紐帶。一個自動駕駛系統(tǒng)的整體上表現(xiàn)好壞,很大程度上都取決于感知系統(tǒng)的做的好壞。
講到感知,首先不得不講到傳感器。傳感器是自動駕駛感知環(huán)節(jié)中最主要的工具,我們必需對傳感器能夠提供的數(shù)據(jù)類型、適用的工況以及局限性都非常了解和熟悉,才能讓算法工程師更好的適配傳感器所采集和提供的數(shù)據(jù)寫出更好的算法,自動駕駛的傳感器主要分為以下四種。
常用傳感器簡介
高清攝像頭
攝像頭一般提供的RGB數(shù)據(jù),沒有深度信息,雖然可以利用雙目攝像頭做一些深度信息,或者用算法基于單目攝像頭做一個深度信息的融合,但是在實際使用過程中誤差是很大的,而且單目攝像頭在每次使用前都需要做一次標定,非常麻煩,因此業(yè)界一般只使用攝像頭的RGB的信息。
攝像頭有兩個比較重要的參數(shù)信息,一個是解析度,解析度越高,能提供的細節(jié)信息越多;另一個是FOA,F(xiàn)OA直接決定了自動駕駛的攝像頭感知視野的寬窄。
攝像頭工作的時候,對光照的條件要求比較高,需要一個好的穩(wěn)定的光照條件,那什么是不好的光照條件呢?舉個例子,當載有攝像頭的車輛進入隧道的時候,曝光不足,出隧道的時候會發(fā)生曝光過度,如此一來,呈現(xiàn)畫面上就沒有太多的細節(jié)信息,這就對于感知算法來說會造成很大的困擾。
目前基于攝像頭的感知已經(jīng)發(fā)展的比較成熟,比如特斯拉的Autopilot,它的車道線識別是完全基于攝像頭來做的,并且在很多的工況下都會有很好的表現(xiàn)。
毫米波雷達
毫米波雷達是一個基于多普勒效應(yīng)的傳感器,它可以檢測物體的距離、距離變化率和放向信息,毫米波雷達原始數(shù)據(jù)采用的是極坐標,因此它的速度是鏡像的速度,優(yōu)勢是對雨、霧、灰塵等的穿頭性特別強,而且因為工作原理不會受到光照條件的影響。因此毫米波雷達是一個可全天時工作的傳感器。
毫米波雷達的主要參數(shù)是頻率,頻率越高,探測距離就會越遠,主要頻率是24GHZ和77GHZ,目前也有公司在研發(fā)79GHZ頻率的毫米波雷達;頻率越高的另一個好處是帶寬就會越大,分辨率就會越好,分辨率定義為,比如說我這邊有兩個物體,這兩個物體隔開多遠毫米波雷達就會認為它們是兩個物體。比如像24GHZ的分辨率為60厘米左右,77GHZ的分辨率可以到20厘米左右。像77GHZ的遠距離探測的毫米波雷達一般放在車前保險杠附近,作用是對前方障礙物的檢測;24GHZ的毫米波雷達一般會放在汽車的左右側(cè)或后側(cè),主要做盲區(qū)的檢測。
毫米波雷達簡要總結(jié):
數(shù)據(jù)類型
距離、徑向速度、方位
采用極坐標
主要參數(shù)
頻率高——探測距離遠
頻率高——帶寬大,分辨率好
適用工況
穿透霧、煙、灰塵能力強
具有全天候、全天時特點
主要應(yīng)用
盲區(qū)監(jiān)測——變到輔助
前車車距監(jiān)測——ACC、AEB
超聲波雷達
超聲波雷達的測量原理其實非常簡單,主要通過測量發(fā)出超聲波到超聲波碰到物體彈回來接收后的時間差來計算物體與車輛之間的距離。
基于此原理會帶來一些誤差,因為這樣傳播的介質(zhì)是空氣,我們知道空氣在不同的天氣條件(如雨、霧天等)下,對超聲波傳播的波速都有影響,而且超聲波雷達傳播的波速本身就比較慢,因此在車輛高速行駛的時候,它測量的實時性會比較差,而且如果測量距離較遠的情況下超聲波雷達的回撥信號較弱,就會帶來一系列的問題,一方面是誤差大、另一方面是方向性的信息會比較糟糕。
超聲波雷達的好處是體積小、售價低,因此超聲波雷達一般會被用在低速、短距離的場景下使用,如倒車。
超聲波雷達總結(jié)
數(shù)據(jù)類型
與障礙物的距離
主要參數(shù)
頻率高——靈敏度高,但FOV小
適用工況
短距離低速測距(0.1-3米)
距離遠——誤差大、方向性不佳
車速高——波速慢,實時性差
主要應(yīng)用
低速短——距倒車雷達
激光雷達
激光雷達它的數(shù)據(jù)是點云數(shù)據(jù),是可以描繪3D信息的點云數(shù)據(jù)。點云是一個一個點,每個點都有自己(x,y,z)的空間坐標信息,還有它的反射率和方向的信息。
激光雷達有兩款形式分為固態(tài)激光雷達和機械式激光雷達。它們的區(qū)分主要看激光發(fā)射器是固定的還是運動式的。
傳統(tǒng)的機械式激光雷達是把激光發(fā)射器和接收器安裝在一個裝置上,該裝置是可以整體旋轉(zhuǎn)的,每旋轉(zhuǎn)一圈就會完成對周圍信息的一次掃描,缺點是體積較大、活動的部件較多,因此它的使用壽命較低和也不好維護,另一個缺點是機械式激光雷達在出廠的時候發(fā)射點再出廠的時候就已經(jīng)做在里面的,因此角分辨率后期不能通過一些算法去做調(diào)整。
機械式激光雷達
相比之下,固態(tài)激光雷達的出現(xiàn)就很好的解決了這方面的問題。固態(tài)激光雷達的發(fā)射源和接收器都是固定在一個裝置內(nèi)不動的,它會通過一系列的方法把激光導(dǎo)向空間的各個方向,實現(xiàn)對周圍空間的掃描,方法一般分為Flash、OPA和MEMS。
固態(tài)激光雷達
Flash激光雷達目前還處在研究的初步階段,我們可以把它想象成一個探頭,往四周各個方向發(fā)射,并且接收各個方向返回來的激光信號,這樣的原理會自身存在固有的一些問題,比如它的能量會隨著距離的增加衰退的非??欤杂行ПO(jiān)測距離一般只在小幾十米左右。但是如果加大它的能量就會對人眼造成傷害。目前激光雷達的工程樣機都非常少,還處在初步的階段。
OPA激光雷達是相控陣原理,它是做了非常多的激光發(fā)射頭,把激光發(fā)射頭排列成一個陣,然后我們通過調(diào)節(jié)不同激光發(fā)射頭在發(fā)射激光的時候的相位差,實現(xiàn)激光方向的導(dǎo)向。 OPA運用相干原理(類似的是兩圈水波相互疊加后,有的方向會相互抵消,有的會相互增強),采用多個光源組成陣列,通過控制各光源發(fā)光時間差,合成具有特定方向的主光束。然后再加以控制,主光束便可以實現(xiàn)對不同方向的掃描。
MEMS激光雷達在激光發(fā)射頭前面做了很小的一個微震的鏡片,通過這個鏡片的旋轉(zhuǎn)抖動把激光導(dǎo)向各個方向。
現(xiàn)在業(yè)界OPA和MEMS都是比較成熟的激光雷達解決方案,目前它們的角分辨率最好的目前已經(jīng)可以做到0.01°。
受益于工作原理,激光雷達受雨天、霧天、霧霾天的影響是比較小的。雖然在雨天雖然在點數(shù)上會有一些點的缺失,在霧霾天時,空間上會有一些噪點,但是都可以通過一些簡單的算法把這些問題解決。激光雷達在自動駕駛中扮演了非常重要的角色。
激光雷達小總結(jié):
固態(tài)激光雷達
工作原理:激光的發(fā)射源和接收器固定,采用Flash、OPA、MEMS的方法控制激光束方向,進行空間掃描。
特點
體積較小
角分辨率較高可達0.01°
角分辨率與掃描頻率可調(diào)
探測距離一般,約100米
橫向FOV較小,約100米
機械式激光雷達
工作原理:激光的發(fā)射源和接收器都固定在一個部件上整體旋轉(zhuǎn)
特點
體積一般較大
活動部件多,工作壽命不佳
角分辨率不高,約0.9°,且不可調(diào)
探測距離較遠,約200米
可360度全方位掃描
數(shù)據(jù)類型
(x,y,z,r)點云數(shù)據(jù)
主要參數(shù)
角分辨率-點云更稠密,更能體現(xiàn)物體特征
有效探測距離
掃描頻率
適用工況
不收光照條件影響,全天時
非極端氣象條件均可用
主要應(yīng)用
目標識別與分類、目標跟蹤
可行駛區(qū)域分割、車道線識別
SLAM高精自定位
說完傳感器,接下來我們就要想辦法從傳感器中提取到對我們有用的信息,這個時候就是算法需要登場的時候了。說到算法,這里重點講一下深度學(xué)習(xí)。
深度學(xué)習(xí)與感知
深度學(xué)習(xí)可以實現(xiàn)端到端的感知效果。什么叫端到端?
舉個例子,比如說我這邊有張圖,我們想做一個摳圖,把圖上的一個人摳出來,傳統(tǒng)的CV的方法,無論是基于圖割、最小割還是隨機場的算法,都需要標一下這張圖的前景還有后景分別是什么,而且跑完算法之后會發(fā)現(xiàn)算法分錯了還得需要提供額外的信息進一步區(qū)分前景和后景,這就說明算法在運行的時候需要進行非常多的人為干預(yù);然而深度學(xué)習(xí)可以被理解為全自動的算法,可以在沒有人干預(yù)的情況下完成一個算法的流程,這是深度學(xué)習(xí)相較于傳統(tǒng)機器學(xué)習(xí)最大的優(yōu)勢所在。
深度學(xué)習(xí)的模型是由不同的計算層構(gòu)成的,所謂的計算層是由自身的一個參數(shù),它把自身的參數(shù)和收到的數(shù)據(jù)做一個簡單的數(shù)學(xué)計算,然后再把計算結(jié)果傳輸給下一層,這就完成了這一層的工作,每一層都有不同的職責,比如說,直觀解釋來講,像卷積層,可以理解為它是把圖像信息做了一個提取;像池化層,它是數(shù)據(jù)做了一個降維處理,保留了有效的信息,同時把數(shù)據(jù)的體積做了一個剪裁;像激活層,可以理解為對有效信息的一個過濾,它把無效信息給濾走,它是模仿人腦的神經(jīng)元,對數(shù)據(jù)的非線性的計算處理;像全連接層,大家可以理解為,把之前提取的高層的信息做了一個整合,幫助模型做整個判斷。
深度學(xué)習(xí)是有監(jiān)督學(xué)習(xí)的一種,說到訓(xùn)練,就要看兩個東西,一個是叫做ground-truth,是我們希望模型達到的最理想值;還有一個就是提供給它的數(shù)據(jù)。
我們是如何訓(xùn)練的呢?我會通過比較ground-truth和這個模型自己計算出的一個結(jié)果,我們會量化的計算一個誤差值,這個誤差值就是我們的一個損失值,我們通過調(diào)整模型的參數(shù)把這個損失值降到最低就會完成模型的一個訓(xùn)練。
那如何調(diào)整參數(shù)呢?我們可以想象一下一個凹函數(shù)它是由很多自變量構(gòu)成,它的因變量就是損失值,把損失值往零去優(yōu)化的一個方法就是梯度下降的方法,這也是深度學(xué)習(xí)中優(yōu)化每一層的方法。
那深度學(xué)習(xí)有很多層,層與層之間是如何優(yōu)化的呢?這時候我們就會采用偏微分里面的一個鏈式法則,把每一層的梯度不斷地往前傳,這樣一個鏈式的流程就會實現(xiàn)反向傳播深度學(xué)習(xí)的訓(xùn)練。
深度學(xué)習(xí)為什么可以做到端到端的模型?因為數(shù)學(xué)的輸入量和最終的輸出量是可以做自己的自定義的,從數(shù)據(jù)的輸入到模型的輸出之間它是由一系列的數(shù)學(xué)表達式相連接,它就是可以使用這種反向傳播的模式進行優(yōu)化的。所以這也就是深度學(xué)習(xí)能夠?qū)崿F(xiàn)端到端的原因。
雖然深度學(xué)習(xí)能實現(xiàn)非常棒的端到端的感知能力,實際上業(yè)界在使用深度學(xué)習(xí)的時候也發(fā)現(xiàn)了一系列的問題。下面主要列舉三個例子,一塊討論一下業(yè)界和學(xué)術(shù)界目前遇到的這些問題以及業(yè)界和學(xué)術(shù)界的差異化,以及業(yè)界解決問題的方法。
學(xué)術(shù)界VS業(yè)界
數(shù)據(jù)前融合
學(xué)術(shù)界為了體現(xiàn)算法的先進性,他們會盡量采用盡量少的數(shù)據(jù),去擬合出盡可能多的信息。舉個例子,很多研究論文都會集中于說我通過一張圖片就可以擬合出它的深度信息,可以做一個車輛三維姿態(tài)的估計,實際上對于業(yè)界來講,會認為這樣來做誤差會比較大,比較好的擬合的結(jié)果誤差可能在1米左右。
1米是什么概念呢?想象一下,汽車在路上以60千米/小時行駛的時候,沒有0.1秒車子就會駛過1.6米左右,因此我們會覺得這個誤差比較大。作為業(yè)界來講,希望如果有的信息能夠用傳感器做一個準確的測量的話,寧愿多裝一個傳感器,而不是用算法去擬合,因為業(yè)界覺得數(shù)據(jù)的可靠性是最重要的。
這就會牽扯到業(yè)界會把不同的傳感器都會做一個數(shù)據(jù)的前融合。所謂的數(shù)據(jù)前融合就是把數(shù)據(jù)送到算法,得出一個結(jié)構(gòu)化數(shù)據(jù)之前,我們在原始數(shù)據(jù)上做一個前融合,業(yè)界會把激光雷達數(shù)據(jù)和攝像頭數(shù)據(jù)做一個前融合,這樣激光雷達的點云數(shù)據(jù)從原先的四維數(shù)據(jù)(x,y,z,r)變?yōu)?維數(shù)據(jù)。融合的好處是原始數(shù)據(jù)中有一個非常精確的三維的信息,并且對材料本身的一些信息,如反射率、顏色等也得到了一個信息的補充。
有人可能會問,這樣融合時候,計算量會不會增加很多?實際上并不會。因為,首先從深度學(xué)習(xí)的角度來講,你的數(shù)據(jù)的維度是多少就等同于你的數(shù)據(jù)的通道數(shù)是多少,通道數(shù)量對模型的前一兩層并不會增加很大的計算量。而且作為深度學(xué)習(xí)來說,我們有很多的技巧來減少該計算量,比如說,我們可以做一些池化的處理、可以做一些一對一的卷積降維的處理,而且這些數(shù)據(jù)在進入深度學(xué)習(xí)運算之前,會做一些柵格化的處理,這樣一來就會有效地控制好數(shù)據(jù)計算量的增幅。而我們得到的信息就會豐富很多。
數(shù)據(jù)后融合
所謂的數(shù)據(jù)后融合就是把不同傳感器的算法的數(shù)據(jù)結(jié)構(gòu)化處理后再做一個融合,這點學(xué)術(shù)界并不感興趣,因為后融合一般很難體現(xiàn)他們算法的先進性。
這里舉一個核心區(qū)域分割的例子
學(xué)術(shù)界一般采用的是像素集語義分割的方式對行駛區(qū)域的查找,像素集語義分割就是把圖像上的無論是路面還是車,每一個像素都打上標簽,這樣一來就會有一系列的問題,比如說,上圖中,可行駛區(qū)域邊緣分割的并不是特別光滑,而且在收到光照的干擾的情況下邊緣會出現(xiàn)明顯的分類的錯誤,雖然非常多的論文和研究機構(gòu)在說如何改進這一點,但是這的確是目前扔然存在的一個問題。
這時候業(yè)界會如何保證算法的魯棒性呢?這時業(yè)界會采用另一個傳感器來做同一件事情,兩個傳感器所產(chǎn)生的數(shù)據(jù)進行比較。之所以這樣來做是為了盡量減少做同一件事情的時候的關(guān)聯(lián)性。這樣通過兩種不同方法得出的同樣的數(shù)據(jù)作比較的時候才會有互相做檢查的安全的意義。
數(shù)據(jù)后融合的方法,如上圖右側(cè),我們會看到點的數(shù)據(jù),這里的算法并沒有牽扯到深度學(xué)習(xí),它是取一個點,然后對這個點取一大一小兩個半徑,通過兩個半徑再找兩個平面,然后再計算這兩個平面的法向量,再把這兩個法向量做一個差。對于每個點都做這樣一個操作之后就會得到一個路面幾何信息變化率的數(shù)據(jù),這個計算并不會增加額外的計算量,因為它并不像深度學(xué)習(xí)又要跑一個很龐大的網(wǎng)絡(luò),只是基于紙質(zhì)運算所得到一個數(shù)據(jù),而這樣得到的數(shù)據(jù)是通過另一種方法來的,它跟基于圖像得到的結(jié)構(gòu)化數(shù)據(jù)的關(guān)聯(lián)性幾乎是沒有的,這樣是一種比較保險的做法。
自適應(yīng)模塊化網(wǎng)絡(luò)架構(gòu)
對于學(xué)術(shù)界只是想證明自己算法的優(yōu)越性,希望通過一個模型應(yīng)對所有場景,導(dǎo)致的結(jié)果是過長的端到端,可解釋性會差;另外強調(diào)泛化性,全局最優(yōu)主導(dǎo)下的局部不足;還有模型尺寸過大,參數(shù)過多,對運算力的需求會很高。
因為自動駕駛在實際使用的過程中,場景變化并不會特別的頻繁,所以很多時候希望說我有一個模型可以很好的應(yīng)對當前的情況,而不是說我有一個大的模型可以很好的應(yīng)對所有的情況。
在業(yè)界如何解決這些問題呢?這里采用了自適應(yīng)模塊化算法網(wǎng)絡(luò),所謂的自適應(yīng)是指當前傳感器感受到的一些初步的信息先做一個場景的判斷,可以快速的判斷出這是白天還是晚上,下雨還是起霧,然后通過場景的判斷之后,再到算法池里面去選擇一個合適的專門訓(xùn)練過的模型,再通過這個模型進行計算感知。第一步做判斷并不會額外增加更多的計算量,并且用到的信息也不多。然后將這些數(shù)據(jù)送到算法池,選擇針對此工況優(yōu)化后的模型。
模塊化的設(shè)計,是多個短的端到端的網(wǎng)絡(luò)有以下三個好處:易鎖定問題、不需要過一遍完整的網(wǎng)絡(luò)所以可降低訓(xùn)練成本、減小運行時實時算例需求。
展望
從V2X的角度去想,單輛車的感知不僅對自身是有益的同時也對周圍其他車輛也是有益的,因為我們可以把路上行駛的每一輛車都看作是一個個傳感器,可以把自己感知到的結(jié)構(gòu)化數(shù)據(jù)實時傳輸?shù)皆贫?,這樣能夠幫助整個智能生態(tài)化環(huán)境的構(gòu)建。
舉兩個例子,一個是相同目的地的車輛可以自然的形成一個實時的車隊,只要前車做一個感知,后車做一個跟車,這樣就會很輕松的完成一個自動駕駛車隊的情況;另外一個就是一些大城市會面對交通的早晚高峰,此前有人提出了潮汐車道來解決此問題,但是目前的做法還是不夠高效,如果能夠達到一個車聯(lián)網(wǎng)的狀態(tài)的話,未來車道未必需要標上這樣反向性的箭頭了,因為可以適時動態(tài)的調(diào)整車流及方向,可以增大路面的利用率。
-
傳感器
+關(guān)注
關(guān)注
2542文章
50243瀏覽量
750115 -
自動駕駛
+關(guān)注
關(guān)注
782文章
13527瀏覽量
165736 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5434瀏覽量
120790
原文標題:自動駕駛的智慧之眼——感知
文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論