Project Icon

iSeeBetter

时空融合视频超分辨率方法

iSeeBetter是一种新型视频超分辨率算法,结合循环生成反投影网络和SRGAN,从相邻帧中提取时空信息。采用四重损失函数优化模型,在多数场景下超越现有方法,实现更高质量的视频放大效果。该方法融合了单帧和多帧超分辨率技术,为视频画质提升提供了新的解决方案。

iSeeBetter: 使用循环生成反向投影网络的时空视频超分辨率

斯坦福大学CS230深度学习课程项目。发表于2020年9月清华大学出版社的Springer计算机视觉媒体杂志。 这是我们论文的官方PyTorch实现。

Python3 | PyTorch | GANs | CNNs | ResNets | RNNs


PDF: SpringerLink | arXiv | amanchadha.com

其他: YouTube视频 | 海报 | PapersWithCode | ResearchGate | Mendeley | NASA ADS | SemanticScholar


我们在PapersWithCode的视频超分辨率排行榜上排名第一!


iSeeBetter_Poster

引用

如果您觉得我们的工作有趣,请引用:

@article{Chadha2020iSeeBetter,
  title={{i}{S}ee{B}etter: Spatio-Temporal Video Super-Resolution using Recurrent Generative Back-Projection Networks},
  author={Chadha, Aman and Britto, John and Roja, Mani M.},
  journal={Springer Journal of Computational Visual Media, September 2020, Tsinghua University Press},
  volume={6},
  number={3},
  pages={307-317},
  year={2020},
  publisher={Springer}
}
A. Chadha, J. Britto and M. M. Roja. iSeeBetter: Spatio-Temporal Video Super-Resolution using Recurrent Generative Back-Projection Networks. Springer Journal of Computational Visual Media, Tsinghua University Press, 6(3):1–11, 2020.

所需包

torch==1.3.0.post2
pytorch-ssim==0.1
numpy==1.16.4
scikit-image==0.15.0
tqdm==4.37.0
opencv-python==4.5.1.48

步骤0: 加载所需的Python模块:

pip3 install -r requirements.txt

此外还需要 Pyflow,这是 Ce Liu 的 C++ 实现 的 Coarse2Fine 光流算法的 Python 封装。 我们使用的 Pyflow 二进制文件是为 Ubuntu 和 macOS 与 Python 3.7 一起构建的,可在仓库中获得。 如果你需要重新构建 Pyflow,可以(i)按照以下说明操作,或(ii)参考 Pyflow Git

第 1 步:构建 Pyflow:

cd pyflow/
python setup.py build_ext -i  # 构建 pyflow
python demo.py                # 确保 pyflow 正常工作
cp pyflow*.so ..

第 2 步:按照下面相关部分的说明训练或测试 iSeeBetter。

简介

深度学习席卷全球!

在深度学习影响的众多领域中,超分辨率(定义为将低分辨率样本上采样为高分辨率样本)就是其中之一。

那么我为什么选择这个主题呢?我觉得可以利用我新掌握的深度学习技能来开发一些有趣的东西,同时可能推动该领域的技术水平。

让我们从一个低分辨率视频序列开始。 对这样的低分辨率视频进行超分辨率处理的最简单方法是对每一帧单独应用超分辨率。然而,这会浪费视频序列中固有的时间细节,尤其是运动模式。

所以我想,为什么不让我的算法向左看、向右看 - 使用相邻图像的细节,并用 GAN 训练它来提取复杂纹理等精细细节。

在此介绍 iSeeBetter,这是一种新颖的时空视频超分辨率方法,它使用循环反投影网络(RBPN)作为生成器,从当前帧和相邻帧中提取空间和时间信息。

我们使用超分辨率生成对抗网络(SRGAN)中的判别器作为我们的判别器。

现在,就损失函数而言,使用均方误差作为主要的损失最小化目标可以改善 PSNR 和 SSIM 这些重要的图像质量指标,但这些指标可能无法捕捉图像中的精细细节,导致对感知质量的误判。

为了解决这个问题,我们使用了由对抗损失、感知损失、MSE 损失和总变差损失组成的四重损失函数。

最后,通过大量实验,我们的结果表明 iSeeBetter 提供了更高的视频超分辨率保真度,并在绝大多数超分辨率情况下超越了最先进的性能。

概述

