高階駕駛員輔助系統依靠各種傳感器(雷達、激光雷達、超聲波和攝像頭)進行場景理解和預測。這些傳感器通常用于檢測交通參與者和導航所需的場景元素。
視覺環境感知在自動駕駛汽車的發展中起著關鍵作用,提供有關駕駛場景的基本信息,包括自由空間區域和周圍障礙物。這些感知任務可以從各種傳感器(激光雷達、相機、雷達或它們的融合)收集信息。高密度激光掃描儀能夠創建環境的動態三維地圖,最適合這項任務。然而,將它們集成到價格合理的車輛中的成本仍然很高。在計算機視覺領域最新進展的推動下,我們建議僅使用基于相機的系統,它有可能以更低的成本達到密集的激光掃描性能。特別是,深度學習以更快的速度推動了經典對象檢測和分割的準確性的提高。
然而,僅靠物體檢測系統通常不足以實現自主緊急制動和前向碰撞系統,因為各種可能的道路障礙物(例如樹枝、小動物)和道路結構(例如鄉村道路、不同的紋理)使得在場景理解過程中,只訓練典型目標檢測網絡和道路分割網絡不切實際。
智能泊車依靠主要是基于環視攝像頭和超聲波感知的系統,特別是環視監控 (AVM) 系統,可以在泊車和駕駛模式下以更低的成本實現對泊車環境的精確感知。魚眼圖像作為一種廣角且失真的圖像,在自動駕駛領域使用魚眼攝像頭的優勢是顯而易見的,因為它們提供了比傳統攝像頭更廣闊的視野(190°),從而捕捉到更多與汽車周圍環境(行人、障礙物等)相關的信息。四個攝像頭分別位于車輛的前、后、左、右側,為駕駛員提供 360°的周圍環境視圖,以檢查車輛周圍是否有障礙物。如下圖表示了典型的智能泊車魚眼圖檢測網絡圖。
對于行泊車系統控制而言,不同的傳感器具有不同的識別性能,原則上將如果能夠利用所有傳感器在其不同階段的識別效能進行分階段網絡處理,那么將在不同階段產生最優的處理效果。
智能泊車感知網絡的基本處理流程
本系列文章將分上下兩篇分別對泊車感知處理網絡原理進行闡述側重于檢測安全駕駛的基本場景信息:物體檢測、路緣檢測、自由駕駛區域分割、物體與相機的距離和物體方向。
首先,從基礎泊車可通行區域檢測網絡出發,介紹一種新的解決方案,將障礙物檢測網絡集成到一個統一的端到端解決方案中,能夠通過障礙物底點估計、路緣檢測和二維多尺度目標檢測聯合劃定自由駕駛區域,以獲得低復雜度的解決方案。這種通過底點估計和路緣檢測的方式可以精確的劃定駕駛車輛所有方向上最近的障礙物,也可以有效的確定每個方向上最近障礙物的準確距離。
其次,場景理解系統需要高度精確的感知輸入。然而,在諸如智能駕駛汽車這類嵌入式平臺上的模型部署需要實時推理速度以實現快速控制,并需要較小的模型尺寸以提高能效。當然,通過開發一種低復雜度的解決方案來滿足這些要求,對應的解決方案是使用光編碼器網絡,受益于提出的感知任務來共享計算編碼器以實現環境目標檢測。
智能泊車感知網絡的處理流程主要包括對象檢測、分類、自由空間分割和 3D方向重建。
1)自由空間檢測:
這類檢測過程又常常被稱之為可行駛區域檢測。顧名思義,就是通過一定的道路分割手段來檢測可行駛區域表面的最先進方法。比如,使用全卷積網絡 (FCN) 用于執行空間密集預測任務,例如使用轉置卷積對上采樣層進行建模下的語義分割。后來,還引入了擴張卷積來擴大網絡的感受野。現有研究通常解決像素分割網絡或使用立體相機的深度圖推導,使用這些方法,未分類的像素需要復雜的后處理來處理它們。建議使用一種更簡單的架構來檢測障礙物和自由空間,方法是識別駕駛車輛各個方向上每個障礙物的底部點。
2)目標檢測:
用于目標檢測的先進的神經網絡方法可分為兩類:
其一,是基于感興趣區域建議網絡的檢測方法前一類包括像Faster R-CNN的方法,它有一個兩步過程,首先使用 RPN(區域建議網絡)生成區域建議,然后使用輔助模塊對它們進行分類評分。
其二,是單發網絡檢測方法。在單發網絡方法中,區域提議和分類階段被集成到一個階段,通過使用預定義的先驗知識(又叫錨框),通過滑動窗口在特征圖上的移動為每個空間位置來預測邊界框和班級置信度分數。
與兩階段方法相比,同時執行感興趣區域檢測和分類網絡可以大大增強網絡檢測速度。
3)3D 對象檢測:
最近,由于 3D 對象檢測需要與現實世界場景中的對象進行有效交互而受到廣泛關注。這個問題通過從純粹的幾何角度(例如,從單個圖像估計具有 6DoF 的物體的姿態)以及使用 DCNN(深度卷積神經網絡)重建 3D 模型來解決相應2D對象檢測中無法體現深度信息的缺陷。這類3D檢測方法主要是使用局部仿射不變圖像描述符來構建 2D 圖像中對象實例的 3D 模型,然后將它們與圖像中的 3D 姿勢進行匹配。實踐證明 DCNN 在估計對象從0°到 360°方向方面具備高有效性。此外,使用 DCNN 回歸穩定的 3D 對象特征,利用立體圖像的深度信息,或使用運動算法的結構組合時間信息,可以使得用 3D 信息檢測效果大大增強。
場景理解網絡
本節詳細描述了 AVM 場景理解提出的網絡架構,包括目標檢測、自由/可行駛區域分割、物體距離和物體方向。通過研究標準的2D 對象檢測網絡,例如 Faster R-CNN 和 SSD 。同時,在 AVM 數據集上試驗不同的編碼器,例如 MobileNet和 Inception-ResNet-V2,將它們插入標準目標檢測網絡以評估準確性和運行時性能。自由空間檢測是通過找到圖像中每個像素列的底部點來實現的,圖像中所有底部點的并集表示場景中所有障礙物的底部邊界,其邊界外部的所有像素都被視為自由空間。到最近障礙物的距離是通過將相機幾何學應用于物體的底部點通過數學公式計算得到。
結合多任務網絡架構(包括底網、目標檢測OD網絡、融合網絡)可以有效的完成目標檢測和低復雜度解決方案的底點定位,使用 3D 物體檢測網絡來檢測每輛車的物體方向。
1)底點檢測網Bottom-Net
我們檢測路沿和自由行駛區域的方法網絡是將圖像的每個垂直列作為輸入。如下圖表示,該多任務網絡使用的輸入列寬度為 24,重疊超過 23 個像素,對用相鄰 24 像素區域增強相應像素的列方向進行預測。
然后每一列將通過一個卷積網絡輸出一個 k 標簽,其中 k 是高度,將學習對應于該列的障礙物底部像素的位置進行分類,將所有列進行結合就能構建場景的路沿或自由行駛區域。
在如上這個架構中,由于列之間的重疊,超過 95% 的計算是冗余的。受此觀察的啟發,這里可以采用整個圖像作為輸入的端到端架構替換陣列式網絡的實現方式。該網絡使用多個卷積層將圖像編碼為深度特征圖,然后使用多個上采樣層生成與輸入圖像具有相同分辨率的特征圖。受目標檢測系統的感興趣區域 (ROI) 方法的啟發,我們裁剪了圖像的硬編碼區域,該區域對應于用 23 個像素的相鄰區域增強的像素列。
因此,用于裁剪上采樣特征圖的感興趣區域為 23 像素寬和 720(高度)像素高。在圖像的每個 x 坐標處水平滑動此窗口,然后將生成結果在 ROI 池化層中調整為固定長度(例如 7x7),然后分類為 k 類之一(在高精度情況下 k 為 720,即圖像的高度),形成了最終圖像預測的底部點。如下圖顯示了該體系結構的圖示。
然而,由于感興趣區域的重疊,使用具有固定位置的 ROI 進行最終分類會導致重復計算。這種認識自然而然地把我們帶到了對底部預測網絡任務的最終分類層需要使用的單發網絡分析處理方法。此外,為了使網絡更高效,我們還將對應于多個上采樣層的網絡解碼器部分替換為單個密集水平上采樣層。
如下圖描繪了底部像素預測任務的最終架構。
在應用步長 > 1 的多個卷積后,編碼器生成的結果特征圖的分辨率為 [width/16, height/16],縮小了原始圖像大小的 16 倍。與之前版本的底部預測網絡在水平和垂直方向使用標準上采樣層相比,最終的上采樣方法現在生成大小為 [width, height/16] 的輸出特征圖,其寬度乘以16,高度不變。
最后,在水平上采樣層之上添加另一個全連接層,以對每一列的輸入進行線性組合。使用 softmax 將每個結果列分類為 k 個類別之一,其中 k 是被預測圖像的高度(在高精度情況下 720)。每個列分類子任務自動考慮顯示在被分類中心列附近的像素,并表示為最終環境目標的底點預測。
2)目標檢測OD網
本文研究的初始架構是基于 Faster R-CNN 并預測場景中對象的邊界框和類別。作為高精度解決方案,這種架構與深度強大的編碼器(如 Inception-ResNet-V2)相結合,往往會提供環境靜態模型的準確信息。但在智能汽車環境動態目標這類實時性要求較高的檢測場合表現卻不佳。
為了確保智能車載系統的低復雜度解決方案的響應能力,我們需要一個有效的目標檢測系統,它可以直接輸出目標類概率和邊界框坐標。此時,可以將單發網絡檢測與像 MobileNet 這樣的光編碼器結合起來進行快速推理。
3)融合網絡
顧名思義,融合網絡就是將如上提到的動靜檢測網絡在一定規則的情況下進行有效的環境建模。
如下圖所示表示典型的融合網絡圖。結合底部預測和目標檢測網絡的統一架構通常利用網絡編碼器的共享計算來實現更好的訓練優化和運行時性能。因此,我們考慮在不同層分支可以共享編碼器,以便找到運行時性能和準確性之間的最佳權衡。我們提出的統一架構使用卷積網絡對圖像進行編碼,并為每個任務使用多個解碼器。
輸入層的分支意味著兩個網絡不共享任何計算,我們將此架構的結果報告為準確性的上限。在網絡中,分支更高可以讓我們在兩個任務之間共享計算并優化實現更好的推理時間。但由于兩個頭必須共享編碼器中的特征表示,則會降低輸出結果精度。卷積編碼器的高層特征對于底部預測和目標檢測略有不同。因此,在編碼器的較低層分支可以提高準確性,并分別制定編碼頭部信息表示各自的特征。
4)3D網
這里,我們介紹方向和尺寸問題的高精度解決方案。我們使用 ResNet-101(前 22 個殘差塊)作為底層 DCNN 架構,在具有 1000 個類的 ImageNet 子集上進行預訓練。最終架構由兩個分支組成,分別用于基于角度離散化和對象尺寸回歸。對應的網絡架構如下圖 所示。3D 網絡將對象的裁剪作為輸入,并估計每個對象的真實世界尺寸和方向。使用 OD-net 提取 2D 作物,并將其從魚眼投影重新投影到 Lambert圓柱等積投影中。
其中Lambert 投影函數可以描述為:
其中,λl和φl是給定射線~R的緯度和經度;Ry 是R 在 XoZ平面上的三維投影;給定一條射線的魚眼投影~p,我們可以計算~R如下:
?
為了調整相機俯仰,我們沿著 oX 旋轉 -α;最后,重新投影的向量 ~q 計算如下:
我們通過將方向值離散化為 N 個唯一方向,將方向預測轉換為分類問題。我們隨后通過使用均值漂移算法恢復連續方向,從而獲得網絡預測對象尺寸和對象方向。
詳細多任務處理網絡的實施細節
在本節中,我們將描述我們在統一架構中使用的各種訓練細節。
1)預處理階段:
作為數據集增強,我們使用隨機顏色失真(亮度、飽和度、對比度、色調)和 [0, 1] 之間的歸一化。我們還通過使用水平翻轉來擴展訓練集,低復雜度解決方案還執行隨機裁剪。
2)目標函數生成:
底網Bottom-Net 使用 softmax 交叉熵損失對駕駛車輛各個方向上每個障礙物的每個底部點進行分類:
其中 w 和 h 是每個幀的寬度和高度。融合網總共總結了三個目標函數:一個用于底部像素預測的分類損失和兩個用于檢測任務、分類和邊界框回歸的損失。
對于對象檢測任務而言,我們使用經典的平均精度 (mAP) 指標,在 0.5 交并比 (IoU) 重疊處。對于底部像素預測任務,我們引入了平均絕對誤差(MAE),它表示地面實況和底部像素預測之間的平均像素位移。我們將 MAE 度量重新用于 3D-OD 任務以計算對象方向和所有 3 個軸上的對象尺寸。
3)低復雜性解決方案詳細信息:
運行時性能和內存占用對于實時應用程序(如自動駕駛或駕駛員輔助系統所需的應用程序)至關重要。針對這個需求需要以嵌入式解決方案使用了MobileNet編碼器,解決物體檢測和底部像素檢測這兩個相關的任務。
對于用于快速車輛控制的實時嵌入式系統,計算效率則更為重要,因此統一網是在編碼器更高卷積層的分支。對于目標檢測任務而言,可以選擇使用多尺度單發網絡,因為它具有快速的運行時性能。對于編碼器,我們使用 MobileNet 的修剪版本。我們發現,消除 MobileNet 編碼器中的最后 2 個卷積層可提供更好的準確性。我們檢測 6 個尺度的對象,使用最后一個編碼器層(“conv11”)作為第一個特征圖,并創建剩余的 5 個作為編碼器的擴展。每個特征圖負責檢測不同尺度的對象。統一網的訓練過程使用 640x360 像素分辨率的圖像,每批訓練 8 個。我們使用 7e?4 的初始學習率,并從 40000 次迭代總數中每 10000 次迭代衰減一次。
4)高精度解決方案細節:
為了盡可能獲得最佳精度,這里推薦使用 Inception-ResNet V2 架構的頂部作為編碼器,并在 ImageNet 上預訓練權重,用于底網預測和對象檢測。對于目標檢測任務,可以選擇了 Faster R-CNN 架構,它提供了最好的定位和分類精度。訓練以全尺寸分辨率進行:1280x720,批量大小為 1,同時保持與原始實現相同的訓練過程。
總結
本文介紹了一種新的端到端解決方案,通過識別駕駛車輛在每個方向上最近的障礙物來為每一幀劃定安全可行駛區域,采用這種方法來計算得到最近障礙物的距離,通過將其整合到一個統一的端到端架構中,該架構能夠進行聯合對象檢測、路緣檢測和安全可行駛區域檢測。
此外,本文還描述了高精度解決方案和低復雜度解決方案的網絡系列。由于 2D 對象檢測有時無法為場景理解提供足夠的信息,因此本文如果能夠通過一定的方法找到環境目標的3D 信息,同時如果增加高精度地圖信息找到 3D 世界中對象的確切姿勢,作為解決方案可以很好的檢測每個對象的方向和尺寸,同時有效增強智能泊車過程中2D對象檢測的能力。因此,本文的基礎架構通過 3D 對象檢測可以進一步增強泊車感知性能。
編輯:黃飛
?
評論
查看更多