总结:图像生成网络

1、最新的几款图像生成网络

  • eCNN
    文献:Bahrami A, Karimian A, Fatemizadeh E, et al. A new deep convolutional neural network design with efficient learning capability: Application to CT image synthesis from MRI[J]. Medical physics, 2020, 47(10): 5158-5171.

  • 经典的pix2pix
    pix2pix是一种基于条件式生成对抗网络(CGAN)的图像转译模型,而条件式生成抵抗网络是生成对抗网络的一种扩展,它通过在生成器和判别器中引入条件信息来实现有条件的图像生成。生成器采用U-Net网络结构,融合底层细粒度特征和高层抽象;判别器采用patchGAN网络结构,在图块尺度提取纹理等高频信息。
    那么简笔画猫转成真猫到底是一个什么原理腻,可以这样理解:你可以获取很多真猫的图片,用opencv的边缘提取,把每一张图片的边缘都给提取出来,构建一个像素到像素的映射数据集,也就是数据集包含两类图片,一类是边缘轮廓简笔画,另一类是真猫的图片,它们俩是一一对应的关系,所以pix2pix解决的是一个像素配对的图像转译问题,那么我们上次介绍的cyclegan呢解决的是一个非配对的图像转译问题。同样,这里也能用cyclegan来解决这些问题。image translation领域非常的好玩,既可以用配对的数据集去训练,也可以用不配对的数据集。

    pix2pix是2017年的论文,现在看来比较老了,如果你现在还想做跟图像转译相关的项目的话,可以用更好更新的算法,比如UGATIT、StarGAN等。当然用pix2pix也是完全可以滴,但是要注意pix2pix使用起来可能会容易模式崩溃,训练不太稳定喔

    文献:Isola P, Zhu J Y, Zhou T, et al. Image-to-image translation with conditional adversarial networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 1125-1134.

    pix2pix代码:https://github.com/phillipi/pix2pix

  • MedGAN,用GAN对医学成像进行迁移
    MedGAN框架用Cas- Net作为生成器,通过一个对抗判别器从感知和像素角度进行惩罚,同时使用一个预先训练的特征提取器,以确保转换后的输出在样式、纹理和内容上与所需的目标图像匹配。
    使用VGG-19网络作为特征抽取器,在ImageNet上做预训练。由5个卷积块组成,每个卷积块由2-4层和3个完全连接的层组成。虽然是在非医学图像上预训练的,但是VGG-19网络提取的特征在表示纹理和样式信息方面是有益的。在这里插入图片描述
    文献:Armanious K, Jiang C, Fischer M, et al. MedGAN: Medical image translation using GANs[J]. Computerized medical imaging and graphics, 2020, 79: 101684.

  • TransUNet:Transformers Make Strong Encoders for Medical Image Segmentation用于医疗图像分割的transformers编码器详解
    设计的Idea:UNet +transformers的结合体,使用的具体模块:ViT+ResNet50+skip connection。
    文献:Chen J, Lu Y, Yu Q, et al. Transunet: Transformers make strong encoders for medical image segmentation[J]. arXiv preprint arXiv:2102.04306, 2021.
    参考解析:https://blog.csdn.net/weixin_43656644/article/details/123563646

  • CGAN
    -传统的GAN或者其他的GAN都是通过一堆的训练数据,最后训练出了G网络,随机输入噪声最后产生的数据是这些训练数据类别中之一,我们提前无法预测是那哪一个?
    在这里插入图片描述
    因此,我们有的时候需要定向指定生成某些数据,比如我们想让G生成飞机,数字9,等等的图片数据。
    假设现在要做一个项目:输入一段文字,输出一张图片,要让这张图片足够清晰并且符合这段文字的描述。我们搭建一个传统的NeuralNetwork(下称NN)去训练。

考虑我们输入的文字是“train”,希望NN能输出清晰的火车照片,那在数据集中,下面左图是正面的火车,它们统统都是正确的火车图片;下面右图是侧面的火车,它们也统统都是正确的火车。
在这里插入图片描述在这里插入图片描述

那在训练这个NN的时候,network会觉得说,火车既要长得像左边的图片,也要长得像右边的图片,那最终network的output就会变成这一大堆images的平均,可想而知那会是一张非常模糊并且错误的照片。

我们需要引入GANs技术来保证NN产生清晰准确的照片。

我们把原始的NN叫做G(Generator),现在它吃两个输入,一个是条件word:c,另外一个是从原始图片中sample出的分布z,它的输出是一个image:x,它希望这个x尽可能地符合条件c的描述,同时足够清晰,如下图。
在这里插入图片描述

在GANs中为了保证输出image的质量会引入一个D(Discriminator),这个D用来判断输入的x是真实图片还是伪造图片,如下图。
在这里插入图片描述

但是传统GANs只能保证让x尽可能地像真实图片,它忽略了让x符合条件描述c的要求。于是,为了解决这一问题,CGAN便被提出了。

