來源|自動(dòng)駕駛之心 基于多視角攝像頭的3D目標(biāo)檢測(cè)在鳥瞰圖下的感知(Bird's-eye-view Perception, BEV Perception) 吸引了越來越多的注意力。一方面,將不同視角在BEV下統(tǒng)一與表征是很自然的描述,方便后續(xù)規(guī)劃控制模塊任務(wù);另一方面,BEV下的物體沒有圖像視角下的尺度(scale)和遮擋(occlusion)問題。如何優(yōu)雅的得到一組BEV下的特征描述,是提高檢測(cè)性能的關(guān)鍵。量產(chǎn)級(jí)自動(dòng)駕駛需要可擴(kuò)展的三維世界推理。當(dāng)自動(dòng)駕駛汽車和其他交通代理在道路上移動(dòng)時(shí),大多數(shù)時(shí)候推理不需要考慮高度,使鳥瞰圖 (Birds-Eye-View) 足以表示。 ![]() 傳統(tǒng)的自動(dòng)駕駛堆棧的架構(gòu)如上圖所示 上圖展示了一個(gè)傳統(tǒng)的自動(dòng)駕駛堆棧(為簡單起見,此處省略了本地化等許多方面)。在此圖中,圓圈代表功能模塊,并根據(jù)它們所在的空間進(jìn)行顏色編碼。綠色模塊出現(xiàn)在 2D 中,藍(lán)色模塊出現(xiàn)在 BEV 中。只有相機(jī)感知發(fā)生在 2D 空間中,或者更準(zhǔn)確地說,是獲取機(jī)載相機(jī)圖像的透視空間。它依靠具有大量手工制作規(guī)則的傳感器融合將 2D 檢測(cè)提升到 3D,可選擇借助雷達(dá)或激光雷達(dá)的 3D 測(cè)量。 在這里,之所以把這些東西定義為傳統(tǒng),至少有兩個(gè)原因。首先,相機(jī)感知仍然發(fā)生在透視空間中,與最近的單目 3D 物體檢測(cè)趨勢(shì)相反,來自多模式傳感器的結(jié)果以后期融合方式融合(與早期融合相反,早期融合將傳感器數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)以進(jìn)行數(shù)據(jù)驅(qū)動(dòng)關(guān)聯(lián)和幾何推理)。 BEV Perception的意義對(duì)于相機(jī)感知,轉(zhuǎn)向 BEV 將是非常有益的。首先,直接在 BEV 中執(zhí)行相機(jī)感知可以直接與來自其他模式(例如雷達(dá)或激光雷達(dá))的感知結(jié)果相結(jié)合,因?yàn)樗鼈円呀?jīng)在 BEV 中表示和使用。BEV 空間中的感知結(jié)果也很容易被預(yù)測(cè)和規(guī)劃等下游組件使用。其次,純粹依靠手工制定的規(guī)則將 2D 觀察提升到 3D 是不可擴(kuò)展的。BEV 表示有助于過渡到早期融合pipelines,使融合過程完全由數(shù)據(jù)驅(qū)動(dòng)。最后,在純視覺系統(tǒng)(沒有雷達(dá)或激光雷達(dá))中,在 BEV 中執(zhí)行感知任務(wù)幾乎成為強(qiáng)制,因?yàn)樵趥鞲衅魅诤现袥]有其他 3D 提示可用于執(zhí)行此視圖轉(zhuǎn)換。 單目BEV(Bird's Eye View)感知是指利用一臺(tái)單獨(dú)的攝像機(jī)來獲取BEV圖像,對(duì)車輛周圍環(huán)境進(jìn)行感知和理解。它是自動(dòng)駕駛、智能輔助駕駛等領(lǐng)域中常用的感知方法之一,具有以下一些優(yōu)點(diǎn):
在過去的一年里,單目 BEV 感知主要出聚焦于以下三種方法:
在這篇評(píng)論博文中,我將重點(diǎn)關(guān)注最新的趨勢(shì)——使用 Transformers 進(jìn)行視圖轉(zhuǎn)換。 View transformation with TransformersTransformers 的一般架構(gòu)大家了解的一般也比較多了,因此我們?cè)诖瞬辉僦攸c(diǎn)介紹。由于global的attention機(jī)制,Transformers 更適合執(zhí)行view轉(zhuǎn)換的工作。目標(biāo)的domain中的每個(gè)位置都具有相同的距離來訪問源域中的任何位置,克服了 CNN 中卷積層局部受限的receptive fields。 Cross-attention vs self-attention![]() 視覺Transformer是一種基于自注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)模型,被廣泛用于計(jì)算機(jī)視覺領(lǐng)域中的圖像處理任務(wù)。與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(CNNs)不同,視覺Transformer在不使用卷積操作的情況下對(duì)圖像進(jìn)行處理。 視覺Transformer模型由多個(gè)層次組成,每個(gè)層次都包括多頭自注意力模塊和前饋神經(jīng)網(wǎng)絡(luò)模塊。自注意力模塊是模型的核心組件,它能夠自適應(yīng)地關(guān)注輸入的不同區(qū)域,并學(xué)習(xí)到區(qū)域之間的關(guān)系。前饋神經(jīng)網(wǎng)絡(luò)模塊則用于對(duì)每個(gè)位置的特征進(jìn)行非線性變換和擴(kuò)展。 與傳統(tǒng)的CNNs相比,視覺Transformer具有以下幾個(gè)優(yōu)點(diǎn):
目前,視覺Transformer已被應(yīng)用于多個(gè)計(jì)算機(jī)視覺任務(wù),如圖像分類、目標(biāo)檢測(cè)和圖像分割等。在許多任務(wù)中,視覺Transformer已經(jīng)取得了與或超過傳統(tǒng)CNNs的性能,并成為了計(jì)算機(jī)視覺領(lǐng)域中的研究熱點(diǎn)之一。 Cross-attention is all you needCV 中 Transformers 的許多最新進(jìn)展實(shí)際上只利用了 self-attention 機(jī)制,例如被大量引用的 ViT([An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale](https :///abs/2010.11929), ICLR 2021) 或 Swin Transformer (Hierarchical Vision Transformer using Shifted Windows, Arxiv 2021/03)。它們充當(dāng)對(duì)骨干特征提取器的增強(qiáng)。然而,考慮到在大規(guī)模生產(chǎn)車輛上典型的資源受限嵌入式系統(tǒng)中部署通用 Transformer 架構(gòu)的困難,self-attention 相對(duì)于得到良好支持的 CNN 的增量收益可能很難證明是合理的。在我們看到 self-attention 在 CNN 上的一些突破性優(yōu)勢(shì)之前,將 CNN 用于工業(yè)應(yīng)用(例如量產(chǎn)自動(dòng)駕駛)將是一個(gè)明智的選擇。 另一方面,交叉注意力有更可靠的案例。將交叉注意力應(yīng)用于計(jì)算機(jī)視覺的一項(xiàng)開創(chuàng)性研究是 DETR(End-to-End Object Detection with Transformers,ECCV 2020)。DETR 最具創(chuàng)新性的部分之一是基于稱為對(duì)象查詢的固定數(shù)量槽的交叉注意解碼器。不同于原始的 Transformer 論文,其中每個(gè)查詢被一個(gè)接一個(gè)地輸入解碼器(自動(dòng)回歸),這些查詢被并行(同時(shí))輸入到 DETR 解碼器中。查詢的內(nèi)容也是學(xué)習(xí)的,在訓(xùn)練前不必指定,除了查詢的數(shù)量。這些查詢可以看作是一個(gè)空白的、預(yù)先分配的模板來保存對(duì)象檢測(cè)結(jié)果,交叉注意力解碼器負(fù)責(zé)填充空白。 ![]() 如上圖所示,DETR 的 Cross-Attention Decoder 部分可以看作是一個(gè)跨域生成器 (source) 這激發(fā)了使用交叉注意力解碼器進(jìn)行視圖轉(zhuǎn)換的想法。輸入視圖被送入特征編碼器(基于自注意力或基于 CNN),編碼后的特征作為 K 和 V。目標(biāo)視圖格式的Q可以學(xué)習(xí),只需要光柵化為Q 的值可以與網(wǎng)絡(luò)的其余部分一起學(xué)習(xí)。 ![]() 在接下來的介紹中,我們將回顧這方面的一些最相關(guān)的工作。 PYVA (CVPR 2021)PYVA (Projecting Your View Attentively: Monocular Road Scene Layout Estimation via Cross-view Transformation, CVPR 2021) 是第一個(gè)明確提到交叉注意解碼器可用于視圖轉(zhuǎn)換以將圖像特征提升到 BEV 空間的人之一。與早期的單目 BEV 感知工作類似,PYVA 對(duì)轉(zhuǎn)換后的 BEV 特征執(zhí)行道路布局和車輛分割。 ![]() PYVA 首先使用 MLP 將透視空間中的圖像特征 X 提升到(聲稱的)BEV 空間中的 X'。第二個(gè) MLP 將 X' 映射回圖像空間 X'',并使用 X 和 X'' 之間的循環(huán)一致性損失來確保此映射過程保留盡可能多的相關(guān)信息。PYVA使用的Transformer是一個(gè)cross-attention模塊,query Q映射到BEV空間中的BEV特征X',V和K都是透視空間中的輸入X(如果我們忽略兩者的區(qū)別 X 和 X”在透視空間中)。請(qǐng)注意,在 BEV 空間中沒有對(duì) X' 的顯式監(jiān)督,并且在 BEV 空間中受到下游任務(wù)損失的隱式監(jiān)督。在 PYVA 中,似乎是 MLP 完成了 View Transform 的繁重提升,而在 BEV 中交叉注意力被用來增強(qiáng)提升的特征。然而,由于在 BEV 空間中沒有對(duì)生成的查詢的明確監(jiān)督,從技術(shù)上講,很難將這兩個(gè)組件的貢獻(xiàn)分開。對(duì)此進(jìn)行消融研究有助于澄清這一點(diǎn)。 NEAT (ICCV 2021)NEAT (Neural Attention Fields for End-to-End Autonomous Driving, ICCV 2021) 在使用基于 MLP 的迭代注意力將圖像特征提升到 BEV 空間之前,使用 Transformers 增強(qiáng)圖像特征空間中的特征。本文的目標(biāo)是可解釋的、高性能的、端到端的自動(dòng)駕駛,但我們?cè)谶@里只關(guān)注可解釋的中間 BEV 表示的生成。 ![]() 如上圖所示NEAT的結(jié)構(gòu)。Encoder 塊中使用的 Transformer 是基于自注意力的。作者還承認(rèn),“可以在不改變輸出維度的情況下從我們的編碼器中移除轉(zhuǎn)換器,但我們將其包括在內(nèi),因?yàn)樗鶕?jù)我們的消融研究提供了改進(jìn)”。正如我們上面所討論的,配備自注意力模塊的編碼器可以被視為一個(gè)美化的主干,它不是本研究的重點(diǎn)。 最有趣的部分發(fā)生在神經(jīng)注意域 (NEAT) 模塊中。對(duì)于給定的輸出位置(x,y),MLP用于將輸出位置和圖像特征作為輸入,生成與輸入特征圖像具有相同空間維度的注意力圖。然后使用注意力圖對(duì)原始圖像特征進(jìn)行點(diǎn)積,以生成給定輸出位置的目標(biāo) BEV 特征。如果我們遍歷所有可能的 BEV 網(wǎng)格位置,那么我們可以將 NEAT 模塊的輸出平鋪到 BEV 特征圖。 ![]() 這個(gè) NEAT 模塊與交叉注意力機(jī)制非常相似。主要區(qū)別在于 Q 和 K 之間的相似性測(cè)量步驟被 MLP 取代。我們?cè)谶@里忽略了其他一些次要細(xì)節(jié),例如 Softmax 操作和值 V 的線性投影。在數(shù)學(xué)上,我們有以下用于 MLP、交叉注意力和 NEAT 的公式。 ![]() Decoder部分還使用 MLP 生成查詢位置 (x, y) 的所需語義。如果我們將 NEAT 輸出平鋪到 BEV 特征圖中,MLP 將特定位置的特征和位置坐標(biāo)作為輸入,相當(dāng)于在 BEV 特征圖上進(jìn)行 1x1 卷積,將 (x, y) 連接到特征圖 . 此操作與 CoordConv(NeurIPS 2018) 非常相似。這是將 BEV 特征圖用于下游 BEV 感知任務(wù)的相當(dāng)標(biāo)準(zhǔn)的做法。我們甚至可以超越 1x1 卷積,通過堆疊 3x3 卷積進(jìn)一步提高性能,以增加 BEV 空間中的感受野。 總之,NEAT 使用交叉注意的變體(MLP 來代替相似性測(cè)量)將相機(jī)圖像提升到 BEV 空間。 STSU (ICCV 2021)STSU (Structured Bird’s-Eye-View Traffic Scene Understanding from Onboard Images, ICCV 2021) 遵循 DETR 的做法,使用稀疏查詢進(jìn)行對(duì)象檢測(cè)。STSU 不僅可以檢測(cè)動(dòng)態(tài)物體,還可以檢測(cè)靜態(tài)道路布局。由于作者相同,本文follow了 BEV Feature Stitching 。 ![]() STSU 使用兩組查詢向量,一組用于中心線,一組用于對(duì)象。最有趣的是它對(duì)結(jié)構(gòu)化道路布局的預(yù)測(cè)。車道分支包括幾個(gè)預(yù)測(cè)頭。
貝塞爾曲線非常適合中心線,因?yàn)樗试S我們使用固定數(shù)量的 2D 點(diǎn)對(duì)任意長度的曲線進(jìn)行建模。這也是這份工作取得如此大成就的原因之一。 DETR3D (CoRL 2021)DETR3D (3D Object Detection from Multi-view Images via 3D-to-2D Queries, CoRL 2021) 遵循 DETR 的做法,也使用稀疏查詢進(jìn)行對(duì)象檢測(cè)。與 STSU 類似,但 DETR3D 側(cè)重于動(dòng)態(tài)對(duì)象。查詢?cè)?BEV 空間中,它們使 DETR3D 能夠直接在 BEV 空間中操作預(yù)測(cè),而不是對(duì)圖像特征進(jìn)行密集轉(zhuǎn)換。 ![]() BEV 感知優(yōu)于 mono3D 的一個(gè)優(yōu)勢(shì)是在相機(jī)重疊區(qū)域,在該區(qū)域中,對(duì)象更有可能被相機(jī)視野裁剪。Mono3D 方法必須根據(jù)來自每個(gè)攝像機(jī)視點(diǎn)的有限信息來預(yù)測(cè)每個(gè)攝像機(jī)中的裁剪對(duì)象,并依靠全局 NMS 來抑制冗余框。DETR3D 專門評(píng)估了圖像邊界處的此類裁剪對(duì)象(約占整個(gè)數(shù)據(jù)集的 9%),發(fā)現(xiàn) DETR3D 比 mono3D 方法有顯著改進(jìn)。Tesla AI Day 也報(bào)道了這一點(diǎn)。 ![]() DETR3D 使用多種技巧來提高性能。首先是對(duì)象查詢的迭代細(xì)化。本質(zhì)上,BEV 中的 bbox 中心預(yù)測(cè)被重新投影回具有相機(jī)變換矩陣(內(nèi)部和外部)的圖像,并且對(duì)多相機(jī)圖像特征進(jìn)行采樣和集成以優(yōu)化查詢。這個(gè)過程可以重復(fù)多次以提高性能。第二個(gè)技巧是使用預(yù)訓(xùn)練的 mono3D 網(wǎng)絡(luò)主干來提高性能。對(duì)于基于 Transformers 的 BEV 感知網(wǎng)絡(luò),初始化似乎非常重要。 Translating Images into Maps (CVPR 2022)Translating Images into Maps 注意到,無論圖像像素的深度如何,圖像中的垂直掃描線(圖像列)與穿過 BEV 圖中相機(jī)位置的極光之間存在 1–1 的對(duì)應(yīng)關(guān)系。這類似于 OFT (BMVC 2019) 和 PyrOccNet (CVPR 2020) 的想法,其中 沿投射回 3D 空間的射線在像素位置涂抹特征。 ![]() 在列方向使用axial cross-attention Transformer,在行方向使用卷積,顯著節(jié)省了計(jì)算量。 Tesla的方法在 2021 年的 Tesla AI Day 上,Tesla 揭示了為 Tesla FSD 提供動(dòng)力的神經(jīng)網(wǎng)絡(luò)的許多復(fù)雜內(nèi)部工作原理。最有趣的構(gòu)建塊之一是一個(gè)被稱為“圖像到 BEV 變換 + 多相機(jī)融合”的構(gòu)建塊。這個(gè)塊的中心是一個(gè) Transformer 模塊,或者更具體地說,是一個(gè) cross-attention 模塊。 ![]() 雖然特斯拉提到他們用的是multi-headed self-attention,但是他描述的很明顯是一個(gè)cross-attention機(jī)制,而且他slides右邊的圖表也指向了原來的cross-attention block。 這個(gè)視圖轉(zhuǎn)換中最有趣的部分是 BEV 空間中的查詢。它是從 BEV 空間中的柵格(空白、預(yù)分配模板,如 DETR 中)生成的,并與位置編碼 (PE) 連接。還有一個(gè) Context Summary 與位置編碼拼貼。該圖沒有顯示上下文摘要是如何生成和與位置編碼一起使用的細(xì)節(jié),但我認(rèn)為有一個(gè)全局池可以折疊透視空間中的所有空間信息,還有一個(gè)平鋪操作可以將這個(gè) 1x1 張量平鋪在預(yù)定義的BEV 網(wǎng)格。 Transformers和MLP的對(duì)比在BEV任務(wù)中,Transformer和MLP是兩種常用的網(wǎng)絡(luò)結(jié)構(gòu)。它們都可以用于實(shí)現(xiàn)對(duì)BEV圖像的處理和特征提取,但具有不同的特點(diǎn)和適用場(chǎng)景。 Transformer是一種基于自注意力機(jī)制的網(wǎng)絡(luò)結(jié)構(gòu),旨在處理序列數(shù)據(jù),其主要優(yōu)點(diǎn)是能夠根據(jù)輸入數(shù)據(jù)的內(nèi)部關(guān)系來計(jì)算其特征表示。因此它非常適合處理具有明顯空間結(jié)構(gòu)的BEV圖像數(shù)據(jù)。Transformer模型通常由多個(gè)encoder和decoder模塊組成,每個(gè)模塊都包含了多頭自注意力和前向神經(jīng)網(wǎng)絡(luò)等子模塊,可以對(duì)輸入數(shù)據(jù)進(jìn)行有效地編碼和解碼。此外,Transformer還具有較高的并行性,能夠處理大規(guī)模的數(shù)據(jù)集。 MLP是多層感知機(jī)的縮寫,通常用于處理結(jié)構(gòu)化數(shù)據(jù)和圖像數(shù)據(jù)。它通過一系列全連接層對(duì)輸入數(shù)據(jù)進(jìn)行非線性變換和處理,從而得到高層次的特征表示。相比之下,MLP的結(jié)構(gòu)比較簡單,但通常具有更高的表達(dá)能力。在BEV圖像處理任務(wù)中,MLP可以作為特征提取器,從BEV圖像中提取出關(guān)鍵的特征,同時(shí)還可以與其他結(jié)構(gòu)(例如卷積層)結(jié)合使用,以更好地適應(yīng)不同的任務(wù)需求。 總的來說,Transformer適用于處理具有明顯空間結(jié)構(gòu)的BEV圖像數(shù)據(jù),而MLP適用于提取高層次特征并與其他結(jié)構(gòu)組合使用以適應(yīng)不同的任務(wù)需求。 對(duì)于BEV的展望隨著自動(dòng)駕駛技術(shù)的發(fā)展和普及,BEV(Bird's Eye View)將會(huì)變得越來越重要。BEV在自動(dòng)駕駛中的應(yīng)用將會(huì)越來越廣泛,成為一個(gè)核心技術(shù)之一。通過BEV,車輛可以全方位地觀察周圍環(huán)境,更為精準(zhǔn)地規(guī)劃路線和行駛路徑,并最終實(shí)現(xiàn)高度自動(dòng)駕駛。同時(shí),其精度和分辨率將會(huì)得到進(jìn)一步提高。通過不斷地改進(jìn)計(jì)算機(jī)視覺技術(shù)、圖像判斷技術(shù)和深度學(xué)習(xí)算法,BEV技術(shù)將會(huì)更加精細(xì)和高分辨,能夠提取更多的環(huán)境信息和細(xì)節(jié)。進(jìn)一步的, BEV的智能的解析和理解將會(huì)得到更好的支持。隨著自動(dòng)駕駛技術(shù)的發(fā)展,系統(tǒng)對(duì)于環(huán)境信息的解析和理解能力需要不斷提高。未來的BEV技術(shù)將會(huì)結(jié)合更多的智能科技,比如機(jī)器學(xué)習(xí)、人工智能等,以更好地理解和識(shí)別環(huán)境中的各種物體和障礙物。BEV技術(shù)的應(yīng)用場(chǎng)景將會(huì)越來越多樣化。BEV技術(shù)不僅可以應(yīng)用于自動(dòng)駕駛,還可以廣泛應(yīng)用于交通管制、城市管理、路況監(jiān)控等領(lǐng)域。例如,在城市管理中,BEV技術(shù)可以用來監(jiān)控城市道路建設(shè)和交通擁堵情況,為城市規(guī)劃和交通調(diào)控提供數(shù)據(jù)支持。 ABOUT 關(guān)于我們 深藍(lán)學(xué)院是專注于人工智能的在線教育平臺(tái),已有數(shù)萬名伙伴在深藍(lán)學(xué)院平臺(tái)學(xué)習(xí),很多都來自于國內(nèi)外知名院校,比如清華、北大等。 |
|