實時占用網(wǎng)絡(luò)? OccupancyDETR:使占用網(wǎng)絡(luò)與目標(biāo)檢測一樣直接!
今天自動駕駛之心為大家分享一篇最新的占用網(wǎng)絡(luò)算法:OccupancyDETR,使占用網(wǎng)絡(luò)與目標(biāo)檢測一樣直接!為實時3D語義場景完成提供了一個有前景的解決方案。文章論文一作作者已經(jīng)授權(quán)自動駕駛之心原創(chuàng),如果需要轉(zhuǎn)載,請在文末聯(lián)系!

論文鏈接:https://arxiv.org/pdf/2309.08504.pdf
代碼鏈接:https://github.com/jypjypjypjyp/OccupancyDETR
基于視覺的3D語義占用感知(也稱為3D語義場景完成)是自動駕駛等機(jī)器人應(yīng)用的一種新的感知范式。與BEV感知相比,它擴(kuò)展了垂直維度,顯著增強(qiáng)了機(jī)器人理解周圍環(huán)境的能力。然而,正是由于這個原因,當(dāng)前3D語義占用感知方法的計算需求通常超過BEV感知方法和2D感知方法。我們提出了一種新的3D語義占用感知方法OccupancyDETR,該方法由類似DETR的目標(biāo)檢測模塊和3D占用解碼器模塊組成。目標(biāo)檢測的集成在結(jié)構(gòu)上簡化了我們的方法——它不是預(yù)測每個體素的語義,而是識別場景中的目標(biāo)及其各自的3D占用網(wǎng)格。這加快了我們的方法,減少了所需的資源,并利用了目標(biāo)檢測算法,使其在小目標(biāo)上具有顯著的性能。在SemanticKITTI數(shù)據(jù)集上證明了本文提出方法的有效性,展示了23%mIoU和每秒6幀的處理速度,從而為實時3D語義場景完成提供了一個有前景的解決方案!
當(dāng)前的一些主流方案
3D語義感知是機(jī)器人的一項基本能力。目前流行的方法采用了涉及激光雷達(dá)和相機(jī)的多傳感器融合,然而,這種方法引起了諸如高成本和缺乏可移植性等問題。近年來,人們對基于純視覺的3D語義感知方案產(chǎn)生了越來越大的興趣,因為它們在不影響性能的情況下成本相對較低。最初,引入了BEV感知,顯著增強(qiáng)了自動駕駛場景中的感知能力。隨后,出現(xiàn)了3D語義占用感知,將BEV感知擴(kuò)展了垂直維度,從而在各種場景中提供了更廣泛的適用性。為此,我們專注于基于視覺的三維語義占用感知,目標(biāo)是為這項任務(wù)開發(fā)一種更直接、更有效的方法。
科學(xué)家們在對人類視覺感知的研究中注意到,在高級視覺處理中,傾向于優(yōu)先考慮場景中的一些前景目標(biāo),同時參考未被注意到的背景信息。受此啟發(fā),在3D語義占用感知中,我們模仿人類視覺感知的機(jī)制,引入了類似DETR的目標(biāo)檢測模塊來指導(dǎo)3D語義占用網(wǎng)格的預(yù)測。我們使用檢測到的目標(biāo)邊界框結(jié)果作為位置先驗,并使用目標(biāo)的隱藏特征作為上下文信息,然后利用空間transformer解碼器來提取每個目標(biāo)的3D占用網(wǎng)格。
這里提到的“目標(biāo)”并不是精確地表示單個目標(biāo),而是表示具有相同語義的目標(biāo)集群,例如一叢樹或一組建筑。通過這種方式,3D語義占用感知的任務(wù)被分解為識別場景中的各種目標(biāo),然后提取它們各自的3D占用網(wǎng)格。從早期的YOLO到最近的Deformable DETR等方法,目標(biāo)檢測算法已經(jīng)開發(fā)了多年,在復(fù)雜場景下取得了優(yōu)異的性能。此外,它們的復(fù)雜度水平顯著低于3D語義占用感知。我們希望通過集成成熟的目標(biāo)檢測算法來簡化3D語義占用感知方法,旨在使3D語義占用認(rèn)知與目標(biāo)檢測一樣簡單,并將這些任務(wù)統(tǒng)一在單個神經(jīng)網(wǎng)絡(luò)中。最后,在SemanticKITTI數(shù)據(jù)集上驗證了提出的方法,證明了在較小目標(biāo)上的卓越性能、更快的速度和更少的資源需求。

