书籍详情
机器视觉及深度学习:经典算法与系统搭建
作者:陈兵旗、谭彧 主编
出版社:化学工业出版社
出版时间:2022-08-01
ISBN:9787122411457
定价:¥118.00
购买这本书可以去
内容简介
深度学习和传统机器视觉技术相融合,可以大大提高AI 技术的效率和精度。本书分上、下两篇,共19 章内容,详细讲解了机器视觉及深度学习的理论和编程实践。上篇介绍理论算法。包括机器视觉的经典图像处理算法、深度学习的理论基础和目前常用的深度学习框架。下篇介绍编程环境及系统搭建。讲解了机器视觉图像处理算法及深度学习的编程工具 VC、Python 和 OpenCV;利用 VC和 Python 工具,搭建图像处理的工程界面;介绍了常用的9 种深度学习框架的获得方法、安装设置、工程创建,以及深度学习工程的编译、训练、评估与部署方法。每一个搭建的工程,都提供一套可下载的源代码程序,方便读者下载学习。本书理论与实践兼顾,可为从事机器视觉技术及人工智能研究和应用的工程技术人员提供帮助,也可供高等院校相关专业师生学习参考。
作者简介
陈兵旗,中国农业大学,教授,中国农业机械学会基础技术分会理事,美国国际农业生物工程学会ASABE会员,海外华人农业工程学会AOC会员。Transaction of ASABE, Biosystems Engineering, IEEE Transactions on Automation Science and Engineering, 中国农机学报、中国农业工程学报等多家国内外权威学术期刊论文审稿人。国家自然基金以及多个省市基金项目评审专家。
目录
上篇 理论算法 1
第1章 基础知识 2
1.1 图像与颜色 2
1.1.1 彩色图像 2
1.1.2 灰度图像 3
1.1.3 颜色变换 3
1.2 机器视觉 4
1.2.1 机器视觉构成 4
1.2.2 数字图像处理 6
1.3 深度学习 9
1.3.1 基本概念 9
1.3.2 基本思想 10
1.3.3 深度学习常用方法 10
第2章 目标提取 21
2.1 灰度目标 21
2.1.1 阈值分割 21
2.1.2 自动二值化处理 22
2.2 彩色图像 24
2.2.1 果树上红色桃子的提取 24
2.2.2 绿色麦苗的提取 26
2.3 运动图像 27
2.3.1 帧间差分 27
2.3.2 背景差分 27
2.4 C 语言实现 28
2.4.1 二值化处理 28
2.4.2 双阈值二值化处理 29
2.4.3 直方图 30
2.4.4 直方图平滑化 31
2.4.5 大津法二值化处理 31
第3章 边缘检测 34
3.1 图像边缘 34
3.2 微分处理 35
3.2.1 一阶微分 35
3.2.2 二阶微分 36
3.3 模板匹配 37
3.4 C 语言实现 39
3.4.1 一阶微分边缘检测 39
3.4.2 二阶微分边缘检测 40
3.4.3 Prewitt 算子边缘检测 41
3.4.4 二值图像的细线化处理 43
第4章 去噪声处理 46
4.1 移动平均 46
4.2 中值滤波 47
4.3 二值图像去噪声 49
4.4 C 语言实现 50
4.4.1 移动平均法 50
4.4.2 中值滤波 51
4.4.3 腐蚀处理 52
4.4.4 膨胀处理 53
第5章 几何参数检测 55
5.1 图像的几何参数 55
5.2 区域标记 58
5.3 几何参数检测与提取 59
5.4 C 语言实现 60
5.4.1 区域标记 60
5.4.2 计算图像特征参数 62
5.4.3 根据圆形度抽出物体 66
5.4.4 复制掩模领域的原始图像 67
5.4.5 根据面积提取对象物 67
第6章 直线检测 69
6.1 传统 Hough 变换的直线检测 69
6.2 最小二乘法的直线检测 71
6.3 C 语言实现 72
6.3.1 传统 Hough 变换的直线检测 72
6.3.2 最小二乘法的直线检测 74
第7章 深度学习框架介绍 77
7.1 TensorFlow 78
7.1.1 TensorFlow 的优势 78
7.1.2 TensorFlow 应用场景 79
7.1.3 TensorFlow 开发环境安装 79
7.2 Keras 80
7.2.1 Keras 的优势 81
7.2.2 Keras 应用 81
7.2.3 Keras 与 TensorFlow2 的关系 81
7.2.4 Keras 的安装 82
7.3 PyTorch 82
7.3.1 PyTorch 的优势 82
7.3.2 PyTorch 的典型应用 83
7.3.3 PyTorch 和 TensorFlow 的比较 83
7.3.4 PyTorch 的安装 84
7.4 其他深度学习框架 85
7.4.1 Caffe 85
7.4.2 MXNet 85
7.4.3 CNTK 86
7.4.4 Theano 86
7.4.5 Darknet 87
7.4.6 PaddlePaddle 87
下篇 编移环境及系统搭建 89
第8章 平台软件 90
8.1 OpenCV 90
8.1.1 基本功能介绍 90
8.1.2 获取与安装 91
8.2 VC 92
8.2.1 基本功能介绍 92
8.2.2 获取与安装 93
8.3 Python 95
8.3.1 基本功能介绍 95
8.3.2 获取与安装 95
第9章 VC 图像处理工程 98
9.1 工程创建 98
9.1.1 启动 Visual Studio 2010 98
9.1.2 创建新建工程 99
9.2 系统设置 115
9.3 编译执行 117
第10章 Python 图像处理系统 119
10.1 工程创建 119
10.2 系统设置 121
10.3 编译执行 127
第11章 TensorFlow 深度学习工程 134
11.1 框架获得 134
11.2 安装设置 134
11.3 案例 135
11.3.1 数据准备 135
11.3.2 训练模型 137
11.3.3 验证准确率 139
11.3.4 导出模型并对图片分类 139
第12章 Keras 深度学习工程 142
12.1 框架获得 142
12.2 安装设置步骤 143
12.3 工程创建 146
12.4 编译、训练、评估与部署 148
第13章 PyTorch 深度学习工程 152
13.1 框架获得 152
13.2 安装设置 153
13.2.1 CPU 版本安装 153
13.2.2 GPU 版本安装 153
13.3 工程创建 155
13.4 训练、评估与部署 157
13.4.1 训练 157
13.4.2 评估 158
13.4.3 部署 159
第14章 Caffe 深度学习工程 166
14.1 安装环境和依赖项获得 166
14.2 框架的获取 167
14.3 编译 Caffe 及其与 Python 的接口 167
14.3.1 OpenCV 的安装 167
14.3.2 Caffe 编译 170
14.4 目标分类测试 181
14.4.1 数据集准备 181
14.4.2 训练模型 186
14.4.3 用训练好的模型对数据进行预测 188
第15章 MXNet 深度学习工程 190
15.1 框架获取及环境设置 190
15.1.1 环境准备 190
15.1.2 利用 Anaconda 创建运行环境 191
15.2 基于笑脸目标检测的 MXNet 框架测试 192
15.2.1 创建训练数据集 192
15.2.2 训练模型 197
15.2.3 测试模型 200
第16章 CNTK 深度学习工程 202
16.1 框架的获取 202
16.2 编译 202
16.2.1 CPU 版本编译 202
16.2.2 基于 Linux 系统的 GPU 版本编译 206
16.3 CNTK 测试 208
16.3.1 创建数据集 208
16.3.2 模型训练 211
16.3.3 模型测试 213
第17章 Theano 深度学习工程 216
17.1 框架获得 216
17.2 安装设置 217
17.3 工程创建 220
17.4 编译、训练、评估与部署 222
第18章 YoloV4 深度学习工程 226
18.1 框架的获取 226
18.2 框架源码编译及环境设置 226
18.2.1 CPU 版本编译 226
18.2.2 GPU 版本编译 227
18.2.3 Darknet 测试 230
18.3 创建 Yolo 训练数据集 231
18.4 训练 YoloV4 模型 235
18.5 测试 YoloV4 模型 237
第19章 PaddlePaddle 深度学习工程 238
19.1 框架获得 240
19.2 安装设置 240
19.3 工程创建、编译、训练、评估与测试 243
19.4 基于高层 API 的任务快速实现 261
参考文献 263
第1章 基础知识 2
1.1 图像与颜色 2
1.1.1 彩色图像 2
1.1.2 灰度图像 3
1.1.3 颜色变换 3
1.2 机器视觉 4
1.2.1 机器视觉构成 4
1.2.2 数字图像处理 6
1.3 深度学习 9
1.3.1 基本概念 9
1.3.2 基本思想 10
1.3.3 深度学习常用方法 10
第2章 目标提取 21
2.1 灰度目标 21
2.1.1 阈值分割 21
2.1.2 自动二值化处理 22
2.2 彩色图像 24
2.2.1 果树上红色桃子的提取 24
2.2.2 绿色麦苗的提取 26
2.3 运动图像 27
2.3.1 帧间差分 27
2.3.2 背景差分 27
2.4 C 语言实现 28
2.4.1 二值化处理 28
2.4.2 双阈值二值化处理 29
2.4.3 直方图 30
2.4.4 直方图平滑化 31
2.4.5 大津法二值化处理 31
第3章 边缘检测 34
3.1 图像边缘 34
3.2 微分处理 35
3.2.1 一阶微分 35
3.2.2 二阶微分 36
3.3 模板匹配 37
3.4 C 语言实现 39
3.4.1 一阶微分边缘检测 39
3.4.2 二阶微分边缘检测 40
3.4.3 Prewitt 算子边缘检测 41
3.4.4 二值图像的细线化处理 43
第4章 去噪声处理 46
4.1 移动平均 46
4.2 中值滤波 47
4.3 二值图像去噪声 49
4.4 C 语言实现 50
4.4.1 移动平均法 50
4.4.2 中值滤波 51
4.4.3 腐蚀处理 52
4.4.4 膨胀处理 53
第5章 几何参数检测 55
5.1 图像的几何参数 55
5.2 区域标记 58
5.3 几何参数检测与提取 59
5.4 C 语言实现 60
5.4.1 区域标记 60
5.4.2 计算图像特征参数 62
5.4.3 根据圆形度抽出物体 66
5.4.4 复制掩模领域的原始图像 67
5.4.5 根据面积提取对象物 67
第6章 直线检测 69
6.1 传统 Hough 变换的直线检测 69
6.2 最小二乘法的直线检测 71
6.3 C 语言实现 72
6.3.1 传统 Hough 变换的直线检测 72
6.3.2 最小二乘法的直线检测 74
第7章 深度学习框架介绍 77
7.1 TensorFlow 78
7.1.1 TensorFlow 的优势 78
7.1.2 TensorFlow 应用场景 79
7.1.3 TensorFlow 开发环境安装 79
7.2 Keras 80
7.2.1 Keras 的优势 81
7.2.2 Keras 应用 81
7.2.3 Keras 与 TensorFlow2 的关系 81
7.2.4 Keras 的安装 82
7.3 PyTorch 82
7.3.1 PyTorch 的优势 82
7.3.2 PyTorch 的典型应用 83
7.3.3 PyTorch 和 TensorFlow 的比较 83
7.3.4 PyTorch 的安装 84
7.4 其他深度学习框架 85
7.4.1 Caffe 85
7.4.2 MXNet 85
7.4.3 CNTK 86
7.4.4 Theano 86
7.4.5 Darknet 87
7.4.6 PaddlePaddle 87
下篇 编移环境及系统搭建 89
第8章 平台软件 90
8.1 OpenCV 90
8.1.1 基本功能介绍 90
8.1.2 获取与安装 91
8.2 VC 92
8.2.1 基本功能介绍 92
8.2.2 获取与安装 93
8.3 Python 95
8.3.1 基本功能介绍 95
8.3.2 获取与安装 95
第9章 VC 图像处理工程 98
9.1 工程创建 98
9.1.1 启动 Visual Studio 2010 98
9.1.2 创建新建工程 99
9.2 系统设置 115
9.3 编译执行 117
第10章 Python 图像处理系统 119
10.1 工程创建 119
10.2 系统设置 121
10.3 编译执行 127
第11章 TensorFlow 深度学习工程 134
11.1 框架获得 134
11.2 安装设置 134
11.3 案例 135
11.3.1 数据准备 135
11.3.2 训练模型 137
11.3.3 验证准确率 139
11.3.4 导出模型并对图片分类 139
第12章 Keras 深度学习工程 142
12.1 框架获得 142
12.2 安装设置步骤 143
12.3 工程创建 146
12.4 编译、训练、评估与部署 148
第13章 PyTorch 深度学习工程 152
13.1 框架获得 152
13.2 安装设置 153
13.2.1 CPU 版本安装 153
13.2.2 GPU 版本安装 153
13.3 工程创建 155
13.4 训练、评估与部署 157
13.4.1 训练 157
13.4.2 评估 158
13.4.3 部署 159
第14章 Caffe 深度学习工程 166
14.1 安装环境和依赖项获得 166
14.2 框架的获取 167
14.3 编译 Caffe 及其与 Python 的接口 167
14.3.1 OpenCV 的安装 167
14.3.2 Caffe 编译 170
14.4 目标分类测试 181
14.4.1 数据集准备 181
14.4.2 训练模型 186
14.4.3 用训练好的模型对数据进行预测 188
第15章 MXNet 深度学习工程 190
15.1 框架获取及环境设置 190
15.1.1 环境准备 190
15.1.2 利用 Anaconda 创建运行环境 191
15.2 基于笑脸目标检测的 MXNet 框架测试 192
15.2.1 创建训练数据集 192
15.2.2 训练模型 197
15.2.3 测试模型 200
第16章 CNTK 深度学习工程 202
16.1 框架的获取 202
16.2 编译 202
16.2.1 CPU 版本编译 202
16.2.2 基于 Linux 系统的 GPU 版本编译 206
16.3 CNTK 测试 208
16.3.1 创建数据集 208
16.3.2 模型训练 211
16.3.3 模型测试 213
第17章 Theano 深度学习工程 216
17.1 框架获得 216
17.2 安装设置 217
17.3 工程创建 220
17.4 编译、训练、评估与部署 222
第18章 YoloV4 深度学习工程 226
18.1 框架的获取 226
18.2 框架源码编译及环境设置 226
18.2.1 CPU 版本编译 226
18.2.2 GPU 版本编译 227
18.2.3 Darknet 测试 230
18.3 创建 Yolo 训练数据集 231
18.4 训练 YoloV4 模型 235
18.5 测试 YoloV4 模型 237
第19章 PaddlePaddle 深度学习工程 238
19.1 框架获得 240
19.2 安装设置 240
19.3 工程创建、编译、训练、评估与测试 243
19.4 基于高层 API 的任务快速实现 261
参考文献 263
猜您喜欢