DVDNET A FAST NETWORK FOR DEEP VIDEO DENOISING

news2024/12/23 3:27:01

DVDNET: A FAST NETWORK FOR DEEP VIDEO DENOISING

https://ieeexplore.ieee.org/document/8803136

摘要

现有的最先进视频去噪算法是基于补丁的方法,以往的基于NN的算在其性能上无法与其媲美。但是本文提出NN的视频去噪算法性能要好:

  • 其相比于基于补丁的算法,计算时间明显缩短
  • 相比于其他神经网络算法,其占用内存小,能够使用单个模型处理各种噪声水平

介绍

我们介绍了一个用于深度视频去噪的网络:DVDnet。该算法与其他最先进的方法相比具有优势,同时它具有快速运行时间。我们算法的输出呈现出显着的时间相干性、非常低的闪烁、强大的降噪和准确的细节保留。

图像去噪

最近的图像去噪算法大多基于深度学习技术,其性能较好,但是这些性能都是 restricted to specific forms of prior基于特定形式的先验,并且需要 hand-tuned parameters手动调参。

目前多数的算法都面临一个缺点:a specific model must be trained for each noise level. 必须为每个噪声级别训练一个模型

视频去噪

基于神经网络的算法并不多,其性能可能还不如基于补丁的方法,但是通过发展VBM4D/VNLB等等,其目前VNLB能够获得相对最好的去噪效果,但是其问题是:需要很长的运行时间——即使处理单帧也需要几分钟。但是本文提出的算法要比VNLB更好。

本文方法

发展现状:most previous approaches based on deep learning have failed to employ the temporal information existent in image sequences effectively.

去噪关键:Temporal coherence and the lack of flickering(无闪烁) vital aspects in the perceived quality of a video.

强制输出时间冗余相关的办法:

  • the extension of search regions from spatial neighborhoods to volumetric neighborhoods
  • the use of motion estimation.

image-20220402103704627

首先去噪分为两个阶段:

  • individually denoised with a spatial denoiser. 空间去噪 单独进行去噪
  • egistered with respect to the central fram

(1)虽然在spatial denoising阶段的单帧去噪结果较好,但是作为一个序列来说,有明显的闪烁现象;因此,在二阶段通过光流变形将相邻帧向中心帧对齐,完成运动补偿后。

(2)将 2T + 1 个对齐的帧连接起来并输入到时间去噪块中。在对每帧进行去噪时使用时间邻居有助于减少闪烁,因为每帧中的残差是相关的

原文:Finally, the 2T + 1 aligned frames are concatenated and input into the temporal denoising block. Using temporal neighbors when denoising each frame helps to reduce flickering as the residual error in each frame will be correlated.

此外,添加了一个噪声图作为空间和时间降噪器的输入。包含噪声图作为输入允许处理空间变化的噪声[18]。与其他去噪算法相反,我们的去噪器除了图像序列和输入噪声的估计外,没有其他参数作为输入。

时间和空间去噪块

image-20220402104108113

空间和时间块的设计特点在性能和快速运行时间之间做出了很好的a good compromise 折衷。这两个模块都被实现为标准的前馈网络,

空间降噪器的架构受到[8, 9]中架构的启发,而时间降噪器也借鉴了[13]中的一些元素。

空间和时间去噪块分别由 D [ s p a t i a l ] D_[spatial] D[spatial] = 12 和 D [ t e m p o r a l ] D_[temporal] D[temporal]= 6 个卷积层组成。特征图的数量设置为 W = 96。卷积层的输出之后是逐点 ReLU [19] 激活函数 ReLU(·) = max(·, 0)。在训练时,批量归一化层(BN [20])放置在卷积层和 ReLU 层之间。

在测试时,the batch normalization layers 被移除,并由an affine layer that applies the learned normalization应用学习归一化的仿射层代替。卷积核的空间大小为 3 × 3,步幅设置为 1。

在两个块中,输入首先被缩小到四分之一分辨率。以较低分辨率执行去噪的主要优点是大大减少了运行时间和内存需求,而不会牺牲去噪性能 [8, 18]。使用 [21] 中描述的技术执行放大回全分辨率。两个块都具有残差连接 [10],据观察可以简化训练过程 [18]

