前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVPR 2023 | 高效视频超分辨率的结构化稀疏学习

CVPR 2023 | 高效视频超分辨率的结构化稀疏学习

作者头像
用户1324186
发布2024-05-11 17:30:48
1320
发布2024-05-11 17:30:48
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:CVPR 2023 论文链接:https://openaccess.thecvf.com/content/CVPR2023/html/Xia_Structured_Sparsity_Learning_for_Efficient_Video_Super-Resolution_CVPR_2023_paper.html 作者:Bin Xia, Jingwen He, Yulun Zhang, Yitong Wang, Yapeng Tian, Wenming Yang and Luc Van Gool 内容整理:王妍

目录

  • 引言
  • 方法
    • 综述
    • 结构化稀疏学习
  • 实验
    • 实验设置
    • 实验结果
    • 不同层的剪枝比

引言

视频超分辨率(VSR)模型的高计算成本阻碍了它们在资源有限的设备上的部署,例如智能手机和无人机。现有的 VSR 模型包含大量冗余滤波器,影响了推理效率。为了修剪这些不重要的过滤器,本文根据 VSR 的特性开发了一种称为结构化稀疏学习(SSL)的结构化修剪方案。在 SSL 中,本文为 VSR 模型中的几个关键组件设计了修剪方案,包括残差块、循环网络和上采样网络。实验表明,SSL 明显优于最近的方法。

方法

综述

图 1

图 1 (a)显示了基于双向循环结构的 VSR 网络,如 BasicVSR。给定 LR 帧

I_t

,前向网络将其与之前的隐藏状态

H_{F,t−1}

连接,从中提取特征,并从

H_{F,t−1}

中聚合参考信息。同样,后向网络从

I_t

中提取特征,并从未来隐藏状态

H_{B,t+1}

中聚合参考信息。注意,前向和后向网络都由许多残余块组成。然后,将前向和后向网络生成的特征输入到由多个像素 shuffle 操作和卷积组成的上采样网络中,获得恢复的帧

SR_t

。然而,SOTA VSR 网络需要大量的计算和内存资源,限制了它们在资源有限的设备上的部署。

为了追求更高效的 VSR 网络,我们根据 VSR 网络的特性,本文专门设计了一种称为结构化稀疏学习(SSL)的 VSR 结构化修剪方案。具体来说,SSL 有三个阶段,包括预训练、修剪和调优。在预训练阶段,我们训练了一个强大的 VSR 网络。由于当前的 VSR 网络不使用 BatchNorm,本文在预训练的 VSR 模型中引入缩放因子来调整每个通道和滤波器的稀疏性。在剪枝阶段,根据剪枝准则选择不重要的滤波器,并对相应的尺度因子进行稀疏性正则化。此外,本文提出了残差稀疏连接(RSC)方案,以解放对循环网络残差块修剪的限制,并保留特征映射通道中包含的所有恢复信息,以获得更好的性能。对于上采样网络,本文还专门针对像素 shuffle 操作开发了一种剪枝方案,以保证剪枝后信道空间转换的准确性。此外,观察到在循环网络中,隐状态的误差会随着剪枝后的传播而增大。因此,在微调阶段,本文设计了时序微调(Temporal finetuning, TF)来减轻误差积累。

结构化稀疏学习

结构化稀疏学习(SSL)是一种专门为 VSR 设计的结构化修剪方案。它可以减少神经滤波器的冗余,获得更有效的 VSR 子模型。

比例因子

结构化剪枝的目的是根据设计的重要准则去除卷积滤波器。在分类任务中,相当多的作品使用 BatchNorm 的尺度参数来控制每个过滤器的吞吐量。零刻度参数使相应通道的值消失。因此,它们对随后的 Convs 没有任何贡献,可以被移除。通过正则化尺度参数,我们可以评估和调整每个过滤器的重要性。然而,SOTA VSR 网络不使用 BatchNorm。因此,如图 1 (b)所示,本文在卷积之前或之后乘以比例因子

\gamma

。然后,对比例因子进行正则化,以增强剪枝的稀疏性。

剪枝准则和正则化形式

为了去除冗余滤波器,需要选择不重要的缩放因子

\gamma

来诱导稀疏性。在以往的工作中,ASSL 和 SRPN 不得不采用局部剪枝方案(即仅在同一层内比较比例因子,且每层具有相同的剪枝比例)并添加操作索引,以保证跳跃连接和残差连接保持相同数量的滤波器。

