天天看點

萬字解析汽車毫米波雷達點雲技術

--關注回複“資料”,領取特斯拉專利技術解析報告--

雷達點雲的語義分割是雷達資料進行中的一項新的挑戰。我們示範了如何執行這項任務,并提供了關于人工标記的雷達反射的大型資料集。與之前将聚類反射産生的特征向量作為分類器的輸入不同的是,現在将整個雷達點雲作為輸入,并獲得每個反射的類機率。是以,我們不再需要聚類算法和手動選擇特征。

在過去幾年中,圖像分析從單純的将圖像中的中心對象的分類,以及對象或對象部分的檢測轉移到單個組合任務:語義分割。語義執行個體分割通過區分實體上不同的對象的相同類标簽的像素來增強語義分割,使得除了按像素分類之外,還會對對象執行個體進行分組。

語義分割通常是由深度卷積神經網絡完成的,這些網絡通常表現為編碼器-解碼器結構。這些架構都依賴于規則的圖像結構,也就是具有等距像素的矩形網格。如果使用全卷積網絡,網格的尺寸,即圖像的寬度和高度,可能是變動的。矩形網格引起像素之間的距離和鄰域關系,這些關系被卷積核所利用,其空間擴充大于一個像素。是以,如果将錄影機用作傳感器,這些方法可以正常發揮作用。雷達和雷射雷達傳感器是對攝像頭的補充,以保持功能安全。這些額外的傳感器不僅應該是互補,而且還是備援的。是以,最好也能從雷達和雷射雷達中獲得對周圍環境的高度語義了解。

在本文中,我們将對雷達資料進行語義分割,也就是說,我們為每一個測量到的反射點配置設定一個類别标簽。我們專注于動态對象,并針對研究六個不同的類别:汽車、卡車、行人、行人組、自行車和靜态對象。在應用恒虛警率(CFAR)算法之後獲得的雷達檢測結果構成了一個點雲, 其中點雲P被定義為一組N∈N個點pi∈Rd,i = 1,…,N,其中點雲中的點的順序無關緊要。對于每次反射,需要測量兩個空間坐标(徑向距離r和方位角φ),自我運動補償多普勒速度v r和雷達截面(RCS)σ。是以,必須在語義分割任務中處理4維點雲。雷達反射的空間密度會急劇變化,是以大規模網格映射的方法在計算上是不可行的。是以,不能應用用于相機圖像的通常網絡結構。可以從圖1中讀出,不需要類似圖像的輸入的算法,是非常有必要的,圖中顯示了在200毫秒的時間内從四個雷達上收集的雷達探測資料。在該圖中,可以看到沒有測量的大區域以及具有大量反射的區域。整個場景的網格地圖具有大約2000個單獨的反射,必須覆寫至少150米×200米的大空間區域,甚至在非常低的分辨率下,單元尺寸為1米×1米,網格中最多有6%的像素将具有非零值。

萬字解析汽車毫米波雷達點雲技術

圖1 雷達點雲積累超過200毫秒。突出了三種不同車型的反射。僅顯示完整視野的摘錄

是以,我們使用PointNet ++作為我們分割算法的基礎。PointNet ++能夠直接在點雲上工作,它最初設計用于處理來自雷射掃描器的3D空間資料。在本文中,我們修改了架構以處理兩個空間次元和另外兩個特征次元。

在之前的工作中,分類是在特征向量上進行的,而這些特征向量又是從聚類的雷達反射中獲得的。通過我們的新方法,我們避免了這兩個預處理步驟:将雷達目标分組到聚類,并且不再需要從這些聚類中生成預定義的特征向量。這些表明我們的新方法大大優于以前的方法。

本文的其餘部分結構如下:在第二部分,我們評論了相關工作和該議題的其他方法。之後,我們更詳細地描述了我們的網絡結構,并解釋了我們的訓練和測試程式。在第四部分,我們展示了我們的成果,并将其與以前的方法進行了比較。最後,對我們的未來工作進行了展望。

相關工作

