文章目录
- 1、基础知识
- 1.1 图像翻译
- 1.2 CGAN
- 1.3 U-Net
- 1.4 Pix2Pix
- 2、运行代码
- 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
- 🍖 原作者:K同学啊 | 接辅导、项目定制
本次主要学习Pix2Pix网络,常用于图像翻译,它的核心技术包括三点:
(1)基于CGAN的损失函数:通过DropOut在生成模型中引入随机噪声z
(2)基于U-Net的生成器:包含编码-解码结构,可以学习浅层到深层的特征
(3)基于PatchGAN的判别器:输入图像被划分成块(Patch)
1、基础知识
1.1 图像翻译
首先要先理解 图像内容(Image Content)、图像域(Image Domain)和图像翻译这三个概念。
- 图像内容:指的是图像的固有内容,它是区分不同图像的依据
- 图像域:指在特定上下文中所涵盖的一组图像的集合,这些图像通常具有某种相似性或共同特征。图像域可以用来表示 一类具有共同属性或内容的图像。在图像翻译中,通常涉及至少两个域:源域和目标域。域内的图像可以认为其内容被赋予了某些相同的风格、纹理或其他视觉特性。
- 图像翻译:是将一个物体的图像表征转换为该物体的另一个表征,例如根据皮包的轮廓得到皮包的彩色图。也就是找到一个函数,能让域A的图像映射到域B,从而实现图像的跨域转换。
1.2 CGAN
之前的学习内容中有包含CGAN的内容。
1.3 U-Net
【U-Net介绍】
U-Net:一种应用于医学图像分割的全卷积网络,网络结构如下:
- (1)编码器-解码器(Encoder-Decoder)结构:U-Net由一个收缩路径(编码器)和一个对称的扩展路径(解码器)组成。编码器部分主要负责通过卷积层提取特征,而解码器部分则用于上采样特征图,逐步恢复到原始图像的尺寸。
- (2)跳跃连接(Skip Connections):在编码和解码阶段之间存在跳跃连接,即从编码器到解码器的深层特征图会与解码器相应层次的输出进行拼接。这种设计可以帮助保持图像的细节信息,并有助于更好地进行精确的分割。
- (3)多层次特征融合:U-Net结构允许在不同层级的特征之间进行融合,这样可以让网络同时学习到浅层次的细节特征和深层次的语义特征,从而增强模型对不同尺度结构的识别能力。
1.4 Pix2Pix
Pix2Pix是一种基于条件生成对抗网络(CGAN)的图像翻译模型,该模型将输入的图像对转换为对应的输出图像,通常用于解决图像到图像的转换问题。【1】
(1)基于CGAN的损失函数: Pix2Pix在生成器的模型层中通过Dropout引入了随机噪声
(2)基于U-Net的生成器,如下图:
(3)基于PatchGAN的判别器:将输入图像分成NxN的图像块,然后把这些图像块依次输入到判别器
2、运行代码
源码由博主提供
报错:
解决方法:修改数据集路径
运行结果: