热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SFTGAN论文学习笔记

“RecoveringRealisticTextureinImageSuper-resolutionbyDeepSpatialFeatureTransform”发表于CVPR201

“Recovering Realistic Texture in Image Super-resolution by Deep Spatial Feature Transform”发表于CVPR 2018
作者论文、补充材料、数据集及代码地址:http://mmlab.ie.cuhk.edu.hk/projects/SFTGAN/

这篇论文提出了使用先验类别信息来解决超分辨率纹理不真实的问题 ,就是在超分辨率的合成中使用语义图,语义图的生成使用了图像分割网络。文章探讨了不同分辨率下的语义分割的误差,比较后发现其实在高低分辨率图像对于分割的精度影响不大。

SFTGAN网络结构
在这里插入图片描述在这里插入图片描述网络定义部分代码:


class SFTLayer(nn.Module):def __init__(self):super(SFTLayer, self).__init__()self.SFT_scale_conv0 = nn.Conv2d(32, 32, 1)self.SFT_scale_conv1 = nn.Conv2d(32, 64, 1)self.SFT_shift_conv0 = nn.Conv2d(32, 32, 1)self.SFT_shift_conv1 = nn.Conv2d(32, 64, 1)def forward(self, x):# x[0]: fea; x[1]: condscale = self.SFT_scale_conv1(F.leaky_relu(self.SFT_scale_conv0(x[1]), 0.1, inplace=True))shift = self.SFT_shift_conv1(F.leaky_relu(self.SFT_shift_conv0(x[1]), 0.1, inplace=True))return x[0] * (scale + 1) + shiftclass ResBlock_SFT(nn.Module):def __init__(self):super(ResBlock_SFT, self).__init__()self.sft0 = SFTLayer()self.conv0 = nn.Conv2d(64, 64, 3, 1, 1)self.sft1 = SFTLayer()self.conv1 = nn.Conv2d(64, 64, 3, 1, 1)def forward(self, x):# x[0]: fea; x[1]: condfea = self.sft0(x)fea = F.relu(self.conv0(fea), inplace=True)fea = self.sft1((fea, x[1]))fea = self.conv1(fea)return (x[0] + fea, x[1]) # return a tuple containing features and conditionsclass SFT_Net(nn.Module):def __init__(self):super(SFT_Net, self).__init__()self.conv0 = nn.Conv2d(3, 64, 3, 1, 1)sft_branch = []for i in range(16):sft_branch.append(ResBlock_SFT())sft_branch.append(SFTLayer())sft_branch.append(nn.Conv2d(64, 64, 3, 1, 1))self.sft_branch = nn.Sequential(*sft_branch)self.HR_branch = nn.Sequential(nn.Conv2d(64, 256, 3, 1, 1),nn.PixelShuffle(2),nn.ReLU(True),nn.Conv2d(64, 256, 3, 1, 1),nn.PixelShuffle(2),nn.ReLU(True),nn.Conv2d(64, 64, 3, 1, 1),nn.ReLU(True),nn.Conv2d(64, 3, 3, 1, 1))self.CondNet = nn.Sequential(nn.Conv2d(8, 128, 4, 4),nn.LeakyReLU(0.1, True),nn.Conv2d(128, 128, 1),nn.LeakyReLU(0.1, True),nn.Conv2d(128, 128, 1),nn.LeakyReLU(0.1, True),nn.Conv2d(128, 128, 1),nn.LeakyReLU(0.1, True),nn.Conv2d(128, 32, 1))def forward(self, x):# x[0]: img; x[1]: segcond = self.CondNet(x[1])fea = self.conv0(x[0])res = self.sft_branch((fea, cond))fea = fea + resout = self.HR_branch(fea)return out

实验结果
在这里插入图片描述


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
author-avatar
君君6789_903
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有