总结:图像生成网络

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux 分析指定JAVA服务进程所占内存CPU详情

1、获取服务进程PID [rootVM-32-26-centos ~]# service be3Service status Application is running as root (UID 0). This is considered insecure. Running [25383]2、获取进程占用详情 [rootVM-32-26-centos ~]# cat /proc/25383/status Name: java Umask: 0022 State: S…

2024-2-6-复习作业

1> 要求&#xff1a; 源代码&#xff1a; #include <stdio.h> #include <stdlib.h> void output(int arr[],int len) {for(int i0;i<len;i){printf("%d ",arr[i]);}puts(""); } void bubble_sort(int arr[],int len) {for(int i1;i<…

python的进程,线程、协程

python进程的实现 #coding:utf-8 from multiprocessing import Process import timedef run(name):print(%s is running % name)time.sleep(3)print(%s finished his run % name)if __name__ __main__:p Process(targetrun, args(XWenXiang,)) # 创建一个进程对象p.start()…

88 docker 环境下面 前端A连到后端B + 前端B连到后端A

前言 呵呵 最近出现了这样的一个问题, 我们有多个前端服务, 分别连接了对应的后端服务, 前端A -> 后端A, 前端B -> 后端B 但是 最近的时候 却会出现一种情况就是, 有些时候 前端A 连接到了 后端B, 前端B 连接到了 后端A 我们 前端服务使用 nginx 提供前端 html, js…

字符集JAVA

举例&#xff1a; 我们之前在读取文件的时候&#xff0c;文件中都是用英文举例&#xff0c;如果文件内有中文&#xff0c;读取会发生什么 举例&#xff1a;进行读取&#xff0c; //创建字节输入流对象 FileInputStream fisnew FileInputStream("..\\ioDemo\\a.txt"…

市场复盘总结 20240206

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 今日梯队&#xff1a; 二进三&#xff1a…

11_树莓派_树莓派外设板_PWM_彩虹灯

目录 1.树莓派外设集成板总体介绍 2.第二部分 PWM 树莓派_树莓派外设板_PWM_RGB彩虹灯 3.代码及实现 1.树莓派外设集成板总体介绍 1&#xff09;前言&#xff1a;这是一块为了验证树莓派【兼容树莓派多个型号】的40pins的外设接口的外接板&#xff0c;告别复杂的面包板外设…

macOS的设置与常用软件(含IntelliJ IDEA 2023.3.2 Ultimate安装,SIP的关闭与开启)

