-
这是TCSVT 2023年的一篇暗图增强的论文
-
文章的核心思想是,暗图有多种降质因素,单一stage的model难以实现多降质因素的去除,因此需要一个multi-stage的model,文章中设置了4个stage。同时提出了用预设query向量来代表不同的降质因素,对原图提取的key 和value进行注意力的方法。
-
网络结构如下图所示:
-
首先是预处理模块,用了孔洞卷积来提取多尺度特征图
-
接着multi-stage部分是堆叠重复结构组成,每个结构由双支路(两个尺度,下采样至1/2)残差结构核HVSA模块组成。
-
HVSA模块如下图所示,他把特征图1x1卷积后按通道平均分为horizontal和vertical,horizontal按行切分,每行是一个token,vertical按列切分。然后按行/列进行自注意力计算,再原样拼回去1x1卷积产生HVSA的输出(作为残差特征加回 X i X_i Xi)。但这里的尺度有点奇怪,全文也没有提到这里有下采样的操作,一方面每个stage的双支路是不同分辨率,他是怎么加和到一起的,另一方面不同stage输出的结果的shape来看是一直在下采样的,不知道是不是patch merging操作没有写出来,得看代码。
-
decoder则用预设的degradation token来作为query进行多头注意力机制,然后卷积并上采样成原图,这里同样也没有写很多细节,比如怎么上采样的以及多头注意力对图片是按pixel来算token还是按patch,按patch又是按多大的patch,统统没有说。
-
损失函数则是三个损失的加权和,分别是MSE损失,vgg的perceptual损失和计算预测结果和GT的直方图来算直方图之间的L2损失。
-
在LOL上训练并比较了LOL上面的结果:
-
这篇工作很多细节没有呈现,但是用预设的vector作为degradation query的idea还是蛮有意思的,也是第一个个人感觉把transformer和暗图增强这个任务的特殊性有结合的方法,其他的地方感觉有很多改进空间,预设vector作为degradation也有很多改进空间,感觉像是个比较除草的工作。