阴影去除模型CRFormer-学习笔记

论文地址:https://arxiv.org/abs/2207.01600

论文解读地址:Transformer去阴影!北交大&SCSU&中国移动提出CRFormer,依靠从非阴影到阴影的单向注意力来去除图片中的阴影!

模型假设前提

  1. 测试需要有原始的图像,同时有阴影的mask图像,才能进行阴影去除
  2. 假设图像的阴影区域和非阴影区域都是同一和谐场景,也就是图像背景不会很复杂,这样可以利用非阴影区域的像素信息来恢复阴影区域的像素信息。

主要采用的数据集

ISTD、AISTD、SRD和Video Shadow Removal数据集

网络结构

encoder采用两个不同的CNN浅层网络用于提取浅层信息(因为需要利用非阴影区域的特征,所以不能太深,不然特征肯定会融合阴影区域的特征)。一个encoder输入是原图,用于提取原图的特征。一个encoder是原图和mask图的concat图,用于提取mask的信息。
为了减少阴影像素和非阴影像素之间由于更深卷积而产生的干扰,即提取每个区域内的纯特征以准确提供感兴趣的非阴影区域特征,顶部编码器(非阴影路径)构建在仅使用三个卷积的浅子网上,其中包括两个3×3平均池化卷积,用于对特征映射进行降采样,以及一个1×1卷积,用于调整特征映射的维度,以匹配底部编码器输出的维度。阴影路径的底部编码器是一个更深的编码器,由几个卷积和残差块组成,其中两个卷积的步长设置为2,以对特征图进行降采样。

中间层是一个具有区域感知交叉注意力的Transformer层。(这个后面讲)

Transformer层之后是一个解码器,这个解码器的输出是第一次的去阴影图像.
解码器的输出结合原图、阴影mask图像,得到合成图像:

image.png

M是阴影mask, 表示解码器输出, 表示原图。所以这个公式的含义是,对于阴影部分采用decoder的预测像素,对于非阴影部分采用原图像素。
将 和 作为模型输入,采用一个U形网络作为猪肝,最终得到去除阴影效果的图像 。
image.png

详细展开其中的区域感知交叉注意力的Transformer层(如下图所示)。


image.png

主要是右边的这部分。在这篇文章中,和是不同的特征图,但是其维度都是(如果相同那就是自注意力机制了。)。
KQ点乘的结果可以理解为Query和key的相关度。其结果,大小为,越大表示两个像素之间的关联越大。
考虑到我们需要非阴影区域像素提取特征到阴影区域的,因此对于结果引入了:

image.png

1.删除从阴影区域到阴影区域的关联
2.删除从非阴影区域到非阴影区域的关联
3.删除从阴影区域到非阴影区域的相关度.
这样就实现了论文中提到的区域感知交叉注意力.

暂时只能看懂这些,等代码出来了再去看看实际怎么处理的。

你可能感兴趣的:(阴影去除模型CRFormer-学习笔记)