當相機用作傳感器并且大多數算法都針對圖像資料進行定制時,語義分割是一種流行的方法。全卷積網絡的引入激發了許多類似的和後來更先進的神經網絡結構,如SegNet,U-Net,R-CNN,以及其後續的Fast R-CNN,Faster R-CNN,和Mask R-CNN。為了将這些技術應用于雷達資料,必須進行一些預處理。網格圖提供了一種将空間非均勻雷達反射轉換為圖像資料的方法。測量的反射随時間積分并插入地圖中的相應位置。用這種方法可以建立不同的地圖,例如占用網格地圖(描述網格占用的後驗機率),或者RCS地圖,(提供有關每個網格中反射的測量RCS值的資訊)。這種方法對靜态物體很有效,因為隻需要考慮自我運動(而不是額外的物體速度和軌迹),就可以在地圖中的正确位置插入不同時間的雷達反射。對于在此項工作中所考慮的動态物體,需要精确的擴充目标跟蹤算法,或者将物體的動态視為特征,以便動态物體在地圖中建立擴充的反射尾部。另一個困難是,對于稀疏資料,網格映射并不是有效的,因為需要潛在的大網格來顯示相對較少的測量。

據我們所知,以前沒有對移動物體的汽車雷達資料進行過語義分割。分類隻在小資料集或大量的模拟資料上進行。

方法

網絡結構

齊等人提供了PointNet和PointNet++方法來直接處理點雲,是以不需要先前的映射步驟。他們對通過從室内場景的3D掃描的網格中采樣點獲得的3D點雲執行語義分割。我們使用他們的架構作為我們方法的基礎。然而,我們在實驗中使用的雷達資料在以下方面與3D室内資料不同。首先,每個雷達反射點隻包含兩個而不是三個空間坐标,但加上自我運動補償的多普勒速度和RCS值的兩個附加值,整個點雲的每個點pi都是四維的。其次,我們的資料在密度和采樣率方面顯示出更大的差異。斯坦福大學的3D語義分析資料集的3D掃描提供了高密度的點雲,其中可以看到辦公室内部的細節,而我們的雷達資料僅為每個對象提供少量反射,是以對于較小或較遠的物體,甚至連物體的輪廓都無法正确捕獲,見圖1。

在PointNet ++ 中定義了多尺度分組子產品(MSG)和特征傳播子產品(FP)。MSG子產品考慮了圍繞中心點的多種規模的鄰域,并在描述這些鄰域的中心點的位置處建立組合特征向量。該子產品包含三個步驟:選擇、分組和特征生成。首先,通過最遠點采樣選擇輸入點雲的Nsample點以便均勻地采樣輸入點雲。在分組步驟中,為每個被選中的Nsample點建立鄰域。在我們的網絡中,鄰域由位于中心點周圍的半徑r内的Nneigh點組成。隻考慮雷達反射的兩個空間分量用于鄰域搜尋。如果一個反射點在給定的搜尋半徑内有Nneigh個以上的鄰域,則僅将找到的第一個 Nneigh 點用于進一步計算如果發現的反射點較少,則重複第一個鄰域以保證固定大小的資料結構。在每個MSG子產品中,建立多個具有不同r和Nneigh值的鄰域。在最後一步中,通過在具有形狀(Nsample, Nneigh, cin )的鄰域張量上應用具有濾波器大小1×1的卷積層,為每個Nsample 點生成特征,其中cin是通道的數量。這将産生一個大小為(Nsample, Nneigh, cout)的張量,在這個張量上應用一個最終的最大集合層,以便隻考慮具有針對相應濾波器的最高激活的鄰居的貢獻。

經過MSG子產品後,輸出點雲中的點數比輸入點雲中的小,是以,更深層中的點包含越來越多的抽象特征,這些特征提供了關于前幾層的領域點的資訊。這個過程類似于用于圖像處理的卷積網絡,圖像尺寸在每一層都被縮小。在圖2中,顯示了空間位置以及雷達反射的自我運動補償的多普勒速度,并描述了在每個MSG子產品之後輸入點雲的子采樣。在圖中未顯示為MSG 子產品中的每個點生成的高維特征向量。場景的錄影機圖像如圖3所示。

