TecoGAN视频超分辨率算法

1. 摘要

对抗训练在单图像超分辨率任务中非常成功,因为它可以获得逼真、高度细致的输出结果。因此,当前最优的视频超分辨率方法仍然支持较简单的范数(如 L2)作为对抗损失函数。直接向量范数作损失函数求平均的本质可以轻松带来时间流畅度和连贯度,但生成图像缺乏空间细节。该研究提出了一种用于视频超分辨率的对抗训练方法,可以使分辨率具备时间连贯度,同时不会损失空间细节

该研究聚焦于新型损失的形成,并基于已构建的生成器框架展示了其性能。研究者证明时间对抗学习是获得照片级真实度和时间连贯细节的关键。除了时空判别器以外,研究者还提出新型损失函数 Ping-Pong,该函数可以有效移除循环网络中的时间伪影,且不会降低视觉质量。之前的研究并未解决量化视频超分辨率任务中时间连贯度的问题。该研究提出了一组指标来评估准确率和随时间变化的视觉质量。用户调研结果与这些指标判断的结果一致。总之,该方法优于之前的研究,它能够得到更加细节化的图像,同时时间变化更加自然。

2. 模型方法

该研究提出的 VSR 架构包含三个组件:循环生成器、流估计网络和时空判别器。生成器 G 基于低分辨率输入循环地生成高分辨率视频帧。流估计网络 F 学习帧与帧之间的动态补偿,以帮助生成器和时空判别器 D s , t D_s,t Ds,t
训练过程中,生成器和流估计器一起训练,以欺骗时空判别器 D s , t D_s,t Ds,t。该判别器是核心组件,因为它既考虑空间因素又考虑时间因素,并对存在不现实的时间不连贯性的结果进行惩罚。这样,就需要 G 来生成与之前帧连续的高频细节。训练完成后, D s , t D_s,t Ds,t 的额外复杂度不会有什么影响,除非需要 G 和 F 的训练模型来推断新的超分辨率视频输出。

在这里插入图片描述
在这里插入图片描述
图 2:具备动态补偿(motion compensation)的循环生成器。
该研究提出的判别器结构如图 3 所示。它接收了两组输入:真值和生成结果。
在这里插入图片描述
图 3:时空判别器的输入。

3. 损失函数

为了移除不想要的细节长期漂移,研究者提出一种新型损失函数「Ping-Pong」(PP) 损失。
在这里插入图片描述
图 4:a)不使用 PP 损失训练出的结果。b)使用 PP 损失训练出的结果。后者成功移除了漂移伪影(drifting artifact)。

如图 4b 所示,PP 损失成功移除了漂移伪影,同时保留了适当的高频细节。此外,这种损失结构可以有效增加训练数据集的规模,是一种有用的数据增强方式。

该研究使用具备 ping-pong ordering 的扩展序列来训练网络,如图 5 所示。即最终附加了逆转版本,该版本将两个「leg」的生成输出保持一致。PP 损失的公式如下所示:
在这里插入图片描述
在这里插入图片描述
图 5:使用该研究提出的 Ping-Pong 损失, g t g_t gt 和之间的 L 2 L_2 L2 距离得到最小化,以移除漂移伪影、改进时间连贯度。

4. 实验结果

研究者通过控制变量研究说明了 L ( G , F ) L_(G,F) L(G,F) 中单个损失项的效果。
在这里插入图片描述
图 6:树叶场景对比。对抗模型(ENet、DsOnly、DsDt、DsDtPP、TecoGAN)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/314165.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity入门】RequireComponent的使用

目录 RequireComponent的作用构造函数 RequireComponent的作用 RequireComponent 属性自动将所需的组件添加为依赖项。 当某个脚本必须依赖其他脚本或者组件共同使用时,为了避免人为添加过程的操作失误,可以在代码中使用RequireComponent,它…

CSS-4

平面转换 整体认识 div {margin: 100px 0;width: 100px;height: 100px;background-color: pink;/* 过渡效果 */transition: all 1s;}/* 当鼠标悬停到div时,进行平面转换 */div:hover {transform: translate(800px) rotate(360deg) scale(2) skew(180deg);}作用&…

单字符检测模型charnet使用方法,极简

Git链接 安装按照上面的说明,说下使用。 把tools下面的test做了一点修改,可以读取一张图片,把里面的单个字符都检测和识别出来。 然后绘制到屏幕上。 import torch from charnet.modeling.model import CharNet import cv2, os import num…

HarmonyOS 实践之应用状态变量共享

平时在开发的过程中,我们会在应用中共享数据,在不同的页面间共享信息。虽然常用的共享信息,也可以通过不同页面中组件间信息共享的方式,但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景,ArkTS…

Javaweb之JDBC的详细解析

2. JDBC介绍(了解) 2.1 介绍 通过Mybatis的快速入门,我们明白了,通过Mybatis可以很方便的进行数据库的访问操作。但是大家要明白,其实java语言操作数据库呢,只能通过一种方式:使用sun公司提供的 JDBC 规范。 Mybatis…

neovim调试linux内核过程中索引不到对应头文件问题

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com,github地址为https://github.com/jintongxu。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家访问。 一、环境 neovim–0.9.4 mason的clang…

牛客网SQL训练5—SQL大厂面试真题

文章目录 一、某音短视频1.各个视频的平均完播率2.平均播放进度大于60%的视频类别3.每类视频近一个月的转发量/率4.每个创作者每月的涨粉率及截止当前的总粉丝量5.国庆期间每类视频点赞量和转发量6.近一个月发布的视频中热度最高的top3视频 二、用户增长场景(某度信…

2 - 表结构 | MySQL键值

表结构 | MySQL键值 表管理1. 库的操作2. 表的操作表的创建与删除表的修改复制表 3. 管理表记录 数据类型数值类型字符类型(汉字或者英文字母)日期时间类型 表头存储与日期时间格式的数据枚举类型 数据批量处理 表管理 客户端把数据存储到数据库服务器上…

12. 整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 …

Android 反编译处理Dex

前言 当我们将Android项目打包上架的时候,为了提高被人反编译代码的可能性可以提取 dex 文件对代码进一步做混淆处理。 本文不对相关工具做过多的解释,不了解的可以先熟悉相关工具的使用。 相关工具(点击直接下载) jadx-gui&a…

假两件风衣外套,你喜欢吗?

这款假两件设计的连帽风衣外套,,姐妹们喜欢吗? 宽松版型对身材包容性很强,韩系慵懒风颜色很舒服 时尚百搭怎么穿都好看系列 做了腰部可调节抽绳,想要修身一点的可以自己调节哈 袖口处也做了金属按扣调节,防风保暖 这件风衣也很好搭配&a…

Redis的集群模式:主从 哨兵 分片集群

基于Redis集群解决单机Redis存在的问题,在之前学Redis一直都是单节点部署 单机或单节点Redis存在的四大问题: 数据丢失问题:Redis是内存存储,服务重启可能会丢失数据 > 利用Redis数据持久化的功能将数据写入磁盘并发能力问题…