我們的主要貢獻(xiàn)如下:
1)提出了一種新的3D語義占用預(yù)測方法,該方法結(jié)合了目標(biāo)檢測。這種方法簡單高效,特別擅長處理小目標(biāo),并在SemanticKITTI數(shù)據(jù)集上取得了優(yōu)異的性能;
2)針對Detrlike算法的慢收斂問題,提出了一種早期匹配預(yù)訓(xùn)練。這種預(yù)訓(xùn)練增強(qiáng)了訓(xùn)練的確定性并加速了融合;
3)設(shè)計了兩種類型的3D占用解碼器,一種使用帶高程的BEV查詢,另一種使用3D box查詢。通過實驗比較,檢驗了這兩種方法在不同類別物體上的性能;
我們提出的方法
模型整體結(jié)構(gòu)如圖2所示,它由兩部分組成:目標(biāo)檢測模塊和3D占用解碼器。對于輸入圖像,使用ResNet50主干來提取特征,然后將這些多尺度特征傳遞到可變形編碼器中進(jìn)行進(jìn)一步編碼。在第二步中,通過可變形的DETR解碼器對固定數(shù)量的查詢進(jìn)行解碼,然后將其傳遞到三個Head——分類Head、2D box Head和3D box Head。來自分類頭和2D box Head的結(jié)果是目標(biāo)檢測中的常規(guī)結(jié)果,根據(jù)分類頭的輸出來選擇高置信度的目標(biāo)。在第三步驟中,這些高置信度目標(biāo)的3D框用作3D占用解碼器的每個目標(biāo)的位置先驗,從而提供位置嵌入。從可變形DETR解碼器獲得的特征用作上下文信息。隨后,3D占用解碼器基于可變形DETR編碼器編碼的多尺度特征來預(yù)測每個目標(biāo)的3D占用網(wǎng)格。

1)目標(biāo)檢測模塊
我們將目標(biāo)檢測引入到三維語義占用預(yù)測中,旨在簡化和輔助三維語義占用的預(yù)測。因此,識別出的“目標(biāo)”與傳統(tǒng)目標(biāo)檢測中的“目標(biāo)“不同。在生成注釋數(shù)據(jù)時,首先根據(jù)距離從體素網(wǎng)格中對語義目標(biāo)進(jìn)行聚類,而不精確區(qū)分每個目標(biāo)。然后將每個聚集的目標(biāo)投影到2D圖像上,并基于這些投影點(diǎn)計算2D bounding box,而且在投影過程中會考慮遮擋。我們防止完全遮擋的不可觀察目標(biāo)影響模型學(xué)習(xí),因此將這些目標(biāo)排除在外。然而,為了賦予模型場景補(bǔ)全功能,會保留部分遮擋的目標(biāo)。

