国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于注意力機制的實時車輛點云檢測算法

2021-04-07 12:22賴坤城劉子豪王璽喬
激光與紅外 2021年3期
關(guān)鍵詞:激光雷達注意力損失

賴坤城,趙 津,劉 暢,劉子豪,王璽喬

(1.貴州大學機械工程學院,貴州 貴陽 550025;2.貴州大學現(xiàn)代制造技術(shù)教育部重點實驗室,貴州 貴陽 550025)

1 引 言

車輛目標檢測作為自動駕駛、智能交通研究領(lǐng)域的核心技術(shù),一直受到相關(guān)研究人員重點關(guān)注。傳統(tǒng)車輛檢測算法主要利用視覺傳感器,但是容易受到光照條件和天氣情況的影響,同時也因為視野有限,存在檢測盲區(qū),缺乏獲取全局信息手段等不足[1]。近年來,激光雷達傳感器的不斷完善,相對于傳統(tǒng)視覺攝像頭,激光點云能更加清晰、快速地感知周邊環(huán)境,并且受光照、天氣情況的影響較小,因此激光雷達在無人駕駛扮演著越來越重要的角色[2-3]。

傳統(tǒng)的三維激光雷達障礙檢測方法有:DBSCAN 聚類算法[4],k-means 聚類算法[5],歐式聚類算法[6]等。雖然傳統(tǒng)方法檢測速度快,但是檢測精度不高并且無法獲取準確的分類信息。因此越來越多的研究者采用深度學習的方法來解決三維點云目標檢測的問題。2017年,Qi C[7]等人提出的 PointNet 是直接應(yīng)用在點云數(shù)據(jù)上的深度學習網(wǎng)絡(luò),該網(wǎng)絡(luò)通過多層感知機提取點云全局特征進而實現(xiàn)分類、語義分割和目標識別等任務(wù),而在同年Qi C[8]等人在PointNet的基礎(chǔ)上提出了優(yōu)化版本PointNet++,在網(wǎng)絡(luò)結(jié)構(gòu)中增加了層級的點云區(qū)域特征提取子網(wǎng)絡(luò),提高了分類的精確率。隨后Zhou Y[9]等人提出了一種端對端的三維點云檢測框架VoxelNet,利用體素特征編碼層提取被體素化后的點云特征,再利用三維卷積層和RPN網(wǎng)絡(luò)進行目標分類和回歸。Yan Y[10]等人在文獻[9]的網(wǎng)絡(luò)基礎(chǔ)上添加稀疏卷積層的方法,提高了網(wǎng)絡(luò)的整體檢測速度以及檢測效果。但上述點云分類更適合在較小的場景下使用,而在大場景下的點云分類效果并不是理想,并且內(nèi)存資源消耗較大。而Beltran J[11]等人提出的 BirdNet 網(wǎng)絡(luò)和 Wirges S[12]等人提出 TopNet網(wǎng)絡(luò)均提出直接將三維點云投影到地面,再對點云目標進行檢測與識別。Yang B[13]等人提出的PIXOR 網(wǎng)絡(luò)首先利用體素化后的點云構(gòu)建鳥瞰圖,再采用大分辨率特征圖來進行精確的目標分類和回歸。雖然這幾種算法適合在大的場景下使用,但是檢測速度與精度仍然較差。因此為了解決現(xiàn)有激光雷達點云目標檢測效果、實時性差問題,本文在YOLOV3[14]目標檢測框架的基礎(chǔ)上提出一種基于注意力機制的車輛點云檢測算法,首先通過傳統(tǒng)三維點云數(shù)據(jù)處理方式,對獲取的激光點云進行預處理并生成識別所需的鳥瞰圖,再利用注意力機制[15]與YOLOV3相結(jié)合的方式構(gòu)成點云鳥瞰圖檢測器,同時為了進一步提高網(wǎng)絡(luò)的檢測精度,利用Complete Intersection over Union(CIoU)loss[16]和Focal loss[17]改進檢測器的損失函數(shù)。實驗結(jié)果顯示本文所提出的檢測算法對點云目標車輛具有較高的檢測精,并且滿足實時檢測的需求。

2 基于注意力機制的實時車輛點云檢測算法

