一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用于視覺識別的Transformer風格的ConvNet

CVer ? 來源:AIWalker ? 作者:AIWalker ? 2022-11-30 14:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文旨在通過充分利用卷積探索一種更高效的編碼空域特征的方式:通過組合ConvNet與ViT的設計理念,本文利用卷積調制操作對自注意力進行了簡化,進而構建了一種新的ConvNet架構Conv2Former。ImageNet分類、COCO檢測以及ADE20K分割任務上的實驗結果表明:所提Conv2Former取得了優(yōu)于主流ConvNet(如ConvNeXt)、ViT(如Swin Transformer)的性能。

本文方案

26a273c4-706d-11ed-8abf-dac502259ad0.jpg

上圖給出了本文方案架構示意圖,類似ConvNeXt、SwinT,Conv2Former采用了金字塔架構,即含四個階段、四種不同尺寸的特征,相鄰階段之間通過Patch Embedding模塊(其實就是一個卷積核與stride均為的卷積)進行特征空間分辨率與通道維度的惡變換。下表給出了不同大小Conv2Former的超參配置,

26bec1f0-706d-11ed-8abf-dac502259ad0.jpg

核心模塊

26cf68ac-706d-11ed-8abf-dac502259ad0.jpg

上圖給出了經典模塊的架構示意圖,從經典的殘差模塊到自注意力模塊,再到新一代卷積模塊。自注意力模塊可以表示為如下形式:

盡管注意力可以更好的編碼空域相關性,但其計算復雜性隨N而爆炸性增長。

本文則旨在對自注意力進行簡化:采用卷積特征對V進行調制。假設輸入,所提卷積調制模塊描述如下:

需要注意的是:上式中表示Hadamard乘積。上述卷積調制模塊使得每個位置的元素與其近鄰相關,而通道間的信息聚合則可以通過線性層實現。下面給出了該核心模塊的實現代碼。

classConvMod(nn.Module):
def__init__(self,dim):
super().__init__()
self.norm=LayerNorm(dim,eps=1e-6,data_format='channel_first')
self.a=nn.Sequential(
nn.Conv2d(dim,dim,1),
nn.GELU(),
nn.Conv2d(dim,dim,11,padding=5,groups=dim)
)
self.v=nn.Conv2d(dim,dim,1)
self.proj=nn.Conv2d(dim,dim,1)

defforward(self,x):
B,C,H,W=x.shape
x=self.norm(x)
a=self.a(x)
v=self.v(x)
x=a*v
x=self.proj(x)
returnx

微觀設計理念

Larger Kernel than 如何更好的利用卷積對于CNN設計非常重要!自從VGG、ResNet以來,卷積成為ConvNet的標準選擇;Xception引入了深度分離卷積打破了該局面;再后來,ConvNeXt表明卷積核從3提升到7可以進一步改善模型性能。然而,當不采用重參數而進一步提升核尺寸并不會帶來性能性能提升,但會導致更高計算負擔。

作者認為:ConvNeXt從大于卷積中受益極小的原因在于使用空域卷積的方式。對于Conv2Former,從到,伴隨核尺寸的提升可以觀察到Conv2Former性能一致提升。該現象不僅發(fā)生在Conv2Former-T(),同樣在Conv2Former-B得到了體現()。考慮到模型效率,作者將默認尺寸設置為

Weighting Strategy 正如前面圖示可以看到:作者采用Depthwise卷積的輸出對特征V進行加權調制。需要注意的是,在Hadamard乘積之前并未添加任務規(guī)范化層(如Sigmoid、),而這是取得優(yōu)異性能的重要因素(類似SENet添加Sigmoid會導致性能下降超0.5%)。

Normalization and Activations 對于規(guī)范化層,作者參考ViT與ConvNeXt采用了Layer Normalization,而非卷積網絡中常用的Batch Normalization;對于激活層,作者采用了GELU(作者發(fā)現,LN+GELU組合可以帶來0.1%-0.2%的性能提升)。

本文實驗

26e4184c-706d-11ed-8abf-dac502259ad0.jpg

上述兩表給出了ImageNet分類任務上不同方案的性能對比,從中可以看到:

  • 在tiny-size(<30M)方面,相比ConvNeXt-T與SwinT-T,Conv2Former-T分別取得了1.1%與1.7%的性能提升。值得稱道的是,Conv2Former-N僅需15M參數量+2.2GFLOPs取得了與SwinT-T(28M參數量+4.5GFLOPs)相當的性能。

  • 在base-size方面,相比ConvNeXt-B與SwinT-B,Conv2Former-B仍取得了0.6%與0.9%的性能提升。

  • 相比其他主流模型,在相近大小下,所提Conv2Former同樣表現更優(yōu)。值得一提的是,相比EfficientNet-B7,Conv2Former-B精度稍有(84.4% vs 84.3%),但計算量大幅減少(15G vs 37G)。

  • 當采用ImageNet-22K預訓練后,Conv2Former的性能可以進一步提升,同時仍比其他方案更優(yōu)。Conv2Former-L甚至取得了87.7% 的優(yōu)異指標

