在自動(dòng)駕駛汽車技術(shù)中,卷積神經(jīng)網(wǎng)路(CNN)已經(jīng)證明是一種非常強(qiáng)大的道路特征辨識(shí)工具。經(jīng)過(guò)工程師團(tuán)隊(duì)的訓(xùn)練,卷積神經(jīng)網(wǎng)路可以偵測(cè)道路類型和路側(cè)特征。在用于這種訓(xùn)練的各種資料集協(xié)助下,這種模型會(huì)以類似幼兒學(xué)步的方式教汽車學(xué)習(xí)駕駛技巧。
現(xiàn)有的駕駛評(píng)估系統(tǒng)如何訓(xùn)練和整合CNN模型,同時(shí)介紹了這種模型及其改進(jìn)版本VGGNet的本質(zhì),以期更能理解這一相對(duì)未知的課題。 VGGNet的使用可以大幅提升預(yù)測(cè)的精準(zhǔn)度,特別是考慮到車內(nèi)駕駛?cè)嗣媲暗臄z影機(jī)時(shí)。
作為嵌入式系統(tǒng),駕駛評(píng)估系統(tǒng)的運(yùn)算能力是非常有限的。工程師團(tuán)隊(duì)受命在該模型和現(xiàn)有駕駛評(píng)估系統(tǒng)的基礎(chǔ)上使用現(xiàn)實(shí)世界資料開發(fā)CNN,結(jié)果將涵蓋在文末的總結(jié)部份。本文還討論了CNN的模型整合和訓(xùn)練處理最佳化,同時(shí)強(qiáng)調(diào)了神經(jīng)網(wǎng)路的再使用性。
駕駛評(píng)估系統(tǒng)
定期的駕駛?cè)嗽u(píng)估是車隊(duì)管理和服務(wù)產(chǎn)業(yè)的一個(gè)重要步驟。具有正確回饋措施的定期評(píng)估可以提升駕駛?cè)说谋憩F(xiàn)。藉由近來(lái)機(jī)器學(xué)習(xí)領(lǐng)域的進(jìn)步以及儀器使用的價(jià)值,我們可以輕松地將機(jī)密和精確的資料連接到登錄的中央運(yùn)算系統(tǒng)。這樣的電腦和其它模組可以用于作為一套組合工具,以評(píng)估駕駛?cè)说谋憩F(xiàn)。
在傳統(tǒng)的環(huán)境下,視訊提供的資料以及來(lái)自感測(cè)器的資料必須進(jìn)行人為管理。但眾所周知,人為管理很容易出錯(cuò)。
有鑒于此,能夠智慧地摘要、分類并擷取資訊的機(jī)制特別管用,尤其是加上來(lái)自O(shè)BD-II的幫助。以下我們將討論如何融合/結(jié)合這兩組資訊,從而為駕駛?cè)撕凸芾碚弋a(chǎn)生合理的結(jié)果。
這里的區(qū)別是什么?
伺服器端如果只有感測(cè)器資料,并不足以完成駕駛?cè)说脑u(píng)估。例如,讓我們看看一個(gè)即時(shí)的場(chǎng)景:在下坡時(shí),一般意味著連續(xù)的加速,比方說(shuō)8到10秒,遠(yuǎn)遠(yuǎn)超出發(fā)布的極限。這肯定會(huì)影響駕駛?cè)嗽隈{駛汽車時(shí)的表現(xiàn)資料。事實(shí)上,這是一種真陰性(TN;假陽(yáng)性)的情形。
本文提出的系統(tǒng)有助于判斷上坡和下坡,而檢測(cè)到真陰性后可以改善駕駛?cè)说脑u(píng)估。
實(shí)作細(xì)節(jié)
NeuralTalk2可用于分類影像。它使用卷積神經(jīng)網(wǎng)路機(jī)制分類影像。針對(duì)每一種偵測(cè)到的特征,它都提供了置信值。
Convolution: f(x)=fD(…f2(f1(x;w1);w2)…),wD)
這里的fd作用是輸入一個(gè)值xd和一個(gè)參數(shù)值wd,產(chǎn)生輸出結(jié)果xd+1。雖然函數(shù)的類型和結(jié)果是人工的,但參數(shù)w=(w1,…,wD)是從訓(xùn)練中學(xué)到的。
非線性啟動(dòng)ReLU(調(diào)整過(guò)的線性單元):
f(x)=max(0, x)
空間池化(spatial pooling):
f(x) = max(Stride)
步驟3:計(jì)算總誤差
總誤差 = Σ1/2(目標(biāo)誤差–輸出誤差)2
步驟4:使用后向傳播最大限度地減小誤差。為此,先獲得相對(duì)權(quán)重的梯度誤差,然后使用梯度下降更新濾波器的值和參數(shù),以盡量減小輸出誤差。這里發(fā)生改變的是濾波器值,連接權(quán)重也得到了更新。這是在完全連接層完成的。
w = wi – ? * dL/dw
w = Weight
wi = Initial Weight
? = Learning Rate
由于這個(gè)應(yīng)用與駕駛評(píng)估有關(guān),因此他/她在駕駛時(shí)所處的場(chǎng)景是最重要的,而不是只是儀器讀數(shù)。為了理解這種場(chǎng)景(讓我們想像一條路),我們需要一個(gè)非常好的分類器。為了克服這個(gè)問(wèn)題,可以選擇內(nèi)部使用VGGNet的NeuralTalk2。 VGGNet是一種卷積網(wǎng)路,最擅于辨識(shí)物體的位置。它還擅長(zhǎng)于分類物體本身。輸入是一個(gè)影像,而輸出則是概率。
VGGNet具有這種能力主要取決于一種因素。它相信為了辨識(shí)/分類影像,理解影像的深度是很有用的。進(jìn)行越多的深度分析,影像的分類就越精確。換句話說(shuō),卷積的越多,物體分類的越好。 VGGNet共有16個(gè)卷積層,用于提升預(yù)測(cè)的精度。 CONV層執(zhí)行3×3卷積,步幅為1,填充為1。 POOL層執(zhí)行2×2最大共用,步幅為2,填充為0。
在訓(xùn)練階段會(huì)為NeuralTalk2提供一套訓(xùn)練用的輸入集。我們將訓(xùn)練集限制為直路、上坡、下坡、彎路、左轉(zhuǎn)和右轉(zhuǎn)。這在以更有效方式訓(xùn)練模型時(shí)特別有用,因?yàn)檩斎霐?shù)量是有限的。這樣做的目的是想在進(jìn)行評(píng)估時(shí)取得更高的精確度。
所產(chǎn)生經(jīng)訓(xùn)練的網(wǎng)路/模型可專門關(guān)注訓(xùn)練集提到的特征,如上坡、左轉(zhuǎn)和右轉(zhuǎn)。這個(gè)模型可以被移植到大多數(shù)X86 Linux電腦。
輸入感測(cè)器:OBD-II是汽車內(nèi)的標(biāo)準(zhǔn)介面。該硬體用于從終端感測(cè)器收集OBD-II的引擎轉(zhuǎn)速、散熱、速度資料,并將這些資料提供給運(yùn)算模組作為輸入。
評(píng)估儀表板:儀表板將為這些資料進(jìn)行第一層分析,顯示理想的和原始的資料圖。當(dāng)點(diǎn)選原始資料圖上的任何點(diǎn)時(shí),將會(huì)在該點(diǎn)顯示資料集中可用的完整細(xì)節(jié)。
操作
前置攝影機(jī)記錄汽車前方的視訊。當(dāng)駕駛?cè)笋{車行經(jīng)上坡時(shí),很明顯地會(huì)重踩油門以維持汽車前進(jìn)的推動(dòng)力。隨后這些資料連同前置攝影機(jī)的視訊一并被記錄到與硬體相連的儲(chǔ)存裝置中。
當(dāng)駕駛?cè)说穆贸探Y(jié)束并將車子停在停車場(chǎng)后,這些記錄的資料將會(huì)被分析。視訊和影像將會(huì)透過(guò)已內(nèi)建訓(xùn)練分類模型的電腦進(jìn)行分析。除了視訊外,還包括轉(zhuǎn)速、速度、散熱等其它汽車參數(shù)也會(huì)被分析。由于電腦已經(jīng)學(xué)會(huì)了偵測(cè)上坡,因此會(huì)自動(dòng)排除不斷增加的汽車轉(zhuǎn)速資料,這在傳統(tǒng)裝置中是不可能的。這種機(jī)制在避免錯(cuò)誤地駕駛評(píng)估中是很有用的。
卷積神經(jīng)網(wǎng)路模型和其它軟體整合,將可提供更大的靈活性。未來(lái)的工作可以透過(guò)最佳化模型的整體訓(xùn)練過(guò)程加以實(shí)現(xiàn)。最佳化底層資料庫(kù)函數(shù)和頻繁使用的函數(shù),可以大幅地改善整體訓(xùn)練過(guò)程。
文章來(lái)源:EET 電子工程專輯
關(guān)注行業(yè)動(dòng)態(tài),了解產(chǎn)業(yè)信息,以實(shí)現(xiàn)與時(shí)俱進(jìn),開拓創(chuàng)新,穩(wěn)步發(fā)展。
標(biāo)簽:   CNN 自動(dòng)駕駛 OBD-II