CVPR 2022 视频超分比赛冠军算法 BasicVSR+++

本文介绍了视频超分比赛CVPR 2022的冠军算法BasicVSR+++,它是BasicVSR的加强版,通过二阶网格传播和光流引导可变形对齐提升信息聚合能力,性能超越16个同类算法,且代码已开源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

FBANet cvpr2023

realbasicVSR 有预训练,201M

加强版BasicVSR

在16个同类算法中性能全部最佳

作者介绍


FBANet cvpr2023

预训练模型360M

ICCV2023 |FBANet:迈向真实世界的多帧超分-优快云博客

realbasicVSR 有预训练,201M

GitHub - ckkelvinchan/RealBasicVSR: Official repository of "Investigating Tradeoffs in Real-World Video Super-Resolution"

AI的答案是超分辨率算法:

CVPR 2022 | 视频超分比赛冠军算法

现在,在视频超分领域,有一个强大的算法拿下了超分比赛NTIRE 2021三冠一亚的优异成绩,登上了CVPR 2022。

它的名字叫做BasicVSR++,是对视频超分SOTA模型BasicVSR的进一步改进。

BasicVSR也曾拿下NTIRE冠军,入选CVPR 2021。

现在,这个BasicVSR+++在基本相同的参数量下,不仅性能大幅超过前辈,PSNR(峰值信噪比,图像质量评估指标)提高了0.82dB,还能应用到更多的视频复原任务中(例如压缩视频增强)。

加强版BasicVSR

BasicVSR采用双向传播(propagation)+特征对齐方式,能够提取整个输入视频中的有效信息进行超分。

但是,它这一基本设计也限制了信息聚合的功效,比如难以恢复精细的细节,尤其是在处理复杂的遮挡区域时。

因此,加强版的BasicVSR++在传播和对齐方面进行了重新改造,采用了二阶网格传播(second-order grid propagation) 和光流引导可变形对齐 (flow-guided deformable alignment)的设计来改善网络中的信息聚合能力,提升遮挡区域的鲁棒性和有效性。

其中,二阶网格可以让信息从不同的时空位置进行前向后后向传播,让特征的传播更有效。

光流引导可变形对齐则可以让帧进行更具鲁棒性的特征对齐。

采用这一对齐方式主要是单纯的形变对齐训练效果不稳定,尽管可变形卷积 (DCN) 网络中具备多样性的偏移量(offset)使形变对齐的性能优于光流对齐。

BasicVSR+++具体架构如下:

给定输入视频,首先采用残差模块对每一帧提取特征;然后这些特征在二阶网络传播中进行信息传播,其中对齐部分采用光流引导形变对齐;完成信息传播后,汇聚特征生成输出图像。

在16个同类算法中性能全部最佳

作者对比了16种不同视频超分算法的性能、参数量以及耗时,结果是BasicVSR++在所有数据集下的两种退化方式中均取得最佳性能(红色代表最佳分数,蓝色代表次佳分数)。

特别地,相比大容量滑动窗口算法EDSR,BasicVSR++获得了1.3dB的性能提升,同时参数量少65%;

相比之前的最新技术IconVSR,BasicVSR++在参数量更少的同时也带来了1dB的性能提升。

更轻量版的BasicVSR++ (S),相比前辈BasicVSR,也有0.82dB的提升,收益显著。

而在具体效果中,不管是在REDS4、Vimeo-90K-T还是Vid4数据集上,BasicVSR++都能对极细节的图像进行复原,且效果最好。

目前,BasicVSR++的代码已经开源,感兴趣的同学可以去试试。

作者介绍

一作陈焯杰 (Kelvin C.K. Chan) 来自南洋理工大学计算机科学与工程学院,博士三年级在读,本硕毕业于香港中文大学。

目前的研究方向为图像/视频恢复,一共发表过5篇顶会论文。

通讯作者为他的导师吕健勤(Chen Change Loy),南洋理工大学计算机学院副教授,商汤-南洋理工大学联合实验室S-Lab副主任。

他俩也是BasicVSR的原班作者。

BasicVSR++的剩余两位作者分别为:该校二年级博士生周尚辰和该校研究员Xu Xiangyu。

论文地址:
https://arxiv.org/abs/2104.13371

代码:

https://github.com/ckkelvinchan/RealBasicVSR

关于 BasicVSR++ 的技术细节,目前公开的信息表明它确实引入了一些改进措施来提升性能。具体到通道注意力机制方面,虽然原始的 BasicVSR 并未显式提及通道注意力机制[^1],但在后续版本 BasicVSR++ 中,为了进一步提高模型的表现能力,作者可能借鉴了其他先进架构的设计思路,例如 EDSR、RCAN 或 SwinIR 等模型的技术特点。 通道注意力机制的核心思想在于通过对特征图的不同通道赋予不同的权重,从而让网络更加关注重要的语义信息并抑制冗余信息。如果 BasicVSR++ 实现了这一特性,则很可能是采用了类似于 CBAM (Convolutional Block Attention Module)[^4] 或 RCAN (Residual Channel Attention Network) 的设计方式。这些模块通常会计算全局平均池化和最大池化的组合特征,并通过多层感知机(MLP)或卷积操作生成逐通道加权系数。 以下是假设实现的一个简化版代码片段展示如何将通道注意力融入 BasicVSR++ 的框架之中: ```python import torch.nn as nn class ChannelAttention(nn.Module): def __init__(self, num_channels, reduction=16): super(ChannelAttention, self).__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) self.max_pool = nn.AdaptiveMaxPool2d(1) self.fc = nn.Sequential( nn.Conv2d(num_channels, num_channels // reduction, kernel_size=1), nn.ReLU(inplace=True), nn.Conv2d(num_channels // reduction, num_channels, kernel_size=1) ) def forward(self, x): avg_out = self.fc(self.avg_pool(x)) max_out = self.fc(self.max_pool(x)) out = avg_out + max_out return torch.sigmoid(out) class EnhancedPropagationBlock(nn.Module): def __init__(self, num_channels): super(EnhancedPropagationBlock, self).__init__() self.channel_attention = ChannelAttention(num_channels=num_channels) self.conv_layer = nn.Conv2d(in_channels=num_channels, out_channels=num_channels, kernel_size=3, padding=1) def forward(self, x): attention_weights = self.channel_attention(x) attended_features = x * attention_weights output = self.conv_layer(attended_features) return output ``` 上述代码展示了如何构建一个带有通道注意力机制的传播块 `EnhancedPropagationBlock`,其中融合了自适应均值/最大池化与全连接层的操作逻辑。需要注意的是,实际项目中的实现可能会更复杂一些,涉及更多参数调整以及针对特定数据集优化的内容。 最后提醒一点,尽管 LOVSR 和 GOVSR 是两种不同的 omniscient video super-resolution 方法类[^2],但它们并不直接影响是否采用通道注意力机制这样的局部优化策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值