對于語義分割,子采樣點雲的資訊被傳播到全輸入點雲。

萬字解析汽車毫米波雷達點雲技術

圖2 摘錄一個示例雷達點雲。繪制空間坐标以及自我運動補償的多普勒速度。從左到右:輸入層處的點雲和第一,第二和第三MSG 子產品之後的子采樣點雲。資料累計超過500毫秒。該場景的錄影機圖像可以在圖3中找到。

萬字解析汽車毫米波雷達點雲技術

圖3 與圖2相同場景的錄影機圖像

這一任務由特征傳播子產品執行:k層MSG子產品之後是k層FP子產品,這些子產品将較少填充的點雲的特征反複傳播到下一個較高層。對于密集點雲中的每個點pi,計算出稀疏點雲中三個最近鄰居的特征向量的權重平均值,并在将該特征向量通過一組卷積層後,配置設定給該點pi。從 MSG 子產品的相應級别跳過連接配接改善了特征的傳播。

我們的網絡結構如圖4所示,其中還定義了MSG 子產品的參數值。

資料集

在本文中,我們僅使用由兩個不同的實驗車輛,即車輛A和車輛B,所收集的真實世界的資料。車輛A配備了四個77GHz的傳感器,分别安裝在車輛的兩個前角和側面。僅使用傳感器的近程模式,以便探測100米範圍内的目标。每個傳感器的視場角為±45°。

車輛B 配備了八個雷達傳感器,其規格與車輛A 的傳感器相同。這八個傳感器安裝在汽車的四個角上以及汽車的左前,右前,後左和右後側。

車輛A(B)的資料集包含了超過4.5小時(6.5分鐘)的駕駛測量,也就是說,收集了超過1億(500萬)的雷達反射,其中300萬(100 000)屬于6200(191)個不同的移動物體。所有屬于同一物體的反射都被手動分組,并使用以下類别中的标簽進行注釋:汽車、卡車、行人、行人組、自行車和靜态。表格 I 中顯示了六個類别的反射分布 與我們以前的工作不同的是,雜點沒有被作為一個額外的類别來研究,而是被視為靜态,因為在這項工作中,我們的目标是僅從原始點雲中檢測和分類真實的動态物體。我們以前的分類器不得不處理并非來自真實物體的聚類和特征向量,是以有必要對垃圾類和真實物體進行區分。這些錯誤建立的聚類和特征向量是由不完善的預處理步驟造成的,我們在此嘗試避免這些步驟。

表 I 六個類别的雷達反射分布

訓練和測試

在我們進行實際訓練之前,必須修複超參數。必須确定MSG子產品的數量、樣本點Nsample的數量、每個MSG子產品中的鄰域數量及其各自的半徑r,每個樣本點的鄰域點Nneigh數量,以及每個子產品中卷積層的數量和大小。通過檢查随機選擇的驗證集上的合理配置并更改這些配置以進一步優化網絡性能來完成。由于參數空間的巨大規模和相應的計算成本,對參數空間進行完整的采樣是不可行的。

圖4描述了最終選擇的、性能最好的架構。

圖4 我們網絡的結構。紅色箭頭表示跳過的連接配接,通過這些連接配接,從MSG子產品中提取的特征被傳遞到相應層的FP子產品中。三個MSG子產品的核心大小 為[[32, 32, 64], [64, 64, 128]], [[32, 32, 64], [64, 64, 128]]和[[64, 64, 128], [64, 64, 128]] 。

為了評估,我們進行了五重交叉驗證。也就是說,資料集被分成五個集合折疊,每個折疊占20%的資料,每折疊用于測試一次,其餘四個折疊作為訓練資料使用。

隻有車輛A的資料被用于訓練。來自車輛B的測量資料僅用于檢查我們分類器的泛化能力。該網絡使用随機梯度下降法和基于交叉熵的損失函數以及Adam優化方案進行訓練。我們使用了中公布的張量流源代碼的一部分。

