ECCV 2022 | STDANet:基于可变形注意力的视频去模糊

2024-03-19 04:59

本文主要是介绍ECCV 2022 | STDANet:基于可变形注意力的视频去模糊,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:https://www.techbeat.net/article-info?id=3932
作者:张慧琮

视频去模糊的关键在于利用连续视频帧的清晰像素恢复中间帧的模糊像素。因此,主流方法通过融合多帧像素恢复模糊的中间帧。然而,这些方法没有考虑视频帧中像素的模糊程度,其实不是所有的像素都是对恢复有利的,引入视频段中模糊的像素将导致其去模糊效果不够理想。
为了解决这个问题,我们提出了STDANet,我们通过考虑视频帧中像素的模糊程度,提取视频段中清晰的像素信息,从而获得更好的去模糊结果。

图片

论文链接:
https://arxiv.org/abs/2207.10852
代码链接:
https://github.com/huicongzhang/STDAN
项目主页:
https://vilab.hit.edu.cn/projects/stdan

一、引言

视频去模糊方法的关键在于使用多帧的像素信息恢复中间模糊帧。早期的视频去模糊方法[1-2]直接使用CNN网络融合多帧像素信息,因为其非对齐的相邻帧,他们并没有充分利用相邻帧的像素信息。近期的视频去模糊方法[3-4]使用光流对相邻帧进行对齐,然后使用CNN网络对对齐的视频帧进行融合并恢复中间帧。然而,他们忽略了视频帧之间的像素模糊程度的差异,不是所有的像素都是对重建有利的,引入模糊像素将导致去模糊效果下降。

为了解决这个问题,我们提出了STDANet,通过考虑视频帧中像素的模糊程度,提取视频段中清晰的像素信息,从而更好地恢复模糊的中间帧。 另外为了对相邻帧进行运动补偿,我们设计了一个轻量化的运动估计分支用于估计粗糙的光流。

二、解决方案

图片

图1 STDANet的总体框架图

所提出的STDANet的总体框架如图1所示。 给定三帧连续视频帧 B i = { B k } k = i − 1 i + 1 \mathcal{B}_i = \left\{\mathbf{B}_k \right\}_{k=i-1}^{i+1} Bi={Bk}k=i1i+1 作为输入,所提出的STDANet的目的是恢复中间帧 R i \mathbf{R}_i Ri 。首先连续视频帧输入到特征提取器,得到连续视频帧的特征。然后运动估计分支根据所提取特征,估计连续帧之间的粗糙光流。接着我们所提出的STDA模块通过估计得到的粗糙光流的引导,提取多帧特征的清晰像素信息,得到重建特征 F i f \mathbf{F}_i^f Fif ,最后重建网络将 F i f \mathbf{F}_i^f Fif 恢复到RGB图像空间,完成重建。

运动估计分支

此前的视频去模糊方法大多使用光流对齐相邻帧与中间帧,这需要较为大型的光流估计网络如PWC-Net[5]以估计准确的光流。而在我们的STDANet中光流不直接用于相邻帧与中间帧之间的对齐,而是用于引导STDA模块采样视频段中的清晰像素,这种光流引导的思路对于不准确的光流更加鲁棒,因此我们可以用更加轻量化的运动估计分支来估计粗糙光流,从而减少计算量,此外由于没有去模糊数据集的真实光流,我们在重建损失函数 L m s e \mathcal{L}_{mse} Lmse 之外采用对齐损失函数 L w a r p \mathcal{L}_{warp} Lwarp 给予运动估计分支训练信号,运动估计分支与主网络一起进行训练。 给定连续视频帧 F i b = { F k b ∣ F k b ∈ R C × H × W } k = i − 1 i + 1 \mathcal{F}^b_i = \left\{ \mathbf{F}_{k}^b | \mathbf{F}_{k}^b \in \mathbb{R}^{C \times H \times W} \right\}_{k=i - 1}^{i + 1} Fib={FkbFkbRC×H×W}k=i1i+1 作为输入,运动估计分支估计其前后向的光流 O i = { O k → k + 1 ∣ k = i − 1 , i } ∪ { O k + 1 → k ∣ k = i − 1 , i } \mathcal{O}_i = \left\{\mathbf{O}_{k \rightarrow k + 1} | k = i - 1, i \right\} \cup \left\{\mathbf{O}_{k + 1 \rightarrow k} | k = i - 1, i \right\} Oi={Okk+1k=i1,i}{Ok+1kk=i1,i} 其中 O m → n \mathbf{O}_{m \rightarrow n} Omn 代表第m帧到第n帧的光流。

时空可变形注意力模块

为了获取视频帧之间的清晰像素信息,我们提出时空可变形注意力模块。遵循“粗到细”的策略,时空可变形注意力模块包含两层注意力层,分别为多对多注意力层,多对一注意力层。其网络结构如下图:

