多任務(wù)新SOTA!InvPT++:用于視覺場景理解的倒金字塔Transformer
今天自動駕駛之心很榮幸邀請到小烏龜來分享多任務(wù)學(xué)習(xí)的最新進(jìn)展InvPT++:用于視覺場景理解的倒金字塔多任務(wù)Transformer,如果您有相關(guān)工作需要分享,請在文末聯(lián)系我們!
論文作者?|?Hanrong Ye
自動駕駛之心?·?特約解讀?| 小烏龜
編輯 | 自動駕駛之心
InvPT++:Inverted Pyramid Multi-Task Transformer for Visual Scene Understanding
多任務(wù)場景理解的目的是設(shè)計一個多功能的模型能夠同時預(yù)測多個場景理解任務(wù)。以前的研究通常以更局部的方式處理多任務(wù)特征,因此不能有效地學(xué)習(xí)空間上的全局和跨任務(wù)的相互作用,這阻礙了模型在多任務(wù)學(xué)習(xí)中充分利用各種任務(wù)的一致性的能力。為了解決這個問題,我們提出了Inverted Pyramid multi-task Transformer,能夠在全局范圍內(nèi)模擬不同任務(wù)的空間特征之間的跨任務(wù)互動。具體來說,我們首先利用一個transformer編碼器來捕捉所有任務(wù)的通用特征。然后,我們設(shè)計了一個transformer解碼器來建立全局的空間和跨任務(wù)互動,并設(shè)計了一個新穎的UP-Transformer塊來逐步提高多任務(wù)特征的分辨率,并建立不同尺度的跨任務(wù)互動。此外,還提出了兩類跨尺度的自我注意模塊,即融合性注意和選擇性注意,以有效地促進(jìn)不同特征尺度的跨任務(wù)互動。進(jìn)一步介紹了編碼器特征聚合策略,以便在解碼器中更好地模擬多尺度信息。在幾個二維/三維多任務(wù)基準(zhǔn)上的綜合實驗清楚地表明了我們建議的有效性,建立了顯著的最先進(jìn)的性能。這些代碼可在此公開獲取,Multi-Task-Transformer/InvPT at main · prismformore/Multi-Task-Transformer · GitHub。
1 介紹
多個相互關(guān)聯(lián)的任務(wù)的并發(fā)學(xué)習(xí)和推理是多任務(wù)場景理解的目標(biāo)[1]。這種技術(shù)適用于各種人工智能產(chǎn)品,包括機(jī)器人、自動駕駛汽車和增強(qiáng)現(xiàn)實(AR)頭盔。大部分的視覺場景理解任務(wù)(如分割、深度估計和物體檢測)需要對視覺場景進(jìn)行像素級的理解[2]。這些任務(wù)涉及到密集的預(yù)測,在像素級固有地?fù)碛邢喈?dāng)多的顯性和隱性關(guān)聯(lián)[3]。這些相關(guān)性,如果得到充分的利用,可以大大提升多任務(wù)模型的整體性能。此外,多個任務(wù)的同時學(xué)習(xí)和預(yù)測本身就比單獨訓(xùn)練和推斷幾個單任務(wù)模型的效率更高,因為各種任務(wù)可以共享許多網(wǎng)絡(luò)模塊。這樣的觀察引發(fā)了研究人員越來越多的興趣,他們從不同的角度開發(fā)先進(jìn)的多任務(wù)學(xué)習(xí)方法,旨在更有效地解決多任務(wù)場景理解的復(fù)雜性。
目前流行的多任務(wù)場景理解方法主要依賴于卷積神經(jīng)網(wǎng)絡(luò)(CNN),通過設(shè)計多任務(wù)優(yōu)化損失函數(shù)[4],以及創(chuàng)建[3]或探索[5]多任務(wù)網(wǎng)絡(luò)架構(gòu)取得了相當(dāng)大的進(jìn)展。雖然這些方法已經(jīng)顯示出令人鼓舞的結(jié)果,但它們?nèi)匀皇艿狡渖疃葘W(xué)習(xí)框架中廣泛采用的卷積核的內(nèi)在屬性的限制,即先前的工作[6]、[7]中討論的定位。這些核在相對本地化的感受野內(nèi)模擬基本的空間和任務(wù)相關(guān)的環(huán)境?;谧⒁饬Φ募夹g(shù)已經(jīng)被提出來解決這個限制[8], [9], [10], 但它們所促成的跨任務(wù)互動的范圍仍然很窄。因此,捕捉所有任務(wù)的全局依賴和關(guān)系,對于密集場景理解中的多任務(wù)學(xué)習(xí)至關(guān)重要,這仍然是一個開放的問題。
最近,人們引入了transformer模型來捕捉密集預(yù)測問題中的長距離空間關(guān)系[11],[12]。然而,這些模型主要集中在單一任務(wù)的學(xué)習(xí)設(shè)置上,沒有探索使用transformer對多個密集預(yù)測任務(wù)進(jìn)行聯(lián)合建模。開發(fā)一個統(tǒng)一的transformer框架,對空間和跨任務(wù)的相關(guān)性進(jìn)行全局建模,并不簡單,而且具有挑戰(zhàn)性?,F(xiàn)有的transformer在采用更高的特征分辨率時面臨困難,因為計算復(fù)雜度呈指數(shù)級增長,因此許多方法選擇大幅降低空間分辨率以減輕計算開銷[13]、[14]. 然而,這限制了密集預(yù)測任務(wù)的性能,這些任務(wù)的性能受模型生成的特征圖的分辨率影響很大。在我們工作的同時,一些研究已經(jīng)研究了多任務(wù)transformer [15], [16], [17]。然而,他們的注意力圖仍然擁有有限的上下文,并且缺乏對不同任務(wù)的特征之間的空間和跨任務(wù)互動的全局建模能力。
為了解決上述挑戰(zhàn),我們開發(fā)了一個創(chuàng)新的Inverted Pyramid Multitask Transformer框架,簡稱為 "InvPT++"。這個框架有效地模擬了空間和所有任務(wù)背景下的長距離依賴關(guān)系,同時以高分辨率學(xué)習(xí),為多任務(wù)密集場景的理解產(chǎn)生準(zhǔn)確的密集預(yù)測圖。InvPT++包括三個主要部分。作為模型的第一部分,InvPT++ transformer編碼器通過空間長距離關(guān)系建模從輸入圖像中導(dǎo)出通用視覺表征。隨后,一個配備了幾個創(chuàng)新的UP-Transformer模塊的InvPT++解碼器,以逐步提高的分辨率來完善多任務(wù)特征。更重要的是,它能夠捕捉全局和空間背景下不同規(guī)模的各種任務(wù)之間的跨任務(wù)互動。我們進(jìn)一步提出了一個跨尺度的自我關(guān)注,它能夠利用前一個transformer層的關(guān)注信息來幫助在當(dāng)前層的跨任務(wù)互動建模,在設(shè)計的UP-transformer塊中。我們開發(fā)了兩種類型的跨尺度自我關(guān)注:融合性注意和選擇性注意。融合性注意學(xué)習(xí)一對權(quán)重來融合來自上一層的注意信息和當(dāng)前層的注意分?jǐn)?shù)。不同的是,選擇性注意的設(shè)計是為了進(jìn)一步提高計算效率。它從原始標(biāo)記序列中選擇一個重要的標(biāo)記子集,在自我注意的計算中只采用這些重要的標(biāo)記。識別重要標(biāo)記的過程是由前一層的注意力得分來指導(dǎo)的。此外,我們設(shè)計了一個編碼器特征聚合(EFA)策略,通過納入從InvPT++編碼器獲得的多尺度特征來增強(qiáng)解碼器特征。在幾個常用的多任務(wù)密集場景理解基準(zhǔn)上,即PASCAL-Context、NYUD-v2、Cityscapes和Cityscapes-3D數(shù)據(jù)集上,InvPT++明顯優(yōu)于之前的最先進(jìn)方法。通過在這些競爭性基準(zhǔn)上的實驗結(jié)果,對所提出的模塊進(jìn)行了仔細(xì)檢查。
與我們之前的會議版本In vPT[18]相比,在本次工作中,我們進(jìn)一步在跨尺度自我注意模塊中引入了強(qiáng)大的選擇性注意策略,通過利用上一層的跨尺度注意信息,大大減少了自我注意模塊的冗余計算。選擇性注意機(jī)制使InvPT++在計算自我注意圖之前發(fā)現(xiàn)重要的標(biāo)記,并在自我注意計算中只使用重要的標(biāo)記。重要標(biāo)記的選擇實際上是由上一層的注意力信息引導(dǎo)的。這一創(chuàng)新使InvPT++明顯地超過了InvPT,同時在transformer解碼器中使用的FLOPs減少了22.51%。我們通過考慮兩個新的和更具挑戰(zhàn)性的二維/三維多任務(wù)場景理解基準(zhǔn),即Cityscapes[19]和Cityscapes-3D[20]數(shù)據(jù)集,有效地擴(kuò)展了我們的實驗,以研究InvPT++的有效性。實驗中進(jìn)一步提供了定性和定量方面的實質(zhì)性結(jié)果和分析。
這項工作的貢獻(xiàn)有三個方面:
我們提出了一個強(qiáng)大的transformer模型 "InvPT++",它是為多任務(wù)視覺場景理解而設(shè)計的。據(jù)我們所知,這是第一個多任務(wù)深度框架,在跨任務(wù)互動的建模中實現(xiàn)了空間上的全局背景,使各任務(wù)能夠在一個單一模型中相互加強(qiáng)學(xué)習(xí)。
我們開發(fā)了一個UP-Transformer模塊,它有效地促進(jìn)了跨任務(wù)互動和多任務(wù)特征的多尺度學(xué)習(xí)。通過堆疊多個UP-Transformer模塊,我們構(gòu)建了InvPT++解碼器,可以為不同任務(wù)生成高分辨率的特定任務(wù)特征。
在UP-Transformer塊內(nèi),我們提出了兩種類型的跨尺度自我注意模塊:融合性注意和選擇性注意。它們都有助于通過在不同尺度上傳遞注意力信息來模擬跨任務(wù)的互動。我們進(jìn)一步設(shè)計了一種編碼器特征聚合方法,以幫助在多任務(wù)解碼器中學(xué)習(xí)多尺度特征。
所提出的InvPT++的不同組件的有效性得到了廣泛的驗證,InvPT++也在幾個主要的2D/3D多任務(wù)密集場景理解基準(zhǔn)上產(chǎn)生了新的最先進(jìn)的性能,包括PASCAL-Context、NYUD-v2、Cityscapes和Cityscapes-3D數(shù)據(jù)集。本文的其余部分組織如下:第2節(jié)回顧了相關(guān)領(lǐng)域的文獻(xiàn)。第3節(jié)詳細(xì)介紹了擬議的InvPT++中的不同模塊。第4節(jié)展示了我們的實驗結(jié)果,以驗證我們建議的有效性。第5節(jié)是本文的結(jié)論。
2 相關(guān)工作
最相關(guān)的工作被組織成兩個方面,即密集場景理解的多任務(wù)學(xué)習(xí),以及視覺變換。
密集場景理解的多任務(wù)學(xué)習(xí)
與單任務(wù)學(xué)習(xí)相比,多任務(wù)學(xué)習(xí)有兩方面的優(yōu)勢:(i)首先,在一個模型中聯(lián)合學(xué)習(xí)多個任務(wù)自然比用不同的模型分別學(xué)習(xí)任務(wù)更有效率,因為不同的任務(wù)可以共享一些由任務(wù)共享網(wǎng)絡(luò)模塊捕獲的共同信息。(ii)其次,由于不同的任務(wù)可以通過信息互補(bǔ)來互相幫助,因此通過適當(dāng)?shù)亩嗳蝿?wù)模型的設(shè)計,它們可以勝過單任務(wù)模型。鑒于不同的密集場景理解任務(wù)之間共享的顯著共性,多任務(wù)學(xué)習(xí)的優(yōu)勢激發(fā)了該領(lǐng)域的大量研究。
現(xiàn)有的深度多任務(wù)學(xué)習(xí)方法探索了兩個不同的方向,即基于優(yōu)化和基于架構(gòu)?;趦?yōu)化的方法專注于加強(qiáng)多任務(wù)優(yōu)化過程,通常是通過為不同任務(wù)的損失函數(shù)和梯度設(shè)計多任務(wù)平衡技術(shù)[4], [21], [22], 或者通過CON TRAStive Learning regularization loss[23], [24]來強(qiáng)制執(zhí)行跨任務(wù)一致性。相反,基于架構(gòu)的方法主要側(cè)重于開發(fā)有效的多任務(wù)模型架構(gòu),要么貫穿整個深度模型[25],[25],[26],[27],[28],要么專門在解碼器階段[3],[8],[9],[18],[29],[30]。
在多任務(wù)密集場景理解領(lǐng)域已經(jīng)有了重大的發(fā)展,先驅(qū)性的研究[2]、[3]、[4]、[25]、[27]、[31]、[32]證明了這一點。為了設(shè)計更好的多任務(wù)模型架構(gòu),PAD-Net[3]提出了一個有效的跨任務(wù)交互模塊,名為 "多模式蒸餾",實現(xiàn)了跨任務(wù)信息融合。MTI-Net[30]通過加入多尺度建模策略改進(jìn)了PAD-Net,進(jìn)一步提升了性能。然而,由于在跨任務(wù)交互模塊中使用了CNN,這些工作只能以高度空間局部的方式建立跨任務(wù)關(guān)系模型。因此,一些研究人員轉(zhuǎn)向自我注意[33]來為跨任務(wù)交互建模。[29]、[8]和[9]開發(fā)了基于空間全局或局部注意力的方法來學(xué)習(xí)每個任務(wù)的特定表征,然后將這些特征傳播到各個任務(wù)中。然而,這些工作仍然是在局部背景下對跨任務(wù)互動進(jìn)行建模,這阻礙了多任務(wù)模型的進(jìn)一步改進(jìn)。
一些同時進(jìn)行的工作在多任務(wù)模型中加入了自我注意。ATRC[10]利用神經(jīng)結(jié)構(gòu)搜索技術(shù),為單個任務(wù)確定合適的注意力類型。然而,它在捕捉包含所有任務(wù)的全局背景方面存在不足。MTFormer[16]和MQTransformer[17]開發(fā)了不同的跨任務(wù)信息融合模塊,然而多任務(wù)信息不能在空間上的全局背景下相互作用。與MTAN[26]類似,MulT[15]的特定任務(wù)模塊直接查詢?nèi)蝿?wù)共享的骨干特征,以獲得特定的任務(wù)特征,但無法對跨任務(wù)的互動進(jìn)行建模。MultiMAE[34]學(xué)習(xí)了一個通用的骨干模型,但需要在每個單一任務(wù)上進(jìn)行微調(diào),這使得它基本上是一系列的單任務(wù)模型,而不是一個多任務(wù)模型。與這些關(guān)于多任務(wù)學(xué)習(xí)的研究不同,我們在本文中引入了一個新的transformer框架,促進(jìn)了不同任務(wù)特征之間的空間全局互動,這對多任務(wù)模型的性能有關(guān)鍵影響。
視覺變換
視覺變換的研究是一個蓬勃發(fā)展的研究領(lǐng)域。transformer最初是為NLP任務(wù)設(shè)計的[33],現(xiàn)在已經(jīng)廣泛用于計算機(jī)問題的研究[13], [35], [36],包括多模態(tài)學(xué)習(xí)[37], [38], 2D [13], [39], [40], [41], [42], [43]和3D任務(wù)[44], [45], [46]。關(guān)于視覺變換的架構(gòu)設(shè)計,以前的工作可以分為幾類:(一)利用有用的歸納偏見與自我注意。例如,Swin Transformer[47]提出在移位窗口的基礎(chǔ)上計算局部注意而不是全局注意,以提高計算效率。Focal Transformer[48]在定義自我注意的上下文時采用了多粒度策略,其動機(jī)是認(rèn)為相鄰的區(qū)域更重要。這有助于減少注意力地圖的大小,提高計算效率。(二) 將變壓器與CNN結(jié)合起來[14], [49], [50]. BOTNet[49]在ResNet的一些層中嵌入了一個特殊的多頭自我注意模塊。PVT[14]和CVT[50]則相反,用CNN改進(jìn)變壓器結(jié)構(gòu),以提高性能和效率。(iii) 發(fā)明變壓器的特殊訓(xùn)練技術(shù)。例如,DEIT[51]為知識提煉設(shè)計了一個特殊的可學(xué)習(xí)標(biāo)記,這使得從預(yù)訓(xùn)練的CNN學(xué)習(xí)成為可能。DRLOC[52]利用了一個輔助任務(wù)來幫助transformer學(xué)習(xí)標(biāo)記的相對位置。DPT[11]提出了一個為密集預(yù)測任務(wù)設(shè)計的transformer,利用轉(zhuǎn)置的卷積層來獲得高分辨率的特征圖。HRFormer[12]通過使用局部注意來減少開銷,在模型的不同層中保持多尺度特征。
根據(jù)我們的調(diào)查,本研究是第一個使用統(tǒng)一的transformer模型在多尺度的空間全局背景下同時對所有任務(wù)的互動進(jìn)行建模,用于多任務(wù)場景理解,這有助于它在幾個基準(zhǔn)上大大超越以前的方法。
3 方法
3.1架構(gòu)綜述
圖2描述了擬議的InvPT++的整體框架概況。它可以分為三個部分:一個任務(wù)通用的InvPT++ transformer編碼器,幾個特定任務(wù)的初步解碼器,以及一個InvPT++ transformer解碼器。transformer編碼器為所有任務(wù)所共享,從同一輸入圖像中獲取任務(wù)共享的特征。之后,初步解碼器為所有任務(wù)提取特定的任務(wù)特征,用于計算初步預(yù)測。初步預(yù)測是通過任務(wù)標(biāo)簽和損失函數(shù)學(xué)習(xí)的。對于每個任務(wù),相應(yīng)的特定任務(wù)特征和初步預(yù)測在信道維度上被串聯(lián)起來,形成后續(xù)InvPT++解碼器的輸入。InvPT++解碼器被設(shè)計為以空間上的全局方式對所有任務(wù)的互動進(jìn)行建模,并完善所有任務(wù)的特定特征。然后,特定任務(wù)的線性投影層從細(xì)化的特定任務(wù)特征中計算出最終預(yù)測結(jié)果。以下各節(jié)將對這些模塊進(jìn)行詳細(xì)描述。

