《深度学习与图像识别:原理与实践》是由机械工业出版社出版的一本关于人工智能方面的书籍,作者是魏溪含,涂铭,张修鹏,主要介绍了关于深度学习、图像识别方面的知识内容,目前在人工智能类书籍综合评分为:7.8分。
书籍介绍
这是一部从技术原理、算法和工程实践3个维度系统讲解图像识别的著作,由阿里巴巴达摩院算法专家、阿里巴巴技术发展专家、阿里巴巴数据架构师联合撰写。
在知识点的选择上,本书广度和深度兼顾,既能让完全没有基础的读者迅速入门,又能让有基础的读者深入掌握图像识别的核心技术;在写作方式上,本书避开了复杂的数学公式及其推导,从问题的前因后果 、创造者的思考过程,利用简单的数学计算来做模型分析和讲解,通俗易懂。更重要的书,本书不仅仅是聚焦于技术,而是将重点放在了如何用技术解决实际的业务问题。
全书一共13章:
第1-2章主要介绍了图像识别的应用场景、工具和工作环境的搭建;
第3-6章详细讲解了图像分类算法、机器学习、神经网络、误差反向传播等图像识别的基础技术及其原理;
第7章讲解了如何利用PyTorch来实现神经网络的图像分类,专注于实操,是从基础向高阶的过渡;
第8-12章深入讲解了图像识别的核心技术及其原理,包括卷积神经网络、目标检测、分割、产生式模型、神经网络可视化等主题;
第13章从工程实践的角度讲解了图像识别算法的部署模式。
目录
- 第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 Theano11
- 2.1.2 Tensorflow12
- 2.1.3 MXNet13
- 2.1.4 Keras13
- 2.1.5 PyTorch14
- 2.1.6 Caffe14
- 2.2 搭建图像识别开发环境15
- 2.2.1 Anaconda15
- 2.2.2 conda18
- 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 FancyIndexing29
- 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 Softmax80
- 5.2.2 one-hotencoding82
- 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-batch90
- 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 Tensor116
- 7.1.2 Variable117
- 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 AlexNet136
- 8.2.2 VGGNet138
- 8.2.3 GoogLeNet140
- 8.2.4 ResNet142
- 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-CNN156
- 9.2.2 Fast R-CNN160
- 9.2.3 Faster R-CNN162
- 9.2.4 YOLO165
- 9.2.5 SSD166
- 9.3 SSD实现VOC目标检测167
- 9.3.1 PASCAL VOC数据集167
- 9.3.2 数据准备170
- 9.3.3 构建模型175
- 9.3.4 定义Loss178
- 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 FCN193
- 10.1.2 UNet实现裂纹分割196
- 10.1.3 SegNet209
- 10.1.4 PSPNet210
- 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 其他GAN230
- 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