第1章 人工智能、深度学习与目标检测 1
1.1人工智能简介 1
1.1.1什么是人工智能 1
1.1.2人工智能发展简史 2
1.1.3人工智能与深度学习的关系 4
1.2深度学习简介 4
1.2.1神经网络 4
1.2.2神经元 5
1.2.3深度神经网络 7
1.2.4深度卷积神经网络 7
1.3目标检测 9
1.3.1目标检测算法发展简史 10
1.3.2深度学习目标检测算法 11
1.4迁移学习简介 13
1.4.1训练深度学习模型依赖大数据 13
1.4.2大数据造成的问题 14
1.4.3迁移学习 14
1.4.4 TensorFlow预训练模型库 16
1.5本章小结 17
第2章 搭建深度学习开发环境 18
2.1深度学习训练所需的硬件 18
2.1.1英伟达显卡选型 18
2.1.2英伟达显卡驱动安装 20
2.1.3测试驱动程序安装 22
2.1.4设置英特尔?集成显卡为系统主显示输出 22
2.1.5幻影峡谷:便携式AI训练“服务器” 23
2.2深度学习开发环境所需的软件 24
2.3安装Python和Anaconda 25
2.3.1 Python和Anaconda简介 25
2.3.2下载并安装Anaconda 25
2.3.3 测试Anaconda安装 27
2.3.4配置Anaconda软件包下载服务器 28
2.3.5配置虚拟环境tf_gpu 30
2.3.6 Anaconda的进阶学习 31
2.4安装Visual Studio Code 31
2.4.1 Visual Studio Code简介 31
2.4.2安装 31
2.4.3在Visual Studio Code中编辑Python代码 33
2.4.4在Visual Studio Code中运行Python代码 34
2.4.5在Visual Studio Code中调试Python代码 34
2.4.6在Visual Studio Code安装Pylint 35
2.4.7在Visual Studio Code中一键美化Python代码 35
2.5安装TensorFlow 37
2.5.1 TensorFlow简介 37
2.5.2下载并安装 38
2.5.3测试安装 40
2.5.4 pip install与conda install 41
2.6安装Git工具 41
2.6.1 Git简介 41
2.6.2下载并安装 41
2.6.3测试安装 46
2.7安装TensorFlow Object DetectionAPI框架 46
2.7.1 TensorFlow Object Detection API简介 46
2.7.2下载并安装 47
2.7.3安装依赖的python软件包 48
2.7.4配置环境变量 49
2.7.5安装COCO API 50
2.7.6编译proto文件 53
2.7.7测试安装 54
2.8安装LabelImg 56
2.8.1 LabelImg简介 56
2.8.2下载并安装 57
2.8.3测试安装 57
2.9本章小结 58
第3章 训练模型 59
3.1 TensorFlow Object Detection API软件框架简介 59
3.2使用TensorFlow预训练模型 60
3.2.1如何选择预训练模型 60
3.2.2预训练模型的文件构成 61
3.2.3一个典型的深度学习训练流程 62
3.3准备图片:下载猫狗数据集 62
3.3.1 Kaggle数据集下载流程 63
3.3.2训练图片的数量问题 66
3.3.3训练图片的样本不平衡问题 67
3.4使用LabelImg标注图片 67
3.4.1 LabelImg简介 67
3.4.2建立猫狗项目文件夹结构 68
3.4.3标注图片 69
3.4.4标注文件(*.xml)简介 72
3.4.5复制10%的数据到eval文件夹 73
3.4.6复制数据到test文件夹 74
3.5依据标注类型创建标签映射文件 75
3.6创建TensorFlow TFRecord文件 75
3.6.1将*.xml文件转换为*.csv文件 76
3.6.2将*.csv文件转换为*.tfrecord文件 77
3.7修改预训练模型的配置文件 79
3.7.1预训练模型的配置文件 80
3.7.2配置文件的结构 81
3.7.3修改ssd_inception_v2_coco.config配置文件 81
3.8训练模型 84
3.9使用TensorBoard观察训练过程 85
3.9.1什么是TensorBoard 85
3.9.2 TensorBoard的使用方法 85
3.10评估训练好的模型 87
3.11导出训练好模型的冻结图 89
3.11.1检查点文件 89
3.11.2冻结TensorFlow模型 91
3.12用训练好的冻结图模型做目标检测 93
3.13用Python程序一键训练模型 95
3.13.1为新项目一键创建文件夹结构 95
3.13.2一键训练模型 97
3.14本章小结 99
第4章 优化并部署模型 100
4.1 OpenVINOTM工具套件简介 101
4.2 OpenVINOTM典型开发流程 102
4.3安装OpenVINOTM工具套件 103
4.3.1版本选择 103
4.3.2系统要求 104
4.3.3下载并安装OpenVINOTM工具套件 105
4.4安装Cmake 106
4.5安装Microsoft Visual Studio2017 107
4.6安装硬件驱动 110
4.6.1英特尔?显卡驱动 110
4.6.2英特尔?神经计算棒二代驱动 111
4.6.3英特尔?视觉计算加速卡驱动 113
4.7设置环境变量 116
4.8运行演示程序 118
4.8.1 demo_benchmark_app.bat 119
4.8.2 demo_security_barrier_camera.bat 120
4.8.3 demo_squeezenet_download_convert_run.bat 120
4.9编译并运行Inference Engine 范例和演示程序 120
4.9.1编译samples文件夹中的范例 121
4.9.2编译demos文件夹中的范例 124
4.9.3从Open Model Zoo中下载预训练模型 126
4.9.4下载英特尔?范例视频 129
4.9.5运行预训练模型 129
4.10使用Model Optimizer优化模型 131
4.10.1转换TensorFlow* ObjectDetection API模型 131
4.10.2用OpenVINOTM工具套件范例程序测试IR模型 134
4.10.3用OpenVINOTM工具套件演示程序测试IR模型 136
4.11编写OpenVINOTM应用程序 139
4.11.1 Inference Engine简介 139
4.11.2 Inference Engine Plugin构架 140
4.11.3 Inference Engine应用程序典型开发流程 141
4.11.4查看模型的输入和输出张量 141
4.12 OpenVINOTM AI推理计算C++范例 142
4.12.1设置环境变量和Visual Studio项目属性 142
4.12.2开发AI推理计算C++应用程序 149
4.12.3切换AI推理计算硬件 157
4.13 OpenVINOTM AI推理计算Python范例 158
4.13.1设置环境变量PYTHONPATH 158
4.13.2开发AI推理计算Python应用程序(OpenCV版) 160
4.13.3开发AI推理计算Python应用程序(OpenVINOTM版) 163
4.13.4 AI推理计算用Python还是C++? 167
4.14本章小结 167
第5章 进一步提升AI推理计算性能 168
5.1性能评价指标 168
5.2同步和异步模式 169
5.2.1同步模式范例 170
5.2.2异步模式范例 172
5.3多设备和异构插件 175
5.3.1异构插件 176
5.3.2多设备插件 177
5.4本章小结 181
第6章 工业领域光学字符识别范例 182
6.1项目背景 182
6.2新建OCR项目工程文件夹 182
6.3收集并标注图片 184
6.4训练模型 187
6.5导出TensorFlow冻结图模型 189
6.6测试模型 190
6.7基于OpenVINOTM工具套件优化并加速模型 193
6.8基于OpenVINOTM工具套件部署模型 194
6.9本章小结 203
第7章 垃圾瓶自动分选项目范例 204
7.1项目背景 204
7.2新建垃圾瓶分类项目工程文件夹 205
7.3收集并标注图片 206
7.4训练模型 210
7.5导出TensorFlow冻结图模型 211
7.6测试模型 213
7.7基于OpenVINOTM工具套件优化并加速模型 214
7.8基于OpenVINOTM工具套件部署模型 216
7.9本章小结 225
第8章 农作物病虫害自动识别项目范例 226
8.1项目背景 226
8.2新建农作物病虫害自动识别项目工程文件夹 227
8.3收集并标注图片 228
8.4训练模型 232
8.5导出TensorFlow冻结图模型 233
8.6测试模型 235
8.7基于OpenVINOTM工具套件优化并加速模型 236
8.8基于OpenVINOTM工具套件部署模型 237
8.9本章小结 247
第9章 深度学习外观缺陷检测项目范例 248
9.1项目背景 248
9.2新建外观缺陷检测项目工程文件夹 250
9.3收集并标注图片 251
9.4训练模型 254
9.5导出TensorFlow冻结图模型 256
9.6测试模型 257
9.7基于OpenVINOTM工具套件优化并加速模型 259
9.8基于OpenVINOTM工具套件部署模型 260
9.9本章小结 270
参考文献 271