图片

图2 时空可变形注意力模块框架图

如图2左图多对多注意力示意图所示,给定 T T T 帧输入帧特征 F i b = { F k b ∣ F k b ∈ R C × H × W } k = i − 1 i + 1 \mathcal{F}^b_i = \left\{ \mathbf{F}_{k}^b | \mathbf{F}_{k}^b \in \mathbb{R}^{C \times H \times W} \right\}_{k=i - 1}^{i + 1} Fib={FkbFkbRC×H×W}k=i1i+1 ,我们使用光流把相邻帧对齐到中间帧 F i b \mathbf{F}_{i}^b Fib ,得到对齐后的特征 F i w \mathcal{F}^w_i Fiw ,接着我们把特征 F i w \mathcal{F}^w_i Fiw F i b \mathcal{F}^b_i Fib 拼接在一起送入多层卷积层得到注意力图 A g ∈ R Q × M × T × K \mathbf{A}^g \in \mathbb{R}^{Q \times M \times T \times K} AgRQ×M×T×K 以及采样点偏移 Δ P g ∈ R Q × M × T × K × 2 \Delta \mathbf{P}^g \in \mathbb{R}^{Q \times M \times T \times K \times 2} ΔPgRQ×M×T×K×2 ,其中 Q = T H W Q = THW Q=THW ,M、T、K分别代表注意力头数量、帧数以及采样点的数量。 A g \mathbf{A}^g Ag 采用 ∑ t = 1 T ∑ k = 1 K A m t q k g = 1 \sum_{t=1}^{T} \sum_{k=1}^{K} \mathbf{A}_{mtqk}^g = 1 t=1Tk=1KAmtqkg=1 进行归一化。然后 F i b \mathcal{F}^b_i Fib 经过两层卷积层后,我们可以得到展开后的特征 E g ∈ R T H W C \mathbf{E}^g \in \mathbb{R}^{ THWC} EgRTHWC 。接着,我们通过可变形注意力操作[6]得到融合特征 Z g ∈ R T C H W \mathbf{Z}^g \in \mathbb{R}^{TCHW} ZgRTCHW

Z g = D ( A g , ϕ ( Δ P g , O i ) , E g ) \mathbf{Z}^{g}=\mathcal{D}\left(\mathbf{A}^{g}, \phi\left(\Delta \mathbf{P}^{g}, \mathcal{O}_{i}\right), \mathbf{E}^{g}\right) Zg=D(Ag,ϕ(ΔPg,Oi),Eg)

其中 D , ϕ , O i \mathcal{D}, \phi, \mathcal{O}_i D,ϕ,Oi 分别为可变形注意力操作、光流相加操作以及前后向光流。 最后, Z g \mathbf{Z}^g Zg 重新reshape为4维,再经过一层卷积后得到最后的融合特征 F i g \mathcal{F}_i^g Fig

如图2右图多对一注意力层示意图,多对一注意力层以初步融合的特征 F i g \mathcal{F}_i^g Fig 作为输入,得到中间帧的融合特征 F i f \mathbf{F}_i^f Fif 。 与多对多注意力层不同的是,多对一注意力层是把连续视频帧的清晰像素信息融合于一帧而不是多帧。 因此在多对一注意力层中,融合特征 Z f ∈ R C H W \mathbf{Z}^f \in \mathbb{R}^{CHW} ZfRCHW 可通过如下公式得到

Z f = D ( A f , ϕ ( Δ P f , { O k → i ∣ k = i − 1 , i + 1 } ) , E f ) \mathbf{Z}^{f}=\mathcal{D}\left(\mathbf{A}^{f}, \phi\left(\Delta \mathbf{P}^{f},\left\{\mathbf{O}_{k \rightarrow i} \mid k=i-1, i+1\right\}\right), \mathbf{E}^{f}\right) Zf=D(Af,ϕ(ΔPf,{Okik=i1,i+1}),Ef)

其中, A f ∈ R H W × M × T × K \mathbf{A}^f \in \mathbb{R}^{HW \times M \times T \times K} AfRHW×M×T×K , Δ P f ∈ R H W × M × T × K × 2 \Delta \mathbf{P}^f \in \mathbb{R}^{HW \times M \times T \times K \times 2} ΔPfRHW×M×T×K×2 以及 E f ∈ R T C H W \mathbf{E}^f \in \mathbb{R}^{TCHW} EfRTCHW 分别为注意力图、采样点偏移以及展开的特征。 同样 Z f ∈ R C H W \mathbf{Z}^f \in \mathbb{R}^{CHW} ZfRCHW reshape 到3维后经过一层卷积,得到最后的融合特征 F i f \mathbf{F}_i^f Fif

经过从多对多到多对一注意力层的提取,我们得到包含多帧清晰像素信息的特征 F i f \mathbf{F}_i^f Fif 。 我们可视化了多对一注意力层的注意力图,更好得展示其提取清晰像素的能力。

