: 克里斯南杜·卡尔(Krishnendu Kar)对计算机视觉和AI问题研究充满热情,他的核心专业是深度学习,包括计算机视觉、物联网和敏捷软件开发。Krish还是一位活跃的应用程序开发人员,在iOS App Store发布了一款基于行车记录仪的目标和车道检测并可提供导航功能的应用程序——Nity Map AI Camera & Run Timer。
【目录】
第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
以下为对购买帮助不大的评价