自動駕駛有可能大大減少交通事故、道路擁堵以及相關的經濟損失。安全的自動駕駛需要檢測周圍的障礙物、移動物體并識別可駕駛區域。對于城市駕駛的所有附近物體以及高速公路駕駛的遠處物體都必須執行此操作。當前的自動駕駛汽車通常會結合使用雷達、激光雷達、攝像頭、高精度 GPS 和先前的地圖信息來確定汽車周圍的障礙物和路面上的安全行駛區域。
自由空間檢測Freespace為自動駕駛車輛提供了對環境的信息感知。對于Freespace來說,最好的傳感器檢測方式是Velodyne 多光束激光傳感器。這種高性能傳感器能夠對物體以及可行駛表面進行檢測和分類。但是鑒于成本關系,要在自動駕駛領域大量普及顯得不太可能。基于視覺的系統可以通過提供遠距離物體和路面檢測和分類來補充其他傳感器。但是,視覺傳感器在雨、霧和雪中的性能會顯著下降,限制了其在晴朗天氣下的適用性。
當然,這幾十年來,基于圖像處理的研究一直在擴展到解決道路分割問題。早期的方法,包括 FCN和 SegNet,提出了編碼器-解碼器架構,其中編碼器可以生成多個尺度的特征圖,解碼器可以提供高預測精度的像素級分類。RBNet研究道路結構與其邊界布置之間的上下文關系。RBA使用由反向注意力和邊界注意力單元組成的殘差細化模塊。除了基于低級特征的算法之外,鑒于深度卷積神經網絡最近在計算機視覺任務中取得的成功,DNN 成為解決自動駕駛中感知挑戰的良好候選者。
此外,業內也還進行了許多其他的嘗試,比如利用深度CNN 解決分割問題的研究,CNN 應用于自動駕駛感知任務的工作已經產生了專門的網絡,可以檢測攝像頭畫面中的其他車輛和車道,并且已經通過將自由空間問題視為語義分割的任務進行研究。然而,可能的道路障礙物和道路結構的多樣性使得針對每種可能的障礙物和道路場景訓練特定網絡變得不切實際。特別是,獲得涵蓋所有可能場景的訓練數據將非常困難。相反,采用更通用的檢測器來確定可以安全行駛的自由路面Freespace將比檢測道路目標語義顯得更加實用。
本文將重點介紹兩類不同類型的可行使區域檢測方案。
基于占據網格的Freespace檢測
典型的可行使區域檢測方法是通過占據網格圖Occupancy Grid Map 的方式進行,占據網格圖OGM是將區域分割為格子狀,并通過分配給各各自單元的隨機變量判別假設的方法。OGM是多個傳感器輸出的綜合判定,由于與路徑規劃的搜索算法具有高度親和性,在業內被用來作為可行使區域的有效代表。
如下圖,首先通過各傳感器對場景對象進行檢測,期間,需要對各個傳感器檢測結果的置信度進行估計,隨后需要對如上得出的可行使區域檢測估計結果進行最大似然估計,從而更新占據網格信息。在這個更新過程中,通常需要使用先前累積的先驗地圖進行分析。
在占據網格圖OGM生成網格圖過程中,需要根據給定的數據計算映射的事后概率如下:
m表示地圖,即到特定時刻為止傳感器的全部觀測量,*表示該特定時刻為止時,本車移動具體軌跡。例如,在100x100單元的地圖中,由于各單元具有確定性占有/可能性占有兩種狀態。對于這樣非常高維度的空間處理,若推定如上公式的后驗概率,則需要大量的計算量。估計地圖m的時候概率問題,替換為推定各小區后驗概率的問題,此時,各小區后驗概率如下:
這種表示方式中,m表示具有索引單元格的網格圖,映射m是各個單元mi的集合。
此時,用上式可以映射出后驗概率如下:
通過對如上后驗概率的推斷,可以得出相應的可行駛區域位置。
對于如上定義的傳感器可靠性組合方法進行敘述。考慮傳感器可靠性在不同場景應用下的概率可以用如下方程進行計算。
通過對各傳感器進行綜合推斷,可以更新OGM的后驗概率。
一般來說,在整合各傳感器輸出時,在對每個傳感器生成OGM時,使用了將OGM彼此融合的方法。但是,在該方法中,由于需要生成與使用傳感器數目相當的OGM。因此如果傳感器數目增加,則存儲器負荷和計算量也將增加。因此,較好的方法是不為每個傳感器生成OGM,而是在傳感器數據處理期間就進行融合運算生成對應共同的OGM。采用由各個傳感器輸出逐次更新的方法,由此能夠更加高效的更新OGM。如下圖表示了更新不同傳感器的時間戳OGM。
基于 GoogLeNet 的網絡
和 OverFeat 架構檢測自由路面
另一種可行駛區域的檢測方法是通過訓練一個基于 GoogLeNet 和 OverFeat 架構的網絡來檢測高速快速公路環境中的自由路面。經過訓練的網絡在自由空間檢測任務上表現非常出色。這將有可能基于計算機視覺的傳感器用作自動駕駛汽車可行使區域檢測,包括對一般障礙物的檢測和安全駕駛區域的檢測。
在本文中,網絡的任務是在給定單個 640 x 480 分辨率相機幀的情況下檢測自由路面。圖像的每個 4 x 4 像素非重疊塊被分類為自由路面或非自由路面。如果某個斑塊包含車輛可以安全行駛的道路部分,則該斑塊應被歸類為自由路面。某些特定情況下,補丁如果不包含障礙物,例如另一輛車,或車輛無法行駛的表面,例如人行道/路肩,那對應的道路空間將不被定為可行使區域。
該數據集由 30 多個小時的 1 兆像素分辨率視頻組成,由在灣區高速公路上行駛的車輛上的前置攝像頭錄制,相應的數據用車道和汽車標簽進行提前標注。
**圖 1. **數據集中車道標簽示例。80 米內的所有車道標記均已標記,該場景下無論遮擋情況
車道標注(見圖1)指示高速公路上距離車輛80米以內的所有車道的位置,包括被其他車輛遮擋的車道,車道標簽是根據相機和激光雷達點云數據生成的。首先自動提取泳道,然后由人工標注人員進行檢查和糾正。
**圖 2. **數據集中的汽車標簽示例。100 米內所有完全可見和部分遮擋的車輛都標有邊界框
汽車標注(見圖 2)由車輛約 100 米內所有可見和部分遮擋車輛的邊界框組成(最終組合標簽見圖 3)。汽車標簽由人工標注團隊通過 Amazon Mechanical Turk 生成。
**圖 3. **顯示自由路面標簽的汽車和車道標簽組合示例。綠色陰影區域顯示標記為自由空間的圖像區域。
在此數據集中,自由駕駛空間定義為兩個車道標簽之間不包含車輛的區域。網絡預計會產生一個像素掩模,該像素掩模指示與上面定義的相同區域作為自由空間。定性結果將顯示試駕的道路圖像,并標明可行駛的路面。同時將定量地根據正確分類的圖像塊的F1分數來評估結果。我們直觀地預計網絡性能會隨著車輛前方距離的增加而降低。理想情況下,該網絡將能夠識別各種道路結構和各種障礙物類型中的自由路面。最終數據集包含 13,000 個訓練圖像,1,300 張驗證圖像和 1,300 張測試圖像。
該網絡使用修改后的 GoogLeNet風格網絡來生成圖像特征。修改后的網絡遵循 GoogLeNet 架構,僅到平均池化層為止。平均池化對于圖像網絡 ImageNet 分類任務效果很好,但自由空間檢測任務需要本地信息,而平均池化將激活量減少為單個激活向量時可能會丟失這些信息。
圖像中自由空間的定位是通過修改后的 OverFeat架構完成的,輸入圖像特征如上面生成的。該自由空間的定位是通過對圖像特征激活后執行大小維度為 1 x 1 卷積來完成的,然后使用類似的全連接層和 softmax 分類得到注意力權重,從而生成0-1之間的概率分布關系值。Softmax計算后,實際上之前較高的得分會被增強,而較低的得分則會被抑制或淹沒。也就是說,較高的Softmax會保留模型中認為更加重要的圖層,降低的得分則會淹沒不相關的圖層,將輸出向量輸出到線性層進行處理,以此來更快更精準的確定環境的類別。應該注意的是,圖像特征激活對應體積下的空間維度相對于原始圖像尺寸要小一些。因此,在圖像特征激活體積的空間維度上執行分類相對于原始圖像中的受檢測分類所提供的可行駛區域定位會差很多。
為了解決這個問題,在全連接層中使用額外的深度通道來表示圖像中的特定位置。例如,最終的softmax激活量空間維度為 20 x 15,其中每個位置代表原始圖像中的 32 x 32 像素塊。然而,每個空間位置的深度為 128,因為原始圖像中每個 32 x 32 像素塊內都有 8 x 8 個 4 x 4 像素的塊,并且有 2 個類:自由空間和非自由空間。這使得自由空間補丁的定位能夠達到更精細的分辨率,同時仍然能夠從原始圖像的較大補丁中獲取上下文信息。
這里介紹的訓練網絡在檢測高速公路環境中的自由路面方面取得了良好的效果。該網絡在 Caffe 框架中實現,并進行了一些修改。該網絡在單個 Nvidia GeForce GTX TITAN Black GPU 上進行訓練。該網絡使用在 ImageNet 上訓練的 BVLC GoogLeNet 的權重進行初始化,并使用自由空間數據集進行微調。
這些結果是通過在 ImageNet 數據上預訓練 GoogLeNet 風格的架構并使用自由空間數據進行微調來實現的。通過相對較少的訓練(僅 60,000 次迭代),該網絡就能夠正確識別自由路面,同時將其他車輛指示為障礙物。該網絡還能夠區分道路邊界和其他道路標記。
該模型采用動量為 0.9 的小批量隨機梯度下降進行訓練。初始學習率設置為 0.01,每 3200 減少 0.96迭代。最終模型經過 60,000 次迭代訓練批量大小為 10,即 46 個 epoch。典型定性測試集的結果如圖 4 和 5 所示。
圖 4. 紅色陰影區域顯示圖像中該像素塊的正確類別的 softmax 分數。該網絡成功預測開放路面為空閑空間,同時指示卡車和其余車輛為非空閑空間。
圖 5. 紅色陰影區域顯示圖像中該像素塊的正確類別的 softmax 分數。該網絡成功地將開放路面預測為自由空間。請注意,盡管這兩個區域在視覺上非常相似,但兩側的路肩并未標記為空閑。
以上兩者測試圖像顯示,通過學習網絡可以非常成功地將道路上的障礙物正確分類為非自由空間。它還成功區分了道路車道和路肩,即使這兩個路面在視覺上非常相似。同時,該網絡還可以隨著車輛沿著道路曲線行駛過程中進行實時跟蹤檢測。
實際上,通過本文介紹的網絡可以知道,局部像素信息不足以區分道路車道和路肩,因此較高級別的特征為了做出這種區分,網絡層是必要的。隨著其他車輛周圍和道路邊緣的檢測變得更加清晰,網絡可以進行定性區分。然而,這些改進并不能通過 F1 指標很好地衡量,因為它們只占用幾個像素塊。而這些細微的差異被大部分路面和主要包含天空和背景的圖像頂部的大量正確分類所掩蓋。
在未來的工作中,我們打算在更多不同的條件下收集更多的數據。特別是在城市情況下,涉及更多類型的障礙物,例如行人的語義區分。基于該實驗結果,可以將該網絡架構將擴展到更復雜的城市情況下的一般自由空間檢測。
同時,必須制定更合適的量化指標,以更好地區分網絡改進。在訓練時,網絡可以很快學會檢測大部分空閑路面。在我們這里所用的數據集中,圖像底部的大部分區域是自由路面,而圖像頂部的大部分區域不是路面。
此外,更受人關注的區域是自由路面和非自由路面之間的邊界區分。這種邊界實際上需要進一步的模型訓練,才能有助于網絡在這些邊界上做出更好的預測,最終在自由空間和障礙物或道路邊緣之間提供非常清晰的邊界。準確一點的說,在未來的工作中,道路模型學習網絡的訓練可能會把整個損失函數集中在邊界上,而不是對所有像素塊進行平均加權。因此,集中力量在自由空間邊界上訓練的學習網絡將有可能會提供更好的結果。
審核編輯:劉清
-
傳感器
+關注
關注
2552文章
51353瀏覽量
755606 -
解碼器
+關注
關注
9文章
1144瀏覽量
40852 -
編碼器
+關注
關注
45文章
3662瀏覽量
135010 -
ADAS系統
+關注
關注
4文章
226瀏覽量
25739 -
卷積神經網絡
+關注
關注
4文章
367瀏覽量
11891
原文標題:行車篇 | ADAS系統中的可行使區域Freespace到底如何檢測?
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論