图片
图3 多对一注意力层注意力图可视化

从图3中的例子可以看出,越清晰的区域将获得越高的注意力权重。例如在 B i − 1 B_{i - 1} Bi1 帧中,骑自行车的人(红框标出位置)是模糊的,因此其相关区域注意力权重也比较低。相反在 B i B_{i} Bi 红框区域比较清晰,其对应区域的注意力权重也较高。 总而言之,时空可变形注意力模块能通过赋予视频段中清晰区域更高的权重,从而有效地提取视频段中清晰的像素信息。

三、实验结果

我们把STDANet与其他SOTA方法在GoPro、DVD以及BSD三个数据集上进行了比较。其结果如表1-3所示,STDANet超过了以往的SOTA方法。特别地, O u r s ∗ Ours^* Ours 代表 STDANet-Stack,STDANet-Stack 采用与TSP[3]以及ARVo[4]一样的级联渐进式结构(cascaded progressive structure)。

在这里插入图片描述
表1 DVD数据集量化结果

在这里插入图片描述
表2 GoPro数据集量化结果

在这里插入图片描述
表3 BSD数据集量化结果

以下的视频展示了我们的方法和近期方法在BSD以及DVD数据集的对比结果。

BSD以及DVD数据集的对比结果

四、总结

我们提出STDANet用于视频去模糊。这项工作的主要动机是,视频帧中并非所有的像素都是清晰和对去模糊有利的。因此,我们提出的STDANet通过考虑视频帧像素级的模糊程度来提取视频段中清晰像素的信息,从而更好的恢复出模糊中间帧。同时与主流的视频去模糊方法需要大型的光流网络进行运动估计不同,我们通过采用光流引导的方式进行帧间的运动补偿,因此我们可以使用一个非常轻量化的运动估计分支来进行粗略的光流估计,减小了计算量。在3个数据集的实验表明,我们的方法比起当前的sota方法,取得了更好的定量以及定性结果。

参考文献

[1] Online video deblurring via dynamic temporal blending network. In: ICCV (2017)

[2] Deep video deblurring for hand-held cameras. In: CVPR (2017)

[3] Cascaded deep video deblurring using temporal sharpness prior. In: CVPR (2020)

[4] Arvo: Learning all-range volumetric correspondence for video deblurring. In: CVPR (2021)

[5] Pwc-net: Cnns for optical flow using pyramid, warping, and cost volume. In: CVPR (2018)

[6] Deformable DETR: deformable transformers for end-to-end object detection. In: ICLR (2021)

-The End-

关于我“门”

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门-TechBeat技术社区以及将门创投基金。

将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:

bp@thejiangmen.com

这篇关于ECCV 2022 | STDANet:基于可变形注意力的视频去模糊的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824867

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

csu(背包的变形题)

题目链接 这是一道背包的变形题目。好题呀 题意:给n个怪物,m个人,每个人的魔法消耗和魔法伤害不同,求打死所有怪物所需的魔法 #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>//#include<u>#include<map

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

hdu3389(阶梯博弈变形)

题意:有n个盒子,编号1----n,每个盒子内有一些小球(可以为空),选择一个盒子A,将A中的若干个球移到B中,满足条件B  < A;(A+B)%2=1;(A+B)%3=0 这是阶梯博弈的变形。 先介绍下阶梯博弈: 在一个阶梯有若干层,每层上放着一些小球,两名选手轮流选择一层上的若干(不能为0)小球从上往下移动,最后一次移动的胜出(最终状态小球都在地面上) 如上图所示,小球数目依次为

【Tools】大模型中的自注意力机制

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 自注意力机制(Self-Attention)是一种在Transformer等大模型中经常使用的注意力机制。该机制通过对输入序列中的每个元素计算与其他元素之间的相似性,

如何通俗理解注意力机制?

1、注意力机制(Attention Mechanism)是机器学习和深度学习中一种模拟人类注意力的方法,用于提高模型在处理大量信息时的效率和效果。通俗地理解,它就像是在一堆信息中找到最重要的部分,把注意力集中在这些关键点上,从而更好地完成任务。以下是几个简单的比喻来帮助理解注意力机制: 2、寻找重点:想象一下,你在阅读一篇文章的时候,有些段落特别重要,你会特别注意这些段落,反复阅读,而对其他部分

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试

【Tools】大模型中的注意力机制

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 在大模型中,注意力机制是一种重要的技术,它被广泛应用于自然语言处理领域,特别是在机器翻译和语言模型中。 注意力机制的基本思想是通过计算输入序列中各个位置的权重,以确

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

树莓派5_opencv笔记27:Opencv录制视频(无声音)

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)  本人所用树莓派5 装载的系统与版本如下:  版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录... 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 阶段一:录制一段