论文地址:https://arxiv.org/abs/2207.01600
论文解读地址:Transformer去阴影!北交大&SCSU&中国移动提出CRFormer,依靠从非阴影到阴影的单向注意力来去除图片中的阴影!
模型假设前提
- 测试需要有原始的图像,同时有阴影的mask图像,才能进行阴影去除
- 假设图像的阴影区域和非阴影区域都是同一和谐场景,也就是图像背景不会很复杂,这样可以利用非阴影区域的像素信息来恢复阴影区域的像素信息。
主要采用的数据集
ISTD、AISTD、SRD和Video Shadow Removal数据集
网络结构
encoder采用两个不同的CNN浅层网络用于提取浅层信息(因为需要利用非阴影区域的特征,所以不能太深,不然特征肯定会融合阴影区域的特征)。一个encoder输入是原图,用于提取原图的特征。一个encoder是原图和mask图的concat图,用于提取mask的信息。
为了减少阴影像素和非阴影像素之间由于更深卷积而产生的干扰,即提取每个区域内的纯特征以准确提供感兴趣的非阴影区域特征,顶部编码器(非阴影路径)构建在仅使用三个卷积的浅子网上,其中包括两个3×3平均池化卷积,用于对特征映射进行降采样,以及一个1×1卷积,用于调整特征映射的维度,以匹配底部编码器输出的维度。阴影路径的底部编码器是一个更深的编码器,由几个卷积和残差块组成,其中两个卷积的步长设置为2,以对特征图进行降采样。
中间层是一个具有区域感知交叉注意力的Transformer层。(这个后面讲)
Transformer层之后是一个解码器,这个解码器的输出是第一次的去阴影图像.
解码器的输出结合原图、阴影mask图像,得到合成图像:
M是阴影mask,表示解码器输出,表示原图。所以这个公式的含义是,对于阴影部分采用decoder的预测像素,对于非阴影部分采用原图像素。
将和作为模型输入,采用一个U形网络作为猪肝,最终得到去除阴影效果的图像。
详细展开其中的区域感知交叉注意力的Transformer层(如下图所示)。
主要是右边的这部分。在这篇文章中,和是不同的特征图,但是其维度都是(如果相同那就是自注意力机制了。)。
KQ点乘的结果可以理解为Query和key的相关度。其结果,大小为,越大表示两个像素之间的关联越大。
考虑到我们需要非阴影区域像素提取特征到阴影区域的,因此对于结果引入了:
1.删除从阴影区域到阴影区域的关联
2.删除从非阴影区域到非阴影区域的关联
3.删除从阴影区域到非阴影区域的相关度.
这样就实现了论文中提到的区域感知交叉注意力.
暂时只能看懂这些,等代码出来了再去看看实际怎么处理的。