寫在前面
??這一周趕上五一五天假了,朋友們出去 happy 了嗎?有沒有趕上人山人海的熱鬧?反正我只是在 5.1 那天出去走走,哈哈。
??這是一篇關(guān)于實例分割的文章,所解決的問題在于實例分割中需要的小目標(biāo)像素分辨率太低,于是本文提出一種自適應(yīng)下采樣的方法來解決這一之前沒有人想到要做的隱藏問題。
- 論文地址:AutoFocusFormer: Image Segmentation off the Grid
- 代碼地址:https://github.com/apple/ml-autofocusformer/tree/main
- 收錄于:CVPR 2023
- 溫馨提示:這篇論文寫作廢話太多,抓不住重點,此篇寫到一半結(jié)束了,但可作為反面教材學(xué)習(xí)避免一些糟糕的表達(dá)。
- TiP:2023 每周一篇博文,主頁更多干貨輸出,歡迎瀏覽、關(guān)注。粉絲量破 3K,期待您的參與~
一、Abstract
??真實世界的圖像內(nèi)容總是密度不平衡分布,即大塊的藍(lán)天白云,小塊的目標(biāo)物體,如上圖所示。經(jīng)典的卷積網(wǎng)絡(luò)對所有圖像內(nèi)容一視同仁。但由于小目標(biāo)占據(jù)的空間位置非常小,以至分割等任務(wù)比較糟糕。于是,在下采樣中保留更多的表示小目標(biāo)的像素能夠有助于留存重要的信息。本文提出一種局部注意力 Transformer 圖像識別 Backbone,即 AutoFocusFormer (AFF) 方法,執(zhí)行自適應(yīng)下采樣來學(xué)習(xí)保留最重要的像素信息。由于自適應(yīng)下采樣會產(chǎn)生一些不規(guī)則的像素分布,因此放棄了經(jīng)典的grid結(jié)構(gòu),而提出了一種新的基于點的局部注意力 block,由一個平衡聚類模塊和一個可學(xué)習(xí)的聚類融合模塊組成。實驗表明 AFF 的性能很棒。
二、引言
??首先指出現(xiàn)實世界圖像內(nèi)容分布通常不平衡,經(jīng)典的卷積網(wǎng)絡(luò)平等地對待圖像上的內(nèi)容,而忽視了不同目標(biāo)的重要性。最近的 Transformer 方法雖然并不是嚴(yán)格依賴于 grid 結(jié)構(gòu),但是仍采用基于 grid 的技術(shù),例如步長為 16 的卷積和
7
×
7
7\times7
7×7 的局部注意力滑動窗口。
??盡管卷積網(wǎng)絡(luò)被普遍使用,但均勻下采樣對于需要像素水平的細(xì)節(jié)信息例如分割任務(wù),就力不從心了。于是首先想到的解決方法是提高輸入圖像分辨率,這樣下采樣后的特征圖分辨率也隨之提高,但是計算內(nèi)存和計算量也隨之增加。還有一些方法在分割解碼器中采用不規(guī)則的采樣點來嘗試解決這一問題,但是仍然依賴于均勻下采樣編碼器,留下了一些均勻采樣的隱患。
??為解決這一問題,需要模型能夠在每張圖像上非均勻采樣,即 保留重要的細(xì)節(jié)信息同時壓縮那些不太重要的區(qū)域。有一些方法簡單的應(yīng)用全局注意力機(jī)制進(jìn)行自適應(yīng)下采樣,但全局注意力不會放縮到遠(yuǎn)高于 ImageNet 的分辨率,從而無法適應(yīng)于類似圖像分割的任務(wù)。
??為滿足上述要求,本文提出提出第一個端到端的、連續(xù)自適應(yīng)下采樣階段的網(wǎng)絡(luò),AutoFocusFormer (AFF)。為縮放高分辨率圖到分割的要求,AFF 采用局部注意力 Block。為定義不規(guī)則采樣 tokens 的局部注意力區(qū)域,提出一種平衡聚類算法,利用空間填充曲線將這些不規(guī)則的位置分組到區(qū)域,提出一種自適應(yīng)下采樣模塊通過可微分的區(qū)域融合過程來學(xué)習(xí)不同圖像位置的重要性。最終,修改分割頭以使得能夠適應(yīng) backbone 生成的不規(guī)則空間表示。
??本文提出的方法通過保留任意數(shù)量的token從而能擁有大量的計算預(yù)算,總體而言,貢獻(xiàn)如下:
- 第一個引入端到端的、有著彈性下采樣率的連續(xù)自適應(yīng)下采樣;
- 提出一組平衡聚類算法將 tokens 分組到區(qū)域內(nèi);提出一組聚類融合模塊來啟用端到端的自適應(yīng)下采樣學(xué)習(xí);
- 應(yīng)用本文提出的算法到一些 SOTA 的框架內(nèi),驗證了方法的泛化性;
- 實驗結(jié)果表明本文提出的方法能夠顯著地識別實例分割任務(wù)中的小目標(biāo)。
三、相關(guān)工作
視覺 Transformer Backbones
??ViTs 模型缺乏稠密預(yù)測任務(wù)所需要的級聯(lián)特征圖,于是 MViT、PVT 出世了。但仍然是在全局注意力圖上進(jìn)行操作,因此所需要的計算成本隨著輸入圖像的尺寸增大而增加。解決辦法之一是應(yīng)用低分辨率的特征圖,例如 BoT、LeViT 等。另外一些方法修改注意力操作:Seg-Former、PoolFormer、AFT、Swin Transformer、SASA。
基于聚類的注意力
??基于稀疏注意力的聚類方法已經(jīng)應(yīng)用在視覺語言領(lǐng)域了,但是這些方法并未涉及自適應(yīng)下采樣。大多數(shù)方法嘗試聚類學(xué)習(xí)到的特征,而本文提出基于 token 位置的聚類。有一些方法將聚類應(yīng)用在解碼器中,不同于這種,本文將聚類應(yīng)用在編碼器中。
自適應(yīng)下采樣
??有很多嘗試結(jié)合自適應(yīng)下采樣與 ViTs 的方法,例如 AdaViT、DynamicViT、A-ViT、Dynamic Grained Encoder、EViT、PS-ViT。但這些方法仍然基于全局注意力圖,因此不能縮放到高分辨率的分割任務(wù),而是僅關(guān)注與加速 ImageNet 上的分類。有一些方法關(guān)注于自適應(yīng)下采樣策略的設(shè)計,總體趨勢則是發(fā)現(xiàn) tokens 的融合比 tokens 的減少似乎更自然。相應(yīng)的,本文提出一種區(qū)域融合模塊,能夠自適應(yīng)地選擇融合位置,直接從損失中獲得重要 tokens 的得分。
點云網(wǎng)絡(luò)
??有一些 3D 點云方法,直接在一系列不規(guī)則的點上進(jìn)行操作,例如:PointNet++、PointConv、Point Transformer。這些方法總是選擇 K 個最近鄰的或者為每個點找到若干個最近聚類中心。本文利用 PointConv 作為解碼器模型來代替 3 × 3 3\times3 3×3 卷積。
四、方法
??如上圖所示:本文提出的 Backbone 模型主要由 patch embedding 模塊和 4 個階段以及一個特定任務(wù)頭組成。其中每個階段由一個聚類算法、一些局部注意力 Transformer 塊、自適應(yīng)下采樣模塊組成。
4.1 聚類和區(qū)域
??原始的聚類方法有著平方復(fù)雜度,于是一些方法通過引入對給定的點進(jìn)行初次 k-means 聚類來加速 KNN。本文同樣采用聚類來定義局部區(qū)域,即將 tokens 劃分為類,將區(qū)域定義為包含多個鄰近的聚類。但是傳統(tǒng)的聚類方法不能直接完成這一目標(biāo),原因在于這類方法通常需要迭代或者多輪采樣導(dǎo)致速度太慢,并且聚類中心有著不同數(shù)量的賦值點,于是在計算時只能用 0 填充到同一維度從而進(jìn)行批量運(yùn)算,這就占據(jù)了大量的內(nèi)存和時間上的浪費(fèi)。
??于是本文提出一種新穎的平衡聚類方法。
4.1.1 平衡聚類
??通過空間填充曲線將 2D 坐標(biāo)轉(zhuǎn)化為 1D 坐標(biāo),同時保留 2D 距離信息,然后將這些坐標(biāo)劃分到等大小的組內(nèi)從而得到一個平衡的聚類,于是在線上靠近的點在 2D 空間中也相當(dāng)接近。然而從 2D 轉(zhuǎn)為為 1D 的過程中,很難完整地保存 2D 的信息。為減輕這一丟失問題,本文采用一種兩階段的處理過程。這一想法實質(zhì)上是盡在粗糙的層次上利用空間填充曲線來獲得稀疏且規(guī)則的 2D 樣本位置,然后基于 2D 距離來排列 tokens 的位置。
??確切來說,首先將圖像劃分為粗糙且規(guī)則的 Patch 塊,其數(shù)量與打算聚類的類別數(shù)量相同。每一個 patch 的中心記為空間填充錨點,空間填充曲線在錨點之間創(chuàng)建序列。于是在這序列上位置為
p
∈
R
2
p\in\mathbb{R}^2
p∈R2 處,且屬于錨點
a
i
∈
R
2
a_i\in\mathbb{R}^2
ai?∈R2 的 token,同時定義前面的錨點
a
i
?
1
a_{i-1}
ai?1? 和
a
i
+
1
a_{i+1}
ai+1?。計算 token p 到這兩個錨點的距離比
r
r
r 如下:
r
(
p
)
=
d
i
?
1
(
p
)
d
i
+
1
(
p
)
=
∥
p
?
a
i
?
1
∥
2
∥
p
?
a
i
+
1
∥
2
r(p)=\dfrac{d_{i-1}(p)}{d_{i+1}(p)}=\dfrac{\|p-a_{i-1}\|_2}{\|p-a_{i+1}\|_2}
r(p)=di+1?(p)di?1?(p)?=∥p?ai+1?∥2?∥p?ai?1?∥2??在每個 pathc 上,通過對
r
r
r 進(jìn)行降序排列,就能得到一組有序的 tokens。如下圖所示:
注意這一聚類算法在每個階段開始時僅需要執(zhí)行一次,而所有注意力 bolock 和結(jié)尾使用的下采樣模塊在這一階段中共享聚類信息,但這一平衡聚類算法僅適用于低維度的點。
4.1.2 聚類的區(qū)域
??為鼓勵信息在整個圖像上流動,那么注意力就不能僅僅局限于相同的聚類上,例如 Swin-Transformers 通過滑動窗口使得注意力能夠關(guān)注不同層上的不同區(qū)域。但是在本文中,每一層的重聚類會增加計算量。于是采用更小的聚類,并使得每個 token 關(guān)注周圍
R
R
R 個鄰近的聚類。
結(jié)語文章來源:http://www.zghlxwxcb.cn/news/detail-462794.html
??這可能是第一篇寫到最后沒太完成的博文,論文中的寫作一言難盡,廢話太多,抓不住重點,遂到此為止,及時止損。這篇論文的寫作可以算得上反面教材了。文章來源地址http://www.zghlxwxcb.cn/news/detail-462794.html
到了這里,關(guān)于突破經(jīng)典網(wǎng)格特征?AutoFocusFormer: Image Segmentation off the Grid 論文閱讀筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!