基于注意力機制的車輛點云檢測算法,是在YOLOv3基礎(chǔ)上改進而成的。YOLOv3 算法是基于YOLO、YOLOv2算法的改進算法,其在檢測速度和精度上均有很大的提高。但其損失函數(shù)的設(shè)計仍然存在不足,并且網(wǎng)絡(luò)的特征表達能力還可進一步提高。因此本文在YOLOv3主干網(wǎng)絡(luò)的每個殘差模塊中的相鄰兩個卷積層之間加入了通道注意力和空間注意力模塊從而構(gòu)成新的殘差模塊,再利用 CIoU loss 和 Focal loss 來設(shè)計目標檢測器的損失函數(shù),以進一步提高模型的特征表達能力和檢測精度。檢測網(wǎng)絡(luò)框架如圖1所示。

圖1 基于注意力機制的車輛點云檢測算法框架

2.1 激光點云數(shù)據(jù)獲取與處理

本實驗采用 Velodyne VLP-16 線激光雷達,該型號雷達在垂直方向上有16線的激光束,且視角范圍為-15°~+15°,垂直角分辨率為2°;水平方向上視角為0°~360°,水平角分辨率0.1°~0.4°;激光雷達在采集三維數(shù)據(jù)時有效測量范圍在100 m左右,每一步的旋轉(zhuǎn)可在空間上采集16個點的三維數(shù)據(jù),每秒最多可搜集 30 萬點云數(shù)據(jù)。

在獲取激光雷達點云后,需要對其進行處理,主要是由于:激光雷達獲取點云數(shù)據(jù)時往往會受到環(huán)境變化的影響而產(chǎn)生大量點云噪聲。大量的噪聲不僅會加大計算量而導致點云處理速度緩慢,并且會影響目標網(wǎng)絡(luò)識別精度。因此為了減少計算量,本文采用 VoxelGrid 算法對三維點云數(shù)據(jù)進行下采樣,即減少點云的數(shù)量。該算法的優(yōu)點主要是在保證原有點云的形狀特征下,去除一些離散點云,并且也能為后續(xù)的目標檢測提供高質(zhì)量的點云圖像。根據(jù)經(jīng)過多次測試對比,本文選取表現(xiàn)較好的 0.2 m 的立方體進行下采樣。點云下采樣前后結(jié)果如圖2所示。

圖2 VoxelGrid算法結(jié)果對比圖

2.2 地面與非地面分割

車輛的環(huán)境感知通常只對路面上的障礙物感興趣,因此還需要對下采樣后點云數(shù)據(jù)進行地面和非地面分割,去除對于目標識別無價值的地面點。本文采用的是Ray Ground Filter算法,即射線坡度閾值的面分割算法。該算法的核心是以射線(Ray)的形式來組織點云。同一射線掃描到路面與障礙物時前后點云的高度存在一定的差異,將某一點與射線上前后兩點之間的高度差和該點的高度值作為判斷依據(jù),通過判斷前后兩點的坡度是否大于我們事先設(shè)定的坡度閾值,從而確定該點是否為地面點。具體實現(xiàn)步驟如下:

①以射線的形式來組織點云,16 線激光雷達點云水平角分辨率為 0.2°,水平角度為360°,可分為1800份。然后計算每條射線上的點到激光雷達旋轉(zhuǎn)中心的直線距離,并且對同一夾角的射線上的點云按照半徑的大小進行排序。計算公式如公式(1)所示:

(1)

②判斷當前點云與前后點云高度差是否在坡度閾值內(nèi),若大于閾值,則進行分割去除地面。反之則保留點云。地面與非地面分割結(jié)果如圖3所示。最后將處理過后的點云轉(zhuǎn)換成鳥瞰圖,同時為滿足識別網(wǎng)絡(luò)的訓練需求將鳥瞰圖大小像素設(shè)置為512×160,主要包含激光雷達中心點正前方40 m×12 m。

圖3 地面與非地面分割示意圖

2.3 YOLOv3算法原理