目录 1 系统设置1.1 触控板1.2 键盘 2 软件篇2.1 [科学上网](https://justmysocks5.net/members/)2.1 [安装Chrome浏览器](https://www.google.cn/chrome/index.html)2.2 [安装utools](https://www.u.tools)2.3 [安装搜狗输入法](https://shurufa.sogou.com/)2.4 [安装snipaste…

读分布式稳定性建设指南文档

最近还是在做一些和稳定性建设相关的事情&#xff0c;找到一份《分布式稳定性建设指南》文档&#xff0c;摘抄了其中的重点&#xff0c;以便后续回顾方便&#xff0c;一直没上传好资源&#xff0c;我之后再试试&#xff0c;原文内容质量非常高。 大家可以先看一级目录即可&…

《Git 简易速速上手小册》第4章:Git 与团队合作(2024 最新版)

文章目录 4.1 协作流程简介4.1.1 基础知识讲解4.1.2 重点案例&#xff1a;为 Python Web 应用添加新功能4.1.3 拓展案例 1&#xff1a;使用 CI/CD 流程自动化测试4.1.4 拓展案例 2&#xff1a;处理 Pull Request 中的反馈 4.2 使用 Pull Requests4.2.1 基础知识讲解4.2.2 重点案…

《Python 网络爬虫简易速速上手小册》第10章:未来展望与新兴技术(2024 最新版)

文章目录 10.1 机器学习在爬虫中的应用10.1.1 重点基础知识讲解10.1.2 重点案例&#xff1a;使用机器学习进行自动化内容抽取10.1.3 拓展案例 1&#xff1a;利用深度学习识别复杂的网页结构10.1.4 拓展案例 2&#xff1a;机器学习辅助的动态反反爬虫策略 10.2 处理 JavaScript …

《C程序设计》上机实验报告(八)之结构体和共用体

实验内容&#xff1a; 1.运行程序 #include <stdio.h> struct mn { int x,*y; }; void main() { int a[]{15,20,25,30}; struct mn aa[]{35,&a[0],40,&a[1],45,&a[2],50,&a[3]},*p; paa; printf("%d",p->x); printf("%d",(p)…

Elasticsearch:BM25 及 使用 Elasticsearch 和 LangChain 的自查询检索器

本工作簿演示了 Elasticsearch 的自查询检索器将非结构化查询转换为结构化查询的示例&#xff0c;我们将其用于 BM25 示例。 在这个例子中&#xff1a; 我们将摄取 LangChain 之外的电影样本数据集自定义 ElasticsearchStore 中的检索策略以仅使用 BM25使用自查询检索将问题转…

【成品论文】2024美赛B题完整成品论文23页+3小问matlab代码+数据集汇总

2024 年美国大学生数学建模竞赛&#xff08;2024 美赛&#xff09;B 题&#xff1a; 2024 MCM 问题 B: 搜寻潜水艇 题目翻译&#xff1a; Maritime Cruises Mini-Submarines (MCMS)是一家总部位于希腊的公司&#xff0c;专门制造能够携 带人类到达海洋最深处的潜水艇。潜水艇是…

力扣53. 最大子数组和(滑动窗口,动态规划)

Problem: 53. 最大子数组和 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 思路1:滑动窗口 1.为求出最大连续的子数组和,我们逻辑上假设有一个窗口在原数组上滑动, 欲求出最大连续,则需要保证窗口中的所有元素和最起码大于0; 2.即当当前窗口中的元素值的和小于0…

当AGI遇到人形机器人

为什么人类对人形机器人抱有执念 人形机器人是一种模仿人类外形和行为的机器人&#xff0c;它的研究和开发有着多方面的目的和意义。 人形机器人可以更好地适应人类的环境和工具。人类的生活和工作空间都是根据人的尺寸和动作来设计的&#xff0c;例如门、楼梯、桌椅、开关等…

改变终端安全的革命性新兴技术:自动移动目标防御技术AMTD

自动移动目标防御技术通过启用终端配置的自适应防御来改变终端检测和响应能力。产品领导者可以实施AMTD来确保实时威胁响应&#xff0c;并减少检测和响应安全威胁所需的时间。 主要发现 通过动态修改系统配置、软件堆栈或网络特征&#xff0c;自动移动目标防御&#xff08;AMTD…

Retinexformer论文精读笔记

Retinexformer论文精读笔记 论文为2023年ICCV的Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement。论文链接&#xff1a;browse.arxiv.org/pdf/2303.06705.pdf&#xff0c;代码链接&#xff1a;caiyuanhao1998/Retinexformer: “Retinexfo…

初次认识和学习SEO

初探 SEO 初探 SEO SEO 的基本概念 搜索引擎优化&#xff08;英语&#xff1a;search engine optimization&#xff0c;缩写为 SEO&#xff09;&#xff0c;是一种透过了解搜索引擎的运作规则来调整网站&#xff0c;以及提高目的网站在有关搜索引擎内排名的方式 一般的可以理…

k8s 网络策略揭秘:CKA认证必备的网络知识全解析

网络策略&#xff08;NetworkPolicy&#xff09;是Kubernetes中的一种资源对象&#xff0c;用于定义和控制Pod之间的网络通信规则。它允许您在Kubernetes集群中定义详细的网络规则&#xff0c;以控制哪些Pod可以相互通信&#xff0c;以及允许或禁止的流量。网络策略提供了一种实…