即插即用 | CFNet提出全新多尺度融合方法!顯著提升檢測和分割精度!
點擊下方卡片,關(guān)注「集智書童」公眾號

Paper: https://arxiv.org/pdf/2302.06052.pdf
Code: https://github.com/zhanggang001/CFNet
摘要
多尺度特征對于密集預(yù)測任務(wù)來說是必不可少的,包括目標(biāo)檢測、實例分割和語義分割?,F(xiàn)有的SOTA方法通常先通過主干網(wǎng)絡(luò)提取多尺度特征,然后通過輕量級模塊(如 FPN)融合這些特征。然而,我們認為通過這樣的范例來融合多尺度特征可能是不夠充分,因為與重量級主干網(wǎng)絡(luò)相比,分配給特征融合的參數(shù)是有限的。
為此,我們提出了一種名為級聯(lián)融合網(wǎng)絡(luò)(CFNet)的新架構(gòu)用于提升密集預(yù)測性能。除了用于提取初始高分辨率特征的主干和幾個模塊外,我們還引入了幾個級聯(lián)stage,使得CFNet能夠生成更豐富的多尺度特征。每個stage都包括一個用于特征提取的子主干和一個用于特征集成的輕量級的轉(zhuǎn)換模塊。這種設(shè)計使得可以更深入有效地融合特征與整個主干的大部分參數(shù)。 最后,我們在目標(biāo)檢測、實例分割和語義分割等任務(wù)中驗證了CFNet 的有效性。
導(dǎo)讀

近幾年,CNN和Transformer在許多計算機視覺任務(wù)中取得了令人滿意的成果,包括圖像分類、目標(biāo)檢測、語義分割等任務(wù)。對于圖像分類任務(wù),CNN和transformer網(wǎng)絡(luò)在架構(gòu)設(shè)計中均遵循逐漸減小特征圖的空間大小的方式,來獲取最高級語義特征進行預(yù)測。然而,對于許多密集預(yù)測任務(wù),例如檢測和分割,則需要多尺度特征來處理不同尺度的目標(biāo)。
眾所周知,特征金字塔網(wǎng)絡(luò) (FPN) 被廣泛用于多尺度特征提取和融合,如上圖(a)所示。然而,我們認為使用這樣的范例可能不足以融合多尺度特征,因為與重量級主干網(wǎng)絡(luò)相比,分配給特征融合的參數(shù)是有限的。例如,考慮基于主干 ConvNeXt-S 構(gòu)建的 FPN,融合模塊與主干的參數(shù)比例小于 10%。
那么,在計算資源不變的情況下,如果我們想為特征融合分配更多的參數(shù),一個直觀的方法是使用更小的主干并擴大融合模塊。然而,使用較小的主干意味著整個模型從大規(guī)模預(yù)訓(xùn)練(例如 ImageNet 分類預(yù)訓(xùn)練)中獲益較少,這對于訓(xùn)練數(shù)據(jù)有限的下游任務(wù)至關(guān)重要。那么我們?nèi)绾畏峙涓嗟膮?shù)來實現(xiàn)特征融合,同時保持一個簡單的模型架構(gòu),使得模型仍然可以最大程度地受益于大規(guī)模的預(yù)訓(xùn)練權(quán)重呢?
先回顧一下FPN的融合模塊。為了融合多尺度特征,來自相鄰層的特征首先通過逐元素相加進行整合,然后使用單個 3×3 卷積對求和特征進行變換。我們將這兩個步驟命名為特征集成和特征轉(zhuǎn)換。很明顯,我們可以堆疊更多的卷積來轉(zhuǎn)換集成特征,但它同時也引入了更多的參數(shù),為主干留下的參數(shù)更少。從另一個角度思考,我們是否可以將特征整合操作插入主干,以便利用它之后的所有參數(shù)來轉(zhuǎn)換整合后的特征。
基于對上述問題的思考,我們提出了一種用于密集預(yù)測,名為級聯(lián)融合網(wǎng)絡(luò) (CFNet) 的新架構(gòu)。CFNet主要思想是將特征集成操作插入至骨干網(wǎng)絡(luò)中,使得更多參數(shù)能夠用于特征融合,極大地增加了特征融合的豐富度。 本文提出的CFNet方法的主要貢獻如下:
本文提出的CFNet能夠有效改善密集任務(wù)(檢測、分割)性能; 由于CFNet架構(gòu)的簡易性,能夠輕松從大規(guī)模預(yù)訓(xùn)練權(quán)重中獲益; 在目標(biāo)檢測和實例分割任務(wù)上超越ConvNeXt以及Swin Transformer 1~2%精度。
歡迎大家關(guān)注我們的公眾號CVHub,每日都給大家?guī)?span style="color: rgb(255, 169, 0);">原創(chuàng)、多領(lǐng)域、有深度的前沿AI論文解讀與工業(yè)成熟解決方案!
方法
架構(gòu)概述

