书籍详情

TensorFlow 2.x高级计算机视觉

TensorFlow 2.x高级计算机视觉

作者:[美] 克里斯南杜·卡尔 著,周玉兰 译

出版社:清华大学出版社

出版时间:2022-09-01

ISBN:9787302614586

定价:¥129.00

购买这本书可以去
内容简介
  《TensorFlow2.x高级计算机视觉》详细阐述了与TensorFlow高级计算机视觉相关的基本解决方案,主要包括计算机视觉和TensorFlow基础知识,局部二值模式和内容识别,使用OpenCV和CNN进行面部检测,图像深度学习,神经网络架构和模型,迁移学习和视觉搜索,YOLO和对象检测,语义分割和神经风格迁移,使用多任务深度学习进行动作识别,使用R-CNN、SSD和R-FCN进行对象检测,通过CPU/GPU优化在边缘设备上进行深度学习,用于计算机视觉的云计算平台等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
作者简介
暂缺《TensorFlow 2.x高级计算机视觉》作者简介
目录
第1篇  计算机视觉和神经网络概论
第1章  计算机视觉和TensorFlow基础知识 3
1.1  技术要求 3
1.2  使用图像哈希和滤波检测边缘 3
1.2.1  使用拜耳滤色器形成彩色图案 4
1.2.2  创建图像向量 5
1.2.3  变换图像 8
1.2.4  线性滤波—与内核进行卷积 9
1.2.5  图像平滑 10
1.2.6  均值滤波器 11
1.2.7  中值滤波器 12
1.2.8  高斯滤波器 12
1.2.9  使用OpenCV进行图像滤波 13
1.2.10  图像梯度 14
1.2.11  图像锐化 15
1.2.12  混合高斯和拉普拉斯运算 16
1.2.13  检测图像边缘 18
1.2.14  Sobel边缘检测器 19
1.2.15  Canny边缘检测器 19
1.3  从图像中提取特征 20
1.3.1  直方图 20
1.3.2  使用OpenCV进行图像匹配 21
1.4  使用轮廓和HOG检测器进行对象检测 22
1.4.1  轮廓检测 23
1.4.2  检测边界框 23
1.4.3  HOG检测器 25
1.4.4  轮廓检测方法的局限性 26
1.5  TensorFlow生态系统和安装概述 28
1.5.1  TensorFlow与PyTorch 29
1.5.2  TensorFlow安装 29
1.6  小结 31
第2章  局部二值模式和内容识别 33
2.1  使用LBP处理图像 33
2.1.1  生成LBP模式 33
2.1.2  理解LBP直方图 36
2.1.3  直方图比较方法 36
2.1.4  LBP的计算成本 39
2.2  将LBP应用于纹理识别 39
2.3  使脸部颜色与基础颜色匹配—LBP及其局限性 45
2.4  使脸部颜色与基础颜色匹配—颜色匹配技术 48
2.5  小结 49
第3章  使用OpenCV和CNN进行面部检测 51
3.1  应用Viola-Jones AdaBoost学习模型和Haar级联分类器进行人脸识别 51
3.1.1  选择哈尔特征 51
3.1.2  创建积分图像 52
3.1.3  进行AdaBoost训练 55
3.1.4  级联分类器 56
3.1.5  训练级联检测器 57
3.2  使用深度神经网络预测面部关键点 58
3.2.1  准备用于关键点检测的数据集 58
3.2.2  处理关键点数据 61
3.2.3  在输入Keras–Python代码之前进行预处理 61
3.2.4  Keras–Python代码中的预处理 61
3.2.5  定义模型架构 63
3.2.6  训练模型以进行关键点预测 65
3.3  使用CNN预测面部表情 67
3.4  3D人脸检测概述 69
3.4.1  3D重建的硬件设计概述 69
3.4.2  3D重建和跟踪概述 69
3.4.3  参数跟踪概述 70
3.5  小结 71
第4章  图像深度学习 73
4.1  理解CNN及其参数 73
4.1.1  卷积 75
4.1.2  在空间上的卷积—3×3滤波器 77
4.1.3  在空间上的卷积—1×1滤波器 78
4.1.4  池化 79
4.1.5  填充 80
4.1.6  步幅 81
4.1.7  激活 82
4.1.8  全连接层 83
4.1.9  正则化 84
4.1.10  舍弃 84
4.1.11  内部协方差漂移和批归一化 85
4.1.12  Softmax 87
4.2  优化CNN参数 87
4.2.1  基准情况 89
4.2.2  迭代1 90
4.2.3  迭代2 90
4.2.4  迭代3 91
4.2.5  迭代4 92
4.3  可视化神经网络的各个层 94
4.3.1  构建自定义图像分类器模型并可视化其层 94
4.3.2  神经网络输入和参数 94
4.3.3  输入图像 95
4.3.4  定义训练和验证生成器 95
4.3.5  开发模型 96
4.3.6  编译和训练模型 96
4.3.7  输入测试图像并将其转换为张量 98
4.3.8  可视化第一个激活层 99
4.3.9  可视化多个激活层 99
4.3.10  训练现有的高级图像分类器模型并可视化其层 103
4.4  小结 107
第2篇  TensorFlow和计算机视觉的高级概念
第5章  神经网络架构和模型 111
5.1  AlexNet概述 111
5.2  VGG16概述 116
5.3  Inception概述 117
5.3.1  Inception网络的工作原理 117
5.3.2  GoogLeNet检测 120
5.4  ResNet概述 121
5.5  R-CNN概述 123
5.5.1  图像分割 125
5.5.2  基于聚类的分割 125
5.5.3  基于图的分割 125
5.5.4  选择性搜索 126
5.5.5  区域提议 126
5.5.6  特征提取 126
5.5.7  图像分类 127
5.5.8  边界框回归 127
5.6  快速R-CNN概述 127
5.7  更快的R-CNN概述 129
5.8  GAN概述 133
5.9  GNN概述 135
5.9.1  有关图神经网络的基础知识 136
5.9.2  频谱GNN 137
5.10  强化学习概述 138
5.11  迁移学习概述 139
5.12  小结 141
第6章  迁移学习和视觉搜索 143
6.1  使用TensorFlow编写深度学习模型代码 143
6.1.1  下载权重 144
6.1.2  解码预测结果 144
6.1.3  导入其他常用功能 145
6.1.4  构建模型 145
6.1.5  从目录输入图像 146
6.1.6  使用TensorFlow Keras导入和处理多幅图像的循环函数 146
6.2  使用TensorFlow开发迁移学习模型 151
6.2.1  分析和存储数据 151
6.2.2  导入TensorFlow库 152
6.2.3  设置模型参数 153
6.2.4  建立数据输入管道 153
6.2.5  训练数据生成器 153
6.2.6  验证数据生成器 154
6.2.7  使用迁移学习构建最终模型 154
6.2.8  使用Checkpoint保存模型 156
6.2.9  给训练的历史记录绘图 157
6.3  理解视觉搜索的架构和应用 160
6.3.1  视觉搜索的架构 161
6.3.2  视觉搜索代码和说明 164
6.3.3  预测上传图像的类别 164
6.3.4  预测所有图像的类别 165
6.4  使用tf.data处理视觉搜索输入管道 171
6.5  小结 173
第7章  YOLO和对象检测 175
7.1  YOLO概述 175
7.1.1  交并比的概念 176
7.1.2  YOLO能够快速检测对象的原因揭秘 177
7.1.3  YOLO v3神经网络架构 179
7.1.4  YOLO与更快的R-CNN的比较 180
7.2  用于对象检测的Darknet简介 181
7.2.1  使用Darknet检测对象 181
7.2.2 使用Tiny Darknet检测对象 184
7.3  使用Darknet进行实时预测 186
7.4  YOLO系列的比较 190
7.5  训练模型 191
7.6  使用YOLO v3训练新图像集以开发自定义模型 192
7.6.1  准备图像 194
7.6.2  生成注解文件 194
7.6.3  将.xml文件转换为.txt文件 196
7.6.4  创建合并的train.txt和test.txt文件 196
7.6.5  创建一个类别名称文件的列表 196
7.6.6  创建一个YOLO .data文件 197
7.6.7  调整YOLO配置文件 197
7.6.8  启用GPU进行训练 200
7.6.9  开始训练 200
7.7  特征金字塔网络和RetinaNet概述 201
7.8  小结 203
第8章  语义分割和神经风格迁移 205
8.1  用于语义分割的TensorFlow DeepLab概述 205
8.1.1  空间金字塔池化 207
8.1.2  空洞卷积 207
8.1.3  编码器-解码器网络 208
8.1.4  编码器模块 208
8.1.5  解码器模块 209
8.1.6  DeepLab中的语义分割示例 209
8.1.7  Google Colab、Google Cloud TPU和TensorFlow 209
8.2  使用DCGAN生成人工图像 213
8.2.1  生成器 213
8.2.2  鉴别器 214
8.2.3  训练 215
8.2.4  使用DCGAN修复图像 216
8.2.5  TensorFlow DCGAN示例 217
8.3  使用OpenCV修复图像 217
8.4  理解神经风格迁移 218
8.5  小结 222
第3篇  使用TensorFlow的计算机视觉高级实现
第9章  使用多任务深度学习进行动作识别 225
9.1  人体姿势估计—OpenPose 225
9.1.1  OpenPose背后的理论 225
9.1.2  理解OpenPose代码 228
9.2  人体姿势估计—堆叠沙漏模型 231
9.2.1  理解沙漏模型 233
9.2.2  编写沙漏模型代码 234
9.2.3  argparse块 235
9.2.4  训练沙漏网络 237
9.2.5  创建沙漏网络 238
9.3  人体姿势估计—PoseNet 242
9.3.1  自上而下的方法 242
9.3.2  自下而上的方法 242
9.3.3  PoseNet实现 243
9.3.4  应用人体姿势进行手势识别 246
9.4  使用各种方法进行动作识别 247
9.4.1  基于加速度计识别动作 248
9.4.2  将基于视频的动作与姿势估计相结合 250
9.4.3  使用4D方法进行动作识别 251
9.5  小结 251
第10章  使用R-CNN、SSD和R-FCN进行对象检测 253
10.1  SSD概述 253
10.2  R-FCN概述 256
10.3  TensorFlow对象检测API概述 258
10.4  在Google Cloud上使用TensorFlow检测对象 259
10.5  使用TensorFlow Hub检测对象 262
10.6  使用TensorFlow和Google Colab训练自定义对象检测器 263
10.6.1  收集图像并格式化为.jpg文件 265
10.6.2  注解图像以创建.xml文件 266
10.6.3  将文件拆分到训练和测试文件夹中 267
10.6.4  配置参数并安装所需的软件包 269
10.6.5  创建TensorFlow记录 271
10.6.6  准备模型并配置训练管道 273
10.6.7  使用TensorBoard监控训练进度 274
10.6.8  在本地计算机上运行TensorBoard 274
10.6.9  在Google Colab上运行TensorBoard 274
10.6.10  训练模型 275
10.6.11  运行推理测试 278
10.6.12  使用神经网络模型时的注意事项 279
10.7  Mask R-CNN概述和Google Colab演示 280
10.8  开发对象跟踪器模型以补充对象检测器 282
10.8.1  基于质心的跟踪 282
10.8.2  SORT跟踪 282
10.8.3  DeepSORT跟踪 283
10.8.4  OpenCV跟踪方法 284
10.8.5  基于暹罗网络的跟踪 284
10.8.6  基于SiamMask的跟踪 285
10.9  小结 286
第4篇  在边缘和云端上的TensorFlow实现
第11章  通过CPU/GPU优化在边缘设备上进行深度学习 291
11.1  边缘设备上的深度学习概述 291
11.2  用于GPU/CPU优化的技术 293
11.3  MobileNet概述 294
11.4  使用Raspberry Pi进行图像处理 296
11.4.1  Raspberry Pi硬件设置 297
11.4.2  Raspberry Pi摄像头软件设置 298
11.4.3  在Raspberry Pi中安装OpenCV 298
11.4.4  在Raspberry Pi中安装OpenVINO 299
11.4.5  安装OpenVINO工具包组件 300
11.4.6  设置环境变量 301
11.4.7  添加USB规则 301
11.4.8  使用Python代码运行推理 301
11.4.9  高级推理 302
11.4.10  人脸检测、行人检测和车辆检测 304
11.4.11  特征识别模型 305
11.4.12  动作识别模型 306
11.4.13  车牌、注视和人员检测 306
11.5  使用OpenVINO进行模型转换和推理 309
11.5.1  使用NCAPPZOO在终端中运行推理 309
11.5.2  转换预训练模型以进行推理 310
11.5.3  转换使用Keras开发的TensorFlow模型 310
11.5.4  转换使用TensorFlow对象检测API开发的TensorFlow模型 311
11.5.5  OpenVINO模型推理过程总结 312
11.6  TensorFlow Lite的应用 314
11.6.1  将TensorFlow模型转换为tflite格式 315
11.6.2  Python API 315
11.6.3  TensorFlow对象检测API—tflite_convert 315
11.6.4  TensorFlow对象检测API—toco 316
11.6.5  模型优化 318
11.7  使用TensorFlow Lite在Android手机上进行对象检测 319
11.8  使用TensorFlow Lite在Raspberry Pi上进行对象检测 323
11.8.1  图像分类 324
11.8.2  对象检测 325
11.9  使用TensorFlow Lite和Create ML在iPhone上进行对象检测 326
11.9.1  适用于iPhone的TensorFlow Lite转换模型 327
11.9.2  Core ML 330
11.9.3  将TensorFlow模型转换为Core ML格式 333
11.10  各种注解方法的摘要 333
11.10.1  将标注工作外包给第三方 333
11.10.2  自动或半自动标注 334
11.11  小结 338
第12章  用于计算机视觉的云计算平台 339
12.1  在GCP中训练对象检测器 339
12.1.1  在GCP中创建项目 340
12.1.2  GCP设置 341
12.1.3  Google Cloud Storage存储桶设置 342
12.1.4  使用GCP API设置存储桶 342
12.1.5  使用Ubuntu终端设置存储桶 343
12.1.6  设置Google Cloud SDK 343
12.1.7  将终端链接到Google Cloud项目和存储桶 344
12.1.8  安装TensorFlow对象检测API 345
12.1.9  准备数据集 346
12.1.10  TFRecord和标注地图数据 346
12.1.11  准备数据 346
12.1.12  上传数据 347
12.1.13  model.ckpt文件 348
12.1.14  模型配置文件 348
12.1.15  在云端训练 350
12.1.16  在TensorBoard中查看模型输出 351
12.1.17  模型输出并转换为冻结图 353
12.1.18  从Google Colab导出tflite graph.py 354
12.2  在AWS SageMaker云平台中训练对象检测器 357
12.2.1  设置AWS账户和限制等 357
12.2.2  将.xml文件转换为JSON格式 357
12.2.3  将数据上传到S3存储桶 358
12.2.4  创建Notebook实例并开始训练 358
12.2.5  修复训练中的一些常见故障 359
12.3  在Microsoft Azure云平台中训练对象检测器 361
12.3.1  创建一个Azure账号并设置Custom Vision 361
12.3.2  上传训练图像并标注它们 362
12.4  大规模训练和打包 366
12.4.1  关于分布式训练 366
12.4.2  应用程序打包 366
12.5  基于云的视觉搜索背后的总体思路 367
12.6  分析各种云平台中的图像和搜索机制 368
12.6.1  使用GCP进行视觉搜索 369
12.6.2  使用AWS进行视觉搜索 370
12.6.3  使用Azure进行视觉搜索 372
12.7  小结 373
猜您喜欢

读书导航