考虑到各层 Conv 滤波器的重要性不同,本文采用全局修剪方案(即不同层的比例因子一起比较)。对于剪枝准则,采用了 L1 范数。具体来说,给定第 i 层的 Conv 核,计算第 k 个 Conv 滤波器的绝对权和:

s_{i,k} = \sum |Wi[k,…]|\quad(1)

此外,对于像素 shuffle 操作前的 Conv,以 4 个连续滤波器为剪接单元,计算 L1 范数得分:

s_{i,k} = \sum |Wi[4k:4(k+1),…]|\quad(2)

然后,给定剪枝比 p 和滤波器总数 N,将所有的 L1 范数得分 s 排序在一起,选择值最小的 N×p 个滤波器作为不重要滤波器或通道,记为集合 S。在识别不重要的滤波器和通道集 S 之后,对相应的比例因子,记为集和

S_{sf}

,应用稀疏诱导正则化(SIR)。具体来说,对比例因子采用 L2 正则化来增强稀疏性:

L_{SIR} = \alpha_\gamma\sum_{\gamma∈S_{sf}}^{}\gamma^2\quad(3)

式中,

\gamma

\gamma∈R^C

中选取的标量,对应于不重要的滤波器;

\alpha_\gamma

是标量。每 T1 迭代,

\alpha_\gamma

增加 ∆,当

\alpha_\gamma

达到预定上限 τ 时,保持

\alpha_\gamma

不变,继续训练 T2 次迭代。

循环网络残块修剪方案

图 2

VSR 递归网络由残差块组成。残留块很难修剪,因为加法操作要求在跳过和残差连接之间修剪的过滤器索引相同。如图 2 (b)所示,相当多的修剪方案直接跳过残差块中最后一个 Conv 的修剪,限制了修剪空间。最近,如图 2

(c)

所示,ASSL 和 SRPN 利用正则化对残差块中的最后一个 Conv 进行了修剪。然而,循环网络将之前的输出作为之后的输入。因此,修剪循环网络要求第一个和最后一个卷积的修剪索引相同。ASSL 和 SRPN 不能保证递归网络的第一个和最后一个卷积中重要滤波器的索引是对齐的。此外,ASSL 和 SRPN 必须去除输出特征映射中的一些通道,并采用局部剪枝方案,这限制了剪枝空间和恢复信息的利用。

因此,本文提出了残差稀疏连接(RSC)对循环网络中的残差块进行剪枝(图2 (d))。RSC 在残差块中保留了输入特征

{F}_{i}^{\prime}

和输出特征

{F}_{i+1}^{\prime}

的所有通道。对于第一个 Conv,我们选择重要通道(不在集合 S 中)参与 Conv 操作。在最后一个 Conv 之后,我们得到

{F}_{i+1}

,并将

{F}_{i+1}

与相应通道索引上的

{F}_{i}^{\prime}

相加,得到

{F}_{i+1}^{\prime}

{F}_{i}={F}_{i}^{\prime} \otimes\left(\gamma_{j-1} {W}_{i} \gamma_{j}\right) \quad(4)
{F}_{i+1}={F}_{{i}} \otimes\left({W}_{i+1} \gamma_{j+1}\right) \quad(5)
{F}_{{i}+\mathbf{1}}^{\prime}={F}_{i+1}+{F}_{i}^{\prime}\quad(6)

其中⊗表示 Conv。

{F}_{i}

,

{F}_{i+1}

为中间特征映射。

{W}_{i}

,

{W}_{i+1}

为 Conv 核的权值

{\gamma}_{j-1}

,

{\gamma}_{j}

,

{\gamma}_{j+1}

是应用稀疏化正则化的比例因子。

pixel shuffle 的修剪方案

VSR 网络的上采样网络使用 Conv 增加特征图的通道,并采用 pixel shuffle 操作将通道转换为空间实现上采样。如图 1 (b)所示,pixel shuffle 操作以四个通道为一组,实现 2 倍上采样。如果在 pixel shuffle 之前不加任何限制地对 Conv 进行剪枝,剪枝后的特征图在通过 pixel shuffle 操作后会出现空间无序,导致性能下降。为了解决这个问题,本文专门设计了一个强大而简单的 pixel shuffle 修剪方案。给定输入特征,将四个滤波器作为剪枝单元来评估它们的重要性,然后在滤波器上施加比例因子

γ_j

来增强稀疏性(见剪枝准则和正则化形式)。

时间微调

修剪后的 VSR 网络在隐藏状态

H_F