上圖展示了CFNet網(wǎng)絡(luò)架構(gòu)。輸入一張尺寸大小為 的 RGB 圖像,經(jīng)過一個 stem 和 N 個連續(xù)的塊(block)處理,提取到的高分辨率特征。stem 由兩個步幅(stride)為 2 的 卷積層組成,每個卷積層后面跟著一個 LayerNorm 層和一個 GELU 單元。CFNet 中的塊(block)可以是之前的一些研究中提出的任何設(shè)計,例如 ResNet 瓶頸塊、ConvNeXt 塊、Swin Transformer 塊等。
在CFNet 的多級結(jié)構(gòu)中,高分辨率的特征經(jīng)過一個步幅(stride)為 2 的 卷積層降采樣后,被送入 個級聯(lián)的stage中。所有的stage都共享相同的結(jié)構(gòu),但是它們可能具有不同數(shù)量的塊(block)。在每個stage的最后一個塊組中,應(yīng)用了關(guān)注塊(focal block)。值得注意的是,每個階段輸出帶有步幅為 8、16、32 的特征 P3、P4、P5,但只有 P3 特征被送入后續(xù)stage。最后,由最后一個階段輸出的融合特征 P3、P4 和 P5 用于密集預(yù)測任務(wù)。
轉(zhuǎn)換塊(Transition block)

轉(zhuǎn)換塊用于整合每個stage中不同尺度的特征。如上圖所示,我們提出了三種簡單的轉(zhuǎn)換塊。
Add: 首先使用1×1卷積將C4和C5的通道數(shù)量降低以與C3對齊。在執(zhí)行逐元素相加之前,使用雙線性插值操作對齊特征的空間大小。
Concat: 直接上采樣C4和C5的特征以與C3的空間大小對齊,然后拼接這些特征,接著使用1×1卷積來減少通道數(shù)。
Sequentially Add: 將不同尺度的特征逐步上采樣和組合。這個設(shè)計類似于FPN中的融合模塊,不同之處在于沒有額外的卷積來轉(zhuǎn)換相加的特征。
聚焦塊(Focal block)

在密集預(yù)測任務(wù)中,處理各種尺度的目標(biāo)一直是一個巨大的挑戰(zhàn)。通常采用的解決方案是生成不同分辨率的特征。例如,使用步幅為8、16、32、64、128的特征來檢測相應(yīng)尺度的目標(biāo)。用于生成步幅較大的特征的神經(jīng)元通常具有較大的感受野。在CFNet的每個stage中,有三個塊組用于提取步幅為8、16、32的特征。理想情況下,我們可以提取另外兩個分辨率的特征以整合更多的特征尺度,就像和FPN一樣。然而,這會引入更多的參數(shù),因為隨著特征的空間尺寸縮小,后面的組的通道數(shù)量逐漸增加。因此,我們提出了聚焦塊,用于擴大每個stage的最后一個塊組中神經(jīng)元的感受野。
如上圖所示,本文提出了兩種聚焦塊的設(shè)計,分別在ConvNeXt塊和Swin Transformer塊中引入了膨脹深度卷積和兩個跳躍連接。聚焦塊可以同時合并細粒度的局部特征和粗粒度的全局特征進行交互。最近,使用全局注意力或大卷積核來擴大感受野已經(jīng)得到廣泛研究。雖然取得了有競爭力的結(jié)果,但將這些操作應(yīng)用于密集預(yù)測任務(wù)時,由于輸入圖像的尺寸過大,通常會引入大量的計算成本和內(nèi)存開銷。相比之下,本文提出的聚焦塊僅引入了極少量的額外成本。
架構(gòu)變體

