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