蘭瀟根 石朝俠
(南京理工大學(xué) 南京 210094)
學(xué)習(xí)一個從當(dāng)前環(huán)境到無人車控制的映射是當(dāng)前眾多無人車應(yīng)用的核心問題。該映射一般是利用車載傳感器來感知無人車周圍環(huán)境,并根據(jù)所獲得的環(huán)境信息,來控制無人車的角速度和線速度,從而完成無人車的行為規(guī)劃。
當(dāng)前無人車行為規(guī)劃系統(tǒng)大多是通過預(yù)編程的方法實現(xiàn),通過預(yù)編程已經(jīng)成功地實現(xiàn)了在特定環(huán)境下對無人車的控制[1~4]。但是由于環(huán)境的多樣性,通過預(yù)編程使無人車在不同環(huán)境下都能完成行為規(guī)劃變得非常復(fù)雜和困難,而且當(dāng)無人車遇到更加復(fù)雜或者陌生的環(huán)境時,其控制將變得不穩(wěn)定。
機器學(xué)習(xí)技術(shù)已經(jīng)被成功地應(yīng)用在當(dāng)今世界最先進的無人車上[5~6],基于視覺和強化學(xué)習(xí)的方法也取得了顯著的成就[7~12],部分是依賴基于人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)的模型,無人車可對環(huán)境進行無約束訪問以及對控制策略進行無限次的迭代,在這樣的條件下,基于控制的ANN 通過不斷地訓(xùn)練就可以使用更好的策略重復(fù)訪問并預(yù)測環(huán)境。
在當(dāng)前基于ANN 最成功的應(yīng)用中,大多是使用監(jiān)督學(xué)習(xí)的方式訓(xùn)練ANN,無監(jiān)督的方式由于其理論和實踐的欠缺,使得將ANN 作為生成模型的成果較少。變分自編碼[13](variational autoencoder,VAE)在高斯先驗分布的編碼空間和原始數(shù)據(jù)空間中,成功地學(xué)習(xí)了生成模型,并給出了使用ANN 訓(xùn)練該生成模型的方法,但是其解碼使用的是均方誤差代價函數(shù),生成的圖像看起來較模糊,與真實圖像相差較大。生成對抗網(wǎng)絡(luò)[14](generative adversarial networks,GAN)很好地解決了這個問題,該網(wǎng)絡(luò)通過同時訓(xùn)練生成網(wǎng)絡(luò)和鑒別網(wǎng)絡(luò),使得生成網(wǎng)絡(luò)生成的圖像看起來更加清晰自然。Larsen 等[15]將 VAE 和 GAN 結(jié)合起來,提出將圖像編碼后,更好解碼還原圖像的方法。Hotz等[16]利用VAE 和GAN,完成了對無人車所采集道路圖像的編碼、道路跟蹤、道路編碼圖像解碼的任務(wù)。
由于ANN 強大的表征能力和簡單的訓(xùn)練邏輯,近年來其在諸多領(lǐng)域取得了顯著的成功[16~18],因此在本文中,我們考慮使用ANN 對環(huán)境建模,并實現(xiàn)道路跟蹤和無人車控制,完成無人車的行為規(guī)劃。
因為圖像的高維度以及其在時空域的高相關(guān)性,在原始圖像上直接進行道路跟蹤以及無人車控制將帶來高額的時空復(fù)雜度和設(shè)計困難,并且在高維空間中,概率模型、濾波以及序列控制都變得不穩(wěn)定[19],因此有必要將圖像轉(zhuǎn)換為某一低維度的連續(xù)空間。我們利用VAE,并改進其損失函數(shù),將道路圖像空間編碼為連續(xù)分布的編碼空間,之后在編碼空間中,完成道路跟蹤、無人車控制、評估的任務(wù)。
自編碼模型(auto encoding model,AEM)將道路圖像空間轉(zhuǎn)換為正態(tài)分布空間,每一副圖像都對應(yīng)編碼空間中一個近似的標(biāo)準(zhǔn)正態(tài)分布,從對應(yīng)分布的最高概率密度處采樣作為該圖像的編碼。自編碼模型表示為
式中:It為 t 時刻的道路圖像,μt、σt分別為 It在編碼空間中對應(yīng)正態(tài)分布的均值向量與標(biāo)準(zhǔn)差向量,且 μt=(,…,)T,σt=(,…,)T,N為編碼空間維度,AEM()表示自編碼網(wǎng)絡(luò),其結(jié)構(gòu)如圖1所示。
圖1 自編碼模型結(jié)構(gòu)
在利用VAE 時,因為不使用解碼部分,自編碼模型的編碼效果須要重新評估。與VAE 損失函數(shù)不同的是,為了進一步加強編碼的稀疏性,盡量避免將差異較大的圖像編碼為相似的分布,在原有相對熵的基礎(chǔ)上,我們對均值向量進行了稀疏化約束,AEM的損失函數(shù)為
式中 β 為正則化參數(shù),且 β ?[0,1]。此損失函數(shù)表示編碼空間分布與標(biāo)準(zhǔn)正態(tài)分布間的相對熵和均值二范數(shù)平方的加權(quán)和。
評估模型(evaluation model,EM)是對道路跟蹤以及控制模型的訓(xùn)練效果,以及在實際應(yīng)用中系統(tǒng)輸出的跟蹤控制信號進行評估,使得系統(tǒng)能夠?qū)σ延龅降穆窙r進行準(zhǔn)確的跟蹤控制,并能避免對未知路況做出錯誤的決策。其評估值為[0,1]內(nèi)的實數(shù),越接近1 表示跟蹤與控制模型訓(xùn)練越好或者所做出的決策越可靠,反之應(yīng)對模型進行改進并加強訓(xùn)練或者做出即時的預(yù)警以防危險的發(fā)生。
由于編碼空間的維度相較于控制信號的維度過大,在訓(xùn)練中評估模型很難發(fā)現(xiàn)控制信號的變化,因此對編碼空間中的向量進行降維,并結(jié)合控制信號構(gòu)成評估模型。評估模型表示為
式中:zt為道路圖像 It在編碼空間的編碼,且zt=μt,表示zt從It對應(yīng)的正態(tài)分布的最高概率密度處采樣,Desampling()為降采樣網(wǎng)絡(luò),ωt、vt分別表示t 時刻無人車的角速度與線速度,EM()為將Desampling()的輸出與控制信號相融合的網(wǎng)絡(luò),均為卷積神經(jīng)網(wǎng)絡(luò),pt表示相應(yīng)的評估值。
在訓(xùn)練EM 時,使用道路圖像編碼或隨機編碼與正確控制或隨機控制交叉構(gòu)成4 類樣本作為訓(xùn)練集,包括1 類正樣本,即道路圖像編碼與正確控制構(gòu)成的樣本,和3 類負(fù)樣本,生成的評估值分別為
式中:ppost為對正樣本的評估值,、、分別為對相應(yīng)負(fù)樣本的評估值,random_code()為從N 維度標(biāo)準(zhǔn)正態(tài)分布采樣并經(jīng)過Desampling()降采樣產(chǎn)生隨機圖像編碼的隨機函數(shù),用來模擬無人車所未遇到的道路圖像,random_con tr ol()為從均勻分布采樣產(chǎn)生與(ωt,vt)同維度向量的隨機函數(shù),用來模擬無人車采取的錯誤控制。在隨機采樣的過程中,要避免與Desampling( zt)、(ωt,vt)相同或相近。
為了使得EM 對正樣本的評估值接近1,對負(fù)樣本的評估值接近0,使用交叉熵?fù)p失構(gòu)成EM 損失函數(shù)為
為了描述無人車在行駛過程中所采集到時序圖像間的關(guān)系,道路跟蹤模型(road tracking model,RTM)使用了擅長序列數(shù)據(jù)建模的循環(huán)神經(jīng)網(wǎng)絡(luò),道路跟蹤模型表示為
式中:z?t表示 t 時 刻 RTM 得 到 的道 路跟蹤 圖像 編碼,RTM()為道路跟蹤網(wǎng)絡(luò)。
為了增強EM 對RTM 的適用性,使得EM 能夠更好地評估和提升RTM 的性能,使用均方誤差與EM評估值結(jié)合的方式構(gòu)成RTM的損失函數(shù)為:
式中:pRTMt表示 t 時刻,EM 對 RTM 的評估值,λRTM為正則化參數(shù),且 λRTM?[0,1]。
控制模型(control model,CM)將當(dāng)前道路圖像的編碼作為輸入,并得到對無人車的控制信號,控制模型表示為
為了增強EM 對CM 的適用性,使得EM 能夠更好地評估和提升CM 的性能,使用均方誤差與EM評估值結(jié)合的方式構(gòu)成CM的損失函數(shù)為
式中:pCMt表示 t 時刻,EM 對 CM 的評估值,λCM為正則化參數(shù),且 λCM?[0,1]。
訓(xùn)練集由安裝在無人車前方的相機、角速度傳感器、線速度傳感器采集,并由熟練的駕駛員駕駛無人車得到,通過訓(xùn)練模型使無人車的駕駛行為能盡量接近該駕駛員。首先訓(xùn)練AEM,其次訓(xùn)練EM,之后結(jié)合EM的損失值分別訓(xùn)練RTM和CM。
相機采集的道路圖像為3通道,長320像素,寬160 像素,將原圖像降采樣為3 通道,長160 像素,寬80 像素,并將其像素值標(biāo)準(zhǔn)化到[-1,1]之間。AEM 將標(biāo)準(zhǔn)化后的圖像空間轉(zhuǎn)化到3072維的編碼空間,3072 維是經(jīng)實驗選擇的較為合適的維度,當(dāng)維度過小,會把不同的圖像映射為非常接近的分布現(xiàn)象,不利于跟蹤控制,而維度過大,會使計算量升高。訓(xùn)練中,β=0.4,當(dāng)損失值降為0.5 時,我們認(rèn)為AEM訓(xùn)練完成。
完成AEM 訓(xùn)練后,固定AEM 的參數(shù),訓(xùn)練EM。訓(xùn)練中,當(dāng)損失值降為0.001的時候我們認(rèn)為EM訓(xùn)練完成。
當(dāng) AEM 和 EM 訓(xùn)練完成后,固定 AEM 和 EM 的參 數(shù) ,對 RTM 和 CM 進 行 訓(xùn) 練 ,λRTM=0.6 ,λCM=0.3 ,當(dāng) RTM 損失值降為 0.1 時候,認(rèn)為 RTM訓(xùn)練完成,當(dāng)CM 損失值降為4 的時候,認(rèn)為CM 訓(xùn)練完成。
圖2 應(yīng)用流程
圖2 為系統(tǒng)應(yīng)用流程,由相機采集當(dāng)前的路況圖像,并對其降采樣和標(biāo)準(zhǔn)化得到It,經(jīng)過AEM 得到圖像的編碼zt,再經(jīng)RTM,得到道路跟蹤的編碼序列 (zt,z?t+1,…),由CM得到控制序列 (c?t,c?t+1,…),其中 c?t=(ω?t,v?t),再通過EM對跟蹤和控制序列做出評估,若EM 的值均在0.8 以上,則輸出相應(yīng)的控制序列 (c?t,c?t+1,…),否則禁止無人車做出相應(yīng)的行為。
使用 AirSim[20]作為仿真平臺,使用 tensorflow框架完成模型搭建。
實驗所用數(shù)據(jù)集在AirSim 環(huán)境采集。3 通道,長寬分別為320、160 像素的圖像由安裝在無人車前方的相機采集,角速度和線速度由相應(yīng)的傳感器采集,單位分別為rad/s、m/s,采集頻率均為10Hz。
在該實驗中,我們使用兩種AEM 損失函數(shù),一種損失函數(shù)只由編碼空間分布與標(biāo)準(zhǔn)正態(tài)分布的相對熵構(gòu)成,另外一種是本文提出的由相對熵與對均值稀疏約束項構(gòu)成,對比其編碼效果。隨機抽取500個batch,每個batch有1000樣本,并計算器均值一范數(shù)的平均值,實驗結(jié)果如圖3 所示。采用相對熵與均值稀疏約束相較只采用相對熵得到的均值的一范數(shù)更小,說明本文方法可以得到對道路圖像更加稀疏的編碼,這有利于數(shù)值計算,在此基礎(chǔ)上,道路跟蹤和控制實驗也得到了很好的效果。
將道路圖像和實際控制、道路圖像和隨機控制、隨機圖像和實際控制以及隨機圖像和隨機控制作為四類樣本,前兩類樣本的道路圖像相同,隨機值避免出現(xiàn)與道路圖像或?qū)嶋H控制相同或相近的值,對EM 進行測試。隨機抽取100 個batch,每個batch 有1000 樣本,并計算EM 對其評估值的均值,測試結(jié)果如圖4所示。
EM對道路圖像和實際控制的樣本的評估值接近1,對其它三類樣本,除極個別之外,評估值都接近0,但總體的評估值都小于0.5。實驗結(jié)果表明,EM 可以有效地判別RTM 和CM 做出的跟蹤控制效果,并有效防止系統(tǒng)做出錯誤的決策。
圖4 EM評估效果
在AirSim仿真環(huán)境中進行實驗,并預(yù)先設(shè)定全局路徑,由本文方法的方法進行局部行為規(guī)劃,并與人工駕駛以及Hotz[16]的方法對比,由于在Hotz論文中沒有控制模型,實驗中使用本文的控制模型補全系統(tǒng)。無人車所經(jīng)過的路徑如圖5 所示,從A 處出發(fā),經(jīng)過B、C、D彎道,到達(dá)E處,三種方法相應(yīng)的線速度、角速度如圖6、圖7 所示,角速度為負(fù)值表示左轉(zhuǎn),為正值表示右轉(zhuǎn)。
圖5 無人車路徑
圖6 無人車線速度
圖7 無人車角速度
三種方法在直路時,無人車的線速度較高,為2m/s~3m/s,且較穩(wěn)定,角速度接近零,且穩(wěn)定,在到達(dá)路口時,線速度逐漸減慢,并在彎道中保持在2m/s 左右,同時角速度升高,并較穩(wěn)定,在出彎道后,線速度逐漸加快,角速度降低接近零。本文算法與Hotz 的方法均可以較好地完成無人車的行為規(guī)劃任務(wù)。圖8 所示為三種方法在B 彎道的軌跡示意圖,人工與本文方法的轉(zhuǎn)彎軌跡較為平滑,而Hotz的方法轉(zhuǎn)彎較早較急,由于Hotz的方法使用了解碼模型,在耗時方面本文方法也要優(yōu)于Hotz 方法。另外,在直路時,角速度、線速度仍然存在小范圍調(diào)整,本文方法的軌跡平滑性和舒適性與人工方法仍有差距。
圖8 人工(左)、本文方法(中)、Hotz方法(右)B彎道軌跡
在只給定如圖5 中所示人工駕駛的樣本后,實驗結(jié)果顯示,用本文方法得到的無人車行為規(guī)劃系統(tǒng)具有了一定的局部避障能力和車道矯正能力,無人車行駛的軌跡如圖9 所示,相應(yīng)的線速度、角速度如圖10 所示,在局部避障中,當(dāng)面對前方障礙物,無人車線速度降低,而角速度變?yōu)樨?fù)值,向左轉(zhuǎn)彎,在避開障礙物后,角速度變?yōu)檎?,向右轉(zhuǎn)彎,繼續(xù)沿道路行駛,在道路矯正中,初始無人車已偏離道路,其角速度變?yōu)檎?,向右轉(zhuǎn)彎,逐漸矯正行駛方向。在樣本中并無這類行為,證明無人車不僅學(xué)習(xí)到了樣本中提供的行為,還在一定程度上學(xué)習(xí)到了局部避障和車道矯正的能力,具有一定的泛化性。
圖9 無人車局部避障行為(左圖)與道路矯正行為(右圖)
圖10 無人車局部行為的線速度、角速度
無人車的行為規(guī)劃是無人車應(yīng)用中的重要課題?;贏NN,我們建立了一套無人車行為規(guī)劃系統(tǒng),包括AEM、EM、RTM、CM 四個模型。實驗表明,所設(shè)計的系統(tǒng)能夠較好的對無人車進行行為規(guī)劃并且有效的預(yù)防錯誤控制的發(fā)生。
在國內(nèi)利用ANN 來完成無人車行為規(guī)劃任務(wù)的文獻較少,當(dāng)前行為規(guī)劃模型也不可否認(rèn)存在若干問題。由于道路圖像的分布非常復(fù)雜,圖像自身的數(shù)據(jù)量也較為龐大,這都給模型的設(shè)計和訓(xùn)練帶來了較大的阻礙,對于無人車的行為規(guī)劃也變得非常復(fù)雜和困難,要想使得系統(tǒng)能夠應(yīng)對更多種類的道路圖像,就需要更大規(guī)模、結(jié)構(gòu)更復(fù)雜的模型,以及對模型更長時間的訓(xùn)練,另外由于訓(xùn)練集的限制,模型在實現(xiàn)避障的基礎(chǔ)上,仍需針對特殊路況進行設(shè)計,因此在未來應(yīng)對該模型加入如GRU、LSTM、DeepRNN 等更具潛力的模型以及更加完備的數(shù)據(jù)集,對于該行為規(guī)劃模型的泛化能力,不僅涉及到模型結(jié)構(gòu)規(guī)模的選取,還涉及到模型訓(xùn)練技巧,以及訓(xùn)練集和測試集的選取,有必要進一步深入地分析和實驗,另外在線學(xué)習(xí)也應(yīng)是無人車行為規(guī)劃的一項重要能力,因此結(jié)合強化學(xué)習(xí)模型來使無人車具有在線學(xué)習(xí)能力也是很重要的方向。