3.2 InvPT++編碼器
InvPT++編碼器是一個transformer編碼器,旨在提取給定圖像的通用任務(wù)共享特征。在每個transformer層中,自我注意模塊通過對不同空間位置之間的長距離空間依賴性進(jìn)行建模,協(xié)助學(xué)習(xí)全局特征表示。編碼器產(chǎn)生一個特征序列,然后被重塑為一個空間特征圖。特征圖的形狀是x,其中和分別代表特征圖的高度和寬度。假設(shè)我們學(xué)習(xí)了T個任務(wù),那么從編碼器得到的任務(wù)-通用特征就會被傳遞給T個初步解碼器來生成相應(yīng)的T個特征圖。在實驗中,我們探索了不同的編碼器選擇,例如帶有全局注意力的ViT[13],以及帶有窗口注意力的Swin Transformer[47]。

3.3 特定任務(wù)的初步解碼器
特定任務(wù)的初步解碼器的功能是為不同的任務(wù)產(chǎn)生特定的特征和粗略的預(yù)測。為了實現(xiàn)這一目標(biāo),我們構(gòu)建了一個基本單元,由一個帶有3×3核的卷積層、一個批量歸一化操作和一個ReLU組成,記為 "Conv-BN-ReLU"。每個任務(wù)的初步解碼器由兩個Conv-BN-ReLU單元組成。它接受編碼器的特征作為輸入,并為相應(yīng)的任務(wù)提供特定的任務(wù)特征。
假設(shè)有T個任務(wù)需要學(xué)習(xí),初步解碼器產(chǎn)生的特定任務(wù)特征表示為, t∈[1, T]。第t個任務(wù)的初步預(yù)測是通過對相應(yīng)的特定任務(wù)特征進(jìn)行特定任務(wù)的1×1卷積實現(xiàn)的。初步預(yù)測是在監(jiān)督下通過損失函數(shù)從真值任務(wù)標(biāo)簽中學(xué)習(xí)的。
接下來,我們將和整合到通道維度上。得到的張量由線性投影層處理,使通道維度與對齊,產(chǎn)生組合的特定任務(wù)特征。然后,我們將所有合并的特定任務(wù)特征,