271576d0-706d-11ed-8abf-dac502259ad0.jpg

采用大核卷積是一種很直接的輔助CNN構建長程相關性的方法,但直接使用大核卷積使得所提模型難以優(yōu)化。從上表可以看到:當不采用其他訓練技術(如重參數、稀疏權值)時,Conv2Former采用時已可取得更好的性能;當采用更大的核時,Conv2Former取得了進一步的性能提升

272609be-706d-11ed-8abf-dac502259ad0.jpg

上表給出了COCO檢測任務上不同方案的性能對比,從中可以看到:

  • 在tiny-size方面,相比SwinT-T與ConvNeXt-T,Conv2Former-T取得了2% 的檢測指標提升,實例分割指標提升同樣超過1%;

  • 當采用Cascade Mask R-CNN框架時,Conv2Former仍具有超1%的性能提升。

  • 當進一步增大模型時,性能優(yōu)勢則變得更為明顯;

27420dc6-706d-11ed-8abf-dac502259ad0.jpg

上表給出了ADE20K分割任務上的性能對比,從中可以看到:

  • 在不同尺度模型下,Conv2Former均具有比SwinT與ConvNeXt更優(yōu)的性能;

  • 相比ConvNeXt,在tiny尺寸方面性能提升1.3%mIoU,在base尺寸方面性能提升1.1%;

  • 當進一步提升模型尺寸,Conv2Former-L取得了54.3%mIoU,明顯優(yōu)于Swin-L與ConvNeXt-L。

一點疑惑解析

到這里,關于Conv2Former的介紹也就結束了。但是,心里仍有一點疑惑存在:Conv2Former與VAN的區(qū)別到底是什么呢?關于VAN的介紹可參考筆者之前的分享:《優(yōu)于ConvNeXt,南開&清華開源基于大核注意力的VAN架構》。

先來看一下兩者的定義,看上去兩者并無本質上的區(qū)別(均為點乘操作),均為大核卷積注意力

  • VAN:

  • Conv2Former

2756254a-706d-11ed-8abf-dac502259ad0.jpg

結合作者開源代碼,筆者繪制了上圖,左圖為Conv2Former核心模塊,右圖為VAN核心模塊。兩者差別還是比較明顯的!

  • 雖然大核卷積注意力均是其核心,但Conv2Former延續(xù)了自注意力的設計范式,大核卷積注意力是其核心;而VAN則是采用傳統(tǒng)Bottleneck設計范式,大核卷積注意力的作用類似于SE。

  • 從大核卷積內在機理來看,Conv2Former僅考慮了的空域建模,而VAN則同時考慮了空域與通道兩個維度

  • 在規(guī)范化層方面,Conv2Former采用了Transformer一貫的LayerNorm,而VAN則采用了CNN一貫的BatchNorm;

  • 值得一提的是:兩者在大核卷積注意力方面均未使用Sigmoid激活函數。兩者均發(fā)現:使用Sigmoid激活會導致0.2%左右的性能下降。

2766b16c-706d-11ed-8abf-dac502259ad0.jpg

為更好對比Conv2Former與VAN的性能,特匯總上表(注:GFLOPs列僅匯總了)在Image輸入時的計算量Net-1K上的指標進行了對比,可以看到:在同等參數量前提下,兩者基本相當,差別僅在0.1%。此外,考慮到作者所提到的“LN+GELU的組合可以帶來0.1%-0.2%的性能提升”,兩者就算是打成平手了吧,哈哈。


		
			

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2788

    瀏覽量

    50383
  • 編碼
    +關注

    關注

    6

    文章

    969

    瀏覽量

    55775
  • 視覺識別
    +關注

    關注

    3

    文章

    107

    瀏覽量

    17068

原文標題:超越ConvNeXt!Conv2Former:用于視覺識別的Transformer風格的ConvNet

