第1章 机器视觉在行业中的应用 1
1.1 机器视觉的发展背景 1
1.1.1 人工智能 1
1.1.2 机器视觉 2
1.2 机器视觉的主要应用场景 3
1.2.1 人脸识别 3
1.2.2 视频监控分析 4
1.2.3 工业瑕疵检测 5
1.2.4 图片识别分析 6
1.2.5 自动驾驶/驾驶辅助 7
1.2.6 三维图像视觉 8
1.2.7 医疗影像诊断 8
1.2.8 文字识别 9
1.2.9 图像/视频的生成及设计 9
1.3 本章小结 10
第2章 图像识别前置技术 11
2.1 深度学习框架 11
2.1.1 Theano 11
2.1.2 Tensorflow 12
2.1.3 MXNet 13
2.1.4 Keras 13
2.1.5 PyTorch 14
2.1.6 Caffe 14
2.2 搭建图像识别开发环境 15
2.2.1 Anaconda 15
2.2.2 conda 18
2.2.3 Pytorch的下载与安装 19
2.3 Numpy使用详解 20
2.3.1 创建数组 20
2.3.2 创建Numpy数组 22
2.3.3 获取Numpy属性 24
2.3.4 Numpy数组索引 25
2.3.5 切片 25
2.3.6 Numpy中的矩阵运算 26
2.3.7 数据类型转换 27
2.3.8 Numpy的统计计算方法 28
2.3.9 Numpy中的arg运算 29
2.3.10 FancyIndexing 29
2.3.11 Numpy数组比较 30
2.4 本章小结 31
第3章 图像分类之KNN算法 32
3.1 KNN的理论基础与实现 32
3.1.1 理论知识 32
3.1.2 KNN的算法实现 33
3.2 图像分类识别预备知识 35
3.2.1 图像分类 35
3.2.2 图像预处理 36
3.3 KNN实战 36
3.3.1 KNN实现MNIST数据分类 36
3.3.2 KNN实现Cifar10数据分类 41
3.4 模型参数调优 44
3.5 本章小结 48
第4章 机器学习基础 49
4.1 线性回归模型 49
4.1.1 一元线性回归 50
4.1.2 多元线性回归 56
4.2 逻辑回归模型 57
4.2.1 Sigmoid函数 58
4.2.2 梯度下降法 59
4.2.3 学习率η的分析 61
4.2.4 逻辑回归的损失函数 63
4.2.5 Python实现逻辑回归 66
4.3 本章小结 68
第5章 神经网络基础 69
5.1 神经网络 69
5.1.1 神经元 70
5.1.2 激活函数 72
5.1.3 前向传播 76
5.2 输出层 80
5.2.1 Softmax 80
5.2.2 one-hotencoding 82
5.2.3 输出层的神经元个数 83
5.2.4 MNIST数据集的前向传播 83
5.3 批处理 85
5.4 广播原则 87
5.5 损失函数 88
5.5.1 均方误差 88
5.5.2 交叉熵误差 89
5.5.3 Mini-batch 90
5.6 最优化 91
5.6.1 随机初始化 91
5.6.2 跟随梯度(数值微分) 92
5.7 基于数值微分的反向传播 98
5.8 基于测试集的评价 101
5.9 本章小结 104
第6章 误差反向传播 105
6.1 激活函数层的实现 105
6.1.1 ReLU反向传播实现 106
6.1.2 Sigmoid反向传播实现 106
6.2 Affine层的实现 107
6.3 Softmaxwithloss层的实现 108
6.4 基于数值微分和误差反向传播的比较 109
6.5 通过反向传播实现MNIST识别 111
6.6 正则化惩罚 114
6.7 本章小结 115
第7章 PyTorch实现神经网络图像分类 116
7.1 PyTorch的使用 116
7.1.1 Tensor 116
7.1.2 Variable 117
7.1.3 激活函数 118
7.1.4 损失函数 120
7.2 PyTorch实战 122
7.2.1 PyTorch实战之MNIST分类 122
7.2.2 PyTorch实战之Cifar10分类 125
7.3 本章小结 128
第8章 卷积神经网络 129
8.1 卷积神经网络基础 129
8.1.1 全连接层 129
8.1.2 卷积层 130
8.1.3 池化层 134
8.1.4 批规范化层 135
8.2 常见卷积神经网络结构 135
8.2.1 AlexNet 136
8.2.2 VGGNet 138
8.2.3 GoogLeNet 140
8.2.4 ResNet 142
8.2.5 其他网络结构 144
8.3 VGG16实现Cifar10分类 145
8.3.1 训练 146
8.3.2 预测及评估 149
8.4 本章小结 152
8.5 参考文献 152
第9章 目标检测 153
9.1 定位+分类 153
9.2 目标检测 155
9.2.1 R-CNN 156
9.2.2 Fast R-CNN 160
9.2.3 Faster R-CNN 162
9.2.4 YOLO 165
9.2.5 SSD 166
9.3 SSD实现VOC目标检测 167
9.3.1 PASCAL VOC数据集 167
9.3.2 数据准备 170
9.3.3 构建模型 175
9.3.4 定义Loss 178
9.3.5 SSD训练细节 181
9.3.6 训练 186
9.3.7 测试 189
9.4 本章小结 190
9.5 参考文献 191
第10章 分割 192
10.1 语义分割 193
10.1.1 FCN 193
10.1.2 UNet实现裂纹分割 196
10.1.3 SegNet 209
10.1.4 PSPNet 210
10.2 实例分割 211
10.2.1 层叠式 212
10.2.2 扁平式 212
10.3 本章小结 213
10.4 参考文献 214
第11章 产生式模型 215
11.1 自编码器 215
11.2 对抗生成网络 215
11.3 DCGAN及实战 217
11.3.1 数据集 218
11.3.2 网络设置 220
11.3.3 构建产生网络 221
11.3.4 构建判别网络 223
11.3.5 定义损失函数 224
11.3.6 训练过程 224
11.3.7 测试 227
11.4 其他GAN 230
11.5 本章小结 235
11.6 参考文献 235
第12章 神经网络可视化 236
12.1 卷积核 236
12.2 特征层 237
12.2.1 直接观测 237
12.2.2 通过重构观测 239
12.2.3 末端特征激活情况 243
12.2.4 特征层的作用 244
12.3 图片风格化 245
12.3.1 理论介绍 245
12.3.2 代码实现 247
12.4 本章小结 255
12.5 参考文献 255
第13章 图像识别算法的部署模式 257
13.1 图像算法部署模式介绍 257
13.2 实际应用场景和部署模式的匹配 262
13.3 案例介绍 264
13.4 本章小结 265