深度学习图像技术:从超分辨率到对抗样本
超分辨率基础
在超分辨率领域,虽然按像素计算损失很有意义,但许多成功的超分辨率网络采用了增强损失函数,这些函数试图捕捉生成图像与原始图像的相似程度,在纹理和内容损失等方面容忍像素损失以获得更好的性能。
我们可以通过添加转置卷积来实现图像的上采样。例如:
self.upsample = nn.Sequential(
nn.ConvTranspose2d(3, 3, kernel_size=2, stride=2),
nn.ReLU(inplace=True)
)
运行上述代码,输出张量的大小将是输入的两倍。如果有对应大小的真实图像作为标签,就可以训练网络将大小为 x 的图像转换为大小为 2x 的图像。
实际操作中,我们通常会先将图像放大两倍,再添加一个标准卷积层,如下所示:
self.upsample = nn.Sequential(
nn.ConvTranspose2d(3, 3, kernel_size=2, stride=2),
nn.ReLU(inplace=True),
nn.Conv2d(3, 3, kernel_size=2, stride=2),
nn.ReLU(inplace=True)
)
这样做的原因是转置卷积在放大图像时容易产生锯齿和莫尔图案。先放大两倍再缩小到所需大小,有望为网络提供足够的信息来消除这些问题,使输出看起来更真实。 </
超级会员免费看
订阅专栏 解锁全文
960

被折叠的 条评论
为什么被折叠?