由于靜态和動态資料之間的巨大不平衡(大約9700萬到300萬),靜态類的損失函數的權重被降低,這樣優化就不再把幾乎所有的點配置設定給靜态類。

訓練曆時30個周期,在此期間進行了資料增強:随機噪聲被應用于每個特征次元,進而改變了反射的空間位置以及測量的RCS 值和自我運動補償的多普勒速度。速度特征僅針對動态對象的反射進行了修改。此外,為每個動态對象生成一個随機數q∈[0,0.3],并且在該時期中以機率q 省略該對象的每個反射,進而改變動态對象的形狀和密度。

網絡本身對單個反射的記錄時間沒有概念,但在訓練過程中,我們為網絡提供了長度為T=500毫秒的時間視窗,使得點雲變得更加密集并且可以考慮每個對象更多的反射。在最早的測量時,不同時間段的反射被轉換成車輛坐标系。

點雲的輸入大小固定為3072次反射。如果在500毫秒長時間視窗内測量到超過3072次反射,則去除靜态類别的反射,如果測量的反射少于3072次,則對一個反射重新取樣到所需的次數。由于網絡結構中的最大彙集層,這種過采樣并不會改變語義分割的結果。

在測試過程中,接下來的3072次反射通過網絡傳遞,按測量時間排序,是以不需要過采樣或欠采樣。

訓練是在配備了Nvidia GeForce GTX 1070 GPU的Linux工作站上完成的。

結果

基于6×6混淆矩陣和宏觀平均F1分數(下文僅稱為F1分數)對我們的系統進行了評估。F1分數對應于精度和召回率的諧波平均值[24]。在宏觀平均中,在宏觀平均中,每個類别對總分的貢獻是相等的——與類别的計數無關——因為每個類别都計算一個單獨的F1分數,然後對這六個值進行平均。

最佳性能架構

我們首先展示了使用我們性能最好的架構獲得的結果。我們僅使用來自車輛A 的資料進行五重交叉驗證。除了兩個空間坐标x和y(在車輛坐标系中), 我們還用自我運動補償的多普勒速度和RCS值來豐富輸入點雲。是以,我們提供了一個四維的點雲作為輸入。

由此産生的混淆矩陣如圖5所示。

萬字解析汽車毫米波雷達點雲技術

圖5 用圖4中描述的網絡結構進行5重交叉驗證後的相對混淆矩陣。點雲的輸入特征:x, y, v r , σ。

不足為奇的是,帶有靜态标簽的多數類顯示出最高的真陽值。然而,我們應該知道,區分屬于移動或非移動物體的反射,遠比在多普勒速度上設定一個門檻值,并将速度低于該門檻值的每個反射歸類為靜态反射要難得多。在現實場景中,許多不屬于運動物體的反射顯示出非零的自我運動補償的多普勒速度,這是由裡程表誤差、傳感器偏差、時間同步誤差、鏡像效應或其他傳感器僞影引起的。此外,多普勒速度為零的反射不一定屬于靜态物體,因為旋轉的汽車車輪底部或行人的身體部位(沿行走方向垂直移動)也可能不顯示徑向速度。

汽車類的物體被分類為次優,再次是行人組。卡車類的對象經常與汽車混淆。有兩個原因可以解釋這種混淆:第一,在很遠的距離上,每個物體隻能測量到很少的反射,是以很難推斷物體的空間範圍。其次,汽車和卡車執行個體之間的轉換相當順利的,因為,例如,大型SUV與小型卡車很難區分。

從圖中可以推斷出的另一個顯著行為是行人和行人組之間的高度混淆。這種行為可能是由我們的訓練資料引起的,因為對于人類注釋員來說,有時可以将附近兩個行人的反射指定給個人,進而建立兩個行人的執行個體,但有時這不容易,而且時間要求也太高。使所有反射都标記為行人組的單個執行個體。是以,除了複雜的任務本身之外,網絡還必須與地面真實資料的不一緻性作鬥争。對于許多駕駛任務來說,了解某一區域是否有一個或兩個行人并不重要,這樣兩個等級就可以合并在一起,進而産生超過91%的真實陽性率。

