?
?
?
機(jī)器深度學(xué)習(xí)是近年來在人工智能領(lǐng)域的重大突破之一,它在語音識別、自然語言處理、計算機(jī)視覺等領(lǐng)域都取得了不少成功。而對于當(dāng)前大熱的無人駕駛,深度學(xué)習(xí)可以帶來哪些突破性應(yīng)用?
由于車輛行駛環(huán)境復(fù)雜,當(dāng)前感知技術(shù)在檢測與識別精度方面無法滿足無人駕駛發(fā)展需要,深度學(xué)習(xí)被證明在復(fù)雜環(huán)境感知方面有巨大優(yōu)勢。
近日,針對這一話題,北京航空航天大學(xué)交通學(xué)院副教授余貴珍,在2016年中國汽車工程學(xué)會暨展覽會期間與廣大汽車專業(yè)人士分享了他對于深度學(xué)習(xí)在無人駕駛環(huán)境感知中應(yīng)用的體會和心得。余貴珍的研究方向主要是智能交通和無人駕駛的感知和控制。
視覺感知是無人駕駛的核心技術(shù)
無人駕駛一般包括四個等級或者五個等級,不管哪個等級都會包含環(huán)境感知、規(guī)劃決策和執(zhí)行控制等三個方面。其中環(huán)境感知方式主要有視覺感知、毫米波雷達(dá)感知和激光雷達(dá)感知,其中的視覺感知是無人駕駛感知的最主要的方式。
最近炒得比較熱的特斯拉事件,一個是發(fā)生在美國,另外一個發(fā)生在中國,我想從技術(shù)的角度來談?wù)劇?/p>
在美國事件中,特斯拉車上的毫米波雷達(dá)因?yàn)榘惭b的位置較低,無法檢測卡車高的車廂,攝像頭應(yīng)該能檢測到卡車了,我們知道特斯拉車輛是從遠(yuǎn)到近的過程中,所以從這個角度一般能夠檢測到卡車的。但是最后融合起來的時候可能出現(xiàn)了問題,沒有檢測到卡車。
在中國發(fā)生的事故,由于前車突然變道,故障車輛離特斯拉比較近,都在視覺感知和雷達(dá)的盲區(qū),毫米波雷達(dá)由于前面角度的問題,無法掃描到近距離的側(cè)向車。另外由于故障車的部分出現(xiàn)在攝像頭中,視覺感知也沒有辦法檢測到,發(fā)生了特斯拉這種刮蹭事故。
所以從以上事故可以看出,視覺感知仍然需要完善。
而中國的路況較為復(fù)雜,雨天、霧霾天以及下雪天。另外,像馬車、吊車以及摩托車,還有摩托車?yán)i、卡車?yán)瓨涞默F(xiàn)象在我們生活中經(jīng)常遇到,這些場景對視覺是一個難題,提高這種復(fù)雜路況下的感知精度是無人駕駛研究的挑戰(zhàn)。?
深度學(xué)習(xí)能夠滿足復(fù)雜路況下視覺感知的高精度需求
深度學(xué)習(xí)被認(rèn)為是一種有效的解決方案,深度學(xué)習(xí)是模擬人的大腦,是近10年來人工智能取得一個較大的突破。深度學(xué)習(xí)在視覺感知中近幾年應(yīng)取得了較大的進(jìn)展,相對于傳統(tǒng)的計算機(jī)視覺,深度學(xué)習(xí)在視覺感知精度方面有比較大的優(yōu)勢。
特別是2011年以后,有報導(dǎo)指出深度學(xué)習(xí)如果算法和樣本量足夠的話,其準(zhǔn)確率可以達(dá)到99.9%以上,傳統(tǒng)的視覺算法檢測精度的極限在93%左右。而人的感知,也就是人能看到的準(zhǔn)確率一般為95%,所以從這個方面看,深度學(xué)習(xí)在視覺感知方面是有優(yōu)勢的。
所謂深度學(xué)習(xí),又名深度神經(jīng)網(wǎng)絡(luò),相對于以前的神經(jīng)網(wǎng)絡(luò)來說是一種更多層和節(jié)點(diǎn)的神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)算法,從這兒可以看出來,其實(shí)深度學(xué)習(xí)是一種機(jī)器學(xué)習(xí),可以說是一種更智能的機(jī)器學(xué)習(xí)。深度學(xué)習(xí)主要類型一般包括5種類型,像CNN、RNN、LSTM、RBM和Autoencoder,其中我們主要的是用的CNN,CNN另外一個名字叫卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被證明在圖像處理中有很好的效果。
其中,自學(xué)特征是深度學(xué)習(xí)的最大優(yōu)勢。例如智能駕駛需要識別狗,在以前的算法中如果要識別狗,對狗的特征要用程序來詳細(xì)描述,深度學(xué)習(xí)這個地方如果采集到足夠的樣本,然后放在深度學(xué)習(xí)中訓(xùn)練,訓(xùn)練出來后的系統(tǒng)就可以識別這個狗。傳統(tǒng)的計算機(jī)的視覺算法需要手工提取特征,很多時候需要專家的知識,算法的魯棒性設(shè)計非常困難,很難保證魯棒性,我們做視覺感知的時候就遇到很多困難。另外如果要保證這個穩(wěn)定需要大量的調(diào)試,非常耗時。
?
?
深度學(xué)習(xí)一般包括四種類型的神經(jīng)網(wǎng)絡(luò)層,輸入層、卷積層、池化層、輸出層。網(wǎng)絡(luò)的結(jié)構(gòu)可以10層甚至上百層,一般層數(shù)越多檢測精度會更精準(zhǔn)。并且隨著網(wǎng)絡(luò)層數(shù)和節(jié)點(diǎn)數(shù)的增加,可以表達(dá)更細(xì)、更多的識別物的特征,這樣的話可以為檢測精度的提高打下基礎(chǔ)。
?
其中卷積層和池化層是深度學(xué)習(xí)的核心處理層。卷積層主要是用于負(fù)責(zé)物體特征的提??;池化層主要是負(fù)責(zé)采樣。比如簡單理解池化層,(就是一個數(shù)獨(dú)里面取一個最大值),這就是池化層。卷積層與池化層是深度學(xué)習(xí)兩個核心的層。
深度學(xué)習(xí)工作的原理,深度學(xué)習(xí)一般包括兩個方面,一個是訓(xùn)練,一個是檢測,訓(xùn)練一般主要是離線進(jìn)行,就是把采集到的樣本輸入到訓(xùn)練的網(wǎng)絡(luò)中。訓(xùn)練網(wǎng)絡(luò)進(jìn)行前向輸出,然后利用標(biāo)定信息進(jìn)行反饋,最后訓(xùn)練出模型,這個模型導(dǎo)入到檢測的網(wǎng)絡(luò)中,檢測網(wǎng)絡(luò)就可以對輸入的視頻和圖像進(jìn)行檢測和識別。通常情況下,樣本的數(shù)量越多,識別的精度一般也會越高,所以這個樣本的數(shù)量是影響深度學(xué)習(xí)精度重要的一個因素。
深度學(xué)習(xí)在無人駕駛感知上應(yīng)用前景廣闊
一般的環(huán)境感知方面用到的深度學(xué)習(xí)會多一些,主要是視覺與毫米波雷達(dá)方面。在駕駛策略里面也會用到機(jī)器學(xué)習(xí),但是我們一般叫做增強(qiáng)學(xué)習(xí),用于駕駛策略的研究。在環(huán)境感知方面,深度學(xué)習(xí)可以在視覺感知、激光雷達(dá)感知,還有駕駛員狀態(tài)監(jiān)測等方面,甚至在攝像頭和毫米波雷達(dá)融合方面都具有優(yōu)勢。
在環(huán)境感知方面,我們在這方面做的重要工作就是前向視覺感知應(yīng)用。大家知道前向視覺感知是作為無人駕駛很重要的一部分,我們嘗試深度學(xué)習(xí)在這方面一些應(yīng)用。主要采用了單目攝像頭的方案,選用的模型是Faster R-CNN,在GPU TITAN 平臺上運(yùn)行。目標(biāo)檢測物主要包括車道線、車輛、行人、交通標(biāo)識和自行車,目前車輛的樣本有3萬左右,行人樣本大概2萬左右,其他的樣本較少,大概1000—2000。從運(yùn)行效果來看,識別精度、識別類型較以前開發(fā)的一些傳統(tǒng)的視覺算法,我們覺得有比較大的改善。
深度學(xué)習(xí)的優(yōu)勢之一,容易擴(kuò)展目標(biāo)物體類型。
?
例如,我們當(dāng)初只有對車的樣本進(jìn)行了學(xué)習(xí),發(fā)現(xiàn)效果不錯,然后把人的樣本加進(jìn)去,再把自行車的樣本加進(jìn)去,效果都不錯,按照這個邏輯,你只要采集到樣本,放進(jìn)網(wǎng)絡(luò)去訓(xùn)練學(xué)習(xí),然后就可以做出相應(yīng)的檢測。如果學(xué)習(xí)樣本達(dá)到2000以上,就能有一個比較好的效果,樣本越多精度一般會越好的。
深度學(xué)習(xí)優(yōu)勢之二,能夠提高部分遮擋物體的識別精度。
?
例如在圖1中如果采用傳統(tǒng)的視覺算法,人在車輛前面,一般的車輛檢測比較困難。在圖2中,可以看到深度學(xué)習(xí)的檢測結(jié)果,紅色車的前面已經(jīng)有人和自行車,但是這個車輛仍然能夠被檢測到,采用深度學(xué)習(xí)能提高部分遮擋物體的識別精度。
深度學(xué)習(xí)優(yōu)勢之三,可以解決臨車道車輛部分出現(xiàn)視頻中的識別困難問題。
?
其中圖1是采用傳統(tǒng)的算法,右車道白色的車輛沒有被檢測出來。為什么沒有被檢測出來?我們知道一般的傳統(tǒng)算法主要是對車輛后部的車子進(jìn)行檢測,對車輛側(cè)向的檢測并不好,離你最近的兩個車道臨近車輛其實(shí)對你也是一個危險物。如果能把左右車輛出現(xiàn)部分車輛能夠檢測出來,我覺得這個對視覺也是一個比較大的改善。前面講的特斯拉事故,就是說一個車停在路旁,前面的車突然轉(zhuǎn)道,刮蹭的事故中就是因?yàn)檫@個車輛離它太近,沒有檢測到故障車輛的原因。從圖2中可以看到我們用深度學(xué)習(xí)檢測的效果,右車道車輛只有部分在圖像中,這個車輛仍然能夠被檢測出來。所以我們感覺利用深度學(xué)習(xí)可以解決臨道車輛部分出現(xiàn)在視頻中識別困難的問題。
深度學(xué)習(xí)優(yōu)勢之四,可以減少光線變化對物體識別精度的影響。
?
圖1是晚上的識別效果,但是實(shí)際上我們整個訓(xùn)練樣本中沒有晚上的車輛和行人。我們最后是把訓(xùn)練之后的網(wǎng)絡(luò),檢測晚上的視頻,效果不錯。圖2中可以看出,右邊樹蔭底下的幾個人,其實(shí)如果用肉眼看很難分別出來有幾個行人,但是使用深度學(xué)習(xí),基本上能把行人都檢測出來了。以上就是我們在深度學(xué)習(xí)中的一些體會,不一定正確,因?yàn)槲覀冎皇亲隽艘恍┐譁\的研究。更細(xì)的問題,如果大家有什么好的建議,或者發(fā)現(xiàn)有一些更新的東西我們可以一起來分享。
小結(jié):
1,深度學(xué)習(xí)在無人駕駛視覺感知方面,相對于傳統(tǒng)的視覺算法,在精度、環(huán)境適應(yīng)性和擴(kuò)展性方面有一定的優(yōu)勢。前面看到的幾個,都是我們做的一些實(shí)踐的總結(jié)。
2,深度學(xué)習(xí)大家知道除了在視覺方面,在毫米波雷達(dá)、激光雷達(dá)甚至駕駛員識別方面,我們覺得也有廣闊的應(yīng)用前景。特別是駕駛員狀態(tài)識別方面,我想提一下,因?yàn)樽罱厮估囊恍┦录际邱{駛員采用的無人駕駛狀態(tài),然后把手撒開方向盤,手沒有在方向盤上。如果我們有一種攝像頭可以檢測到這個駕駛員狀態(tài)的話,那么可以給駕駛員提醒,甚至說監(jiān)督駕駛員是不是把手放在方向盤上,這樣可以減少事故的發(fā)生。
3,我們這個PPT僅僅是探討了深度學(xué)習(xí)在視頻檢測中的一些粗淺的應(yīng)用,距離工程化應(yīng)用方面仍然還有很多的技術(shù)困難需要克服。
評論
查看更多