我们的目的是,既要让输出的图片真实,也要让输出的图片符合条件c的描述。Discriminator输入便被改成了同时输入c和x,输出要做两件事情,一个是判断x是否是真实图片,另一个是x和c是否是匹配的。
在这里插入图片描述

比如说,在下面这个情况中,条件c是train,图片x也是一张清晰的火车照片,那么D的输出就会是1。
在这里插入图片描述
而在下面两个情况中,左边虽然输出图片清晰,但不符合条件c;右边输出图片不真实。因此两种情况中D的输出都会是0。
在这里插入图片描述

那CGAN的基本思路就是这样,下面我们具体看一下CGAN的算法实现。
在这里插入图片描述

因为CGAN是supervised学习,采样的每一项都是文字和图片的pair。CGAN的核心就是判断什么样的pair给高分,什么样的pair给低分。
参考资料

  1. https://blog.csdn.net/weixin_44751294/article/details/117451095
  2. 李宏毅老师的b站视频
  3. https://blog.csdn.net/a312863063/article/details/83573968
  4. https://blog.csdn.net/qq_29367075/article/details/109149211

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/458595.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【力扣】盛最多水的容器,双指针法

盛最多水的容器原题地址 方法一:双指针 如果使用暴力枚举,时间复杂度为,效率太低,会超时。 考虑使用双指针,利用单调性求解。用left和right作为数组height的下标,分别初始化为0和size-1。考虑在区间[lef…

tkinter绘制组件(41)——菜单按钮

tkinter绘制组件(41)——菜单按钮 引言布局函数结构按钮部分菜单显示完整代码函数 效果测试代码最终效果 github项目pip下载结语 引言 TinUI5的新控件,菜单按钮,menubutton。 这是一个与TinUI菜单(menubar&#xff0…

Springboot项目报文加密(AES、RSA、Filter动态加密)

Springboot项目报文加密(AES、RSA、Filter动态加密) 一、痛点1.1、初版报文加密二、前期准备2.1、AES加密2.2、RSA加密2.3、国密算法概述2.4、国密SM22.5、国密SM32.6、国密SM42.7、JAVA中的拦截器、过滤器2.8、请求过滤器2.9、响应过滤器2.10、登录验证码2.11、BCrypt非对称…

基于Java (spring-boot)的学生成绩管理系统

一、项目介绍 (1) 课程信息的管理,包括课程信息的条件查询、录入、修改和删除。 (2) 课程表的管理,包括排课、录入课程表、修改课程表。 (3) 用户信息管理。包括对系统管理员、教师和学生的信息进行维护管理,可以新增、修改、删除和条件分…

电动汽车雷达技术概述 —— FMCW干扰问题

一、电动汽车上有多少种传感器? 智能电动汽车(包括自动驾驶汽车)集成了大量的传感器来实现高级驾驶辅助系统(ADAS)、自动驾驶功能以及车辆状态监测等功能。以下是一份相对全面的智能电动汽车中可能使用到的传感器列表…

AUTOSAR CP--chapter4从一个VCU需求开始Autosar的工程创建

从一个VCU需求开始Autosar的工程创建 1、VCU需求2、Autosar工作任务之间的关系:2.1、工程阶段配置阶段集成阶段调试阶段 1、VCU需求 通过建立整车控制器的工程,搭建Autosar工程的框架,开发的软件是搭载于微控制上运行的。 首先,看…

ArcGIS的UTM与高斯-克吕格投影分带要点总结

UTM(通用横轴墨卡托投影、等角横轴割椭圆柱投影)投影分带投影要点: 1)UTM投影采用6度分带 2)可根据公式计算,带数(经度整数位/6)的整数部分31 3)北半球地区&#xff0…

家政小程序系统开发:从构思到实现

随着科技的快速发展,移动互联网已经深入到我们生活的方方面面。特别是在家政服务领域,传统的服务方式已经不能满足现代人的需求。因此,开发一款家政小程序系统显得尤为重要。本文将介绍家政小程序系统的开发过程,包括需求分析、设…

数据结构——D/二叉树

🌈个人主页:慢了半拍 🔥 创作专栏:《史上最强算法分析》 | 《无味生》 |《史上最强C语言讲解》 | 《史上最强C练习解析》 🏆我的格言:一切只是时间问题。 ​ 1.树概念及结构 1.1树的概念 树是一种非线性的…

最新话费充值系统源码,附带系统安装教程

搭建教程 亲测环境:PHP7.0MySQL5.6 PHP扩展安装:sg11 数据库配置文件路径:/config/database.php 伪静态设置为thinkphp 后台地址:/admin 账号密码:admin/123456

力扣面试题 05.06. 整数转换(位运算)

Problem: 面试题 05.06. 整数转换 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.通过将两个数进行异或操作求出两个数中不同的位(不同的位异或后为二进制1); 2.统计异或后不同的位的个数(即异或后二进制为1的个数) 复杂度 时间复杂度: O ( 1 ) O(1) O(1) 空间…

实战分享:SpringBoot在创新创业项目管理中的应用

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…