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.rhkb.cn/news/228744.html

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

相关文章

Linux自定义shell编写

Linux自定义shell编写 一.最终版本展示1.动图展示2.代码展示 二.具体步骤1.打印提示符2.解析命令行3.分析是否是内建命令1.shell对于内建名令的处理2.cd命令3.cd函数的实现4.echo命令的实现5.export命令的实现6.内建命令函数的实现 4.创建子进程通过程序替换执行命令5.循环往复…

微软开源,全平台通用:Shell 自动补全工具 | 开源日报 No.132

microsoft/inshellisense Stars: 7.6k License: MIT inshellisense 是一个为 Shell 提供 IDE 风格自动补全的工具。它是一个终端本地运行时自动完成,支持 600 多个命令行工具,并且可以在 Windows、Linux 和 macOS 上使用。主要功能包括安装后可通过运行…

30 UVM Adder Testbench Example

1 Adder Design 加法器设计在时钟的上升沿产生两个变量的加法。复位信号用于clear out信号。注:加法器可以很容易地用组合逻辑开发。引入时钟和重置,使其具有测试台代码中时钟和重置的样子/风格。 module adder(input clk, reset, input [7:0] in1, in…

【操作系统】处理机调度

文章目录 一. 实验目的二. 实验内容三. 实验步骤四. 实验结果五. 实验总结附:系列文章 一. 实验目的 (1)加深对进程概念的理解,明确进程和程序的区别 (2)深入理解系统如何组织进程 (3&#xff…

Frappe Charts:数据可视化的强大工具

一、产品简介: 一个简单、零依赖、响应式的 开源SVG 图表库。这个图表库无论是数据更新还是屏幕大小变化,都能快速响应并更新图表。数据生成和悬停查看都有舒服的交互动效,体验感很好。不仅支持配置颜色,外观定制也很方便。还支持…

最新ChatGPT网站AI系统源码,附详细搭建教程/支持GPT4.0/AI绘画/GPT语言对话/DALL-E3文生图/自定义知识库

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

Google Chrome 现在会在后台扫描泄露的密码

谷歌表示,Chrome 安全检查功能将在后台运行,检查网络浏览器中保存的密码是否已被泄露。 如果桌面用户正在使用标记为危险的扩展程序(从 Chrome Web Store 中删除)、最新的 Chrome 版本,或者如果启用安全浏览来阻止 Go…

修改jenkins的目录(JENKINS_HOME)

默认JENKINS_HOME是/var/lib/jenkins/ 现要修改为/home/jenkins_data/jenkins 最开始 sudo cp -a /var/lib/jenkins/ /home/jenkins_data/ 然后如下操作: 1、首先 /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKIN…

message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogra

第一步:修改 project.config.json 文件 "packNpmRelationList": [{"packageJsonPath": "./package.json","miniprogramNpmDistDir": "./miniprogram/"}], "packNpmManually": true 第二步:…

pytorch03:transforms常见数据增强操作

目录 一、数据增强二、transforms--Crop裁剪2.1 transforms.CenterCrop2.2 transforms.RandomCrop2.3 RandomResizedCrop2.4 FiveCrop和TenCrop 三、transforms—Flip翻转、旋转3.1RandomHorizontalFlip和RandomVerticalFlip3.2 RandomRotation 四、transforms —图像变换4.1 t…

[MySQL] MySQL 高级(进阶) SQL 语句

一、高效查询方式 1.1 指定指字段进行查看 事先准备好两张表 select 字段1,字段2 from 表名; 1.2 对字段进行去重查看 SELECT DISTINCT "字段" FROM "表名"; 1.3 where条件查询 SELECT "字段" FROM 表名" WHERE "条件…

两种方法求解平方根 -- 牛顿法、二分法

Leetcode相关题目: 69. x 的平方根 以求解 a a a 的平方根为例,可转换为求解方程 f ( x ) f(x) f(x)的根。 f ( x ) x 2 − a f(x)x^2-a f(x)x2−a 牛顿法迭代公式如下: x n 1 x n − f ( x n ) f ′ ( x n ) x_{n1} x_n - \frac {f…

华为交换机生成树STP配置案例

企业内部网络怎么防止网络出现环路?学会STP生成树技术就可以解决啦。 STP简介 在二层交换网络中,一旦存在环路就会造成报文在环路内不断循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络变得无法正常通信。 在…

鸿蒙 DevEco Studio 3.1 入门指南

本文主要记录开发者入门,从软件安装到项目运行,以及后续的学习 1,配置开发环境 1.1 下载安装包 官网下载链接 点击立即下载找到对应版版本 下载完成,按照提示默认安装即可 1.2 下载SDK及工具链 运行已安装的DevEco Studio&…

odoo17 | 创建一个新应用程序

前言 本章的目的是为创建一个全新的Odoo模块奠定基础。 我们将从头开始,以使我们的模块被Odoo识别所需的最低限度。 在接下来的章节中,我们将逐步添加功能以构建一个真实的业务案例。 教程 假设我门需要在odoo上开发一个新app模块例如房地产广告模块。…

uniapp Vue3 日历 可签到 跳转

上干货 <template><view class"zong"><view><view class"top"><!-- 上个月 --><view class"sgy" click"sgy">◀</view><view class"nianyue">{{ year }}年{{ month 1 }}…

MD5算法

一、引言 MD5&#xff08;Message-Digest Algorithm 5&#xff09;是一种广泛应用的密码散列算法&#xff0c;由Ronald L. Rivest于1991年提出。MD5算法主要用于对任意长度的消息进行加密&#xff0c;将消息压缩成固定长度的摘要&#xff08;通常为128位&#xff09;。在密码学…

右键菜单“以notepad++打开”,在windows文件管理器中

notepad 添加到文件管理器的右键菜单中 找到安装包&#xff0c;重新安装一般即可。 这里有最新版&#xff1a;地址 密码:f0f1 方法 在安装的时候勾选 “Context Menu Entry” 即可 Notepad的右击打开文件功能 默认已勾选 其作用是添加右键快捷键。即&#xff0c;对于任何…

黑马程序员SSM框架-SpringBoot

视频连接&#xff1a;SpringBoot-01-SpringBoot工程入门案例开发步骤_哔哩哔哩_bilibili SpringBoot简介 入门程序 也可以基于官网创建项目。 SpringBoot项目快速启动 下面的插件将项目运行所需的依赖jar包全部加入到了最终运行的jar包中&#xff0c;并将入口程序指定。 Spri…

2023/12/30 c++ work

定义一个Person类&#xff0c;私有成员int age&#xff0c;string &name&#xff0c;定义一个Stu类&#xff0c;包含私有成员double *score&#xff0c;写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数&#xff0c;完成对Person的运算符重载(算术运算符、条件运算…