我們已經(jīng)介紹過兩篇關于 TTA 的工作,可以在 GiantPandaCV 公眾號中找到,分別是:
CVPR 2023 中的領域適應: 通過自蒸餾正則化實現(xiàn)內存高效的 CoTTA
推薦對領域適應不了解的同學先閱讀前置文章。目前的 TTA 方法針對反向傳播的方式可以大致劃分為:
請?zhí)砑訄D片描述
之前介紹過的 CoTTA 可以屬于 Fully Backward,EcoTTA 劃分為 Partial Backward 中的 Meta Network 類別,這次要介紹的方法屬于 Backward-Free 中的 BN-Based 和 Prototype-Based 的混合。下圖是一些 TTA 語義分割方式的比較,在(a)中是最樸素的重新做反向傳播優(yōu)化目標域模型梯度的方法,效率低,存在誤差積累,且會導致長期遺忘。(b)是直接用每個實例的統(tǒng)計數(shù)據(jù)替代源統(tǒng)計數(shù)據(jù)(通過修改 Instance Normalization),但由于丟棄了基本的源知識,因此對目標變化非常敏感,導致不穩(wěn)定。(c)研究了通過實例統(tǒng)計數(shù)據(jù)以固定動量或動態(tài)波動動量更新歷史統(tǒng)計數(shù)據(jù)的影響(相當于(b)的集群),然而,這種方法也容易受到誤差積累的影響。(d)表示這篇工作提出的方法,主要思想是以非參數(shù)化的方式利用每個實例來動態(tài)地進行自適應,這種方法既高效又能在很大程度上避免誤差積累問題。具體來說,計算 BN 層中源統(tǒng)計數(shù)據(jù)和當前統(tǒng)計數(shù)據(jù)的加權和,以適應目標分布,從而使模型獲得更健壯的表示,還通過將歷史原型與實例級原型混合構建動態(tài)非參數(shù)分類頭。
下面看下具體實現(xiàn)。
DIGA 概述
TTA 在語義分割中的應用,效率和性能都至關重要?,F(xiàn)有方法要么效率低(例如,需要反向傳播的優(yōu)化),要么忽略語義適應(例如,分布對齊)。此外,還會受到不穩(wěn)定優(yōu)化和異常分布引起的誤差積累的困擾。為了解決這些問題,這篇工作提出了不需反向傳播優(yōu)化的 TTA 語義分割方法,被叫做稱為動態(tài)實例引導自適應(DynamicallyInstance-Guided Adaptation, DIGA)。DIGA 的原則是以非參數(shù)化的方式利用每個實例動態(tài)引導其自身的適應,從而避免了誤差累積問題和昂貴的優(yōu)化成本(內存)。具體而言,DIGA 由分布適應模塊(DAM)和語義適應模塊(SAM)組成。DAM 將實例和源 BN 層統(tǒng)計信息混合在一起,以鼓勵模型捕獲不變的表示。SAM 將歷史原型與實例級原型結合起來調整語義預測,這可以與參數(shù)化分類頭相關聯(lián)。具體細節(jié)在后文介紹。
DAM 和 SAM 兩者都由實例感知信息引導。如下圖所示,給定一個測試樣本,首先將其輸入到源預訓練模型中,并通過 DAM 在每個 BN 層進行分布對齊。分布對齊是通過加權求和源統(tǒng)計和實例統(tǒng)計來實現(xiàn)的。之后,通過 SAM 在最后的特征層級上進行語義適應,通過加權混合歷史原型和實例感知原型來構建一個動態(tài)非參數(shù)化分類頭。這使我們能夠調整語義預測。最后,我們利用原始參數(shù)化分類頭和動態(tài)非參數(shù)化分類頭之間的相互優(yōu)勢獲得最終的預測結果。
請?zhí)砑訄D片描述
Distribution Adaptation Module (DAM)
調整分布可以提高跨域測試性能,由于訓練數(shù)據(jù)有限和反向傳播成本高,最常見的方法是對抗訓練和分布差距最小化,但是不適合 TTA 任務。通常 BN 層中各域之間的靜態(tài)不匹配是跨域測試性能下降的主要原因。BN 層是使用可訓練參數(shù) gamma 和 beta 進行縮放和移動。對于每個 BN 層,給定輸入特征表示 F,相應的輸出由以下公式給出:
E[F] 和 Var[F] 分別代表輸入特征 F 的期望值和方差。在實踐中,由于批次訓練過程,它們的值通過 running mean 在訓練期間計算:
所以,有一種方法源域的 running mean 的最后一個值被凍結,用作測試階段測試數(shù)據(jù)的預期值和方差的估計。但是,源統(tǒng)計信息仍會嚴重影響性能。還有一種方法提出了一種動態(tài)學習模塊,將 BN 層的統(tǒng)計信息 γ、β 調整為目標域(更新 γ、β)。盡管該方法具有高效性,但其性能仍然不理想??赡艿脑蛑皇悄P透滤俾释ǔ]^小,并且在每個實例評估過程中沒有充分考慮實例級別的信息。
所以 DAM 考慮到了利用實例級別的信息。DAM 不是直接更新 γ、β,而是通過動態(tài)地合并(加權求和)源統(tǒng)計信息和實例級別的 BN 統(tǒng)計信息來計算 E[F] 和 Var[F] 的估計值。
其中, 和 是在測試期間使用第 t 個實例計算的均值和方差。
Semantic Adaptation Module (SAM)
DAM 是與類別無關的,如上所述,因為它僅在全局上對特征圖的分布進行調整。然而,對于分割自適應任務來說,類別特定性也很重要,因為即使在同一張圖像中,每個類別的分布也會有很大變化。為了解決這一點,之前的工作提出了兩種直觀的方法,熵最大化和偽標簽。然而,它們都需要基于梯度的反向傳播,因此限制了測試效率,和我們的思路背道而馳。受少樣本學習和域自適應中基于原型的方法(Prototype-Based)的啟發(fā),引入了用于類別特定自適應的 SAM。具體做法,總結有如下幾步,我們用通俗的話解釋下,至于論文中的公式,也會貼上。
計算 Instance-aware prototypes:
根據(jù)輸入圖像中每個類別的像素,計算其在特征空間中的中心點(prototypes),稱為實例感知原型。這些原型表示了每個類別的特征分布。
通過對不同實例的原型進行平均計算,得到歷史原型。歷史原型是在大量目標實例上計算得到的,具有較高的穩(wěn)定性。
Ensemble historical prototypes:
將歷史原型與實例感知原型進行集成,以進一步提高分類的準確性和穩(wěn)定性。
Cal prototype-based classification result:
使用計算得到的實例感知原型和歷史原型,通過比較輸入像素與原型之間的相似度,進行分類預測。這種基于原型的分類方法可以更好地適應不同類別的變化。
Classifier Association
SAM 本質上是 prototype-based classification。在最后的部分,可以得到兩種類型的預測:一種來自原始的參數(shù)化分類器(p?),另一種來自引入的非參數(shù)原型分類器(p ?)。為了利用它們之間的互補性,DIGA 還是通過加權求和來獲得最終的預測結果,表示為:
實驗
在實驗的部分,我們更關心的是這些組合的有效性。下表是對 DAM 和 SAM 的消融實驗,最后一行表示分類器關聯(lián)。對于 BN 分支和語義分支,都分別比較出最佳和次佳。和直接使用源域模型、其他的 SOTA TTA 方法的可視化比較如下,可以發(fā)現(xiàn)在 cityscapes 上的優(yōu)化效果是最明顯的。
在這里插入圖片描述
總結
這篇工作提出了一種名為動態(tài)實例引導適應(DIGA)的方法來解決 TTA 語義分割問題,該方法兼?zhèn)涓咝院陀行浴IGA 包括兩個適應性模塊,即分布適應模塊(DAM)和語義適應模塊(SAM),兩者均以非參數(shù)方式受實例感知信息引導。此外,這是第三篇關于 TTA 的論文解讀了,后面出現(xiàn)有趣的工作還會繼續(xù)這個系列的。
-
內存
+關注
關注
8文章
3060瀏覽量
74369 -
像素
+關注
關注
1文章
205瀏覽量
18639 -
訓練模型
+關注
關注
1文章
36瀏覽量
3888
發(fā)布評論請先 登錄
相關推薦
一種帶驗證的自適應鏡頭分割算法
一種目標飛機分割提取方法
![<b class='flag-5'>一種</b>目標飛機<b class='flag-5'>分割</b>提取<b class='flag-5'>方法</b>](https://file.elecfans.com/web2/M00/49/50/poYBAGKhwJ6AD4muAAAOlNzM8k0593.jpg)
一種自動生成反向傳播方程的方法
![<b class='flag-5'>一種</b>自動生成<b class='flag-5'>反向</b><b class='flag-5'>傳播</b>方程的<b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/5C/28/pIYBAFtyNwaAMQLRAAAKnYwAF70439.png)
MIT提出語義分割技術,電影特效自動化生成
Facebook AI使用單一神經(jīng)網(wǎng)絡架構來同時完成實例分割和語義分割
![Facebook AI使用單<b class='flag-5'>一</b>神經(jīng)網(wǎng)絡架構來同時完成實例<b class='flag-5'>分割</b>和<b class='flag-5'>語義</b><b class='flag-5'>分割</b>](https://file.elecfans.com/web1/M00/8F/71/pIYBAFy9OS2AXtmuAAAiWsGVBaE545.png)
語義分割方法發(fā)展過程
分析總結基于深度神經(jīng)網(wǎng)絡的圖像語義分割方法
![分析總結基于深度神經(jīng)網(wǎng)絡的圖像<b class='flag-5'>語義</b><b class='flag-5'>分割</b><b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/E6/48/pIYBAGBUQjKAE-3ZAAH4hTMU-SA452.png)
基于深度神經(jīng)網(wǎng)絡的圖像語義分割方法
![基于深度神經(jīng)網(wǎng)絡的圖像<b class='flag-5'>語義</b><b class='flag-5'>分割</b><b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/E9/40/pIYBAGBms0yADVVmAAELIWMCrGA024.png)
語義分割模型 SegNeXt方法概述
圖像語義分割的概念與原理以及常用的方法
一種在線激光雷達語義分割框架MemorySeg
![<b class='flag-5'>一種</b>在線激光雷達<b class='flag-5'>語義</b><b class='flag-5'>分割</b>框架MemorySeg](https://file1.elecfans.com/web2/M00/AF/CB/wKgaomVcGtSARNnZAAAWMiMsRQc692.png)
評論