怎么一次性处理台风天(雨/雾/雪等)?

描述

 

引言:

传统的天气修复如去雨、去雪、去雾等任务,在各自的领域都取得了良好的性能。然而,这些工作通常聚焦于单种类型天气,如图:

编码器

真实世界中的恶劣天气(雨滴,雨流,雾,雪等)往往是组合出现的,这对于干净图像的修复提出了更高的挑战。针对这一问题,J. Han等人提出了 Blind Image Decomposition (BID)[1],即将不同天气看做组合随机,强度随机,可叠加的图层,通过图像分解[2]的方式恢复所有的叠加元素 (包括干净图像)。实际上,BID可以理解为Deraining,Dehazing,Raindrop and Snow Removal等多种天气恢复的组合任务。

概述:

编码器

自BID任务提出 (BIDeN, ECCV22) 以来,仍存在两个主要问题:

现有方法需要大量数据的监督,然而高质量的图像对在恶劣的现实世界场景中通常无法获取。而合成数据集受限于手工设计的天气退化模型,不可避免地会限制最终的修复质量。

图像分解致力于通过完备的监督信号还原出包括噪声天气在内的所有图层,指向各图层的 multi-head decoder 会限制模型的结构设计与优化(如上图(e)),"decomposition" 的模式似乎也与经典的图像映射思维有些矛盾。

编码器

为了解决上述问题,我们结合 Masked AutoEncoder (MAE)[3] 提出了一种高效且简单的预训练模式:Context-aware Pretraining (CP),
包含两个 pretext 任务:混合图像分离 和 损失图形重建。
假设图像的恢复过程遵循从结构到纹理的模式 (coarse-to-fine)[4],我们的思路很简单,首先利用两个 pretext 任务在预训练阶段重建出结构信息,随后再 fine-tuning 阶段即可快速地基于结构进行纹理填充。

方法:

为了验证所提出pretext任务的有效性,我们构建了一个基线网络 Context-aware Pretrained Network (CPNet), CPNet包含两个transformer-based 的编码器,一个信息融合模块以及一个预测解码器。

编码器

在预训练期间,我们混合两个pretext任务,并从编码器获得上下文感知嵌入,然后应用解码器从嵌入中恢复原始的结构信息 (RTV平滑)[5]。其中,信息融合模块明确地利用了空间通道维度中的关联特征,而多头预测模块促进了纹理引导的外观流 (appearance flow)。
尽管简单,但自监督的预训练编码器在减少对标注需求的同时,显式地促进了基于上下文的特征学习。通过 Fine-tuning 阶段的高斯采样,外观流得以显式地利用原图中未遮挡区域的纹理特征。

损失函数方面,除了传统的重构和对抗损失,针对 appearance flow map,我们提出了一个新的采样损失:

编码器

其中分子项确保外观流经过 (Δx, Δy) 的 offset 后的纹理匹配,分母则对预训练的结构修复提出进一步的约束。

此外,BID 任务同样可以被看作是一类图像属性编辑任务 (image translation)[6],其中初始属性标签为随机 one-hot 编码(天气组合随机,1 表示图像受此天气影响),最终目标为全 0 的 attribute label。因此我们额外引入了一项条件损失:

编码器

其中P_i(x)代表的就是图像 x 具有第 i 种天气特征的概率。

实验:

1. 定量实验:

基于我们的模型做了一些finetune,可以在下游任务上得到较好的提升,特别是针对混合天气复杂的场景下,预训练带来的好处越明显。

编码器

相对于 multi-head decoder 的训练模式,同样在多天气混合数据集上训练,我们的模型在特定单一天气的测试集上仍保持较好的稳定性。

编码器

2. 定性实验

训练后我们观察到网络可以在多种天气混合的场景下实现较好的复原,如下图。

编码器

此外我们也尝试了可视化两个 encoder 特征中激活值较大的区域。可见图像分离和重建两个 pretext task 任务的侧重点并不相同,并且通过控制目标 attribute label,可以实现特定涂层的保留与去除。

编码器

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分