YOLOv3采用了Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)作為主干網(wǎng)絡(luò),該網(wǎng)絡(luò)結(jié)構(gòu)包含有53個卷積層,每個卷積層包含卷積運算、批歸一化處理和 Leaky ReLU 激活函數(shù),并且它借鑒了殘差結(jié)構(gòu)Residual Network的做法,在一些層之間設(shè)置了捷徑鏈路(shortcut connections)。由于融合了低維特征的細節(jié)信息和高維特征的語義信息,Darknet-53 網(wǎng)絡(luò)在保持精度不變的情況下,提高了檢測的速度,網(wǎng)絡(luò)結(jié)構(gòu)如圖4(a)所示。

圖4 Darknet-53算法框架示意圖

2.4 引入注意力機制

在目標檢測網(wǎng)絡(luò)中能提取到目標關(guān)鍵信息對目標分類尤為重要,因此為了讓檢測網(wǎng)絡(luò)更加關(guān)注鳥瞰圖中的車輛目標點云,受到注意力機制的啟發(fā),將通道注意力模塊和空間注意力模塊加入到特征提取網(wǎng)絡(luò)中。注意力模塊對卷積神經(jīng)網(wǎng)絡(luò)所獲得的特征圖的每一層或每一通道乘以不同的權(quán)重,而權(quán)重的大小則是用來表示該層或該通道中的特征對于關(guān)鍵信息的關(guān)聯(lián)程度和重要程度。因此權(quán)重越大,則表示特征信息對于關(guān)鍵信息越重要,關(guān)聯(lián)程度越高;權(quán)重越小,則表示特征信息對于關(guān)鍵信息越不重要,關(guān)聯(lián)程度越低。

在通道注意力模塊中,保證平面維度上權(quán)重一致,在通道維度上學習不同的權(quán)重。圖5(a)為通道注意力模塊結(jié)構(gòu)示意圖。首先對特征圖采用全局平均池化和全局最大池化的方式以聚焦特征信息,再利用多層感知器MLP得到兩個 的通道注意力矩陣,最后將兩個通道注意力矩陣進行對應(yīng)元素相加和激活,得到最終的通道注意力矩陣 。再經(jīng)過特征加權(quán)操作為特征圖F增加通道注意力,得到重新篩選的特征圖繼續(xù)向下傳播。而與通道注意力模塊不同的是,空間注意力模塊更關(guān)注哪些位置有關(guān)鍵特征,在通道維度上保證權(quán)重相同,而在平面維度上學習到不同的權(quán)重,這是對通道注意力的補充。首先對特征圖F在通道軸上應(yīng)用平均池和最大池運算,將得到兩個空間注意力矩陣并進行維度拼接,最后利用size為7×7的卷積層對維度拼接后矩陣生成新的空間注意力矩陣。同樣再經(jīng)過特征加權(quán)操作為特征圖 增加空間注意力得到新的特征圖繼續(xù)向下傳播。本文將兩種注意力模塊加入前面一節(jié)提到的Darknet-53網(wǎng)絡(luò)中,改進后結(jié)構(gòu)如圖5(b)所示。

圖5 注意力機制模塊

2.5 損失函數(shù)Loss改進

YOLOv3的損失函數(shù)主要分為三個部分:①邊界框坐標預測損失;②邊界框置信度損失;③分類預測損失。在計算邊界框坐標預測損失時采用的是Intersection over Union(IoU)損失函數(shù),該函數(shù)是目標檢測任務(wù)中最常用的指標(即交并比),主要用于反映模型生成的預測選框和真實選框之間的重疊程度如圖6所示,計算表達式如式(2)所示;A為真實框,B黑色為預測框,中間兩框重疊面積則為即A∩B,最外的虛線框為包裹兩框的最小面積即A∩B。但是在實際計算過程中會出現(xiàn)一些問題,例如:兩個框沒有相交,那么IoU=0,如圖6(a)所示,這時會使得梯度函數(shù)為0,而導致卷積神經(jīng)網(wǎng)絡(luò)無法進行學習。另外還有可能會出現(xiàn)IoU值相等,但是卻無法精確地反映矩形框大小、形狀的問題,如圖6(b)、(c)所示。

圖6 邊界框重疊示意圖

(2)

于是為解決上訴的問題,本文將采用CIoU損失函數(shù)以替代原有的計算方式。不僅考慮了預測框與真實框之間的重疊和距離問題,還考慮了兩矩形框之間的相似度問題。計算公式如式(3)所示:

(3)

式中,b,bgt分別代表了預測框和真實框的中心點;ρ代表的是計算兩個中心點間的歐式距離;c代表能夠同時包含預測框和真實框的最小閉包區(qū)域的對角線距離;α是權(quán)重函數(shù),計算表達式如式(4)所示;ν用來度量長寬比的相似性,計算表達式如式(5)所示:

(4)

(5)

為了增強網(wǎng)絡(luò)對困難樣本的判別能力,本文采用 Focal loss對邊界框的置信度損失進行計算。

Lobj=-a1×(y-y*)γ×ylogy*-a2×(y-y*)γ×(1-y)log(1-y*)

(6)

式中,y,y*分別代表預測值和真實值;α2和α2取1;γ取0.5。

對于分類損失,采用二進制交叉熵,如式(4)所示。

Lcls=C×logC*-(1-C)log(1-C*)

式中,C,C*分別代表預測值和真實值。

則總的Loss可以表示為:

(7)

式中,i代表尺度;LCIoU邊界框坐標預測損失;Lobj邊界框的置信度損失;Lcls分類預測損。

3 實驗結(jié)果與分析

本文將車載激光雷達收集到的激光點云作為數(shù)據(jù)集,并通過PCL(Point Cloud Library)點云庫將點云數(shù)據(jù)bag文件轉(zhuǎn)換成訓練目標檢測網(wǎng)絡(luò)所需的鳥瞰圖。然后使用labelImg圖像標注工具進行人工標注以及生成訓練網(wǎng)絡(luò)模型所需的 xml 文件,其中訓練類別包含3類:汽車、卡車和公交車,對應(yīng)標簽為Car、Truck和Bus。本次訓練模型共生成5000張圖片,其中訓練集包含圖像 4500張,測試集500張。

實驗條件:ubuntu16.04,64位操作系統(tǒng),學習網(wǎng)絡(luò)框架PyTorch,代碼運行環(huán)境為Python3.6.2,在搭載CUDA10.1 Tesla P100 16G GPU的實驗配置下完成。在網(wǎng)絡(luò)訓練時使用YOLOv3的預訓練權(quán)重pt文件,將其中的權(quán)重值分配到對應(yīng)類別層中。采用預訓練模型可避免重新訓練花費大量時間,同時也能夠得到更加穩(wěn)定的檢測效果。另外為加快訓練速度并防止過擬合,在訓練期間將參數(shù)沖量常數(shù)設(shè)置為0.9,權(quán)值衰減系數(shù)設(shè)置為 0.0005,批量大小設(shè)置為 16,學習率設(shè)置為0.001,迭代輪次設(shè)置為300。

4 訓練結(jié)果

YOLOv3 和 優(yōu)化后的YOLOv3 在經(jīng)過 300個 epoch 的訓練后,訓練的 loss 曲線如圖7所示,隨著訓練次數(shù)的增加,Loss函數(shù)的損失值迅速下降,在訓練20次左右后損失值下降逐漸變緩,最終兩條曲線在訓練250次時候損失值趨于穩(wěn)定。改進后的損失函數(shù)收斂速度明顯快于改進前,并且損失值比改進前降低了4,最終損失值維持在3 左右。

為了對算法進行定量評價,截取了數(shù)據(jù)中的 500幀以測試算法的可靠性。本文采用準確率(Precision,P)、召回率(Recall,R)、平均準確度(Average Precision,AP)以及檢測速度(Detection Rate,DR)四個指標對網(wǎng)絡(luò)進行性能評估,準確率和檢出率定義如下:

(7)

(8)

圖7 YOLOv3改進前后Loss對比曲線

式中,TP表示模型正確檢測的目標數(shù)量;FP表示模型誤檢的目標數(shù)量;FN 表示模型漏檢的目標數(shù)量。通過結(jié)合注意力機制的算法,并對 YOLO V3 損失函數(shù)進行改進,在以512×160分辨率輸入下,改進網(wǎng)絡(luò)對三類目標車輛點云的檢測平均精度達到了92.5 %,召回率達到了98.1 %,并且測試單張點云鳥瞰圖檢測所需平均時間為 33 ms,即每秒檢測圖片的速度為 30 f/s。對比優(yōu)化前的算法在檢測時間相同的條件下,平均檢測精度提高了10 %,召回率提高了2.3 %,測試結(jié)果如表1所示。