3.4InvPT++解碼器的結(jié)構(gòu)

解碼器在InvPT++中起著至關(guān)重要的作用,促進(jìn)不同任務(wù)之間的有效協(xié)作。我們對InvPT++ transformer解碼器構(gòu)建塊的設(shè)計是出于三個關(guān)鍵考慮:
(i) 在空間全局背景下建立所有任務(wù)特征之間的互動,對于促進(jìn)多任務(wù)模型中的任務(wù)協(xié)同至關(guān)重要,從而顯著提高其性能。
(ii) 許多視覺變換 [13], [14], [50]傾向于大幅降低特征圖的分辨率,因為在高空間分辨率下,長距離自我注意的計算成本過高。然而,特征圖的分辨率對于像素級的預(yù)測任務(wù)至關(guān)重要,因為細(xì)粒度的任務(wù)標(biāo)簽值是分配給每個像素的[53]。因此,我們希望在更高的分辨率下完善多任務(wù)特征。
(iii) 各種任務(wù)都需要對視覺信息有不同的看法。采用多尺度表示法被證明是非常有利的,因為它提供了對各種任務(wù)的整體理解[12], [30]。
考慮到這些動機(jī),我們設(shè)計了一個transformer解碼器來逐步擴(kuò)大特征分辨率,稱為 "InvPT++解碼器"。圖3描述了InvPT++解碼器的結(jié)構(gòu)。擬議的InvPT++解碼器由三個階段組成,每個階段都有一個精心設(shè)計的transformer塊,以促進(jìn)不同空間分辨率下的跨任務(wù)互動。在InvPT++解碼器的第一階段(即s=0),我們在編碼器的輸出分辨率,即x,建立跨任務(wù)互動并完善多任務(wù)特征。在第二和第三階段(即s=1,2),我們設(shè)計了一個 "UP-Transformer塊 "來逐步提高特征分辨率,并在更高的尺度上實現(xiàn)跨任務(wù)交互。我們設(shè)計了一個跨尺度的自我注意模塊,通過連接來自不同尺度的注意信息來促進(jìn)跨任務(wù)互動的建模,并進(jìn)一步開發(fā)了編碼器特征聚合的方法來幫助學(xué)習(xí)多尺度表征。

