ios图片放大之后如何不模糊_论文笔记:2018 SRMD 在超分辨网络中融入模糊核和噪声水平...

82cc8769a65176adfafafda5d772985d.png

Learning a Single Convolutional Super-Resolution Network for Multiple Degradations(2018 CVPR)

摘要:在现实中真实的下采样过程不完全遵循双三次下采样的过程,因此当现实降质过程不符合我们在训练超分辨网络的降质过程就会显著降低网络的重构表现。该文章的作者设计了一个具有维度拉伸策略的通用CNN框架,该框架可以将模糊内核和噪声级别作为网络的输入。使得网络在不同的退化过程中取得良好的效果,文章还指出双三次退化忽略了在场景的实用性。

内容:单帧超分辨网络意在通过网络学习低分辨率图像和高分辨率图像之间的映射关系,传统的退化过程如下:

952ac7928c4b2fd050b28772c799a8f4.png

其中k代表模糊核,而s代表网络的下采样倍数,n代表降质过程中添加的高斯白噪声。论文指出他们主要有如下三个贡献:

模糊核:区别于降噪需要选用很多复杂的模糊核(如运动模糊核),SRMD超分辨网络通常是选用各向同性的有标准

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
class LinearMaskedCoupling(nn.Module): """ Coupling Layers """ def __init__(self, input_size, hidden_size, n_hidden, mask, cond_label_size=None): super().__init__() # stored in state_dict, but not trained & not returned by nn.parameters(); similar purpose as nn.Parameter objects # this is because tensors won't be saved in state_dict and won't be pushed to the device self.register_buffer('mask', mask) # 0,1,0,1 # scale function # for conditional version, just concat label as the input into the network (conditional way of SRMD) s_net = [nn.Linear(input_size + (cond_label_size if cond_label_size is not None else 0), hidden_size)] for _ in range(n_hidden): s_net += [nn.Tanh(), nn.Linear(hidden_size, hidden_size)] s_net += [nn.Tanh(), nn.Linear(hidden_size, input_size)] self.s_net = nn.Sequential(*s_net) # translation function, the same structure self.t_net = copy.deepcopy(self.s_net) # replace Tanh with ReLU's per MAF paper for i in range(len(self.t_net)): if not isinstance(self.t_net[i], nn.Linear): self.t_net[i] = nn.ReLU() def forward(self, x, y=None): # apply mask mx = x * self.mask # run through model log_s = self.s_net(mx if y is None else torch.cat([y, mx], dim=1)) t = self.t_net(mx if y is None else torch.cat([y, mx], dim=1)) u = mx + (1 - self.mask) * (x - t) * torch.exp( -log_s) # cf RealNVP eq 8 where u corresponds to x (here we're modeling u) log_abs_det_jacobian = (- (1 - self.mask) * log_s).sum( 1) # log det du/dx; cf RealNVP 8 and 6; note, sum over input_size done at model log_prob return u, log_abs_det_jacobian 帮我解析代码
07-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值