由于資料集高度不平衡,隻檢查歸一化為類計數的相對混淆矩陣可能會産生誤導。是以,我們也在圖6中展示了具有絕對值的混淆矩陣。這種可視化強調了許多假陽性動态對象是由網絡建立的(圖中的最後一行)。這種效果對于汽車類來說是最明顯的:隻有68%的預測汽車反射屬于動态物體(參見圖6的第一列)。然而,對于汽車應用來說,動态物體的高假陽性率可能比高假陰性率更可取。降低靜态類的損失函數中的權重會導緻更高的假陽性值,是以這個參數允許我們在假陽性和假陰性之間進行調整。

萬字解析汽車毫米波雷達點雲技術

圖6 用圖4中描述的網絡結構進行5重交叉驗證後的絕對混淆矩陣。點 雲的輸入特征:x, y, v r , σ。

應該注意的是,動态反射和靜态反射之間的混淆百分比(圖5中混淆矩陣的最後一列)并不代表被忽略的對象的百分比。如果動态物體隻有一個反射被正确分類,但同一物體的其他反射被分類為靜态的,即使假陰性計數增加,該物體仍然被檢測到。

輸入特征的變化

為了更深入地了解哪些資訊對網絡有用,我們用三組不同的輸入特征 f1 = x, y, v r , f2 = x, y, σ , f3= x, y重複五重交叉驗證,并将結果與原始特征 f0 = x, y, v r, σ進行比較。在表II中,顯示了每個輸入配置的F1分數。從這個表中可以看出以下幾點。呈現給網絡的輸入特征越多,性能就越高。在輸入特征中加入每個反射的RCS值會使F1分數小幅增加(從0.7303到0.7425),而加入自我運動補償的多普勒速度則影響更大,使得分數幾乎增加了0.1。盡管多普勒速度作為一個特征,有一定的重要性,但有趣的是,對于輸入特征f2和f3,網絡的性能仍然遠遠高于随機猜測。這意味着反射的空間環境對網絡來說是非常有表現力的特征,并為分類步驟奠定了基礎,然後再利用速度和RCS值的附加特征進行分類。

表 II 不同輸入特征的分類分數

萬字解析汽車毫米波雷達點雲技術

測試車輛B的資料

到目前為止,隻應用了車輛A的資料進行訓練和測試,現在,我們使用一個僅用車輛A的資料進行訓練的網絡,來預測車輛B所測得的反射的類别。這種設定的差異在于兩個方面。一方面,車輛B配備了8個而不是4個雷達傳感器,是以提供了車輛周圍的360°視野,不同于車輛A的主要是正面和側面的設定。另一方面,車輛A的資料是在德國城市和鄉村道路上收集的,而車輛B隻在美國收集資料。不同的道路和街道設計以及平均較大的汽車對算法構成了挑戰。

在這些新資料上應用我們性能最好的網絡,其F1分數為0.46,明顯低于我們用五重交叉驗證得到的數值。如果測試車輛前部的四個傳感器與後部的四個傳感器獨立評估,則F1分數可增加到0.48。

由于車輛B的資料集與車輛A的資料集相比非常小,是以我們必須謹慎地解釋結果。然而,很明顯,改變傳感器的設定對分類器的性能有一定的影響。

與以往方法的比較

在前面的工作中,我們使用DBSCAN進行聚類,并使用LSTM網絡進行分類,以生成特征向量序列的類标簽。此前,我們對在地面真實叢集上生成的特征向量進行了性能測量。在本文中, 這種方法的評估是通過将特征向量的類标簽投影回叢集的原始反射來完成的。