我們設(shè)計了三個CFNet變體,即CFNet-T(Swin)、CFNet-T(NeXt)和CFNet-S(NeXt)。T和S分別是tiny和small兩個詞的縮寫,表示模型大小。第一個使用Swin Transformer塊和focal Swin塊,另外兩個使用ConvNeXt塊和focal NeXt塊。
上表列出了每個CFNet變體的詳細配置。CFNet-T和CFNet-S的階段數(shù)分別設(shè)置為3和4。盡管不同配置的stage可能會取得更好的性能,但為了簡單起見,我們?yōu)樗须A段設(shè)置了相同的配置。所有focal塊中的擴張率r默認設(shè)置為3。
實驗

CFNet的參數(shù)量與計算量均比同量級模型稍大,同時精度也更高。但從整體上來看,CFNet在分類任務(wù)上沒有顯著優(yōu)勢。

與同等量級的SOTA模型相比,CFNet精度有著顯著的提升。

相比FPN及其變體結(jié)構(gòu),CFNet僅需較低的參數(shù)量和計算量便獲得了更高的精度。雖然在FPS和Memory這兩個指標(biāo)上表現(xiàn)稍差,但并不影響CFNet變現(xiàn)出的更優(yōu)綜合能力。
與同等量級的SOTA模型相比,CFNet精度有著顯著的提升。與檢測任務(wù)的表現(xiàn)一致,這驗證了CFNet擁有更強的多尺度融合能力,更適合用于處理檢測和分割這類密集預(yù)測任務(wù)。

可以明顯看出CFNet的檢測框位置與類別置信度都更高更準(zhǔn)確。
總結(jié)
本文提出了一種用于密集預(yù)測任務(wù)的新型體系結(jié)構(gòu)CFNet。與廣泛使用的FPN及其變體不同,它們使用輕量級融合模塊來融合由主干網(wǎng)絡(luò)提取的多尺度特征,CFNet則是引入了幾個級聯(lián)stage,基于提取的高分辨率特征來學(xué)習(xí)多尺度表示。 通過將特征集成操作插入到主干中,可以有效地利用大部分主干來有效地融合多尺度特征。本文在幾個主流的密集預(yù)測任務(wù)上進行了大量實驗來驗證所提方法的有效性。
寫在最后
如果您也對人工智能和計算機視覺全棧領(lǐng)域感興趣,強烈推薦您關(guān)注有料、有趣、有愛的公眾號『CVHub』,每日為大家?guī)砭吩瓌?chuàng)、多領(lǐng)域、有深度的前沿科技論文解讀及工業(yè)成熟解決方案!歡迎掃碼與我交流,一起探討更多有趣的話題!

掃碼加入??「集智書童-目標(biāo)檢測」交流群
(備注:方向+學(xué)校/公司+昵稱)




前沿AI視覺感知全棧知識??「分類、檢測、分割、關(guān)鍵點、車道線檢測、3D視覺(分割、檢測)、多模態(tài)、目標(biāo)跟蹤、NerF」
歡迎掃描上方二維碼,加入「集智書童-知識星球」,日常分享論文、學(xué)習(xí)筆記、問題解決方案、部署方案以及全棧式答疑,期待交流!
點擊上方卡片,關(guān)注「集智書童」公眾號