近年来,基于学习的模型提高了单图像超分辨率(SISR)的性能。然而,将 SISR 连续应用于每个视频帧会导致时间连贯性不足。卷积神经网络(CNN)在峰值信噪比(PSNR)和结构相似性(SSIM)等图像质量指标方面优于传统方法。然而,生成对抗网络(GAN)通过能够缓解大尺度上采样时 CNN 通常出现的精细纹理细节缺失问题,提供了竞争优势。我们提出 iSeeBetter,这是一种新颖的基于 GAN 的时空视频超分辨率(VSR)方法,可以生成时间连贯的超分辨率视频。iSeeBetter 使用循环反投影网络的概念作为生成器,从当前帧和相邻帧中提取空间和时间信息。此外,为了提高超分辨率图像的"自然性",同时消除传统算法中出现的伪影,我们利用超分辨率生成对抗网络(SRGAN)的判别器。尽管使用均方误差(MSE)作为主要的损失最小化目标可以改善 PSNR/SSIM,但这些指标可能无法捕捉图像中的精细细节,导致对感知质量的误判。为了解决这个问题,我们使用了四重(MSE、感知、对抗和总变差(TV))损失函数。我们的结果表明,iSeeBetter 提供了更高的 VSR 保真度,并超越了最先进的性能。

相邻帧相似性

图 1:相邻帧相似性

网络架构

图 2:网络架构

模型架构

图2展示了iSeeBetter的架构,它由SRGAN作为生成器和鉴别器组成。RBPN有两种方法从不同来源提取缺失细节,即SISR和MISR。图3显示了水平流(在图2中用蓝色箭头表示),它使用SISR放大LR(t)。图4显示了垂直流(在图2中用红色箭头表示),它基于MISR,计算LR(t)及其相邻帧(LR(t-1),...,LR(t-n))与预先计算的密集运动流图(F(t-1),...,F(t-n))的残差特征。在每个投影步骤中,RBPN观察LR(t)的缺失细节,并从相邻帧提取残差特征以恢复细节。在投影模型中,RBPN利用循环编码器-解码器机制融合从SISR和MISR中相邻帧提取的细节,并通过反投影将它们合并到估计的帧SR(t)中。一旦合成了SR帧,它就会被发送到鉴别器(如图5所示)以验证其"真实性"。

ResNet_MISR

图3:用于MISR的ResNet架构,由三个五块组成,每块包含两个卷积层,使用3 x 3内核,步长为1,填充为1。网络使用参数化ReLU作为激活函数。

DBPN_SISR

图4:用于SISR的DBPN架构,我们使用8 x 8内核进行上-下-上采样,步长为4,填充为2。与上面的ResNet架构类似,DBPN网络也使用参数化ReLU作为激活函数。

Disc

图5:来自SRGAN的鉴别器架构。鉴别器使用Leaky ReLU计算其激活。

iSB_Loss

图6:iSeeBetter损失函数的MSE、感知、对抗和TV损失组件

数据集

为了训练iSeeBetter,我们合并了具有不同视频长度、分辨率、运动序列和剪辑数量的多个数据集。表1总结了所使用的数据集。在训练模型时,我们通过使用双三次插值进行4倍下采样,为每个HR输入帧生成相应的LR帧。我们还应用了旋转、翻转和随机裁剪等数据增强技术。为了进一步扩展我们的数据集,我们编写了脚本从YouTube收集额外数据,使我们的数据集总数达到约170,000个剪辑,这些剪辑被随机打乱用于训练和测试。我们的训练/验证/测试分割比例为80%/10%/10%。

获取SPMCS和Vid4数据集以及Vimeo90K数据集。您也可以使用DatasetFetcher.py获取Vimeo90K。

results

表1. 用于训练和评估的数据集

结果

我们将iSeeBetter与六种最先进的VSR算法进行了比较:DBPN、B123 + T、DRDVSR、FRVSR、VSR-DUF和RBPN/6-PF。 results2

表2. 从Vid4、SPMCS和Vimeo-90k数据集中视觉检查RBPN和iSeeBetter的对比示例。我们选择VSR-DUF进行比较,因为它在发布时是最先进的。第一行:有助于可读性的精细文本特征;中间一行:复杂的高频图像细节;最后一行:相机平移运动。

results1

表3. 使用Vid4数据集对最先进的VSR算法进行4倍放大的PSNR/SSIM评估。粗体数字表示最佳性能。

预训练模型

训练4个周期的模型包含在weights/目录下

使用方法

训练

使用以下命令训练模型:

python3 iSeeBetterTrain.py

(在配备16GB VRAM的NVIDIA Tesla V100上,批量大小为2时,每个周期大约需要1.5小时)

测试

要使用预训练模型并在数据集中的随机视频上进行测试:

python3 iSeeBetterTest.py

使用参数--upscale_only可以关闭初始降采样。

致谢

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号