H_B

中产生了一个较小的误差(图1 (a)),随着隐藏状态随着循环网络的传播,该误差将被放大。为了解决这个问题,本文引入了时间微调(TF),通过强制修剪网络的隐藏状态与未修剪网络的精确隐藏状态保持一致:

\mathcal{L}_{t f}=\left\|H_{F, T}-H_{F, T}^{\prime}\right\|+\left\|H_{B, 0}-H_{B, 0}^{\prime}\right\|\quad(7)

式中,T 为输入帧数,

H_{F, T}

H_{F, T}^{\prime}

分别为修整后和原始 VSR 网络中 T 帧前向传播后的最终隐藏状态。同样,

H_{B, T}

H_{B, T}^{\prime}

是修整后的 VSR 网络和原始 VSR 网络反向传播后的最终隐藏状态。

为了训练整个 VSR 网络,本文采用了 Charbonnier 损失,其可表示为:

\mathcal{L}_{r e c}=\frac{1}{T} \sum_{t=1}^{T} \sqrt{\left\|S R_{t}-H R_{t}\right\|^{2}+\varepsilon^{2}}\quad(8)

其中 ε = 10−6。

SR_t

HR_t

分别是重构帧和 HR 帧。剪枝网络微调的整体损失函数设计为:

\mathcal{L}_{a l l}=\mathcal{L}_{r e c}+\mathcal{L}_{t f}\quad(9)

使用 SSL 构建 VSR 模型

在本文的研究中,使用 BasicVSR 进行 VSR 剪枝。此外,本文进一步提出了单向 BasicVSR (BasicVSR-uni),通过去除后向网络获得,用于在线推理。由于 BasicVSR 的 SpyNet 用于光流估计,本文没有对其应用 SSL。在修剪阶段,如图 1 所示,首先将比例因子添加到 Conv 和残差块中。然后,使用剪枝准则来全局选择不重要的滤波器,并对相应的比例因子进行稀疏诱导正则化。然后,去除不重要的 Conv 滤波器,并用 T3 迭代对修剪后的 VSR 网络进行微调。

实验

实验设置

采用 REDS 和 Vimeo-90K 数据集进行训练。对于 REDS,使用 REDS4 作为测试集,REDSval4 作为验证集,REDS 的剩余片段用于训练。此外,采用 Vid4、UDM10、Vimeo-90K-t 与 Vimeo-90K 一起作为测试集。本文使用双三次(BI)和模糊下采样(BD)两种退化方法来训练和测试 4 倍下采样的模型。对于 BI, MATLAB 函数“imresize”用于下采样。对于 BD,通过 σ =1.6 的高斯滤波器模糊 HR 图像,然后每 4 个像素进行一次子采样。

在稀疏诱导正则化中,迭代 T1 和 T2 分别被设置为 5 和 3,375。标量 ∆ 和 τ 分别设为 10−4 和 0.1。注意,在稀疏诱导正则化中固定了流量估计器的参数。在修剪后的 VSR 网络调优中,将 T3 设置为 300,000。本文采用 Adam 优化器和余弦退火方案。光流估计器的初始学习率为 2.5 × 10−5。其他模块的学习率为 2 × 10−4。输入 LR 帧的 patch 大小为 64 × 64。实验在使用 PyTorch 1.10 和 V100 gpu 的服务器上进行。

实验结果

在 0.5 的剪枝比下,相比其它轻量级的 VSR 方法,SSL 的性能更优。

表1

在不同的剪枝比和 FLOPs 下,SSL 保持了最好的性能。且在剪枝比更大的时候,SSL 的优势更明显。

图 3

不同层的剪枝比

以 SSL 以 0.5 剪枝比剪枝 BasicVSR 为例。将不同层的剪枝比可视化。

  1. 在正向和后向网络中,第一个 Conv 输入通道的剪枝比低于第二个 Conv 输出滤波器的剪枝比。这意味着 VSR 网络倾向于将来自众多输入通道的信息聚合到几个重要的输出通道中。
  2. 正向和后向网络中较深位置的残块剪枝比较小。这意味着更深位置的残块对 VSR 的贡献更大。
  3. 上采样网络的平均剪枝比为 0.2(小于 0.5),表明上采样网络对 VSR 性能起着相当重要的作用。

图 4

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 方法
    • 综述
      • 结构化稀疏学习
      • 实验
        • 实验设置
          • 实验结果
            • 不同层的剪枝比
            相关产品与服务
            腾讯云 BI
            腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档