文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于LockAI視覺識別模塊:C++人臉識別

    = face_system.Predict(input_mat); 作用:FaceRecognitionSystem類中的一個函數,用于實現人臉識別。 參數說明: input_mat:要識別的圖像
    發(fā)表于 07-01 12:01

    基于LockAI視覺識別模塊:C++人臉識別

    本文基于RV1106做成的LockAI視覺識別模塊,采用LZ-Picodet模型訓練的人臉檢測模型LZ-Face,以及ArcFace人臉識別模型,實現人臉識別系統(tǒng)。
    的頭像 發(fā)表于 07-01 10:09 ?163次閱讀
    基于LockAI<b class='flag-5'>視覺</b><b class='flag-5'>識別</b>模塊:C++人臉<b class='flag-5'>識別</b>

    基于LockAI視覺識別模塊:手寫數字識別

    1.1 手寫數字識別簡介 手寫數字識別是一種利用計算機視覺和機器學習技術自動識別手寫數字的過程。它通過圖像預處理、特征提取和模型訓練來實現高效準確的數字
    發(fā)表于 06-30 16:45

    基于LockAI視覺識別模塊:手寫數字識別

    手寫數字識別是一種經典的模式識別和圖像處理問題,旨在通過計算機自動識別用戶手寫的數字。本文將教會你如何使用基于RV1106的LockAI視覺識別
    的頭像 發(fā)表于 06-30 15:44 ?444次閱讀
    基于LockAI<b class='flag-5'>視覺</b><b class='flag-5'>識別</b>模塊:手寫數字<b class='flag-5'>識別</b>

    基于LockAI視覺識別模塊:C++條碼識別

    條碼識別視覺模塊經常使用到的功能之一,經常用于識別超市的貨物信息。本文我們將演示如何基于瑞芯微RV1106的LockAI視覺
    發(fā)表于 05-27 10:26

    基于LockAI視覺識別模塊:C++條碼識別

    條碼識別視覺模塊經常使用到的功能之一,經常用于識別超市的貨物信息。本文我們將演示如何基于瑞芯微RV1106的LockAI視覺
    的頭像 發(fā)表于 05-27 09:32 ?162次閱讀
    基于LockAI<b class='flag-5'>視覺</b><b class='flag-5'>識別</b>模塊:C++條碼<b class='flag-5'>識別</b>

    基于LockAI視覺識別模塊:C++二維碼識別

    二維碼識別視覺模塊經常使用到的功能之一。我們將演示如何使用基于瑞芯微RV1106的LockAI視覺識別模塊進行二維碼識別。
    的頭像 發(fā)表于 05-26 09:42 ?277次閱讀
    基于LockAI<b class='flag-5'>視覺</b><b class='flag-5'>識別</b>模塊:C++二維碼<b class='flag-5'>識別</b>

    基于LockAI視覺識別模塊:C++同時識別輪廓和色塊

    1.項目簡介1.1色塊識別的重要性顏色特征提?。侯伾且环N重要的視覺特征,尤其在背景較為單一的情況下,能夠快速區(qū)分目標區(qū)域。應用場景:廣泛應用于機器人導航、工業(yè)自動化、物體跟蹤等領域。HSV顏色空間
    的頭像 發(fā)表于 05-23 16:41 ?257次閱讀
    基于LockAI<b class='flag-5'>視覺</b><b class='flag-5'>識別</b>模塊:C++同時<b class='flag-5'>識別</b>輪廓和色塊

    人工智能視覺識別技術的應用領域及場景

    人工智能視覺識別技術的應用領域及場景
    的頭像 發(fā)表于 03-14 11:41 ?1053次閱讀

    transformer專用ASIC芯片Sohu說明

    2022年,我們打賭說transformer會統(tǒng)治世界。 我們花了兩年時間打造Sohu,這是世界上第一個用于transformer(ChatGPT中的“T”)的專用芯片。 將transform
    的頭像 發(fā)表于 01-06 09:13 ?1153次閱讀
    <b class='flag-5'>transformer</b>專用ASIC芯片Sohu說明

    開源項目 ! 利用邊緣計算打造便攜式視覺識別系統(tǒng)

    擴展地構建這些系統(tǒng)。 邊緣計算平臺應運而生 —— 它是實現超快速、低延遲視覺識別的秘訣所在。通過在本地處理數據,邊緣計算大幅削減了傳輸延遲,實現了實時響應,并提高了計算效率。對于那些分秒必爭的應用場
    發(fā)表于 12-16 16:31

    用于機器視覺應用的智能機器視覺控制平臺

    工控機在機器視覺系統(tǒng)設計中是不可或缺的核心組件,在機器視覺中發(fā)揮著至關重要的作用,其強大的計算能力、高度的穩(wěn)定性和可靠性、實時性以及圖像處理和識別能力,為機器視覺檢測提供了有力支持。我
    的頭像 發(fā)表于 11-23 01:08 ?548次閱讀
    適<b class='flag-5'>用于</b>機器<b class='flag-5'>視覺</b>應用的智能機器<b class='flag-5'>視覺</b>控制平臺

    ASR與傳統(tǒng)語音識別的區(qū)別

    識別技術。 構建更深更復雜的神經網絡模型,利用大量數據進行訓練。 提高了語音識別的準確率和穩(wěn)定性。 傳統(tǒng)語音識別 : 通常依賴于聲學-語言模型的方法。 在處理復雜的語音輸入時,可能表現不如ASR技術出色。 二、功能多樣性 ASR
    的頭像 發(fā)表于 11-18 15:22 ?1352次閱讀

    使用 TMP1826 嵌入式 EEPROM 替換用于模塊識別的外部存儲器

    電子發(fā)燒友網站提供《使用 TMP1826 嵌入式 EEPROM 替換用于模塊識別的外部存儲器.pdf》資料免費下載
    發(fā)表于 09-09 09:44 ?0次下載
    使用 TMP1826 嵌入式 EEPROM 替換<b class='flag-5'>用于</b>模塊<b class='flag-5'>識別的</b>外部存儲器

    什么是離線語音識別芯片?與在線語音識別的區(qū)別

    離線語音識別芯片適用于智能家電等,特點為小詞匯量、低成本、安全性高、響應快,無需聯網。在線語音識別功能更廣泛、識別準確率高,但依賴穩(wěn)定網絡。
    的頭像 發(fā)表于 07-22 11:33 ?954次閱讀