训练细节

空间去噪块和时间去噪块单独训练,其中空间去噪优先进行;训练均采用图像裁剪的crop or patchs。通过添加σ∈[0,55]的AWGN对给定序列的patch

空间去噪块:WaterExploration DataBase数据集,共随机裁剪10240000个patchs,噪声patch=50,个人认为损失函数使用的是L2损失函数,其中运动估计采用的DeepFlow,从而进行补偿。

时间去噪块:DAVIS数据集

共同结构:the ADAM algorithm [25] is applied to min-imize the loss function,with all its hyper-parameters set to
their default values.所有超参数都设置为默认值。epoch=80, mini-batch=128,learning-rate前50轮 1 e − 3 1e-3 1e3,50-60轮 1 e − 4 1e-4 1e4,最后 1 e − 6 1e-6 1e6

data augment通过引入不同的比例因子和随机翻转,数据增加了五倍。

结果

测试集:DAVIS /Sets8 (第一段阐述其数据集的参数)

比较:VBM4D VNLB NeatVideo(商业化去噪软件)

image-20220402110758173

一般来说,DVDnet 输出的序列具有显着的时间连贯性。我们的方法渲染的闪烁非常小,尤其是在平坦区域,基于补丁的算法通常会留下低频残留噪声。可以在图 1 中观察到一个示例。 3(最好以数字格式查看)。平坦区域中的时间去相关低频噪声在观察者眼中显得特别烦人。更多视频示例可以在算法的网站上找到。

image-20220402110855670 image-20220402110905335 image-20220402110938126

结论

com/imgs/20220402-1109-483.png" alt=“image-20220402110938126” style=“zoom:67%;” />

结论

DVDnet 的去噪结果具有显着的时间相干性、极低的闪烁和出色的细节保留。该算法实现的运行时间至少比其他最先进的竞争对手快一个数量级。尽管本文提出的结果适用于高斯噪声,但我们的方法可以扩展到去噪其他类型的噪声

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【板栗糖GIS】——buzz字幕软件的安装和使用

【板栗糖GIS】——buzz字幕软件的安装和使用 1. 下载buzz软件 链接如下: 下载软件包,我已经准备好资源,只是审核还未通过,过两天会加上,忘记补充链接可以私信我 2. 双击安装 直接下一步下一步 3. 使用方法介绍 运…

并发事务会有哪些问题?

并发事务会有哪些问题? 多个事务并发的执行一定会出现相互争夺资源的问题。那么问题具体有哪些呢? 脏写(丢失修改)脏读不可重复读幻读 以上这四个问题就是我们需要知道的。但是脏写,由于mysql最低的隔离级别都能避免…

gradle的下载、解压、环境变量配置以及命令行基本用法

父目录 Android 开发入门 - wuyujin1997 文章目录 Intro下载解压配置环境变量环境变量测试 命令行命令行基本用法命令行更多用法 Intro 关于Java项目的依赖、编译流程等管理,有三代的解决方案。 AntMavenGradle 可以想像这三代工具必定是各有特定,但整…

【算法 -- LeetCode】(020) 有效的括号

1、题目 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个…

javaagent简单理解

