学习记录使用,欢迎一起交流学习(●’◡’●) ~~~
论文名称:TransWeather: Transformer-based Restoration of Images Degraded by Adverse Weather Conditions
论文:链接
代码:链接
摘要
在许多应用中,从图像中去除雨、雾和雪等不利天气条件是一个重要问题。提出的大多数方法都被设计为只处理一种降解。
一种基于CNN的神经结构搜索(All-in-One
)方法被提出,可以一次性消除所有的天气条件。然而,它有大量的参数,因为它使用多个编码器来满足每个天气消除任务,并且它的性能仍有改进的空间。
专注于开发一个有效的解决所有不利天气去除问题的方案。为此,我们提出TransWeather
,这是一种基于Transformer
的端到端模型,只有一个编码器和一个解码器,可以恢复因任何天气条件而降级的图像。
具体来说,利用一种新型transforme
编码器,使用intra-patch transformer blocks
(内部补丁transformer
块)来增强inside the patches
(补丁内部)的注意,从而有效地消除较小的天气退化。还介绍了一种具有可学习天气类型嵌入的transformer
解码器,以适应眼前的天气退化。
效果:TransWeather
通过All-in-One
网络和针对特定任务的微调方法,在多个测试数据集上取得了显著的改进。特别是,TransWeather
在Test1
(雨+雾)数据集上提高了+6.34 PSNR,在SnowTest100K-L
数据集上提高了+4.93 PSNR,在RainDrop
测试数据集上提高了+3.11 PSNR。TransWeather
还在真实世界的测试图像上进行了验证,发现它比以前的方法更有效。
1、Intro
雨、雾和雪等天气条件降低了能见度,破坏了图像捕获的信息。这极大地影响了许多计算机视觉算法的性能,如检测、分割和深度估计,这些算法是自主导航和监视系统的重要组成部分。因此,为了使这些视觉系统更可靠,必须从图像中去除不利的天气影响。此外,在摄影中需要干净的图像,没有任何天气退化。(去除雨雪雾天气的必要性)
消除天气的早期方法包括使用经验观测对天气条件进行先验建模。这些先验必须为每种天气条件单独建模,并且为所有无效的天气条件建模的共同先验。(早期方法对各种天气条件进行先验建模,为每种天气条件单独建模)最近,基于卷积神经网络(CNN)的解决方案被广泛探索用于去雨,去雾和去雨滴。基于transformer
的方法也被探索用于天气去除任务,取得了比CNN更好的性能。这些方法中的大多数只关注眼前的一个任务,或者针对每个任务分别微调模型。尽管它们取得了出色的性能,但它们并不是所有不利天气移除问题的通用解决方案,因为网络必须为每项任务单独进行培训。这使得它们很难应用于实时系统,因为必须有多个模型,这使得计算复杂。此外,系统还必须在一系列天气消除算法(图1(A))之间进行决定和切换,从而使管道更加复杂。(基于CNN和transformer的方法大多也是只关注 一个任务)
最近,Li 提出了一种一体化的恶劣天气去除网络,首次提出了一种将任何天气条件退化的图像作为输入并预测干净图像的算法。All-in-One网络在雨、雾和雪的3个数据集上进行了测试,取得了比之前在不同数据集上单独调整的方法更好或相当的性能。All-in-One
网络基于CNN并使用多个编码器。特别是,它针对手头的不同天气退化使用单独的编码器,并使用神经体系结构搜索来找到解决问题的最佳网络(图1(B))。由于存在多个编码器,因此该网络在计算上仍然很复杂。就我们所知,除了All-in-One
网络之外,还没有其他方法被提出用于一般的不利天气去除。虽然最近的方法,如MPR-Net,U-Forward,Swin-IR已经被提出作为在多个数据集上验证的通用恢复网络,但它们仍然在单独的数据集上进行微调,并且不使用单一的模型来处理所有的天气去除任务。(All-in-One一体化网络,基于CNN使用多个编码器,使用神经体系结构搜索来找到解决问题的最佳网络)
提出了一种称为TransWeather
的单编码器-单解码器网络,用于一次性解决所有不利天气消除问题。在transformer
编码器中引入天气类型查询来学习任务,而不是使用多个编码器(图1©)。在这里,多头自我注意机制接受天气类型查询作为输入,并将其与从Transformer
编码器提取的特征中提取的键keys
和值values
进行匹配。这些天气类型嵌入与网络一起学习,以理解和调整图像中存在的天气退化类型。从编码器获得的解码特征和分层特征被融合,并使用卷积块投影到图像空间。因此,TransWeather
只有一个编码器和一个解码器来学习天气类型并生成干净的图像。与CNN相比,Transformer
擅长提取丰富的全局信息。然而,我们认为,当补丁patch
像VIT
中那样大时,我们无法太多地关注patch
中的信息。像雨线rain streak
、雨滴rain drop
和雪这样的天气退化通常规模很小,因此在一个patch
中可能会出现多个伪影artifacts
。(TransWeather单编码器-单解码器一体化网络,编码器引入天气类型查询来学习任务,基于transformer更擅长提取丰富的全局信息)
为此,我们提出了一种Intra-PT (Intra-patch transformer) block
的新型transformer编码器。Intra-PT
处理从原始补丁创建的子补丁,并挖掘较小补丁的特征和细节。因此,Intra-PT
将注意力集中在主要补丁内部,以有效地消除天气退化。我们使用高效的自注意self-attention
机制来计算子补丁之间的关注度,以保持较低的计算复杂度。从实验中我们发现,引入Intra-PT
块提高了Transformer
的性能,有助于其更好地适应天气去除任务。我们使用与一体机类似的配置来训练我们的网络,并在多个测试数据集上获得了卓越的性能,用于除雨、除雪、除雾,甚至是这些天气退化的组合。我们的性能也超过了专门为这些单独的任务设计的方法,这些方法在这些数据集上进行了精细调整。我们还证明了TransWeather
在推理过程中是快速的。最后,我们还在真实天气退化的图像上测试了TransWeather
,与以前的方法相比,取得了优异的性能。TransWeather
在未来可以作为通用天气移除框架的有效主干。(Intra-PT将注意力集中在主要补丁内部,使用self-attention计算patch之间的关注度,保持较低的计算复杂度,提出的一体化网络取得了优异性能)
主要贡献:
①提出了TransWeather
一种高效的解决所有恶劣天气去除问题的方案,只需使用一个编码器和一个使用transformer
的解码器。建议使用天气类型查询来有效地处理一体化问题。
②提出了一种新的transformer
编码器,使用Intra-PT block
来满足低级视觉任务(如天气去除)的细节特征提取。
③我们在多个数据集上实现了最先进的性能,在使用单个模型实例的Test1
(雨+雾)上显著提高了+6.34PSNR,在SnowTest
上提高了+4.93 PSNR,在RainDrop
数据集上提高了+3.11PSNR。并在真实图像上验证了该方法的有效性。
2、相关工作
不利天气的去除问题,如去雨deraining
,除雾dehazing
,去雪desnowing
和雨滴去除rain drop removal
已经在文献中得到了广泛的探讨。
雨线Rain Streak去除:Yang等人使用递归网络将雨层分解为不同条纹类型的不同层,以去除雨水。Zhang等人提出了一种基于条件GAN的图像去雨方法。Yasarla等人探索使用高斯过程进行从合成雨数据到真实雨数据的迁移学习。Quan等人使用一个互补的级联网络,在一个统一的框架内消除雨纹和雨滴。对各种除雨方法的更详细的调查可以在[61]找到。
Fog去除:Li等人提出了一种综合考虑大气光和透射图的CNN网络去雾方法。Ren等人提出了对一幅模糊图像进行预处理以生成多个输入,从而引入颜色失真来进行去雾:Zhang和Patel提出了一个金字塔式的CNN网络来进行图像去雾。Zhang等人提出了一种用于图像去噪的分级密度感知网络。
Rain Drop 去除:You等人提出利用时间信息进行基于视频的雨滴去除。Qian等人使用了注意力GAN去除雨滴,并引入了一个新的数据集。Quan等人使用双重注意机制去除雨滴的影响。
Snow去除:Desnow-Net
是最早基于CNN提出的从图像中去除雪的方法之一。Li等人提出了一种堆叠式密集除雪网络。Chen等人提出了JSTASR
,包含了一种尺寸和透明度感知的方法来除雪。最近,DDMSNet
提出了一种利用语义和几何先验的深度密集多尺度网络来除雪。
All-in-One
(一体化)恶劣天气消除:一体化网络是为了使用单一网络处理多种天气退化问题而提出的。All-in-One
使用一个带有多个特定任务编码器和一个通用解码器的生成器。它使用鉴别器来对退化类型进行分类,并且仅将损失反向传播到特定编码器。它还使用神经结构搜索来优化编码器的特征提取。
浅层视觉中的transformers:自从视觉transformer
(VIT)被引入用于视觉识别以来,transformer
被广泛用于各种计算机视觉任务。特别是对于浅层视觉,图像处理转换器展示了如何在大规模数据集上预先训练transformer
,以帮助低级应用程序获得更好的性能。U-Former
提出了一种基于U-Net
的transformer
体系结构来解决恢复问题。Swin-IR
采用Swin Transformer
进行图像恢复。Zhao等人提出了一种专门用于图像去雾的局部-全局transformer
。提出了一种基于swin transformer
的多支路去雨网络。在ETDNet
中,提出了一种有效的transformer
块,以从粗到精的方式提取特征,用于图像去雨。
与上述方法不同的是,提出了一种基于transformer
的单编码单解码网络,利用单个模型实例来解决所有不利天气移除任务。我们的transformer
编码器也进行了修改,以迎合浅层任务,引入了intra-patch transformer block
。我们的transformer
解码器接受了天气类型查询的训练,以学习任务并使用该信息恢复干净的图像。
3、方法——TransWeather
在文献中,不同的天气现象在涉及到的基础物理方面有不同的模型。雨滴被建模为
I = ( 1 − M ) ⨀ B + R \mathbf{I}=(1-\mathbf{M})\bigodot \mathbf{B}+\mathbf{R} I=(1−M)⨀B+R
其中I为降级图像,M为掩模,B为背景,R为雨滴残差。带有雨纹和雾效应的暴雨模拟为
I = T ⨀ ( B + ∑ i n R i ) + ( 1 − T ) ⨀ A \mathbf{I}=\mathbf{T}\bigodot (\mathbf{B}+\sum_{i}^{n}\mathbf{R}_{i})+(1-\mathbf{T})\bigodot \mathbf{A} I=T⨀(B+i∑nRi)+(1−T)⨀A
其中T为散射效应产生的透射图,A为场景中的大气光。依据29,雪通常被建模为
I = M ⨀ S + M ⨀