-
Notifications
You must be signed in to change notification settings - Fork 0
D2C SR
[[TOC]]
论文地址:paper
未复现
提出两阶段方案
divergence 阶段采用离散形式学习潜在高分辨率输出分布
convergence 阶段则用于将所学习预测融合为最终的输出
树状深度网络 每个分支都学习一种可能的高分辨率输出。
训练时,每个分支分别训练以拟合Ground-truth,采用triple损失迫使不同分支的输出具有发散性。融合模块采用端到端的方式训练。
设计一个树状结构网络得到期望预测
树状网络包含的三个主要模块:
- 浅层特征提取模块:它由一个卷积构成;
- 基础分支模块:它由多个残差组构成,每个残差组包含B个残差通道注意力模块(类似RCAN);
- 上采样模块:它由卷积+pixelshuffle构成。
每个分支的权重不进行共享。
Deep Residual Structure 在divergence网络中构建了相对深的残差,这种深度残差结构使得每个分支可以学习深度残差特征,它的子分支可以学习更深的残差结果。每个分支聚焦于学习比父分支更进一步的残差,进而促进高频学习。
Divergence loss divergence网络的发散损失函数 由
对
注:Y表示YCbCr空间中的Y通道。上述操作使得网络聚焦于学习纹理特征差异。
直接在RGB图像空间使用triplet损失,会导致网络聚焦与学习其他不同的方向(比如RGB空间特征、亮度)而非纹理.使用YCbCr空间中的Y通道可以使得网络聚焦于学习纹理特征差异.
由于超分病态问题主要源于高频区域,因此我们在残差域计算triplet损失,残差定义如下:
triplet 损失定义如下:
其中 a,p,n 为 anchor,positive,negative,feed数据包括 锚(Anchor)实例、正示例,负示例,通过优化锚示例与正示例的距离小于锚示例与负示例的距离,实现样本的相似性计算。
a 为0的矩阵 (HR数据-HR数据),positive 为
最终损失定义如下:
注:
组合divergence网络的多个输出可以生成更加精准的结果,采用加权方式组合divergence网络的多个输出。
convergence 网络采用divergence 网络的M个输出concat操作用作Convergence的输入。
W,表示经过训练的权重,
然后采用所得数值与divergence网络输出W內积 得到最终的结果
合并过程中,不同分支在不同区域具有不同的加权权值.
convergence loss convergence网络的目标是合并divergence网络的输出,仅仅包含
该框架的两个网络分别训练,首先训练divergence网络到稳定状态;然后固定divergence网络参数训练convergence网络。
作者测试结果发现 不同倍率下,所提方法均大幅优于其他方案,超出次优模型0.2~0.5dB不等
贡献点:
-
提出一种新颖的框架,包含divergence与convergence 两个阶段;
-
半监督方式训练divergence阶段模型,采用triplet损失迫使预测的发散性;
-
创建一个8x超分数据集D2CRealSR;
答:作者认为使用RGB通道的可能使得网络注重点在纹理上,而Y通道可以让网络着重看重图片的空间和亮度。
答:举例 第i个网络分支网络输出记做
答: 采用divergence 网络输出的M个结果 concat 操作得来。 附带 concat 和add 的区别?
答:add 是特征图相加,通道数不变;concat是通道数的增加。 add 计算量比 concat的计算量小。详情
将concat得到结果
权重W 是经过网络训练得到的。
table2 中是指去掉收敛层、triplet、deep res相应的结果,以此证明网络设置收敛层、triplet loss、深度残差的重要性。