1. javajaent是什么 javaagent可以理解为是一个插件,需要有一个jvm进程才能运行。例如arthas这个工具就是用到了javaagent。 2. 如何使用 1. 一种调用方式:java -javaagent:path[参数参数值] 2. 方法签名 public static void premain(String args, I…

从零玩转系列之SpringBoot3-核心原理

一、简介 1.前置知识 ● Java17 ● Spring、SpringMVC、MyBatis ● Maven、IDEA 2.环境要求 环境&工具版本(or later)SpringBoot3.1.xIDEA2023.xJava17Maven3.5Tomcat10.0Servlet5.0GraalVM Community22.3Native Build Tools0.9.19 二、SpringBoot3-核心原理 1.事件和监听器…

【Hippo4j监控Web容器Tomcat线程池】

🚀 线程池管理工具-Hippo4j 🚀 🌲 AI工具、AI绘图、AI专栏 🍀 🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者&#…

知识整合:Web页面请求的历程

Web页面请求的历程 内部涉及知识:一、准备:DHCP、UDP、IP 和以太网二、仍在准备:DNS和ARP三、仍在准备:域内路由选择到DNS服务器四、Web客户-服务器交互:TCP和HTTP五、HTTP请求响应格式Requests部分Responses 部分 下载一个Web页面…

2023.7.15

同余最短路 P3403 跳楼机 题意:给定h高的楼层,起始位置在第一层,可以选择操作向上移动x层或y层或z层,回到第一层 求可以到达的楼层数 思路:转化题意为求axbyczk(k在[1,h],x,y,z为正整数,有多少k满足条件&am…

基础IO

1.C的文件接口 "r" - 只读模式,打开文件用于读取,文件必须存在。 "w" - 写模式,打开文件用于写入,如果文件已存在则清空文件内容,如果文件不存在则创建新文件。 "a" - 追加模式&#…

手把手搭建mybatis入门程序

目录 准备数据库表 搭建工程 引入日志框架lockback SqlSessionUtil工具类封装 准备数据库表 CREATE TABLE t_car (id bigint NOT NULL AUTO_INCREMENT COMMENT 主键,car_num varchar(100) DEFAULT NULL COMMENT 汽车编号,brand varchar(100) DEFAULT NULL COMMENT 品牌,gui…

阿里云2核4G服务器能搭建几个网站?性能如何?

2核4G服务器能安装多少个网站?2核4g配置能承载多少个网站?一台2核4G服务器可以安装多少个网站?阿腾云2核4G5M带宽服务器目前安装了14个网站,从技术角度是没有限制的,只要云服务器性能够用,想安装几个网站就…

Java正则表达式校验某个字符串是否是合格的email

Java正则表达式校验某个字符串是否是合格的email 可以借助正则表达式校验某个字符串是否是合规的电子邮箱。对于邮箱的正则表达式有严格的模式,如:^[a-zA-Z0-9_&*-](?:\\.[a-zA-Z0-9_&*-])*(?:[a-zA-Z0-9-]\\.)[a-zA-Z]{2,7}$ 对应的Java实现…

Verilog基础之十六、RAM实现

目录 一、前言 二、工程设计 2.1 RAM IP核使用 2.2 设计代码 2.3 仿真代码 2.4 综合结果 2.5 仿真结果 一、前言 工程设计中除逻辑计算单元外,存储单元也是不可获取的部分,RAM(Random Access Memory)随机存取存储器即可以写入数据,也可…

Spring Cloud Gateway下的GC停顿排查之旅

01 背景 在微服务架构体系流行的当下,Spring Cloud全家桶已经是大多数团队的首选,我们也不例外,并且选择了Spring Cloud Gateway作为了业务网关,进行了一些通用能力的开发,如鉴权、路由等等。作为一个成熟的框架&#…

非线性弹簧摆的仿真(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

matplotlib定制绘图的线型、标记类型

文章目录 折线图参数列表实战演示特征字符串 折线图 折线图是科研绘图中最常见的一种图形, 表现的是数据的变化情况 import numpy as np import matplotlib.pyplot as pltx np.linspace(0,10,100) y np.sin(x) plt.plot(x,y) plt.show()参数列表 尽管绘图逻辑十…

Tensorflow-gpu保姆级安装教程(Win11, Anaconda3,Python3.9)

Tensorflow-gpu 保姆级安装教程(Win11, Anaconda3,Python3.9) 前言Tensorflow-gpu版本安装的准备工作(一)、查看电脑的显卡:(二) 、Anaconda的安装(三)、cuda下载和安装(四)、cudnn下载安装(五)、配置环境变量(六)、创建 tensorfl…

idea生成类关系图Diagrams

打开或选择该类,此处我以FutureTask类为例 在打开的该类内容内随意地方右键(或选中该类文件)》选择Diagrams》Show Diagrams》Java Classes此时就可以看到该类的关系图了

剖析C语言字符串函数

目录 前言: 一、strlen函数 功能: 参数和返回值: 注意事项: 返回值是无符号的易错点: strlen函数的模拟实现 1、计数器算法 2、递归算法 3、指针减去指针 二、strcpy函数 功能: 参数和返回值 …