我們在同一個資料集上訓練LSTM網絡和我們的新方法,并在相同的測試集上評估這兩種方法。為了進行公平的比較,LSTM不是在地面真實聚類的特征向量上進行測試的,而是在點雲上應用DBSCAN得到的聚類中産生的特征向量上進行。與我們目前的方法不同,如果特征向量來自不屬于真實對象的聚類,LSTM還學習将其分類為垃圾。如果LSTM拒絕這樣一個特征向量,我們就會在比較中把相關的點當作靜态的。

我們的新方法在這個標明的測試集上達到了0.734的F1分數,而DBSCAN+LSTM的方法隻得到了0.597分。新方法建立的假陽性動态對象更少,并且在所有類中具有更高的真陽性計數。最吸引人的特點是,被錯誤地認為是靜态的反射物少了三倍,是以可能有更少的物體被忽略了。源自動态物體的反射與來自靜态類的反射的混淆不僅源于LSTM的不良分類結果,而且主要是由于聚類不足,使得LSTM無法對某些反射進行分類。

可視化

在一個場景的前向傳遞過程中,可視化不同網絡層的輸出是很有用的。圖2顯示了一個示例場景在輸入級和三個MSG子產品之後的空間位置以及多普勒速度。

不同層的卷積核很難可視化,因為隻執行1×1的卷積,是以不存在濾波器本身的有意義的圖像。然而,我們可以通過網絡傳遞不同的場景,并在最後一個卷積層之前收集網絡輸出。在這個輸出中,我們從每個類中随機選擇1000個點,以及它們的128維特征向量,并通過t-SNE降維算法傳遞這個高維點雲,得到一個二維點雲。這在圖7中得到了展現,在圖7中可以觀察到可以看到汽車、卡車、自行車和靜态類别的四個不同的叢集。根據圖5中的混淆矩陣,來自行人或行人組的反射沒有被很好地分開。汽車和自行車類的反射豐富了點雲的中心,顯示了那些難以分類的點。最後,圖8顯示了與圖2相同的場景,但現在顯示的是預測類标簽,而不是多普勒速度。所有三個類别行人、卡車和汽車都被正确識别。然而,最右側行人後面的一些雜亂被錯誤地歸類為行人組,汽車後面的一些反射也被錯誤地标記到汽車類。盡管如此,場景的語義資訊還是得到了很好的表達。

萬字解析汽車毫米波雷達點雲技術

圖7 我們網絡中倒數第二卷積層的128維特征向量的二維嵌入。用非線 性t-SNE方法進行嵌入

萬字解析汽車毫米波雷達點雲技術
萬字解析汽車毫米波雷達點雲技術

圖8 對一個執行個體場景的每個反射的預測類别标簽。界限框是手動添加的, 用于關聯點雲和錄影機圖像

結論和展望

本文以到PointNet++為分類算法,給出了雷達資料語義分割的結果。我們展示出了我們的新方法優于我們以前的方法,後者包括兩個現已過時的預處理步驟,即聚類和特征生成。此外,我們還證明了利用RCS 值和自我運動補償多普勒速度可以提高分類結果,其中多普勒速度對分類結果的影響更大。

在今後的工作中,我們将把重點放在兩個不同的方面。一方面,将時間資訊整合到網絡中似乎是有益的。物體的時間演化是一種描述性特征,至少應該改善靜态和動态類執行個體之間的差別。實作這一目标的一個可能的方法是将一個遞歸的神經網絡結構內建到PointNet++。一個更簡單的方法是将測量時間戳作為一個額外的功能來呈現。另一方面,需要對語義執行個體分割進行擴充。目前,我們隻為每個反射提供類别标簽,而不了解該反射所屬的對象執行個體的概念。是以,我們不知道一個場景中存在多少不同的對象,而隻知道屬于一個對象類别的反射量。類感覺聚類算法是從反射中生成執行個體的一種可能性,但是結合執行個體學習和類關聯可能會産生更高的總體性能。

轉載自智能汽車開發者平台,文中觀點僅供分享交流,不代表本公衆号立場,如涉及版權等問題,請您告知,我們将及時處理。

-- END --

繼續閱讀