擬議的InvPT++解碼器為所有任務(wù)輸出精煉的任務(wù)特征。它結(jié)合了來自不同解碼器階段的特征,以納入多尺度信息。具體來說,它從InvPT++解碼器不同階段的輸出中獲得標(biāo)記序列,隨后將其重塑為空間特征圖。它使用雙線性插值對來自不同階段的特征圖的分辨率進(jìn)行調(diào)整,并采用線性投影層來匹配通道號碼,然后以元素方式對特征圖進(jìn)行求和。合并后的特征圖再被送入Conv-BN-ReLU單元,以生成最終的T精煉任務(wù)特征。
3.5 UP-Transformer Block
UP-Transformer塊作為InvPT++解碼器的一個關(guān)鍵構(gòu)件。它被設(shè)計為逐步對多任務(wù)標(biāo)記序列進(jìn)行上采樣,同時促進(jìn)跨任務(wù)互動,通過空間上的全局長距離互動來完善所有任務(wù)的特征。圖4說明了UP-Transformer塊的結(jié)構(gòu)。它被用于InvPT++解碼器的第二和第三階段(即s = 1, 2)。
3.5.1 Reshape & Up:多任務(wù)特征上采樣
為了在更高的分辨率下細(xì)化任務(wù)特征,UP-Transformer中考慮了上采樣。然而,直接插值二維標(biāo)記序列會破壞特征的空間結(jié)構(gòu),然而這對于密集的場景理解問題是至關(guān)重要的。因此,我們設(shè)計了一個塊來重塑和上采樣多任務(wù)標(biāo)記序列,稱為重塑和上采樣模塊,如圖5