模型在兩階段可變形DETR的基礎(chǔ)上進(jìn)行了改進(jìn),如圖3所示。作為第一種基于transformer的端到端方法,DETR由于獨(dú)立于任何手動設(shè)計方法,被許多學(xué)者認(rèn)為是目標(biāo)檢測的新方向。然而,DETR中不明確的查詢和二分匹配帶來的不確定性導(dǎo)致訓(xùn)練過程中收斂速度極慢。我們發(fā)現(xiàn),在DETR的長期訓(xùn)練中,大多數(shù)時候,二分匹配仍然不穩(wěn)定。將此歸因于這樣一個事實,即該模型必須經(jīng)過大量的試驗才能為整個數(shù)據(jù)集找到合適的查詢,這占用了大部分訓(xùn)練時間。因此,在目標(biāo)檢測模塊中,我們采用了兩階段可變形DETR,并為查詢選擇過程設(shè)計了早期匹配預(yù)訓(xùn)練。在常規(guī)訓(xùn)練階段,從編碼器輸出的每個多尺度特征在查詢選擇過程中被分配一個預(yù)設(shè)的ROI。這些特征是通過分類Head計算的,并選擇得分最高的前k個特征作為查詢的上下文信息,其相應(yīng)的ROI作為查詢的位置。在通過可變形解碼器之后,然后將它們與GT進(jìn)行匹配。在早期匹配預(yù)訓(xùn)練中,預(yù)先設(shè)置的ROI和groundtruth之間的先前二分匹配確保了確定性,避免了搜索合適查詢的漫長過程,從而加快了后續(xù)的常規(guī)訓(xùn)練。在目標(biāo)檢測的最后階段,由可變形detr解碼器處理的查詢已經(jīng)具有模糊的3D空間信息。除了分類頭和2D bounding box Head之外,我們還添加了一個額外的3D bounding box Head。這用于預(yù)測camera坐標(biāo)系下目標(biāo)的3D邊界框。然后,根據(jù)相機(jī)的外參,將其轉(zhuǎn)換到占用網(wǎng)格坐標(biāo)系中,為后續(xù)的3D占用解碼器提供位置先驗。
2)3D Occupancy Decoder
在目標(biāo)檢測階段之后,選擇高置信度結(jié)果,并且將它們的特征連同占用網(wǎng)格坐標(biāo)系中預(yù)測的3D框一起傳送到3D占用解碼器模塊中??紤]到我們并不完全相信3D box的預(yù)測結(jié)果,適度地放大了所有的3D box。如圖4所示,采用了兩種查詢構(gòu)建模式。在具有高程模式的BEV查詢中,在該三維長方體的中間層均勻采樣32×32個點(diǎn)。另一方面,在3D長方體查詢模式中,在整個3D長方體空間中均勻采樣16×16×4個點(diǎn)。這些點(diǎn)被稱為三維參考點(diǎn),當(dāng)投影到2D圖像上時,它們被稱為2D參考點(diǎn),這些三維參考點(diǎn)的位置嵌入與上下文結(jié)合用作三維查詢!

3D占用解碼器包括N層空間解碼器層。每個空間解碼器層由3D可變形的自注意和多尺度可變形的交叉注意構(gòu)成,三維可變形自我注意的過程可以公式化如下:

最后,使用線性層將具有高程的BEV查詢直接提升到三維占用網(wǎng)格中?;蛘撸ㄟ^使用與3D卷積相結(jié)合的上采樣,將3D Box Queries擴(kuò)展到相同大小的3D占用網(wǎng)格!
3)訓(xùn)練策略
整個訓(xùn)練過程分為四個步驟。盡管有多個階段,但始終有相同的注標(biāo)注數(shù)據(jù),這使得過程不會過于復(fù)雜。第一步涉及通過早期匹配進(jìn)行預(yù)訓(xùn)練,以加速兩階段可變形detr的收斂。第二步涉及對兩階段可變形detr的定期訓(xùn)練,從而產(chǎn)生訓(xùn)練有素的目標(biāo)檢測模型。在第三步中,凍結(jié)目標(biāo)檢測模型的權(quán)重,并利用其結(jié)果來訓(xùn)練3D占用解碼器。在第四步也是最后一步中,不再凍結(jié)目標(biāo)檢測模型的權(quán)重,并使用較小的學(xué)習(xí)率對整個模型進(jìn)行微調(diào)。
損失函數(shù)如下:

實驗對比
1)實驗數(shù)據(jù)集和設(shè)置
SemanticKITTI數(shù)據(jù)集建立在KITTI Odometry數(shù)據(jù)集基礎(chǔ)上,強(qiáng)調(diào)使用激光雷達(dá)點(diǎn)和前向相機(jī)對場景的語義理解。OccupancyDETR作為單目3D語義占用感知,僅使用左前視圖相機(jī)作為輸入。在該數(shù)據(jù)集中,注釋的語義占用表示為形狀為256×256×32的體素網(wǎng)格。每個體素的尺寸為0.2m×0.2m×0.2m,并帶有21個語義類別的標(biāo)簽(19個語義,1個自由,1個未知)??紤]到該數(shù)據(jù)集的語義體素網(wǎng)格是由多幀拼接的激光雷達(dá)點(diǎn)云和圖像生成的,在遠(yuǎn)處或遮擋區(qū)域存在間隙,這種情況阻礙了目標(biāo)的聚類和提取。因此,通過插值來填補(bǔ)語義體素網(wǎng)格中這些缺失的單元,從而糾正了這個問題,目標(biāo)提取后獲得的數(shù)據(jù)集的2D和3D標(biāo)簽如圖6所示。

模型訓(xùn)練是在Nvidia RTX 3090 GPU(24G)上進(jìn)行的,而評估是在Nvidia RTX3080 GPU(16G)上進(jìn)行的。訓(xùn)練過程跨越四個階段,分別為50個epoch、10個epoch、50個epoch和10個epoch。每個階段的初始學(xué)習(xí)率分別設(shè)置為1e-4、2e-5、1e-4和2e-5,然后線性地減小到零,采用權(quán)重衰減為0.01的AdamW作為優(yōu)化器。ResNet50主干使用timm提供的預(yù)訓(xùn)練模型進(jìn)行初始化,我們的實驗?zāi)繕?biāo)是驗證這個新框架的可行性和特點(diǎn);因此,這里不使用任何數(shù)據(jù)擴(kuò)充!
2)實驗結(jié)果
如表I所示,語義場景補(bǔ)全(SSC)任務(wù)的mIoU對比一覽:

這里將本文的方法與其它單目3D語義占用感知方法進(jìn)行了比較,并對結(jié)果進(jìn)行了分析。可以看出,我們的方法在小目標(biāo)上明顯優(yōu)于其他方法,這歸因于目標(biāo)檢測任務(wù);然而,在道路和人行道等類別中,我們的方法落后于其他方法,對此我們進(jìn)行了進(jìn)一步的分析。分析的代表性案例如圖5所示。
①展示了我們的方法在小目標(biāo)類別上的性能,它可以檢測到遠(yuǎn)處的自行車手。②以及③揭示表現(xiàn)不佳的原因,我們在“道路”和“人行道”類別上的方法。我們認(rèn)為這是由于我們的方法首先檢測目標(biāo),然后預(yù)測每個目標(biāo)的3D占用網(wǎng)格。然而,提取關(guān)于3D空間中不同目標(biāo)之間關(guān)系的特征的能力相對較弱,這導(dǎo)致了模型可以基于圖像直接檢測附近的十字路口,但無法基于其他3D目標(biāo)間接完成遠(yuǎn)處的十字路口的現(xiàn)象!
盡管如此,我們的方法在速度和資源需求方面的優(yōu)勢是顯著的,推理時間和參數(shù)計數(shù)如表II所示。我們的方法平均推理時間為174ms(在Nvidia RTX 3080上),這已經(jīng)實現(xiàn)實時性能。接下來,將BEV查詢的兩種模式:高程和3D box查詢進(jìn)行比較。發(fā)現(xiàn)對于大多數(shù)類別,具有高程模式的BEV查詢表現(xiàn)更好,尤其是在道路、人行道、terrain和植被四類中,這四類查詢存在顯著差異??紤]到這四個類別在該數(shù)據(jù)集中通常是平坦的,它們更適合于具有高程模式的BEV查詢。這說明了對于具有不同形狀的目標(biāo),這兩種模式之間的顯著性能差異。

