书籍详情
基于TensorFlow的图像生成
作者:(英)Soon Yau Cheong(张舜尧)
出版社:电子工业出版社
出版时间:2022-10-01
ISBN:9787121443473
定价:¥89.00
购买这本书可以去
内容简介
本书是一本使用深度学习生成图像和视频的实用指南。书中深入浅出地介绍了基于TensorFlow生成图像的基本原理。本书有三部分共10章,部分介绍使用TensorFlow生成图像的基本知识,包括概率模型、自动编码器和生成对抗网络(GAN);第二部分通过一些应用程序案例介绍具体的图像生成模型,包括图像到图像转换技术、风格转换和人工智能(AI)画家案例;第三部分介绍生成对抗网络的具体应用,包括高保真面孔生成、图像生成的自我关注和视频合成。本书内容详尽、案例丰富,通过阅读本书,读者不仅可以理解基于TensorFlow生成图像的基本原理,还可以真正掌握图像生成的技能。本书适合图像处理、计算机视觉和机器学习等专业的本科生、研究生及相关技术人员阅读参考。
作者简介
Soon Yau Cheong是一名人工智能顾问,也是Sooner.ai公司的创始人,曾与NVIDIA和高通等行业巨头合作,在人工智能的各个领域提供咨询服务,如深度学习、计算机视觉、自然语言处理和大数据分析。冒燕,男,1978年5月生,武汉理工大学讲师,博士学历,主要从事光纤传感及医学OCT系统成像等技术等研究。发表论文30余篇,其中SCI/EI检索论文15篇。获得授权国家发明专利4项,省部级科技奖励5项,参与编写出版著作2本。
目录
目 录
第1篇 TensorFlow生成图像的基本原理
第1章 开始使用TensorFlow生成图像 2
1.1 技术要求 2
1.2 理解概率 2
1.2.1 概率分布 3
1.2.2 预测置信度 4
1.2.3 像素的联合概率 4
1.3 用概率模型生成人脸 7
1.3.1 创建面孔 7
1.3.2 条件概率 9
1.3.3 概率生成模型 10
1.3.4 参数化建模 12
1.4 从零开始构建PixelCNN模型 13
1.4.1 自回归模型 14
1.4.2 PixelRNN 14
1.4.3 使用TensorFlow 2构建PixelCNN模型 14
1.5 本章小结 21
第2章 变分自编码器 22
2.1 技术要求 22
2.2 用自编码器学习潜在变量 22
2.2.1 编码器 23
2.2.2 解码器 26
2.2.3 构建自编码器 28
2.2.4 从潜在变量生成图像 29
2.3 变分自编码器 31
2.3.1 高斯分布 31
2.3.2 采样潜在变量 33
2.3.3 损失函数 36
2.4 用变分自编码器生成人脸 38
2.4.1 网络体系结构 38
2.4.2 面部重建 39
2.4.3 生成新面孔 40
2.4.4 采样技巧 40
2.5 控制面部属性 42
2.5.1 潜在空间运算 42
2.5.2 寻找属性向量 42
2.5.3 面部编辑 43
2.6 本章小结 45
第3章 生成对抗网络 46
3.1 技术要求 46
3.2 了解GAN的基本原理 47
3.2.1 GAN的架构 47
3.2.2 价值函数 48
3.2.3 GAN训练步骤 51
3.3 构建深度卷积GAN(DCGAN) 53
3.3.1 结构指南 53
3.3.2 建立Fashion-MNIST的DCGAN 55
3.3.3 训练我们的DCGAN 58
3.4 训练GAN的挑战 60
3.4.1 无信息损失和度量 60
3.4.2 不稳定性 61
3.4.3 梯度消失 61
3.4.4 模式崩塌 62
3.5 建立Wasserstein GAN(WGAN) 63
3.5.1 理解Wasserstein损失 64
3.5.2 实现1-Lipschitz约束 65
3.5.3 重组训练步骤 66
3.5.4 实施梯度惩罚(WGAN-GP) 68
3.5.5 调整CelebA的WGAN-GP 71
3.6 本章小结 73
第2篇 深度生成模型的应用
第4章 图像到图像的翻译 76
4.1 技术要求 76
4.2 条件GAN 77
4.2.1 实现条件DCGAN 78
4.2.2 条件GAN的变体 82
4.3 使用pix2pix进行图像翻译 84
4.3.1 丢弃随机噪声 85
4.3.2 U-Net作为生成器 85
4.3.3 损失函数 88
4.3.4 实现PatchGAN判别器 88
4.3.5 训练pix2pix 90
4.4 CycleGAN的非成对图像翻译 91
4.4.1 未配对的数据集 91
4.4.2 循环一致性损失 92
4.4.3 构建CycleGAN模型 93
4.4.4 分析CycleGAN 95
4.5 用BicycleGAN实现图像翻译多样化 96
4.5.1 理解体系结构 97
4.5.2 实现BicycleGAN 99
4.6 本章小结 104
第5章 风格迁移 105
5.1 技术要求 105
5.2 神经风格迁移 106
5.2.1 利用VGG提取特征 107
5.2.2 内容重构 109
5.2.3 用Gram矩阵重建风格 111
5.2.4 执行神经风格迁移 113
5.3 改进风格迁移 114
5.3.1 使用前馈网络进行快速风格迁移 116
5.3.2 不同的风格特征 117
5.3.3 使用归一化层控制风格 117
5.4 实时任意风格转换 118
5.4.1 实现自适应实例归一化 119
5.4.2 风格迁移网络架构 120
5.4.3 任意风格迁移训练 123
5.5 基于风格的GAN简介 126
5.6 本章小结 131
第6章 人工智能画家 132
6.1 技术要求 132
6.2 iGAN介绍 132
6.2.1 了解流形 134
6.2.2 图像编辑 135
6.3 基于GauGAN的分割图到图像的翻译 139
6.3.1 pix2pixHD介绍 139
6.3.2 空间自适应归一化(SPADE) 140
6.3.3 实际应用GauGAN 146
6.4 本章小结 153
第3篇 高级深度生成技术
第7章 高保真人脸生成 156
7.1 技术要求 156
7.2 ProGAN概述 156
7.2.1 像素归一化 158
7.2.2 使用小批量统计增加图像变化 159
7.2.3 均衡学习率 160
7.3 ProGAN的建立 162
7.3.1 生成器块的建立 162
7.3.2 判别器块的建立 164
7.3.3 逐步发展网络 165
7.3.4 损失函数 169
7.3.5 存在的问题 169
7.4 实际应用StyleGAN 171
7.4.1 风格化生成器 172
7.4.2 实现映射网络 173
7.4.3 添加噪声 174
7.4.4 AdaIN的实现 174
7.4.5 建造生成器块 175
7.4.6 StyleGAN的训练 176
7.5 本章小结 177
第8章 图像生成的自注意力机制 178
8.1 技术要求 178
8.2 谱归一化 179
8.2.1 了解谱范数 179
8.2.2 谱的归一化实现 180
8.3 自注意力模块 181
8.3.1 计算机视觉的自注意力 181
8.3.2 自注意力模块的实现 183
8.4 建立SAGAN 185
8.4.1 构建SAGAN生成器 186
8.4.2 条件批量归一化 187
8.4.3 构建判别器 189
8.4.4 训练SAGAN 190
8.5 实现BigGAN 191
8.5.1 缩放GAN 191
8.5.2 跳过潜在向量 192
8.5.3 共享类嵌入 193
8.5.4 正交归一化 195
8.6 本章小结 196
第9章 视频合成 197
9.1 技术要求 197
9.2 视频合成概述 198
9.2.1 理解人脸视频合成 198
9.2.2 DeepFake概述 199
9.3 实现人脸图像处理 201
9.3.1 从视频中提取图像 201
9.3.2 检测和定位人脸 202
9.3.3 面部特征的检测 203
9.3.4 面部对齐 204
9.3.5 面部扭曲 206
9.4 建立DeepFake模型 208
9.4.1 构建编码器 208
9.4.2 构建解码器 209
9.4.3 训练自编码器 210
9.5 人脸互换 212
9.6 用GAN改进DeepFake 214
9.7 本章小结 216
第10章 总结与展望 217
10.1 GAN的回顾 217
10.1.1 优化和激活功能 218
10.1.2 对抗损失 218
10.1.3 辅助损失 219
10.1.4 归一化 219
10.1.5 正则化 220
10.2 将你的技能付诸实践 221
10.2.1 不要相信你读到的一切 221
10.2.2 你的GPU够强吗 221
10.2.3 使用现有的模型构建你的模型 221
10.2.4 理解模型的局限性 222
10.3 图像处理 222
10.3.1 图像修整 222
10.3.2 图像压缩 224
10.3.3 图像超分辨率 225
10.4 文本转图像 225
10.5 视频重定向 227
10.5.1 人脸再现 228
10.5.2 姿势转换 229
10.5.3 运动转移 230
10.6 神经渲染 231
10.7 本章小结 233
第1篇 TensorFlow生成图像的基本原理
第1章 开始使用TensorFlow生成图像 2
1.1 技术要求 2
1.2 理解概率 2
1.2.1 概率分布 3
1.2.2 预测置信度 4
1.2.3 像素的联合概率 4
1.3 用概率模型生成人脸 7
1.3.1 创建面孔 7
1.3.2 条件概率 9
1.3.3 概率生成模型 10
1.3.4 参数化建模 12
1.4 从零开始构建PixelCNN模型 13
1.4.1 自回归模型 14
1.4.2 PixelRNN 14
1.4.3 使用TensorFlow 2构建PixelCNN模型 14
1.5 本章小结 21
第2章 变分自编码器 22
2.1 技术要求 22
2.2 用自编码器学习潜在变量 22
2.2.1 编码器 23
2.2.2 解码器 26
2.2.3 构建自编码器 28
2.2.4 从潜在变量生成图像 29
2.3 变分自编码器 31
2.3.1 高斯分布 31
2.3.2 采样潜在变量 33
2.3.3 损失函数 36
2.4 用变分自编码器生成人脸 38
2.4.1 网络体系结构 38
2.4.2 面部重建 39
2.4.3 生成新面孔 40
2.4.4 采样技巧 40
2.5 控制面部属性 42
2.5.1 潜在空间运算 42
2.5.2 寻找属性向量 42
2.5.3 面部编辑 43
2.6 本章小结 45
第3章 生成对抗网络 46
3.1 技术要求 46
3.2 了解GAN的基本原理 47
3.2.1 GAN的架构 47
3.2.2 价值函数 48
3.2.3 GAN训练步骤 51
3.3 构建深度卷积GAN(DCGAN) 53
3.3.1 结构指南 53
3.3.2 建立Fashion-MNIST的DCGAN 55
3.3.3 训练我们的DCGAN 58
3.4 训练GAN的挑战 60
3.4.1 无信息损失和度量 60
3.4.2 不稳定性 61
3.4.3 梯度消失 61
3.4.4 模式崩塌 62
3.5 建立Wasserstein GAN(WGAN) 63
3.5.1 理解Wasserstein损失 64
3.5.2 实现1-Lipschitz约束 65
3.5.3 重组训练步骤 66
3.5.4 实施梯度惩罚(WGAN-GP) 68
3.5.5 调整CelebA的WGAN-GP 71
3.6 本章小结 73
第2篇 深度生成模型的应用
第4章 图像到图像的翻译 76
4.1 技术要求 76
4.2 条件GAN 77
4.2.1 实现条件DCGAN 78
4.2.2 条件GAN的变体 82
4.3 使用pix2pix进行图像翻译 84
4.3.1 丢弃随机噪声 85
4.3.2 U-Net作为生成器 85
4.3.3 损失函数 88
4.3.4 实现PatchGAN判别器 88
4.3.5 训练pix2pix 90
4.4 CycleGAN的非成对图像翻译 91
4.4.1 未配对的数据集 91
4.4.2 循环一致性损失 92
4.4.3 构建CycleGAN模型 93
4.4.4 分析CycleGAN 95
4.5 用BicycleGAN实现图像翻译多样化 96
4.5.1 理解体系结构 97
4.5.2 实现BicycleGAN 99
4.6 本章小结 104
第5章 风格迁移 105
5.1 技术要求 105
5.2 神经风格迁移 106
5.2.1 利用VGG提取特征 107
5.2.2 内容重构 109
5.2.3 用Gram矩阵重建风格 111
5.2.4 执行神经风格迁移 113
5.3 改进风格迁移 114
5.3.1 使用前馈网络进行快速风格迁移 116
5.3.2 不同的风格特征 117
5.3.3 使用归一化层控制风格 117
5.4 实时任意风格转换 118
5.4.1 实现自适应实例归一化 119
5.4.2 风格迁移网络架构 120
5.4.3 任意风格迁移训练 123
5.5 基于风格的GAN简介 126
5.6 本章小结 131
第6章 人工智能画家 132
6.1 技术要求 132
6.2 iGAN介绍 132
6.2.1 了解流形 134
6.2.2 图像编辑 135
6.3 基于GauGAN的分割图到图像的翻译 139
6.3.1 pix2pixHD介绍 139
6.3.2 空间自适应归一化(SPADE) 140
6.3.3 实际应用GauGAN 146
6.4 本章小结 153
第3篇 高级深度生成技术
第7章 高保真人脸生成 156
7.1 技术要求 156
7.2 ProGAN概述 156
7.2.1 像素归一化 158
7.2.2 使用小批量统计增加图像变化 159
7.2.3 均衡学习率 160
7.3 ProGAN的建立 162
7.3.1 生成器块的建立 162
7.3.2 判别器块的建立 164
7.3.3 逐步发展网络 165
7.3.4 损失函数 169
7.3.5 存在的问题 169
7.4 实际应用StyleGAN 171
7.4.1 风格化生成器 172
7.4.2 实现映射网络 173
7.4.3 添加噪声 174
7.4.4 AdaIN的实现 174
7.4.5 建造生成器块 175
7.4.6 StyleGAN的训练 176
7.5 本章小结 177
第8章 图像生成的自注意力机制 178
8.1 技术要求 178
8.2 谱归一化 179
8.2.1 了解谱范数 179
8.2.2 谱的归一化实现 180
8.3 自注意力模块 181
8.3.1 计算机视觉的自注意力 181
8.3.2 自注意力模块的实现 183
8.4 建立SAGAN 185
8.4.1 构建SAGAN生成器 186
8.4.2 条件批量归一化 187
8.4.3 构建判别器 189
8.4.4 训练SAGAN 190
8.5 实现BigGAN 191
8.5.1 缩放GAN 191
8.5.2 跳过潜在向量 192
8.5.3 共享类嵌入 193
8.5.4 正交归一化 195
8.6 本章小结 196
第9章 视频合成 197
9.1 技术要求 197
9.2 视频合成概述 198
9.2.1 理解人脸视频合成 198
9.2.2 DeepFake概述 199
9.3 实现人脸图像处理 201
9.3.1 从视频中提取图像 201
9.3.2 检测和定位人脸 202
9.3.3 面部特征的检测 203
9.3.4 面部对齐 204
9.3.5 面部扭曲 206
9.4 建立DeepFake模型 208
9.4.1 构建编码器 208
9.4.2 构建解码器 209
9.4.3 训练自编码器 210
9.5 人脸互换 212
9.6 用GAN改进DeepFake 214
9.7 本章小结 216
第10章 总结与展望 217
10.1 GAN的回顾 217
10.1.1 优化和激活功能 218
10.1.2 对抗损失 218
10.1.3 辅助损失 219
10.1.4 归一化 219
10.1.5 正则化 220
10.2 将你的技能付诸实践 221
10.2.1 不要相信你读到的一切 221
10.2.2 你的GPU够强吗 221
10.2.3 使用现有的模型构建你的模型 221
10.2.4 理解模型的局限性 222
10.3 图像处理 222
10.3.1 图像修整 222
10.3.2 图像压缩 224
10.3.3 图像超分辨率 225
10.4 文本转图像 225
10.5 视频重定向 227
10.5.1 人脸再现 228
10.5.2 姿势转换 229
10.5.3 运动转移 230
10.6 神经渲染 231
10.7 本章小结 233
猜您喜欢