3.5.2 跨任務(wù)互動的空間全局建模
在自我注意區(qū)塊中,我們的目標(biāo)是建立空間上的全局跨任務(wù)互動。我們利用自我注意機(jī)制,從所有任務(wù)的特征中建立每對標(biāo)記之間的關(guān)系。然而,直接計算基于高分辨率多任務(wù)標(biāo)記序列F_s^'的自我注意圖會導(dǎo)致過大的內(nèi)存占用。因此,我們在將F_s^'輸入到InvPT++解碼器的所有轉(zhuǎn)換塊的自我注意模塊之前對其進(jìn)行了下采樣。具體來說,F(xiàn)_s^'最初被分割并重塑為T



隨后,我們可以用和計算出自我關(guān)注的分?jǐn)?shù)矩陣:


由于多尺度信息對視覺理解任務(wù)很重要[30],我們通過設(shè)計一個跨尺度的自我注意模塊來改進(jìn)自我注意模塊,該模塊將前一層的注意信息整合到當(dāng)前層的自我注意模塊中。接下來的部分將詳細(xì)討論該模塊。
3.6 跨尺度的自我關(guān)注:融合性注意和選擇性注意
如圖4所示,為了促進(jìn)不同尺度的多尺度特征的跨任務(wù)交互模式,我們在UP-Transformer塊中提出了一個特殊的自我注意模塊,名為跨尺度自我注意。跨尺度自我注意機(jī)制將前一階段的注意信息傳遞給當(dāng)前階段,以幫助跨尺度信息的跨任務(wù)交互學(xué)習(xí)。

我們開發(fā)了兩種不同類型的跨尺度自我注意機(jī)制,即融合注意和選擇性注意,如圖6所示。這兩種機(jī)制在利用前一層的注意信息方面有所不同。實質(zhì)上,融合性注意采用線性組合來合并前一階段的注意信息和當(dāng)前階段的注意分?jǐn)?shù),而選擇性注意則是在前一階段的注意信息指導(dǎo)下,引入了一種更有效率和效果的跨任務(wù)互動學(xué)習(xí)策略。我們將在以下章節(jié)中介紹這兩種變體。

3.6.1 融合注意力


在這里,函數(shù)對綜合注意力得分矩陣進(jìn)行了逐行的softmax 操作到綜合注意得分矩陣。

3.6.2 選擇性注意力






在InvPT++中,我們傾向于將選擇性注意作為標(biāo)準(zhǔn)的跨尺度自我注意方法,因為它的效率和效果都很好。這些優(yōu)點在實驗部分得到了進(jìn)一步證實。
3.6.3 編碼器特征聚合
不同的場景理解任務(wù)依賴于不同層次的視覺信息。有些任務(wù),如物體邊界檢測,需要對圖像進(jìn)行基本的語義理解,而其他任務(wù),如語義分割和人類解析,則需要更高層次的視覺表示。因此,學(xué)習(xí)不同規(guī)模的特征在為多任務(wù)預(yù)測提供全面信息方面起著關(guān)鍵作用。在這個動機(jī)下,我們引入了一種有效的編碼器特征聚合方法,將編碼器的多尺度特征整合到相應(yīng)

4 實驗
在實驗部分,我們的目標(biāo)是提出全面的實驗結(jié)果,評估我們提出的方法的功效。
4.1 實驗執(zhí)行
4.1.1 數(shù)據(jù)集
為了評估我們的方法,我們使用了四個被廣泛認(rèn)可的多任務(wù)學(xué)習(xí)的基準(zhǔn),包括PASCAL-Context[55], [56], NYUD-v2[57], Cityscapes[19], 和Cityscapes-3D[20]數(shù)據(jù)集。PASCAL-Context數(shù)據(jù)集包括4,998個訓(xùn)練樣本和5,105個測試樣本,以各種基本的視覺理解任務(wù)的標(biāo)簽為特征,例如,語義分割(Semseg),人類解析(Parsing)和物體邊界檢測(Boundary)。早期的多任務(wù)學(xué)習(xí)工作為另外兩個任務(wù)生成了偽標(biāo)簽[2]:表面法線估計(Normal)和顯著性檢測(Saliency)。NYUD-v2數(shù)據(jù)集包含1449個訓(xùn)練樣本和795個測試樣本,為Semseg和Depth提供標(biāo)簽。正常和邊界的標(biāo)簽可以從這些注釋中得到。我們使用這些數(shù)據(jù)集中的所有任務(wù)來評估我們的方法。城市景觀數(shù)據(jù)集包括不同城市的街道圖像,提供Semseg和Depth的像素標(biāo)簽。該數(shù)據(jù)集由2975張訓(xùn)練圖像和500張帶有精細(xì)注釋的驗證圖像組成。Cityscapes-3D數(shù)據(jù)集進(jìn)一步提供了Cityscapes圖像中各種車輛的3D邊界框,使我們能夠?qū)?D物體檢測(3Ddet)、Semseg和Depth進(jìn)行聯(lián)合學(xué)習(xí)。
4.1.2 評價


4.1.3 實現(xiàn)細(xì)節(jié)
對于模型訓(xùn)練,我們遵循InvPT[18]的設(shè)置,使用Adam優(yōu)化器來訓(xùn)練模型。訓(xùn)練迭代次數(shù)和批次大小分別為40,000和4。我們采用多項式學(xué)習(xí)率調(diào)度器,使用2×10-5的學(xué)習(xí)率和1×10-6的權(quán)重衰減率。我們采用MTI-Net[30]中不同任務(wù)的損失函數(shù)的設(shè)計,并使用相同的損失權(quán)重。在ImageNet-22K[59]上預(yù)訓(xùn)練的Swin-T transformer [47]被認(rèn)為是我們消融研究的編碼器。初步解碼器的輸出通道數(shù)為768。在Cityscapes的實驗中,我們采用ViT-B[13]作為編碼器,并以8個批次的大小對模型進(jìn)行訓(xùn)練。對于Cityscapes-3D的實驗,由于3D檢測的分辨率要求較高,為768×1536,因此采用Swin-T作為編碼器,并以2個批次的大小對其進(jìn)行40,000次的訓(xùn)練。對于3Ddet,我們采用FCOS-3D[60]的最終預(yù)測頭來估計位置坐標(biāo)、旋轉(zhuǎn)角度、尺寸、物體類別、中心度和方向分類。要全面了解三維檢測預(yù)測頭,請參見FCOS-3D論文,以了解更多細(xì)節(jié)。
4.1.4 編碼器特征聚合的實現(xiàn)
我們的編碼器特征聚合模塊的設(shè)計是針對各種編碼器架構(gòu)的不同屬性而設(shè)計的。對于具有明確定義的分層結(jié)構(gòu)的編碼器模型,如Swin Transformer[47],我們可以直接將其編碼器的標(biāo)記序列從不同階段送入InvPT++解碼器。
相反,對于在所有層中表現(xiàn)出統(tǒng)一結(jié)構(gòu)的模型,如ViT[13],我們采取了不同的方法。在這里,我們從不同的層中手動選擇統(tǒng)一分布的標(biāo)記序列。然后,這些被選中的標(biāo)記序列被重塑為空間地圖,并通過轉(zhuǎn)置的卷積層。這種操作使這些序列的空間分辨率與目標(biāo)階段的解碼器特征相一致。
具體來說,在ViT-B模型中,總共有12層,我們選擇使用編碼器的第三、第六和第九層的特征。對于有24層的ViT-L模型,我們利用編碼器第六層、第十二層和第十八層的特征。對于第一個尺度的特征圖,我們采用了核大小為2、跨度為2的轉(zhuǎn)置卷積。對于第二個尺度的特征圖,我們采用了核大小為4、跨度為4的方法。
4.1.5 關(guān)于InvPT++解碼器中的QKV的詳細(xì)信息
正如方法部分所介紹的,查詢Q、密鑰K和值V張量在InvPT++解碼器的不同階段有不同的形狀。我們在表1中提供了關(guān)于其形狀的更多細(xì)節(jié)。符號的定義見第3節(jié)。
4.1.6 模型優(yōu)化
在NYUD-v2和PASCAL-Context數(shù)據(jù)集的實驗中,我們總共考慮了六個密集預(yù)測任務(wù),即Segseg、深度、正常、解析、Saliency和邊界。對于連續(xù)回歸任務(wù)(即深度和正常),我們采用了L1損失。對于離散分類任務(wù)(即Semseg、Parsing、Saliency和Boundary),我們采用了交叉熵?fù)p失。為了保持簡單性,我們對中間監(jiān)督和最終監(jiān)督都采用同一套損失函數(shù)。整個模型可以進(jìn)行端到端的優(yōu)化。在城市景觀的實驗中,我們對Semseg采用交叉熵?fù)p失,對深度采用L1損失。對于三維物體檢測,我們采用了FCOS-3D[60]中描述的損失函數(shù)組合。


4.1.7 數(shù)據(jù)預(yù)處理
我們采用與[10]相同的數(shù)據(jù)預(yù)處理方法。在PASCAL-Context上,圖像被填充成512×512的大小,而在NYUD-v2上,輸入的圖像被隨機(jī)裁剪成448×576,因為Swin Transformer[47]需要均勻的高度和寬度尺寸進(jìn)行補(bǔ)丁合并。常見的數(shù)據(jù)增強(qiáng)方法,如隨機(jī)縮放、裁剪、水平翻轉(zhuǎn)和顏色抖動,都被采用。在城市景觀的實驗中,我們堅持UR[61]的數(shù)據(jù)預(yù)處理方法。我們使用7類Semseg注釋,并將圖像分辨率設(shè)置為128×256。利用了隨機(jī)翻轉(zhuǎn)和隨機(jī)縮放的數(shù)據(jù)增強(qiáng)方法。在Cityscapes-3D的實驗中,我們使用19類Semseg注釋,并將圖像分辨率設(shè)置為768 × 1536。數(shù)據(jù)增強(qiáng)方法不適用于Cityscapes-3D。
4.2 模型分析
4.2.1 基線和模型變量
我們建立了一系列的模型基線和變體來驗證所提出的InvPT++的不同組成部分,如表4所示。模型變體的說明如下:(i) InvPT++基線(MT)代表一個穩(wěn)健的多任務(wù)模型。它采用Swin-T作為transformer編碼器,并利用2個具有3×3內(nèi)核大小的Conv-BN-ReLU單元作為每個任務(wù)的特定解碼器,這與我們方法中使用的初步解碼器相同。編碼器特征圖在解碼器之前被上采樣8次,用于更細(xì)粒度的預(yù)測,使用多尺度特征聚合策略來進(jìn)一步提高性能,與以前的工作中的多任務(wù)基線相似[10],[30]。(ii) InvPT++基線(ST)是一個單任務(wù)模式的集合,其結(jié)構(gòu)類似于InvPT++基線(MT)。(iii) InvPT++ w/ UTB將UP-Transformer塊納入InvPT++基線(MT)。(iv) InvPT++ w/ UTB + FA進(jìn)一步實現(xiàn)了融合注意(FA)的注意信息傳遞。(v) InvPT++ w/ UTB + FA + EFA引入了編碼器特征聚合。