為了驗證早期匹配預(yù)訓(xùn)練對類似DETR的目標(biāo)檢測模型的積極影響,我們在相同的實驗條件下對DINO和兩階段可變形DETR進(jìn)行了比較研究。在我們的實驗中,將初始學(xué)習(xí)率設(shè)置為1e-4,并在100個epoch內(nèi)將其線性降低至零。圖7顯示了訓(xùn)練過程中驗證集上三種方法的mAP曲線,表明早期匹配預(yù)訓(xùn)練可以更快地收斂。此外,我們還分析了DINO的性能,這是一種基于兩階段可變形DETR的方法。DINO提出了一些改進(jìn)來加速收斂,其中之一是混合查詢選擇。這個過程包括使用可學(xué)習(xí)嵌入作為靜態(tài)內(nèi)容查詢,同時通過查詢選擇選擇錨點(diǎn)作為動態(tài)錨點(diǎn)。然而,靜態(tài)內(nèi)容查詢和動態(tài)錨點(diǎn)的順序之間存在錯位問題,我們假設(shè)這種差異是DINO的表現(xiàn)沒有達(dá)到預(yù)期的原因。

參考
[1] OccupancyDETR: Making Semantic Scene Completion as Straightforward as Object Detection.
投稿作者為『自動駕駛之心知識星球』特邀嘉賓,如果您希望分享到自動駕駛之心平臺,歡迎聯(lián)系我們!

① 全網(wǎng)獨(dú)家視頻課程
BEV感知、毫米波雷達(dá)視覺融合、多傳感器標(biāo)定、多傳感器融合、多模態(tài)3D目標(biāo)檢測、點(diǎn)云3D目標(biāo)檢測、目標(biāo)跟蹤、Occupancy、cuda與TensorRT模型部署、協(xié)同感知、語義分割、自動駕駛仿真、傳感器部署、決策規(guī)劃、軌跡預(yù)測等多個方向?qū)W習(xí)視頻(掃碼即可學(xué)習(xí))

視頻官網(wǎng):www.zdjszx.com
② 國內(nèi)首個自動駕駛學(xué)習(xí)社區(qū)
近2000人的交流社區(qū),涉及30+自動駕駛技術(shù)棧學(xué)習(xí)路線,想要了解更多自動駕駛感知(2D檢測、分割、2D/3D車道線、BEV感知、3D目標(biāo)檢測、Occupancy、多傳感器融合、多傳感器標(biāo)定、目標(biāo)跟蹤、光流估計)、自動駕駛定位建圖(SLAM、高精地圖、局部在線地圖)、自動駕駛規(guī)劃控制/軌跡預(yù)測等領(lǐng)域技術(shù)方案、AI模型部署落地實戰(zhàn)、行業(yè)動態(tài)、崗位發(fā)布,歡迎掃描下方二維碼,加入自動駕駛之心知識星球,這是一個真正有干貨的地方,與領(lǐng)域大佬交流入門、學(xué)習(xí)、工作、跳槽上的各類難題,日常分享論文+代碼+視頻,期待交流!

③【自動駕駛之心】技術(shù)交流群
自動駕駛之心是首個自動駕駛開發(fā)者社區(qū),聚焦目標(biāo)檢測、語義分割、全景分割、實例分割、關(guān)鍵點(diǎn)檢測、車道線、目標(biāo)跟蹤、3D目標(biāo)檢測、BEV感知、多模態(tài)感知、Occupancy、多傳感器融合、transformer、大模型、點(diǎn)云處理、端到端自動駕駛、SLAM、光流估計、深度估計、軌跡預(yù)測、高精地圖、NeRF、規(guī)劃控制、模型部署落地、自動駕駛仿真測試、產(chǎn)品經(jīng)理、硬件配置、AI求職交流等方向。掃碼添加汽車人助理微信邀請入群,備注:學(xué)校/公司+方向+昵稱(快速入群方式)

④【自動駕駛之心】平臺矩陣,歡迎聯(lián)系我們!
