王鵬 葉子豪 孫銳
摘 ? 要:在常規(guī)的車輛目標(biāo)檢測中,YOLO,SSD,RCNN等深度模型都獲得了較好的檢測效果,但是在無人駕駛系統(tǒng)中,車輛的速度、方向、相對(duì)距離等因素對(duì)于系統(tǒng)來說十分重要,所以采用二維車輛檢測對(duì)于駕駛場景的理解還遠(yuǎn)遠(yuǎn)不夠。激光點(diǎn)云數(shù)據(jù)蘊(yùn)含著豐富的三維環(huán)境信息,融合點(diǎn)云數(shù)據(jù)和深度網(wǎng)絡(luò)的三維車輛檢測已成為未來的發(fā)展方向。文章給出了一種基于點(diǎn)云網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的三維車輛檢測方法,首先,使用CRC和輸入尺寸有關(guān)的SDP技術(shù)來提高車輛檢測的準(zhǔn)確性;其次,采用點(diǎn)云網(wǎng)絡(luò)結(jié)構(gòu)(Pointnet)來處理點(diǎn)云數(shù)據(jù),實(shí)現(xiàn)三維目標(biāo)檢測,研究表明設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)在檢測精度上有著較大的優(yōu)勢。
關(guān)鍵詞:車輛檢測;點(diǎn)云網(wǎng)絡(luò);卷積神經(jīng)網(wǎng)絡(luò);拒絕分類器
1 ? ?車輛檢測的相關(guān)算法
近年來,由于深度學(xué)習(xí)技術(shù)的興起,機(jī)器視覺與人工智能有了快速的發(fā)展,特別是智能汽車領(lǐng)域,通過在車輛中安裝視覺傳感器使駕駛變得越來越安全以及智能化,而無人駕駛技術(shù)更是得到了工業(yè)界與學(xué)術(shù)界的高度關(guān)注。
車輛檢測是無人駕駛感知系統(tǒng)的關(guān)鍵環(huán)節(jié),大多數(shù)的交通事故發(fā)生在車車之間,傳統(tǒng)的二維車輛識(shí)別技術(shù)僅能提供方位信息,并不能滿足無人駕駛系統(tǒng)對(duì)車輛檢測的需求,車輛的空間位置、速度等因素對(duì)后期的控制決策起到極為重要的作用。因此,需要激光雷達(dá)等傳感器提供三維點(diǎn)云信息、融合處理三維點(diǎn)云信息以及二維圖像信息成為車輛檢測的關(guān)鍵技術(shù)。目前,深度學(xué)習(xí)已被證明是目標(biāo)檢測中最為有效的方法,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[1-2]更是在圖像處理領(lǐng)域中得到了廣泛的應(yīng)用,例如圖像的分類、檢測、分割等。但是CNN也存在一些明顯的問題,最為突出的就是要對(duì)海量數(shù)據(jù)進(jìn)行大量卷積運(yùn)算需要消耗較大的計(jì)算量,為了提高目標(biāo)檢測的速度,近些年部分學(xué)者又提出了Fast RCNN[3]和空間金字塔網(wǎng)絡(luò)(Spatial Pyramid Pooling Net)[4],在Fast RCNN中,僅在整幅圖像中進(jìn)行一次卷積操作,其比R-CNN[5]通過共享卷積層來說提高了運(yùn)算效率。Fast RCNN已經(jīng)實(shí)現(xiàn)了分別在訓(xùn)練和測試階段的加速。為了進(jìn)一步提升速度,其他的深度神經(jīng)網(wǎng)絡(luò)模型也被提出,SSD[6]采用了一個(gè)CNN網(wǎng)絡(luò)來檢測,不過其使用了多尺度特征圖,并設(shè)置了先驗(yàn)框。SSD借鑒了Fast R-CNN的錨點(diǎn)方法,對(duì)每一個(gè)候選單元設(shè)置不同大小的檢測框,取得了較好的檢測效果。YOLO[7]是另外一種快速單階段目標(biāo)檢測方法,與R-CNN類型的模型有著明顯的不同,不再是將目標(biāo)檢測視為分類問題,而是作為一種回歸問題,可以直接從圖像得到目標(biāo)邊界框以及類別的判斷。YOLO擁有非常快的速度優(yōu)勢,并且是直接在圖像中進(jìn)行訓(xùn)練,這使得其自然包含有目標(biāo)的上下文信息。YOLO模型相比于R-CNN模型有著較大的速度優(yōu)勢,但是精度上則不及大多主流的深度網(wǎng)絡(luò)模型。
三維車輛檢測可以提供更多的目標(biāo)信息,目前已有少量研究成果發(fā)表,把這些方法分為3類:(1)基于前景視角圖像的方法,通過單幅RGB圖像和形狀或遮擋樣式來推斷目標(biāo)三維邊界框[8]。利用深度數(shù)據(jù)集合CNN網(wǎng)絡(luò)來對(duì)二維目標(biāo)檢測的結(jié)果三維化[9]。(2)基于鳥瞰圖的方法,MV3D[10]將LIDAR點(diǎn)云投射到鳥瞰圖并采用RPN[11]網(wǎng)絡(luò)來預(yù)測目標(biāo)三維邊界框,但是該方法在檢測小物體時(shí)存在較大誤差,例如行人以及自行車都不是很準(zhǔn)確。(3)基于3D點(diǎn)云的方法,通過支持向量機(jī)(Support Vector Machine,SVM)從點(diǎn)云數(shù)據(jù)中提取幾何特征,最后使用滑動(dòng)窗口實(shí)現(xiàn)三維目標(biāo)檢測[12]。將整個(gè)場景的點(diǎn)云轉(zhuǎn)換為體積網(wǎng)格,并使用3D-CNN網(wǎng)絡(luò)進(jìn)行目標(biāo)特征提取和檢測。該方法使用到了3D卷積,其計(jì)算量十分龐大[13]。
本文采用了直接處理點(diǎn)云數(shù)據(jù)的PointNet網(wǎng)絡(luò)[14],該網(wǎng)絡(luò)結(jié)構(gòu)簡單,但是卻可以高效處理點(diǎn)云數(shù)據(jù)。同時(shí),本文設(shè)計(jì)了一種基于深度點(diǎn)云網(wǎng)絡(luò)的目標(biāo)檢測方法,先采用卷積神經(jīng)網(wǎng)絡(luò)快速、準(zhǔn)確地檢測車輛候選區(qū)域,再采用PointNet網(wǎng)絡(luò)實(shí)現(xiàn)三維實(shí)例分割,利用逐層級(jí)聯(lián)的拒絕分類器(Cascaded Rejection Classifiers,CRC)和與輸入大小有關(guān)的池化層(Scale Dependent Pooling,SDP)來提高目標(biāo)車輛的檢測結(jié)果。
2 ? ?激光雷達(dá)與點(diǎn)云數(shù)據(jù)
激光雷達(dá)屬于光電技術(shù),會(huì)向周圍物體發(fā)射激光束,再接受反射的光,通過反射的時(shí)間差得到物體的距離信息。激光雷達(dá)得到距離信息后再結(jié)合發(fā)射的角度,由空間幾何原理來推測到物體的位置與形狀。這個(gè)過程中,激光幾乎不受到環(huán)境因素的干擾,激光雷達(dá)的工作范圍可達(dá)100 m以上。激光雷達(dá)采用激光射線而非無線電雷達(dá)的電磁波,因此擁有更短的波長,對(duì)于獲取目標(biāo)的距離以及形狀都會(huì)有更大的優(yōu)勢,精度可以達(dá)到厘米級(jí)。激光雷達(dá)通常包括3部分:(1)激光發(fā)射器。(2)掃描與光學(xué)部件,可感知距離、時(shí)間以及角度信息。(3)感光部件,用來檢測反射光的光強(qiáng)。
現(xiàn)有的無人駕駛車輛中已廣泛安裝了激光雷達(dá),在車輛行駛的過程中,激光雷達(dá)會(huì)按照恒定的角速度進(jìn)行勻速轉(zhuǎn)動(dòng)并發(fā)射激光,會(huì)獲得360°全角度的環(huán)境信息,繼而可由距離、時(shí)間以及角度三者信息再加上激光雷達(dá)的位置信息,推導(dǎo)出反射點(diǎn)的三維坐標(biāo)。激光雷達(dá)旋轉(zhuǎn)360°獲得的反射點(diǎn)坐標(biāo)集合就叫點(diǎn)云,工作原理如圖1所示。激光雷達(dá)距離傳感器可以比普通攝像機(jī)更直接地得到三維信息,可以在識(shí)別分類的過程中提供三維形狀的信息。但是激光雷達(dá)所形成的三維點(diǎn)云一般都比較稀疏,空間的分辨率有限,所以缺乏目標(biāo)的外觀與紋理信息。本文結(jié)合二維視覺目標(biāo)檢測以及三維空間定位的各自優(yōu)勢,先利用RGB圖像檢測網(wǎng)絡(luò)對(duì)目標(biāo)進(jìn)行候選估計(jì),再利用點(diǎn)云網(wǎng)絡(luò)對(duì)候選區(qū)域處理,最終完成三維車輛檢測任務(wù)。
3 ? ?三維車輛檢測算法
在三維車輛檢測算法中分別利用2D神經(jīng)網(wǎng)絡(luò)在車輛檢測的精度優(yōu)勢、3D點(diǎn)云網(wǎng)絡(luò)在處理點(diǎn)云數(shù)據(jù)時(shí)的空間定位優(yōu)勢,綜合設(shè)計(jì)該網(wǎng)絡(luò)模型,如圖2所示。該模型分為3個(gè)部分:2D檢測區(qū)域建議、三維實(shí)例分割以及3D邊界框估計(jì),分別由圖2中的3個(gè)子網(wǎng)絡(luò)模塊完成。首先,由激光雷達(dá)和視覺傳感器分別接收點(diǎn)云數(shù)據(jù)與RGB圖像數(shù)據(jù);其次,利用含有級(jí)聯(lián)拒絕分類器及比列相關(guān)池化的CNN網(wǎng)絡(luò)對(duì)RGB圖片識(shí)別出車輛檢測區(qū)域;再次,由點(diǎn)云數(shù)據(jù)將2D檢測的區(qū)域轉(zhuǎn)換到3D點(diǎn)云中;最后,由PointNet預(yù)測出車輛的最終回歸框。
3.1 ?基于卷積神經(jīng)網(wǎng)絡(luò)的車輛識(shí)別
基于卷積神經(jīng)網(wǎng)絡(luò)的車輛識(shí)別方法第一階段設(shè)計(jì)了一種快速、準(zhǔn)確的深度卷積神經(jīng)網(wǎng)絡(luò)來檢測車輛,該網(wǎng)絡(luò)利用了網(wǎng)絡(luò)所有層中的卷積特征,通過拒絕分類器對(duì)候選對(duì)象進(jìn)行分類檢測;依賴于尺度的集合以及逐層級(jí)聯(lián)的拒絕分類器和與輸入尺寸有關(guān)的池化層來提高目標(biāo)車輛的檢測結(jié)果。級(jí)聯(lián)拒絕分類器有效地利用了卷積特征以及消除在候選對(duì)象中存在大量負(fù)樣本,大大加快了檢測速度,同時(shí)也保存了較高精度。該網(wǎng)絡(luò)結(jié)構(gòu)解決了Fast-RCNN中池化層的候選框不能精確識(shí)別小物體,以及多尺度圖像輸入中計(jì)算量的問題。常規(guī)的Fast-RCNN網(wǎng)絡(luò)需要進(jìn)行大量高維卷積和邊界框池化,消耗大量運(yùn)算時(shí)間和資源。該網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
由于SDP層也加入了4個(gè)全卷積層,所以為了進(jìn)一步減少計(jì)算量,在所設(shè)計(jì)的網(wǎng)絡(luò)中使用了級(jí)聯(lián)拒絕分類器來減少候選樣本的數(shù)量,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。該結(jié)構(gòu)首先通過卷積層后得到一組特征,再使用興趣區(qū)(Region of Interest,ROI)池化策略得到若干個(gè)候選特征,對(duì)于所有的候選特征設(shè)置分類標(biāo)簽為0與1,然后訓(xùn)練50個(gè)弱分類器,整體策略類似adaboost集成學(xué)習(xí),這種網(wǎng)絡(luò)結(jié)構(gòu)會(huì)使得檢測時(shí)速度提高3~4倍。
3.2 ?基于點(diǎn)云網(wǎng)絡(luò)的三維車輛檢測技術(shù)
針對(duì)傳統(tǒng)方法處理點(diǎn)云數(shù)據(jù)難以準(zhǔn)確分割的問題,本文采用PointNet網(wǎng)絡(luò)來處理點(diǎn)云數(shù)據(jù),結(jié)構(gòu)簡單,但是卻可以高效處理點(diǎn)云數(shù)據(jù),從而實(shí)現(xiàn)目標(biāo)分割及識(shí)別等任務(wù),該網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,通過最大池化來將點(diǎn)云信息中所有點(diǎn)的信息融合,其輸入是一個(gè)三個(gè)維度的點(diǎn)云數(shù)據(jù),輸出可以是檢測標(biāo)簽也可以是點(diǎn)云分割結(jié)果。
網(wǎng)絡(luò)結(jié)構(gòu)中,第一部分的T-Net網(wǎng)絡(luò)可以產(chǎn)生仿射變換矩陣,將輸入的點(diǎn)云信息進(jìn)行如旋轉(zhuǎn)及平移變換的規(guī)范化預(yù)處理,相當(dāng)于一個(gè)小型的PointNet網(wǎng)絡(luò),該網(wǎng)絡(luò)輸入為點(diǎn)云信息,輸出則是對(duì)應(yīng)的3×3矩陣。該網(wǎng)絡(luò)也可以應(yīng)用在特征空間的對(duì)齊,對(duì)應(yīng)輸出的矩陣大小為64×64。第二部分是將點(diǎn)云數(shù)據(jù)以及提取的點(diǎn)云特征做進(jìn)一步處理得到全局特征,該網(wǎng)絡(luò)輸入為n×3的點(diǎn)云結(jié)構(gòu),通過各點(diǎn)云數(shù)據(jù)在感知機(jī)中的學(xué)習(xí)以及特征提取,使用最大池化來將所有信息融合為全局特征,在激光雷達(dá)收集到點(diǎn)云數(shù)據(jù)后,就可以利用PointNet網(wǎng)絡(luò)進(jìn)行處理,根據(jù)上一節(jié)的分析,該網(wǎng)絡(luò)不僅可以實(shí)現(xiàn)分類的功能,還可以實(shí)現(xiàn)三維實(shí)例分割的效果。而算法主要是靠點(diǎn)云網(wǎng)絡(luò)來實(shí)現(xiàn)分割的功能,利用PointNet網(wǎng)絡(luò)實(shí)現(xiàn)的分割效果如圖6所示。
4 ? ?實(shí)驗(yàn)結(jié)果與分析
4.1 ?數(shù)據(jù)集
本文實(shí)驗(yàn)對(duì)象為KITTI的二維與三維車輛目標(biāo)的數(shù)據(jù)集,該數(shù)據(jù)集由卡爾斯魯厄理工學(xué)院以及豐田汽車共同發(fā)起創(chuàng)建,現(xiàn)為無人駕駛領(lǐng)域視覺感知模塊中應(yīng)用最廣的數(shù)據(jù)集,其中包含行人、車輛等各種交通目標(biāo)。同時(shí),本團(tuán)隊(duì)在訓(xùn)練中還采用了部分PASCAL VOC2007數(shù)據(jù)集。方法采用平均準(zhǔn)確率(Average Precision,AP)指標(biāo)來評(píng)價(jià)算法的車輛檢測精度。由于方法涉及二維圖像檢測網(wǎng)絡(luò)與三維點(diǎn)云網(wǎng)絡(luò)的結(jié)合,最終的檢測精度受到這兩種網(wǎng)絡(luò)精度的共同影響,故在實(shí)驗(yàn)中對(duì)兩個(gè)部分的實(shí)驗(yàn)結(jié)果分別做一次對(duì)比分析,同時(shí)再將整體的實(shí)驗(yàn)精度與其他算法做出對(duì)比。
4.2 ?實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)包含3個(gè)部分。本文通過二維檢測網(wǎng)絡(luò)提供的車輛檢測區(qū)域,故二維圖像檢測網(wǎng)絡(luò)的精度影響了最終的結(jié)果,首先,給出RGB圖像的實(shí)驗(yàn)結(jié)果;其次,由點(diǎn)云網(wǎng)絡(luò)預(yù)測三維車輛的最終回歸框,所以本文也對(duì)比分析做出了點(diǎn)云網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果以及最終整體方法的完整實(shí)驗(yàn)結(jié)果。
本文采用的二維目標(biāo)檢測網(wǎng)絡(luò)使用循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,CRC)與戰(zhàn)略數(shù)據(jù)規(guī)劃(Strategy Data Planning,SDP)來加強(qiáng)網(wǎng)絡(luò)的精度與減少計(jì)算量,使得方法在保證目標(biāo)檢測的高精度同時(shí)保障了無人駕駛中所要求的高實(shí)時(shí)性。在KITTI數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表1所示,其中E,M,H分別指簡單、中等、困難的識(shí)別場景。
SDP+CRC+fine是將CNN模型加入SDP與CRC之后微調(diào)的結(jié)果,在加了SDP之后候選區(qū)域少了70%~80%,大大減少了網(wǎng)絡(luò)的計(jì)算量。 該算法在VOC2007數(shù)據(jù)集中檢測結(jié)果如表2所示。
本文最后給出算法在KITTI三維點(diǎn)云數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果,可以看出該方法達(dá)到了較好的實(shí)驗(yàn)結(jié)果,如表3所示,其中,模型在二維目標(biāo)檢測基礎(chǔ)上使用了PointNet網(wǎng)絡(luò)。圖7為算法直觀的3D車輛檢測結(jié)果。
5 ? ?結(jié)語
三維車輛檢測在無人駕駛系統(tǒng)中有著廣闊的應(yīng)用前景,二維車輛檢測僅提供的簡單的目標(biāo)方位,三維車輛檢測提供了更多有用的如車輛位置信息以及速度信息。針對(duì)早期三維目標(biāo)檢測算法并不能直接利用激光點(diǎn)云數(shù)據(jù),且計(jì)算量十分龐大的缺陷,本文給出了一種融合二維與三維目標(biāo)的檢測模型,一方面是利用激光點(diǎn)云數(shù)據(jù),實(shí)現(xiàn)了三維目標(biāo)的有效分割與提取;另一方面又結(jié)合原有深度學(xué)習(xí)算法中二維目標(biāo)檢測中的高精度優(yōu)勢,整體上實(shí)現(xiàn)了一種高效的三維目標(biāo)車輛檢測方法,具有較高的應(yīng)用價(jià)值。
[參考文獻(xiàn)]
[1]KRIZHEVSKY A,SUTSKEVER I,HINTON E.Imagenet classification with deep convolutional neural networks[J].In Advances in Neural Information Processing Systems,2012(3):1097-1105.