4.2.2 InvPT++解碼器的消融研究
我們在PASCAL-Context和NYUD-v2上進(jìn)行了一系列的實驗,以驗證InvPT++不同模塊的功效,特別是在解碼器方面,結(jié)果見表4。根據(jù)實驗結(jié)果,我們發(fā)現(xiàn),作為核心貢獻(xiàn)的UP-Transformer Block(UTB),在NYUD-v2數(shù)據(jù)集上,對Semseg的性能提高了2.12,對深度的性能提高了0.0707,對普通的性能提高了0.42。引入融合注意(FA)版本的跨尺度自我注意,使性能得到明顯的改善,并通過應(yīng)用所提出的編碼器特征聚合(EFA)進(jìn)一步提升。

為了對照單任務(wù)基線,我們在兩個數(shù)據(jù)集上將我們的模型與它的單任務(wù)等價物(稱為 "InvPT基線(ST)")進(jìn)行比較,如表4所示。與單任務(wù)變體相比,我們的模型表現(xiàn)出大幅度的性能提升,在NYUD-v2上實現(xiàn)了2.59%的多任務(wù)增益,在PASCAL-Context上實現(xiàn)了1.76%的多任務(wù)增益。
為了評估所設(shè)計的選擇性注意和融合性注意在跨尺度自我注意中的有效性和效率,我們用InvPT++的一個較大的ViT-L編碼器變體來實現(xiàn)它們,并在表2(PASCAL-Context)和表3(NYUD-v2)中展示了結(jié)果。默認(rèn)情況下,我們在選擇性關(guān)注中保留前50%的關(guān)鍵標(biāo)記。選擇性注意在所有的任務(wù)中都取得了更好的性能,同時使用的FLOPs也少得多。因此,我們選擇選擇性關(guān)注作為InvPT++的默認(rèn)選項。
此外,我們研究了在選擇性注意中改變所選關(guān)鍵標(biāo)記的比例對性能的影響。我們進(jìn)行了保留25%、50%和75%的關(guān)鍵標(biāo)記的實驗,結(jié)果見表5。我們觀察到,保持較高比例的標(biāo)記往往會產(chǎn)生更好的性能,盡管它增加了計算成本。


4.2.3 InvPT++編碼器的消融研究
我們在本節(jié)中考察了InvPT++編碼器的影響。我們采用兩類transformer編碼器,即Swin Transformer(Swin-T、Swin-B和Swin-L)[47]和ViT(ViT-B和ViT-L)[13],作為我們的InvPT++ transformer編碼器。PASCAL-Context的結(jié)果列于表6,而NYUD-v2的結(jié)果列于表7。我們注意到,在同一模型系列中,具有較高容量的模型在Semseg和Parsing等任務(wù)上通常會取得一致的性能改進(jìn)。然而,對于其他較低級別的任務(wù)(如邊界),這種提高并不明顯。對于這種性能提升的差異,一個可能的解釋是訓(xùn)練期間的任務(wù)競爭問題,正如以前的研究[4], [62]中所討論的那樣。


4.2.4 不同級數(shù)的消融研究
我們的方法中的UP-Transformer塊一般包括三個階段。在圖10中,我們展示了在PASCAL-Context數(shù)據(jù)集中,改變InvPT++解碼器的級數(shù)對不同任務(wù)性能的影響。該模型使用了ViT-L編碼器。我們觀察到,采用額外的階段增強(qiáng)了InvPT++解碼器在所有任務(wù)中產(chǎn)生更好預(yù)測的能力。這是由于我們的InvPT++解碼器可以在更高的分辨率下對跨任務(wù)的互動進(jìn)行建模,因為階段的數(shù)量增加。
4.2.5 通過InvPT++實現(xiàn)學(xué)習(xí)特征的可視化
我們在圖9中提供了從transformer基線(即 "InvPT++基線(MT)")和我們的InvPT++模型學(xué)到的最終特征的可視化。它進(jìn)一步說明了我們提出的InvPT++模型如何提高了特征的質(zhì)量。在PASCAL-Context數(shù)據(jù)集和Cityscapes數(shù)據(jù)集的測試分割中,使用t-SNE[63]對每類1000個隨機(jī)選擇的樣本中的所有20個語義類的學(xué)習(xí)特征點的統(tǒng)計數(shù)據(jù)進(jìn)行了可視化。很明顯,我們的模型有助于學(xué)習(xí)更多的鑒別性特征,從而導(dǎo)致更高的定量結(jié)果。此外,生成的用于語義分割的特定任務(wù)特征圖也得到了直觀的改善。


