史俊莉
(河南工業職業技術學院,河南 南陽 473000)
當前無人駕駛技術已成為汽車導航領域的一個重要研究方向,因而車輛行駛過程中的目標識別與避障技術成為了研究熱點[1]。依據不同的工作原理主要可以分為兩大類,一類是基于圖像識別技術,另一類是基于激光雷達技術。
對于圖像識別技術而言,常采用RBG-D圖像識別技術,由此克服二維圖像沒有距離信息的問題[2]。因為路上的車輛、行人等均是一個整體,故其在二維圖像中的幾何范圍是一個動態變化的區域,同時該動態變化區域的RBG符合一定的變化范圍,基于此結合其深度信息就能為車輛避障提供有效信息[3]。它的優點是數據量小實時性好,缺點是對于行人、摩托車等相對小目標而言,其距離信息誤差大,故其應用于高速公路等場合時十分適用。Engelcke[4]提出了在RGB-D圖像上使用滑動提取的方式獲得目標邊界框的算法,實現了利用深度變化值鎖定目標的目的。Qi,C.R.[5]將F-PointNets算法應用于特征面形識別,從而大幅簡化了圖像之間的中繼過程,提高了識別效率。對于基于激光雷達技術而言,目標大小的影響可以忽略,都可以獲取精確的距離信息,優點是精度高穩定性好,缺點是從點云數據集中提取目標時匹配準確度容易受訓練樣本影響,且三維點云數據運算量大。Chen,X.[6]在其系列研究中對特征獲取、邊界提取等具有很好目標識別結果,唯一的缺點是運算量很大,實時性降低。González,A[7-8]采用將三維數據向二維平面投影的方式,大幅提升了處理速度,但是尺寸較小的行人等目標的空間信息丟失嚴重,影響了其適用性。
由此基于體素化的三維目標識別方法由于其保留空間特征的同時,大幅降低了數據運算量,故得到了廣泛關注。本文設計了一種基于極坐標系的體素表達方式,并采用改進的區域推薦網絡(RPN,Region Proposal Network[9-10])算法抑制了目標點云匹配中角度誤差,從而提高了系統目標識別精度。
在VoxelNet中,點云數據的體素化如果采用不同的坐標系,則會有不同個劃分方式,基于傳統的直角坐標系的結果如圖1(a)所示,而基于極坐標系的結果如圖1(b)所示。由于車載激光雷達本身就是以一個激光雷達光源為原點的,故其采用極坐標系的體素化方法更有利于數據分類與提取。
圖1(a)是采用直角坐標系的體素化結果,一般這種體素化方式適用于具有掃描結構的系統中,可以沿著直角坐標系中的一個軸進行數據獲取,并且與二維圖像進行映射,從而達到較好的對應效果。而對于車載激光雷達而言,由于激光掃描方式是以車輛為圓心的,故其形成一個同心圓效果,所以采用極坐標系實現體素化更符合特點,也是抑制目標提取時角度誤差的重要依據。


圖1 體素化在不同坐標系下的表達形式
假設極坐標系的三個自變量分別是r,α和z。則將直角坐標系中的任意點(x,y,z)變換至極坐標系時,有:
(1)
經過對原有點云數據進行體素化后,需要對點云點進行聚類。由于激光雷達在可探測角度范圍內是均勻掃描的,所以基于極坐標系的體素分割比直角坐標系的更均勻。對獲得的稀疏點云進行數據處理,設每個非空體素中的最大點數為T,并自動丟棄冗余點;如果點云小于T的,設置為零。假設每個體素的最大體素數為K、最大點數為T,則體素聚類的矩陣張量為4×K×T。
設非空體素的表達式為:
V={pi=[ri,αi,zi,qi]T∈R4}
(2)
式中,其中r,α和z為極坐標系的三個分量;q表示回波強度;下標i表示任意點;i∈[1,t],i∈R+。首先,估計每個體素中所有點的平均值為Vm=(vr,vα,vz),中心值為Vc=(cr,cα,cz)。然后,將平均距離和從每個點到體素中心的距離相加得到其特征。最后,生成形式10×K×T的張量為:
pi=[ri,αi,zi,qi,ri-vr,αi-vα,zi-vz,ri-cr,αi-cα,zi-cz]
(3)
體素特征提取一般通過體素特征編碼(Voxel Feature Encoding,VFE)實現,VFE層(如圖2所示)以聚類體素為輸入,并使用全連接層,批處理規范和ReLU激活函數提取特征。設VFE的輸出節點數為C=2×n,n∈Z+時,VFE層獲取對應于同一體素的10×T個點,并完全連接到C/2的輸出,可獲得尺寸為K×C/2的特征。然后使用最大池化獲得每個體素的局部聚集特征尺寸K×1,最后將其復制到點對點特征中,獲得最終的體素特征K×C。

圖2 VFE層結構示意圖
采用稀疏卷積提取空間特征,在逐漸增加體素特征參數的過程中,提高對測試區域中目標形狀的描述。空間特征提取層可以提取有關z軸的信息,并將稀疏的3D數據轉換為密集的2D偽圖像。空間特征提取層將從體素特征提取層獲得的特征作為輸入,并根據體素網格中每個體素的坐標將非空體素轉換為稀疏4D張量,然后提取空間特征。
由于卷積層中的卷積核具有固定的形式,其數據限定域仍為正方形,所以經過多次卷積后,由極坐標形式獲取的激光雷達數據的角度誤差會不斷被放大,導致測試精度降低。RPN算法通常用于確定特征圖的局部是否存在要檢測的目標,故本文對傳統RPN算法進行了改進,通過在體素中引入階躍參數s與填充參數f,對體素內點云數量變化與有效點云數進行評價。改進的RPN算法結構如圖3所示。
在改進的RPN模塊中,將卷積輸出的特征參數作為輸入對應的輸出檢測框,圖中的2D Conv表示帶有非線性激活函數的2D卷積,然后再將所有不同形式輸出數據進行反卷積,最終完成數據特征的構成,將三種數據特征整合后形成特征圖。最終系統采用特征圖完成置信度的計算與回歸圖的生成。

圖3 改進的RPN算法結構圖
為了驗證算法的可行性,激光雷達數據選用KITTI的開源數據。神經網絡訓練是通過映射模型參數的調整實現的。在深度學習網絡模型訓練過程中,數據量對網絡的收斂速度和泛化性能有很大影響。在訓練過程中,從數據集中隨機提取n個地面目標,并將其插入當前的訓練數據中。采用該策略大大增加了每個幀點云中實際目標的數量,降低了隨機干擾。考慮到噪聲對網絡性能的影響,使用了VoxelNet中的類似方法。對于每一幀都采用點云獨立變換的方式完成,而不是采用相同參數對所有點云同時變換。使用Adam優化器,初始學習率設置為0.0002,并且在訓練過程中使用學習率衰減策略,共訓練100代,用時10 h(硬件采用i5 CPU配合NVIDIA RTX 2080 Ti顯卡)。數據分析結果采用平均精度和平均方向相似度來分析不同算法的測試結果。
與用于點云數據目標框圖選擇常用的SECOND算法進行對比分析,對包含汽車、摩托、行人、樹木及建筑物的測試環境進行分析,測試環境可見光圖像、經本文算法獲取的點云數據與目標識別框圖如圖4所示。
如圖4(a)和(c)所示,在可見光圖像中車輛目標由于樹蔭的遮光效果,使其清晰度很差,但在點云數據中具有較清晰的回波點云特征,結合點云特征通過本算法完成了測試目標的框選。如圖4(b)和(d)所示,當測試環境復雜時,路面上除了汽車還存在摩托車、行人時,根據不同的目標點云特征,可以將不同類型目標進行區分。并且在目標點云識別圖像中右側出現的建筑物表面特征也十分清晰,而左側的自行車堆呈現為雜散點云集合,類似建筑但彌散性更強。由此可見,采用本算法可以很好地完成對不同目標的區分,并為無人駕駛提供更準確的安全導航定位信息。


圖4 不同測試環境下目標識別點云結果
對同一組的點云數據進行比較,將本系統識別結果的平均精度(Mean Average Precision,MAP)與平均方向相似度(Average Orientation Similarity,AOS)與SECOND算法結果進行比較,兩個參量的計算方程如下:
(4)
通過對測試區域中所有待測目標進行計算,可以得到每種目標的MAP和AOS,對相同數據而言,兩種不同算法的測試結果如表1所示。

表1 算法測試結果對比
由表1的測試結果對比可知,對于汽車、摩托車及行人目標而言,本算法的平均精度與平均方向相似度均優于常用的SECOND算法。其中,MAP分別高出3.09 %、3.82 %和3.68 %,AOS分別高出3.13 %、3.19 %和4.18 %。對于樹木的點云區分中兩種方法檢測精度接近。分析認為,由于汽車、摩托車及行人均是運動目標,并且在不同測試站位對激光雷達幾何面形是不同的,故SECOND算法中每個站位的幾何映射都需要在直角坐標系中首先轉化為相對激光雷達坐標系的點云,這個過程會造成角度誤差。而采用本算法時,是基于極坐標系完成的激光雷達點云體素化的,這樣即使是目標移動,測試面也是以激光雷達光源為原點的極坐標表達,所以其沒有點云數據角度變換的過程,避免了測試過程中的角度誤差。而樹木測試數據由于不能運動,故其在不同站位的點云集合具有連貫性,所以其點云數據匹配不需要坐標變換,僅需要點云數據映射即可,故兩種方法檢測的平均精度與平均方向相似度基本不發生改變。
為了進一步驗證改進算法的時效性,將本算法與SECOND算法同時對等量的點云數據進行處理,并且分別記錄算法的收斂時間,測試點云數據量從1000個持續增加至10000個,算法收斂時間如圖5所示。

圖5 兩種算法在不同點云數據量下的收斂時間
由圖5可知,點云數據在3000個以下時,兩種算法的處理速度基本一致,由于點云數據總量較小,所以在目標分類過程中是否采用更合理的點云分塊設計并不能體現更好的優越性。但是,當點云數據超過3000個后,除了目標特征信息外的雜散點數據也逐漸增多,這時如果沒有采用本文的極坐標體素化方式進行預處理,那么就會使后期目標識別過程中需要更多的相關計算與邊界條件迭代才能達到預期分類精度。由此可見,本算法的處理速度優于SECOND算法,尤其是在點云數據量較大的情況下。
本文針對車載激光雷達三維點云數據中動態目標的識別問題,提出了一種基于極坐標系表達的體素化分析識別算法。在重新構建了體素化表征方式的基礎上,通過設置階躍參數與填充參數實現了對RPN算法的改進。實驗對KITTI數據庫中包含汽車、摩托車、行人與樹木的點云樣本進行測試,結果顯示,本算法的平均精度與平均方向相似度均優于常用的SECOND算法,在點云目標的動態框選中具有更好的應用效果。