表1 三類車輛點云檢測結(jié)果

5 實車實驗驗證

為測試本文算法的準確性和有效性,采用某品牌電控車作為實驗平臺,在貴陽某城區(qū)進行數(shù)據(jù)采集和試驗,如圖 8所示。該實驗平臺主要配備有激光雷達Velodyne、單目相機、GPS定位模塊等傳感器。實驗車速控制在 25 km/h 左右,雷達掃描頻率設(shè)置為 10 Hz,所實驗道路環(huán)境簡單且路面平整、無較大起伏。 同時以16 G內(nèi)存、8G GPU的計算機作為實驗平臺,并在 ROS 下進行編程。此時基于注意力機制的車輛點云檢測算法每一幀的運行耗時在50 mm左右,圖9為車輛點云檢測可視化檢測結(jié)果,其中圖9(a)為激光雷達所獲取的點云圖,圖9(b)為處理后的點云鳥瞰圖,圖9(c)為檢測結(jié)果圖。

圖8 實驗平臺車

從圖8中可以看到將三維點云處理并且投影到二維平面后,點云數(shù)據(jù)在Z軸方向上的信息完全丟失,只能從圖中看出車輛的大致輪廓,增加了識別的難度,但采用深度卷積神經(jīng)網(wǎng)絡(luò)的方式,仍然能夠?qū)ΧS的點云目標進行準確地識別和分類。另外為了測試該算法的魯棒性能,我們還檢測了幾種目標車輛的行駛情況:(1)目標車輛位于實驗平臺車輛前方,且行駛方向相反;(2)目標車輛位于實驗平臺車輛后方,且行駛方向相同;(3)目標車輛位于實驗平臺車輛后方,且行駛方向相反;檢測目標包含轎車、卡車以及公交車三類車輛目標,三種行駛情況檢測效果分別如圖10(a)、10(b)、10(c)所示。

圖9 車輛點云檢測結(jié)果

從圖10不難發(fā)現(xiàn)卡車與轎車的點云在鳥瞰圖中非常相似,但是通過在網(wǎng)絡(luò)中添加注意力機制和改進網(wǎng)絡(luò)損失函數(shù)的方式,保證了該檢測網(wǎng)絡(luò)具有良好的魯棒性,最終實現(xiàn)了在不同行駛狀態(tài)下對目標車輛的檢測仍然具有較高檢測精度。

6 結(jié) 論

本文提出了一種基于注意力機制的車輛點云檢測算法,首先采用傳統(tǒng)三維點云數(shù)據(jù)處理方式,獲取激光點云鳥瞰圖并輸入優(yōu)化后的YOLO V3網(wǎng)絡(luò)中。再利用注意力機制對各個尺度的特征進行權(quán)值的重新分配,使網(wǎng)絡(luò)能夠自動學習特征層與通道之間的相關(guān)性和重要性,同時為了進一步提高網(wǎng)絡(luò)預測框的回歸精度,利用CIOU loss和Focal loss對檢測算法的損失函數(shù)了進行了優(yōu)化設(shè)計。實驗結(jié)果表明改進后的點云目標檢測網(wǎng)絡(luò)對三類目標車輛點云的檢測平均精度達到了92.5 %,召回率達到了98.1 %,相比優(yōu)化前的算法平均檢測精度提高了10 %,召回率提高了2.3 %。并在實車實驗測試中,該點云檢測算法在不同的測試場景下檢測性能表現(xiàn)良好,具有較好的實時性和魯棒性。

圖10 道路車輛檢測示意圖

猜你喜歡
激光雷達注意力損失
手持激光雷達應(yīng)用解決方案
讓注意力“飛”回來
法雷奧第二代SCALA?激光雷達
胖胖損失了多少元
基于激光雷達通信的地面特征識別技術(shù)
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于激光雷達的多旋翼無人機室內(nèi)定位與避障研究
“揚眼”APP:讓注意力“變現(xiàn)”
A Beautiful Way Of Looking At Things
一般自由碰撞的最大動能損失