
SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy(2023 CVPR)
-
- 一、研究背景
- 二、方法
-
- 1.核心单元1:空间重构单元(SRU)------抑制空间冗余
-
- 1.1.特征重要性评估:基于组归一化(GN)的权重度量
- [1.2 特征分离:门控机制划分有效与冗余特征](#1.2 特征分离:门控机制划分有效与冗余特征)
- [1.3 特征重构:交叉融合强化有效特征](#1.3 特征重构:交叉融合强化有效特征)
- 2.核心单元2:通道重构单元(CRU)------抑制通道冗余
-
- [2.1 特征分割:按比例拆分与通道压缩](#2.1 特征分割:按比例拆分与通道压缩)
- [2.2 特征转换:轻量级操作提取分层特征](#2.2 特征转换:轻量级操作提取分层特征)
-
- [(1)上部分转换分支(Rich Feature Extractor):提取高维特征](#(1)上部分转换分支(Rich Feature Extractor):提取高维特征)
- [(2)下部分转换分支(Supplementary Feature Extractor):提取浅层特征](#(2)下部分转换分支(Supplementary Feature Extractor):提取浅层特征)
- [2.3 特征融合:自适应权重合并分层特征](#2.3 特征融合:自适应权重合并分层特征)
- 3.方案复杂度优势(参数与计算量分析)
-
- [3.1 标准卷积的参数计算](#3.1 标准卷积的参数计算)
- [3.2 SCConv的参数计算](#3.2 SCConv的参数计算)
- 三、实验结果
-
- 1.消融实验:验证SCConv内部组件有效性
-
- [1.1 SRU与CRU的独立贡献及最优组合方式](#1.1 SRU与CRU的独立贡献及最优组合方式)
- [1.2 CRU中分割比α的最优值](#1.2 CRU中分割比α的最优值)
- [2. 特征可视化验证](#2. 特征可视化验证)
- [3. 图像分类实验:验证SCConv在分类任务的优越性](#3. 图像分类实验:验证SCConv在分类任务的优越性)
-
- [3.1 CIFAR-10/100数据集(小尺寸图像)](#3.1 CIFAR-10/100数据集(小尺寸图像))
- [3.2 ImageNet-1K数据集(大尺寸图像)](#3.2 ImageNet-1K数据集(大尺寸图像))
- 四、总结
该文章提出了一种名为 SCConv(Spatial and Channel Reconstruction Convolution)的高效卷积模块,旨在通过减少卷积神经网络(CNNs)中的空间和通道冗余,在降低计算成本与模型存储的同时提升性能,相关研究成果发表于 CVPR 2023。
参考资料如下:
1\]. [论文地址](https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf) *** ** * ** *** ### 一、研究背景 卷积神经网络(Convolutional Neural Networks, CNN)在各类计算机视觉任务中展现出卓越性能,但这一成就的背后是巨大的计算资源消耗,部分原因在于卷积层会提取冗余特征。近年来的研究方向主要分为两类:一类是对训练成熟的大规模模型进行压缩,另一类是探索设计精良的轻量级模型。 在论文中,作者尝试利用特征间的空间冗余与通道冗余来实现CNN压缩,并提出一种高效的卷积模块------SCConv(空间与通道重构卷积,Spatial and Channel Reconstruction Convolution)。该模块旨在减少冗余计算,同时促进具有代表性的特征学习。 所提出的SCConv由两个单元构成:空间重构单元(Spatial Reconstruction Unit, SRU)和通道重构单元(Channel Reconstruction Unit, CRU)。其中,SRU采用"分离-重构"(separate-and-reconstruct)方法抑制空间冗余,而CRU则通过"分割-转换-融合"(split-transform-and-fuse)策略减少通道冗余。此外,SCConv是一种"即插即用"(plug-and-play)的架构单元,可直接用于替换各类卷积神经网络中的标准卷积。 实验结果表明,嵌入SCConv的模型能够通过减少冗余特征,在显著降低模型复杂度与计算成本的同时,实现更优的性能表现。。 ### 二、方法  SCConv是一个顺序组合的双单元模块,整体流程为:输入特征先经过**空间重构单元(SRU)** 完成空间冗余抑制与空间精炼特征生成,再将空间精炼特征输入**通道重构单元(CRU)** 完成通道冗余抑制与通道精炼特征生成,最终输出可用于后续网络层的高效特征。该模块不引入额外架构依赖,可无缝嵌入ResNet、ResNeXt、等主流CNN backbone,替换其中的标准3×3卷积层。 #### 1.核心单元1:空间重构单元(SRU)------抑制空间冗余  SRU采用"**分离-重构(Separate-and-Reconstruct)** "策略,通过"评估特征重要性→分离有效与冗余特征→交叉重构强化有效特征"三步,实现空间冗余抑制,具体流程如下: ##### 1.1.特征重要性评估:基于组归一化(GN)的权重度量 针对输入特征图 X ∈ R N × C × H × W X \\in \\mathbb{R}\^{N \\times C \\times H \\times W} X∈RN×C×H×W(其中 N N N 为批次大小, C C C 为通道数, H / W H/W H/W 为空间高/宽),首先通过组归一化(GN)标准化特征,公式为: X o u t = G N ( X ) = γ X − μ σ 2 + ε + β X_{out }=GN(X)=\\gamma \\frac{X-\\mu}{\\sqrt{\\sigma\^{2}+\\varepsilon}}+\\beta Xout=GN(X)=γσ2+ε X−μ+β 其中 μ / σ \\mu/\\sigma μ/σ 为特征的均值/标准差, ε \\varepsilon ε为防止分母为0的微小常数, γ \\gamma γ(可训练缩放因子)和 β \\beta β(可训练偏移因子)为GN的 affine 参数。 SRU核心创新在于**利用 γ ∈ R C \\gamma \\in \\mathbb{R}\^{C} γ∈RC度量特征图的空间信息丰富度** :空间像素变化越显著(信息越丰富)的特征图,其 γ \\gamma γ 值越大;反之则为冗余特征图。 ##### 1.2 特征分离:门控机制划分有效与冗余特征 为量化特征重要性,先计算归一化相关权重 W γ ∈ R C W_{\\gamma} \\in \\mathbb{R}\^{C} Wγ∈RC,表示各通道特征图的相对重要性,公式为: W γ = { w i } = γ i ∑ j = 1 C γ j , i , j = 1 , 2 , ⋯ , C W_{\\gamma}=\\left\\{w_{i}\\right\\}=\\frac{\\gamma_{i}}{\\sum_{j=1}\^{C} \\gamma_{j}}, i, j=1,2, \\cdots, C Wγ={wi}=∑j=1Cγjγi,i,j=1,2,⋯,C 再通过sigmoid函数将 W γ W_{\\gamma} Wγ映射到(0,1)区间,并引入**阈值(实验中设为0.5)** 进行门控: * 权重 w i \> 0.5 w_i \> 0.5 wi\>0.5的特征图标记为"信息丰富特征",对应权重 W 1 W_1 W1; * 权重 w i ≤ 0.5 w_i \\leq 0.5 wi≤0.5的特征图标记为"空间冗余特征",对应权重 W 2 W_2 W2; 最终通过元素乘法将输入特征 X X X 分离为两部分: X 1 w = W 1 ⊗ X ( 信息丰富特征 ) , X 2 w = W 2 ⊗ X ( 空间冗余特征 ) X_1\^w = W_1 \\otimes X \\quad (\\text{信息丰富特征}), \\quad X_2\^w = W_2 \\otimes X \\quad (\\text{空间冗余特征}) X1w=W1⊗X(信息丰富特征),X2w=W2⊗X(空间冗余特征) (其中 ⊗ \\otimes ⊗ 表示乘法) ##### 1.3 特征重构:交叉融合强化有效特征 为避免直接丢弃冗余特征导致的信息损失,SRU采用**交叉重构策略**,将冗余特征中的少量有效信息融入信息丰富特征,同时压缩空间冗余: * 对 X 1 w X_1\^w X1w 和 X 2 w X_2\^w X2w 分别进行子特征划分(如划分为 X 11 w , X 12 w X_{11}\^w, X_{12}\^w X11w,X12w和 X 21 w , X 22 w X_{21}\^w, X_{22}\^w X21w,X22w); * 交叉求和: X w 1 = X 11 w ⊕ X 22 w X\^{w1} = X_{11}\^w \\oplus X_{22}\^w Xw1=X11w⊕X22w, X w 2 = X 21 w ⊕ X 12 w X\^{w2} = X_{21}\^w \\oplus X_{12}\^w Xw2=X21w⊕X12w(其中 ⊕ \\oplus ⊕ 表示元素求和); * 拼接输出:将 X w 1 X\^{w1} Xw1 和 X w 2 X\^{w2} Xw2 拼接,得到**空间精炼特征 X w X\^w Xw** ,公式为: X w = X w 1 ∪ X w 2 X\^w = X\^{w1} \\cup X\^{w2} Xw=Xw1∪Xw2 (其中 ∪ \\cup ∪ 表示通道维度拼接) 此过程既抑制了空间冗余,又通过交叉融合强化了有效特征的表达能力,且未增加额外计算量。 #### 2.核心单元2:通道重构单元(CRU)------抑制通道冗余  CRU针对SRU输出的空间精炼特征 X w X\^w Xw,采用"**分割-转换-融合(Split-Transform-and-Fuse)** "策略,在减少通道冗余的同时,通过轻量级操作提取高维代表性特征,具体流程如下: ##### 2.1 特征分割:按比例拆分与通道压缩 首先对空间精炼特征 X w ∈ R C × H × W X\^w \\in \\mathbb{R}\^{C \\times H \\times W} Xw∈RC×H×W进行两步处理: * **比例分割** :按通道比例 α \\alpha α(实验中最优值为1/2)将通道分为两部分:上部分含 α C \\alpha C αC 个通道,下部分含 ( 1 − α ) C (1-\\alpha) C (1−α)C 个通道; * **通道压缩** :引入"压缩比 r r r"(实验中设为2),对两部分特征分别应用1×1卷积,将通道数压缩至 α C / r \\alpha C/r αC/r(上部分)和 ( 1 − α ) C / r (1-\\alpha) C/r (1−α)C/r(下部分),得到压缩后的特征 X u p X_{up} Xup(上部分)和 X l o w X_{low} Xlow(下部分)。 此步骤通过通道拆分与压缩,初步减少通道维度的冗余,并降低后续转换操作的计算成本。 ##### 2.2 特征转换:轻量级操作提取分层特征 CRU将 X u p X_{up} Xup和 X l o w X_{low} Xlow 输入不同的转换分支,分别提取"高维代表性特征"和"浅层补充特征",实现特征分层学习: ###### (1)上部分转换分支(Rich Feature Extractor):提取高维特征 针对 X u p X_{up} Xup,采用"组卷积(GWC)+点卷积(PWC)"的组合,替换计算昂贵的标准 k × k k×k k×k 卷积(实验中 k = 3 k=3 k=3): * **组卷积(GWC)** :将 X u p X_{up} Xup 的通道分为 g g g个组(实验中 g = 2 g =2 g=2 ),每组独立进行3×3卷积,通过稀疏通道连接减少参数与计算量(避免标准卷积的全通道连接冗余); * **点卷积(PWC)**:对GWC输出应用1×1卷积,弥补GWC导致的通道间信息割裂,促进通道间信息流动; * **特征融合** :将GWC和PWC的输出进行元素-wise求和,得到高维代表性特征 Y 1 Y_1 Y1,公式为: Y 1 = M G X u p + M P 1 X u p Y_1 = M\^G X_{up} + M\^{P_1} X_{up} Y1=MGXup+MP1Xup 其中 M G M\^G MG 为GWC的可训练权重矩阵, M P 1 M\^{P_1} MP1 为PWC的可训练权重矩阵, Y 1 ∈ R C × H × W Y_1 \\in \\mathbb{R}\^{C \\times H \\times W} Y1∈RC×H×W。 ###### (2)下部分转换分支(Supplementary Feature Extractor):提取浅层特征 针对 X l o w X_{low} Xlow,采用"廉价操作+特征复用"策略,在极低计算成本下补充浅层细节特征: * **廉价PWC** :仅应用1×1卷积(权重矩阵 M P 2 M\^{P_2} MP2),生成浅层特征 M P 2 X l o w M\^{P_2} X_{low} MP2Xlow; * **特征复用** :直接复用原始 X l o w X_{low} Xlow,避免重复计算; * **特征拼接** :将生成的浅层特征与复用特征拼接,得到浅层补充特征 Y 2 Y_2 Y2,公式为: Y 2 = M P 2 X l o w ∪ X l o w Y_2 = M\^{P_2} X_{low} \\cup X_{low} Y2=MP2Xlow∪Xlow 其中 Y 2 ∈ R C × H × W Y_2 \\in \\mathbb{R}\^{C \\times H \\times W} Y2∈RC×H×W,此分支计算成本仅为上部分分支的1/3\~1/2,且通过复用保留了原始特征的细节信息。 ##### 2.3 特征融合:自适应权重合并分层特征 为避免直接拼接/求和导致的特征权重失衡,CRU借鉴简化的SKNet注意力机制,对 Y 1 Y_1 Y1 和 Y 2 Y_2 Y2 进行**自适应融合**: * **全局平均池化** :对 Y 1 Y_1 Y1 和 Y 2 Y_2 Y2 分别应用全局平均池化,提取通道维度的全局统计信息 S 1 ∈ R C × 1 × 1 S_1 \\in \\mathbb{R}\^{C \\times 1 \\times 1} S1∈RC×1×1 和 S 2 ∈ R C × 1 × 1 S_2 \\in \\mathbb{R}\^{C \\times 1 \\times 1} S2∈RC×1×1,公式为: S m = 1 H × W ∑ i = 1 H ∑ j = 1 W Y c ( i , j ) , m = 1 , 2 S_m = \\frac{1}{H \\times W} \\sum_{i=1}\^{H} \\sum_{j=1}\^{W} Y_{c}(i, j), m=1,2 Sm=H×W1i=1∑Hj=1∑WYc(i,j),m=1,2 * **通道注意力权重计算** :通过softmax函数对 S 1 S_1 S1 和 S 2 S_2 S2 归一化,生成特征重要性权重 β 1 \\beta_1 β1 和 β 2 \\beta_2 β2(满足 β 1 + β 2 = 1 \\beta_1 + \\beta_2 = 1 β1+β2=1),公式为: β 1 = e S 1 e S 1 + e S 2 , β 2 = e S 2 e S 1 + e S 2 \\beta_1 = \\frac{e\^{S_1}}{e\^{S_1} + e\^{S_2}}, \\quad \\beta_2 = \\frac{e\^{S_2}}{e\^{S_1} + e\^{S_2}} β1=eS1+eS2eS1,β2=eS1+eS2eS2 * **自适应融合** :按权重对 Y 1 Y_1 Y1和 Y 2 Y_2 Y2进行元素加权求和,得到**通道精炼特征 Y Y Y** ,公式为: Y = β 1 Y 1 + β 2 Y 2 Y = \\beta_1 Y_1 + \\beta_2 Y_2 Y=β1Y1+β2Y2 此过程可根据任务需求动态调整高维特征与浅层特征的贡献度,进一步提升特征表达的有效性。 #### 3.方案复杂度优势(参数与计算量分析) SCConv的参数主要集中在CRU的转换阶段,相比标准卷积,其复杂度降低显著: ##### 3.1 标准卷积的参数计算 标准 k × k k×k k×k 卷积的参数数量公式为: P s = k 2 × C 1 × C 2 P_s = k\^2 \\times C_1 \\times C_2 Ps=k2×C1×C2 其中 C 1 C_1 C1 为输入通道数, C 2 C_2 C2 为输出通道数, k k k 为卷积核大小(如3×3卷积 k = 3 k=3 k=3)。 ##### 3.2 SCConv的参数计算 SCConv的参数由CRU的"分割-转换"阶段的1×1卷积、GWC、PWC参数组成,公式为: P s c = 1 × 1 × α C 1 × α C 1 r + k 2 × α C 1 g r × C 2 g × g + 1 × 1 × α C 1 r × C 2 + ( 1 − α ) C 1 × ( 1 − α ) C 1 r + 1 × 1 × ( 1 − α ) C 1 r × ( C 2 − 1 − α r C 1 ) \\begin{aligned} P_{sc}= \& 1×1×\\alpha C_1×\\frac{\\alpha C_1}{r} + k\^2×\\frac{\\alpha C_1}{g r}×\\frac{C_2}{g}×g + 1×1×\\frac{\\alpha C_1}{r}×C_2 \\\\ \& + (1-\\alpha) C_1×\\frac{(1-\\alpha) C_1}{r} + 1×1×\\frac{(1-\\alpha) C_1}{r}×\\left(C_2 - \\frac{1-\\alpha}{r} C_1\\right) \\end{aligned} Psc=1×1×αC1×rαC1+k2×grαC1×gC2×g+1×1×rαC1×C2+(1−α)C1×r(1−α)C1+1×1×r(1−α)C1×(C2−r1−αC1) 在实验最优参数设置( α = 1 / 2 \\alpha=1/2 α=1/2 、 、 、r=2 、 、 、g=2 、 、 、k=3 、 、 、 C_1=C_2=C )下, )下, )下, P s / P s c ≈ 5 P_s / P_{sc} \\approx 5 Ps/Psc≈5,即SCConv的参数数量仅为标准卷积的1/5,计算量同步降低约70%\~80%,且无精度损失。 ### 三、实验结果 该轮文围绕所提SCConv(空间与通道重构卷积)模块的有效性验证,设计了多维度实验,全面验证了SCConv在"降低模型复杂度"与"提升任务性能"上的优势,具体实验内容如下: #### 1.消融实验:验证SCConv内部组件有效性 为明确SCConv中"空间重构单元(SRU)""通道重构单元(CRU)"的独立作用及组合方式的合理性,以ResNet50为基线,在CIFAR-100数据集上开展消融实验,核心结论如下: ##### 1.1 SRU与CRU的独立贡献及最优组合方式  * 独立贡献: **仅嵌入SRU(ResNet50+S)** :无额外计算量(FLOPs与原始ResNet50持平),但Top-1准确率提升近1%(从78.60%升至79.59%),证明SRU可在不增加复杂度的前提下,通过抑制空间冗余强化特征表达; **仅嵌入CRU(ResNet50+C)**:参数减少38%(从23.71M降至14.74M)、FLOPs减少35%(从1.30G降至843.81M),同时Top-1准确率提升0.8%(至79.21%),证明CRU能有效降低通道冗余,平衡效率与性能。 * 最优组合方式: 对比3种组合策略(顺序空间-通道S+C、顺序通道-空间C+S、并行C\&S),结果显示:**S+C(先SRU后CRU)** 效果最优:Top-1准确率达79.89%,显著高于C+S(79.54%)与并行C\&S(79.26%); ##### 1.2 CRU中分割比α的最优值  为确定CRU中"通道分割比例α"(将通道分为αC和(1-α)C两部分)的最优值,在α=1/8\~7/8范围内测试,发现: * α增大时,模型准确率先升后稳,FLOPs同步小幅增加; * **α=1/2** 时实现"精度-效率"最佳平衡:既保证上部分转换分支(提取高维特征)有足够通道数,又避免下部分分支(补充浅层特征)通道过少导致信息丢失,因此后续实验均采用α=1/2。 #### 2. 特征可视化验证 对"原始ResNet50"与"SRU-嵌入ResNet50"的第一阶段特征图可视化,发现: * SRU嵌入模型的特征图"模式更丰富":冗余背景区域(如均匀色块)的特征被抑制,物体关键细节(如边缘、纹理)的特征更突出且多样化; * 直接证明SRU能有效筛选空间有效特征,为后续CRU的通道精炼奠定基础。  #### 3. 图像分类实验:验证SCConv在分类任务的优越性 在CIFAR-10/100、ImageNet-1K三大分类数据集上,将SCConv-嵌入模型与OctConv、GhostNet、SPConv、SlimConv、TiedConv等SOTA轻量级方法对比,核心结果如下: ##### 3.1 CIFAR-10/100数据集(小尺寸图像)  所有SCConv-嵌入模型均在"参数更少、计算量更低"的前提下,实现更高Top-1准确率,典型结果如下: * **ResNet56基线**:SCConv-R56参数仅0.52M(为原始ResNet56的62.7%)、FLOPs 79.55M(62.7%),但CIFAR-10准确率达94.12%(+0.85%)、CIFAR-100达72.56%(+1.06%),优于GhostNet-R56(CIFAR-10仅92.35%)、SlimConv-R56(CIFAR-100仅71.71%); * **ResNet50基线**:SCConv-R50参数14.69M(原始的62.5%)、FLOPs 831.18M(63.9%),CIFAR-10准确率95.92%(+0.83%)、CIFAR-100达79.89%(+1.29%),且优于同复杂度的SlimConv-R50(CIFAR-100仅78.85%); * **其他架构(ResNeXt-29、WideResNet-28等)**:SCConv-嵌入模型均保持优势,例SCConv-WRN28参数21.12M(原始的57.8%),CIFAR-100准确率80.83%(+1.43%),同时计算量减少15.5%。 ##### 3.2 ImageNet-1K数据集(大尺寸图像)  以ResNet50、ResNet101为基线,验证SCConv在大规模数据上的泛化性: * **ResNet50基线**:SCConv-R50(α=1/2)FLOPs 2.70G(原始的66.0%)、参数16.78M(65.6%),Top-1准确率76.41%(+0.26%);当α=3/4时,准确率进一步升至76.79%(+0.64%),且计算量(2.87G)与SOTA方法PfLayer-R50(2.90G)相当,精度更高; * **ResNet101基线**:SCConv-R101仅用原始62.6%的计算量(4.90G vs 7.83G)、62.8%的参数(28.00M vs 44.55M),Top-1准确率提升0.68%(从77.25%至77.93%); * **FLOPs-准确率曲线**:SCConv-R50的"计算量-精度"曲线位于所有对比方法(ResNet50、GhostNet-R50、SlimConv-R50等)上方,证明其在相同复杂度下精度最优,或相同精度下复杂度最低。 ### 四、总结 对本论文做个小结: **技术创新** :首次提出 "空间 - 通道双维度联合冗余抑制" 策略,SRU 与 CRU 协同优化,弥补现有方法单维度优化的局限; **实用价值** :SCConv 为 "即插即用" 模块,无需修改 CNN 架构即可替换标准卷积,适配 ResNet、ResNeXt 等多种 backbone,且兼容分类、检测等多任务; **性能优势** :实验证明,SCConv - 嵌入模型在 "参数更少、计算量更低" 的前提下,精度全面优于 OctConv、GhostNet 等 SOTA 方法,为资源受限场景下的 CNN 部署提供高效解决方案。 综上,该论文通过 SCConv 模块的设计与验证,为 CNN 的 "高效化" 提供了新范式,对轻量级神经网络架构研究具有重要参考意义。 *** ** * ** *** **感谢阅读,欢迎留言或私信,一起探讨和交流。 如果对你有帮助的话,也希望可以给博主点一个关注,感谢。**