張裊娜, 鮑旋旋, 李昊林
(長春工業(yè)大學(xué)電氣與電子工程學(xué)院,長春 130012)
調(diào)查得知,實(shí)現(xiàn)智能駕駛技術(shù)的關(guān)鍵問題之一是解決環(huán)境感知問題,傳感器融合信息并進(jìn)行障礙物的檢測是其重要的組成部分[1]。歷經(jīng)學(xué)者們多年來的研究探討,越來越多的障礙物檢測算法被提出。攝像機(jī)所采集圖像雖可以獲取目標(biāo)類別信息,但不能準(zhǔn)確計(jì)算目標(biāo)位置。而激光雷達(dá)雖能實(shí)現(xiàn)對目標(biāo)位置的判定,但雷達(dá)點(diǎn)云無法獲取障礙物圖像。因此想要獲得全面的環(huán)境信息僅靠一種傳感器是無法實(shí)現(xiàn)的,傳感器融合恰巧避免了獲取的信息相對不足的缺點(diǎn)。
障礙物識別算法在過去幾年里發(fā)展得較為迅速,特別是基于視覺的障礙物識別算法更是取得了實(shí)質(zhì)性的突破,但是傳感器融合技術(shù)卻一直是汽車行業(yè)在突破的難題。因此國內(nèi)外很多學(xué)者做了很多研究,Lee等使用圖像的投影原理來構(gòu)建場景的幾何模型獲得特定相機(jī)參數(shù)下的深度圖像的3D重建[2]?;趶目梢杂^察目標(biāo)的多個(gè)傳感器中提取的特征的聚類,Li等提出了一種特征級傳感器融合目標(biāo)檢測程序[3],但是對CPU要求太高。Morales等提出了一種新的方法,用于實(shí)時(shí)檢測、運(yùn)動估計(jì)和僅使用三維點(diǎn)云和測距信息作為輸入來跟蹤一般障礙物[4]。Premebida等通過對激光雷達(dá)數(shù)據(jù)進(jìn)行上采樣的方式將其與圖像數(shù)據(jù)組合以生成深度圖[5],利用方向梯度直方圖用于行人檢測,準(zhǔn)確性提高、耗時(shí)增加。曲兆偉等從雷達(dá)采集目標(biāo)數(shù)據(jù)中得到行人群信息,形成圖像的深度信息,然后從該信息中提取到HOG特征,使用支持向量機(jī)分類獲得行人目標(biāo)[6],其不能滿足實(shí)時(shí)性能。Ren等共享卷積特征將RPN和Fast R-CNN合并到一個(gè)網(wǎng)絡(luò),雖檢測準(zhǔn)確性提高,但將遺漏檢測[7]。Song等提出了一種基于視覺的相對定位方法[8],但存在信息冗余。張榮輝等根據(jù)路上行人目標(biāo)的寬度信息從激光雷達(dá)數(shù)據(jù)聚集行人目標(biāo),并基于圖像上的投影形成感興趣區(qū)域,增強(qiáng)算法用于行人識別[9],僅可識別行人。Kwon等提出了一種通過激光雷達(dá)傳感器融合的遮擋行人檢測的新方法[10],在檢測部分遮擋的行人時(shí)檢測性能更好,但是仍然存在分類效果不好的問題。
傳統(tǒng)車輛環(huán)境障礙識別的方法有較多種,其中主要包含仿生模式識別方法、模板匹配方法、統(tǒng)計(jì)模式識別方法,支持向量機(jī)識別方法和神經(jīng)網(wǎng)絡(luò)識別方法[11],但是用一種方法是不完備的。由此,提出利用圖像投影原理實(shí)現(xiàn)數(shù)據(jù)融合,來實(shí)現(xiàn)提取障礙物候選區(qū)域的功能。原卷積神經(jīng)網(wǎng)絡(luò)模型在大樣本數(shù)據(jù)下訓(xùn)練對于小樣本數(shù)據(jù)集泛化嚴(yán)重,因此結(jié)合SVM在小數(shù)據(jù)集仍有較好分類性的特點(diǎn),提出了一種基于CNN和SVM相結(jié)合的障礙物識別模型,通過在KITTI數(shù)據(jù)庫中訓(xùn)練部分?jǐn)?shù)據(jù)來提高目標(biāo)識別率。
在此使用KITTI數(shù)據(jù)集[12],其數(shù)據(jù)采集平臺配備了2個(gè)灰度相機(jī)、2個(gè)彩色相機(jī)、1個(gè)Velodyne 64線3D激光雷達(dá)[13]、4個(gè)光學(xué)鏡頭和GPS導(dǎo)航系統(tǒng)。其坐標(biāo)系是右手系統(tǒng),與車體的局部坐標(biāo)系相比,X軸表示的是車輛的前進(jìn)方向,Y軸表示的是水平方向,Z軸表示是向上的。圖1是KITTI數(shù)據(jù)庫的數(shù)據(jù)采集平臺,以實(shí)現(xiàn)相機(jī)和64線3D激光雷達(dá)數(shù)據(jù)的融合,減少信息的冗余和節(jié)約成本,保證信息的全面性。首先實(shí)現(xiàn)傳感器的空間同步和時(shí)間同步[14,15],當(dāng)車輛收集數(shù)據(jù)時(shí),聯(lián)合校準(zhǔn)傳感器已經(jīng)完成,并且以下數(shù)據(jù)全部在相同的時(shí)間戳下執(zhí)行,不做多余的描述(圖1和KITTI數(shù)據(jù)均來自KITTI官方網(wǎng)站)。
圖1 數(shù)據(jù)采集平臺Fig.1 Data collection platform
為了實(shí)現(xiàn)快速工程化,從3D點(diǎn)云到圖像平面的投影轉(zhuǎn)換,配準(zhǔn)關(guān)系為
x=P0TrX
(1)
式(1)中:P0是3×4投影矩陣;Tr是3×4的變換矩陣,其表示雷達(dá)點(diǎn)云到圖像坐標(biāo)系的平移變換。為確保矩陣運(yùn)算的數(shù)據(jù)對齊,需要將矩陣Tr添加到歐幾里德變換矩陣中。
圖2 融合后的圖像Fig.2 The merged image
進(jìn)行投影之后得到的融合圖像如圖2所示,即雷達(dá)原始數(shù)據(jù)圖,這里選取一部分,可以看出每幀圖像中的微弱變化。圖2中,點(diǎn)陣的顏色表示景深,暖色調(diào)表示近距,冷色調(diào)表示遠(yuǎn)距,不僅兼顧了三維雷達(dá)點(diǎn)云的空間分布信息和圖像的色彩信息,而且提供了圖像分割、目標(biāo)識別問題求解的感興趣區(qū)域,簡化了問題研究難度。此融合對CPU要求低,便于實(shí)施,節(jié)約成本。
可以看出,通過雷達(dá)探測這一方式所探測到的原始目標(biāo)信號包含了所能檢測到的全部障礙物目標(biāo),其中包括路燈、路邊護(hù)欄、路邊樹木及噪聲等信息,所以必須要先對雷達(dá)探測返回的目標(biāo)信號進(jìn)行簡單的預(yù)處理步序,去除掉目標(biāo)噪聲等對信息采集不利的因素。依據(jù)透視成像的原理,當(dāng)攝像頭與目標(biāo)之間的距離離得越遠(yuǎn),在圖像中相對應(yīng)的目標(biāo)體積越小,而所呈現(xiàn)出來的特征也會相對越不清楚;而且車輛行駛過程中只需通過對主車道和旁側(cè)車道內(nèi)的目標(biāo)識別即可滿足安全要求。因此,依據(jù)文獻(xiàn)[16]中所提供的安全車距模型,可以將目標(biāo)車輛前方縱向70 m遠(yuǎn),橫向10 m寬的矩形區(qū)域定義為識別區(qū)域,并采取方法去除掉此范圍以外的信號。對于識別區(qū)域內(nèi)采集到的目標(biāo)可以再通過對其移動速度與相對位置的關(guān)系進(jìn)行分析比較的方法,以實(shí)現(xiàn)去除圖像中所顯示的隔離帶和護(hù)欄等靜止目標(biāo),最后只保留行人目標(biāo)和潛在車輛信息的功能,最終生成所需要的障礙物候選區(qū)域,處理后得到的圖像如圖3所示。
圖3 處理后的圖像Fig.3 Processed image
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)常用于計(jì)算機(jī)視覺問題,如圖像分類[17]。CNN與“普通”多層感知器(MLP)網(wǎng)絡(luò)的區(qū)別在于其使用卷積層、匯集和非線性。卷積層(由CONV表示)由濾波器組成。直觀地說,CONV層用于“滑動”輸入圖像的寬度和高度,并計(jì)算輸入?yún)^(qū)域和重量學(xué)習(xí)參數(shù)的點(diǎn)積。這反過來將產(chǎn)生二維激活圖,其由給定區(qū)域處的濾波器的響應(yīng)組成。因此,匯集層(由POOL表示)根據(jù)CONV濾波器的結(jié)果減小輸入圖像的大小。結(jié)果,模型中的參數(shù)數(shù)量也減少,稱為下采樣。最后,激活函數(shù)用于在計(jì)算中引入非線性,若沒有,模型將只學(xué)習(xí)線性映射。目前常用的激活功能是ReLU功能,它大大加速了隨機(jī)梯度下降的收斂。此外,與tanh和sigmoid所需的大量計(jì)算相比,ReLU通過簡單地將矩陣值閾值化為零來實(shí)現(xiàn):
f[hθ(x)]=hθ(x)+=max[0,hθ(x)]
(2)
式(2)中:hθ(x)為變量。
支持向量機(jī)(support vector machines,SVM)實(shí)現(xiàn)了結(jié)構(gòu)風(fēng)險(xiǎn)最小化的原則,這已被證明優(yōu)于傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化[18]。其目標(biāo)是找到最佳超平面f(w,x)=wx+b以在給定數(shù)據(jù)集中分離兩個(gè)類,使其具有特征x∈Rm。SVM通過式(3)求解優(yōu)化問題來學(xué)習(xí)參數(shù)w:
(3)
(4)
CNN首先通過應(yīng)用一個(gè)或多個(gè)完全連接的層,在執(zhí)行實(shí)際分類或回歸任務(wù)之前,將多個(gè)連續(xù)內(nèi)核(其元素在訓(xùn)練期間學(xué)習(xí))卷入輸入數(shù)據(jù)。這導(dǎo)致需要調(diào)整和存儲的參數(shù)的大量減少,從而極大地改善了網(wǎng)絡(luò)的運(yùn)行時(shí)間和泛化性能。相比之下,SVM可以更快地計(jì)算,即使在嵌入式硬件上也可以實(shí)時(shí)對高清視頻進(jìn)行物體檢測。然而,SVM表現(xiàn)出一個(gè)主要缺點(diǎn),即它們依賴于強(qiáng)特征提取器,其為SVM提供解決特定分類或回歸問題所需的相關(guān)信息。因此,許多研究都集中在為過去的各種計(jì)算機(jī)視覺任務(wù)設(shè)計(jì)最合適的特征提取器。為了克服兩種機(jī)器學(xué)習(xí)技術(shù)的缺點(diǎn),可以將它們結(jié)合起來?;舅枷胧侵赜妙A(yù)先訓(xùn)練的CNN的第一部分來提取用作SVM分類器的輸入的獨(dú)特特征。整體結(jié)構(gòu)圖見圖4。
圖4 CNN+SVM整體結(jié)構(gòu)圖Fig.4 CNN+SVM overall structure diagram
首先,需要選擇合理的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來提取圖像特征,然后利用SVM進(jìn)行多分類。鑒于LeNet應(yīng)用在圖像方面效果差,而近幾年發(fā)展的GoogleNet雖增加了卷積神經(jīng)網(wǎng)絡(luò)的寬度,但存在模型退化嚴(yán)重的問題;ResNet解決了退化問題,允許神經(jīng)網(wǎng)絡(luò)更深。但在模型表征方面并不存在直接的優(yōu)勢,不能更好表征某一方面的特征。由于不需要很深的深度和寬度,而且是針對小容量數(shù)據(jù)集提出新的方法,所以選擇經(jīng)典AlexNet結(jié)構(gòu)。然后輸入圖像大小為 227×227×3,其中 3 表示輸入圖像的深度數(shù)(R,G,B)為 3,經(jīng)過幾次卷積池化以后,輸出大小為 6×6×256 的矩陣,即一個(gè)9 216 維的向量。防止過度擬合利用隨機(jī)丟失層執(zhí)行參數(shù)隨機(jī)丟失步驟;然后,SVM算法進(jìn)行分類,得到最終的輸出結(jié)果。
首先針對訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)通常需要大量的樣本和數(shù)據(jù)的問題,采用遷移學(xué)習(xí)策略對AlexNet網(wǎng)絡(luò)的特征提取部分進(jìn)行微調(diào),得到該模型的特征提取器。遷移學(xué)習(xí)能夠較好地實(shí)現(xiàn)把已學(xué)訓(xùn)練好的模型參數(shù)遷移到新的模型,從而來幫助新模型訓(xùn)練的功能,AlexNet網(wǎng)絡(luò)的特征提取器適用于模型。
其次,當(dāng)進(jìn)行微調(diào)時(shí),設(shè)置較大的學(xué)習(xí)速度加快更新速度避免相同的低階特征降低學(xué)習(xí)速率以使更新速率更慢的問題。
同時(shí)為了能充分利用數(shù)據(jù)信息,對移除以后的網(wǎng)絡(luò)進(jìn)行前向傳播,計(jì)算實(shí)際誤差,再進(jìn)行反向傳播,經(jīng)過一輪后,按照隨機(jī)梯度下降的方式更新當(dāng)前網(wǎng)絡(luò),不斷重復(fù)直到效果收斂。
首先,KITTI數(shù)據(jù)集分為兩部分:訓(xùn)練集和測試集。 每組有1 000張圖像用于現(xiàn)實(shí)生活中的障礙訓(xùn)練和測試。同時(shí),為了驗(yàn)證模型的分類效果和實(shí)時(shí)性能,將硬件在環(huán)仿真平臺與無人街景軟件SCANeR相結(jié)合,對構(gòu)建的虛擬場景進(jìn)行障礙識別。 硬件在環(huán)仿真實(shí)驗(yàn)平臺IPC如圖5所示,三屏交通視圖場景仿真的主要試驗(yàn)臺如圖6所示。
圖5 硬件在環(huán)仿真實(shí)驗(yàn)平臺IPCFig.5 Hardware-in-the-loop simulation experimental platform IPC
圖6 三屏交通視圖場景試驗(yàn)臺Fig.6 Three-screen traffic view scene test bench
特征提取器主要提取并融合輸入圖像,最終獲得圖像高階特征,并將提取的信息特征發(fā)送給支持向量機(jī)分類器進(jìn)行識別,最終輸出結(jié)果。 如圖7、圖8所示分別是KITTI和模擬環(huán)境中障礙物的數(shù)據(jù)識別結(jié)果。
為了驗(yàn)證此方法在小數(shù)據(jù)集上的性能優(yōu)于原卷積神經(jīng)網(wǎng)絡(luò)的這一結(jié)論,將對其進(jìn)行比較試驗(yàn),結(jié)果如圖9、圖10、表1所示,可以明顯觀察到,CNN+SVM分類器分類準(zhǔn)確性高,CNN+SVM分類損失值略大,原因是SVM專注于類屬性確定,不影響分類結(jié)果。不過其損耗值在區(qū)間[80,150]中趨于穩(wěn)定。所提出的模型穩(wěn)定精度較原CNN模型高,當(dāng)?shù)螖?shù)為60時(shí)基本穩(wěn)定。
圖8 模擬環(huán)境識別結(jié)果Fig.8 Simulation environment recognition result
圖9 訓(xùn)練損失值的比較Fig.9 Comparison of training loss values
圖10 測試精度比較Fig.10 Comparison of test accuracy
表1 CNN+SVM和CNN結(jié)果的統(tǒng)計(jì)Table 1 Statistics of CNN+SVM and CNN results
利用KITTI數(shù)據(jù)集來組合Velodyne 64線3D激光雷達(dá)和攝像機(jī)2數(shù)據(jù),以提取障礙物候選區(qū)域。提出了一種基于CNN和SVM的識別模型。通過理論分析和實(shí)驗(yàn)比較,得出以下結(jié)論。
(1)利用KITTI中同步攝像頭和激光雷達(dá)數(shù)據(jù),進(jìn)行聯(lián)合標(biāo)定,使得雷達(dá)點(diǎn)云數(shù)據(jù)投影到RGB圖像上,實(shí)現(xiàn)數(shù)據(jù)融合,可以觀測到三維雷達(dá)點(diǎn)云的空間分布信息和圖像的色彩信息,得到簡單的障礙物距離等信息,根據(jù)雷達(dá)點(diǎn)云的分布情況可生成障礙物候選區(qū)域。
(2)在小樣本數(shù)據(jù)集條件下,CNN+SVM分類器有更好的分類結(jié)果,有較強(qiáng)的魯棒性。此模型在實(shí)際測試中有較好的表現(xiàn)且具有可靠的識別能力和良好分類結(jié)果。