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