4.2.6 初步預(yù)測和最終預(yù)測的可視化
圖8展示了InvPT++在PASCAL-Context上產(chǎn)生的初步預(yù)測和最終預(yù)測的定性比較。我們可以看到,InvPT++解碼器有效地完善了初步預(yù)測,使所有密集預(yù)測任務(wù)的結(jié)果都得到了顯著改善。這進(jìn)一步驗證了精心設(shè)計的InvPT++解碼器的有效性。
4.3 最先進(jìn)的比較
為了展示所提出的InvPT++模型在多任務(wù)場景理解上的出色表現(xiàn),我們將其與許多最先進(jìn)的方法進(jìn)行了比較。表8提供了擬議的InvPT++方法與現(xiàn)有的最先進(jìn)的技術(shù)之間的比較,包括PAD-Net[3]、MTI-Net[30]、ATRC[10],以及在NYUD-v2和PASCAL-Context數(shù)據(jù)集上基于transformer的MQTransformer[17]。InvPT++在這兩個基準(zhǔn)的所有9個任務(wù)指標(biāo)上一直超過其他方法,特別是在更高層次的場景理解任務(wù)上,如Semseg和Parsing上表現(xiàn)出色。值得注意的是,在NYUD-v2上,我們的InvPT++在Semseg上超過了MQTransformer+4.67(mIoU),而在PASCAL-Context上,InvPT++在Semseg和Parsing上分別比MQTransformer多了+8.97(mIoU)和+9.01(mIoU)。我們用ViT-L主干實現(xiàn)了ATRC、MTI-Net和PAD-Net,并在表11中與我們的InvPT++進(jìn)行比較。我們?nèi)匀豢梢杂^察到,InvPT++在所有任務(wù)中的表現(xiàn)始終優(yōu)于其他的任務(wù),同時消耗的計算成本也降低了,這為其卓越的有效性提供了有力的證據(jù)。我們在圖12(針對PASCAL-Context)和圖11(針對NYUD-v2)中進(jìn)一步說明了我們的模型和競爭性ATRC[10]產(chǎn)生的多任務(wù)預(yù)測。視覺效果清楚地表明,InvPT++產(chǎn)生的輸出結(jié)果明顯更精細(xì)。定性和定量的結(jié)果都證明了我們方法的優(yōu)越性。
為了進(jìn)一步評估InvPT++的有效性,我們調(diào)查了它在另一個流行基準(zhǔn)上的表現(xiàn):Cityscapes。我們在Cityscapes上實現(xiàn)了PAD-Net和MTI-Net,并將InvPT++與幾種方法進(jìn)行比較,包括UR[61]、MTAN[26]和XTC[24]。結(jié)果顯示在表9中。InvPT++取得了最好的性能,進(jìn)一步證明了我們建議的有效性。
我們還在Cityscapes-3D基準(zhǔn)上實現(xiàn)了InvPT++,它需要同時學(xué)習(xí)語義分割、三維物體檢測和深度估計。為了比較,我們構(gòu)建了一個強(qiáng)大的基線模型,使用Swin-T作為編碼器,兩個Conv-BN-ReLU單元作為特定任務(wù)的解碼器,以及FCOS-3D[60]作為三維檢測頭。結(jié)果列于表10。InvPT++在所有任務(wù)中都超過了基線。此外,我們在圖7中展示了在Cityscapes-3D數(shù)據(jù)集上生成的結(jié)果,這表明InvPT++可以同時為2D和3D任務(wù)生成高質(zhì)量的預(yù)測。
4.3.1 歸納性能
我們進(jìn)一步研究了我們的模型在適應(yīng)不同數(shù)據(jù)分布的能力方面的表現(xiàn)。我們使用PASCAL Context數(shù)據(jù)集的訓(xùn)練分割來訓(xùn)練我們的模型,隨后在DAVIS數(shù)據(jù)集上生成多任務(wù)預(yù)測。我們的方法與PAD-Net和ATRC進(jìn)行了比較,輸出結(jié)果的可視化顯示在圖13。與其他方法不同的是,我們的模型即使在面對未見過的數(shù)據(jù)分布時也能成功地產(chǎn)生令人滿意的預(yù)測結(jié)果。這一結(jié)果表明,與以前的模型相比,我們的模型表現(xiàn)出明顯優(yōu)越的泛化能力。


5 結(jié)語
本研究介紹了倒金字塔多任務(wù)變換(InvPT++),這是一個為多任務(wù)視覺場景理解而創(chuàng)建的有力模型。憑借其在空間全局背景下對跨任務(wù)互動進(jìn)行建模的獨特能力,InvPT++可以在不同的特征尺度上細(xì)化多任務(wù)表征。我們還提出了一個新的跨尺度自我注意機(jī)制,旨在連接不同尺度的注意信息,從而加強(qiáng)對跨任務(wù)互動的建模。為了支持多尺度特征的學(xué)習(xí),我們采用了專門設(shè)計的編碼器特征聚合策略,進(jìn)一步提高了我們InvPT++方法的有效性。通過定量和定性的實驗,我們證明了我們框架內(nèi)各種模塊的功效。結(jié)果清楚地表明,我們的方法優(yōu)于其前輩,并在幾個有競爭力的多任務(wù)基準(zhǔn)上取得了強(qiáng)大的先進(jìn)性能。
投稿作者為『自動駕駛之心知識星球』特邀嘉賓,如果您希望分享到自動駕駛之心平臺,歡迎聯(lián)系我們!
① 全網(wǎng)獨家視頻課程
BEV感知、毫米波雷達(dá)視覺融合、多傳感器標(biāo)定、多傳感器融合、3D目標(biāo)檢測、目標(biāo)跟蹤、Occupancy、cuda與TensorRT模型部署、協(xié)同感知、語義分割、自動駕駛仿真、傳感器部署、決策規(guī)劃、軌跡預(yù)測等多個方向?qū)W習(xí)視頻(掃碼免費(fèi)學(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)鍵點檢測、車道線、目標(biāo)跟蹤、3D目標(biāo)檢測、BEV感知、Occupancy、多傳感器融合、大模型、SLAM、光流估計、深度估計、軌跡預(yù)測、高精地圖、NeRF、規(guī)劃控制、模型部署落地、自動駕駛仿真測試、產(chǎn)品經(jīng)理、硬件配置、AI求職交流等方向。掃碼添加汽車人助理微信邀請入群,備注:學(xué)校/公司+方向+昵稱(快速入群方式)
