书籍作者:庄建 | ISBN:9787111645986 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3581 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO工具套件》首先讲述了人工智能、深度学习、卷积神经网络、目标检测以及迁移学习的概念,接着详述了如何基于TensorFlow Object Detection API框架从零开始搭建深度学习目标检测应用的开发环境,如何训练自己的目标检测模型,然后详述了如何基于OpenVINO工具套件优化模型、部署模型以及用C++和Python开发用户应用程序。然后通过工业光学字符自动识别、垃圾瓶自动分选、农作物病害自动识别和工业产品外观缺陷检测4个完整的深度学习目标检测工程案例来帮助读者加深深度学习图形检测的认识和理解。
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO工具套件》适合从事AI行业相关技术的工程师阅读,也适合打算进入AI行业的大中专院校的学生学习参考。
1. 庄建
庄建,中国科学院高能物理研究所研究员,核探测与核电子国家重点实验室成员。参与了北京自由电子激光、北京正负电子对撞机、中国散裂中子源等多项大科学装置的建设。现在主要从事大科学装置的实验控制及数据获取方面的研究。
2. 张晶
张晶,浙江大学硕士,广东荣旭智能技术有限公司研发总监,联合创始人;具有13年机器视觉系统开发经验,负责深度学习外观检测算法的研发;LabVIEW注册构架师、Python程序员、英特尔物联网创新大使、TensorFlow User Group东莞站组织者。
3. 许钰雯
许钰雯,女,现为中国科学院大学高能物理研究所电子与通信工程专业硕士研究生,主攻方向为软件工程及深度学习应用
1. 人工智能专家教您利用深度学习技术快速落地图像识别项目。
2. 英特尔物联网事业部中国总经理陈伟博士倾力推荐。
3. 附赠超过4GB的案例素材资料包。
为什么要写这本书
2016年3月9~15日,Google 子公司DeepMind开发的人工智能围棋程序AlphaGo 4∶1 战胜了拥有 18 个世界冠军头衔的棋王李世石,这个事件让以深度学习技术为代表的人工智能(AI)出现在公众的面前,成为茶余饭后最火爆的谈资之一。AI一夜之间火遍大江南北,最直观的感受是:各种AI新闻刷屏各大科技媒体;AI成为资本界的宠儿,一个接一个的AI独角兽不断出现,估值飞涨;各大高校纷纷开设人工智能学院;AI算法工程师的薪资不断刷新人们的认知上限;以中美两国为代表的多个国家纷纷出台类似《新一代人工智能发展规划》的国家级行业发展推动政策。一时间,AI风头无二,政府、资本界、工业界、学术界及媒体界纷纷投身到AI的洪流中。
在AI项目落地的过程中,我们真真切切地感受到了AI技术(尤其是深度学习技术)的优势:基于深度学习算法的物体识别精度大大超越基于传统机器视觉算法的物体识别精度,让多年来因为识别精度达不到用户要求而无法落地的外观瑕疵检测应用在用户端落地。
随着AI项目落地越来越多,我们也越来越感到AI是一个绝对能赋能各行各业,提升行业运行效率,降低行业运行成本的好技术。从应用角度来说,AI的主要作用是识别和预测;从技术角度来说,这是各行各业智能化和精准化的技术基础,例如,精准养殖、精准种植、智能制造以及精准广告投放等。智能化精准化之后,必然带来成本节省、效率提升。随着5G+大数据+云计算+物联网时代的来临,AI必将爆发出超越人类想象的能力,成为一个让各行各业智能化精准化的基石。
参考计算机行业的发展历史,起初计算机只能在实验室里面被计算机科学家使用,后来计算机工具化后,人人都可以使用了。AI行业发展也会这样,随着AI算法的工具化,会用AI技术的人也会从AI科学家扩展到每个人。
AI头部公司(如谷歌、微软、百度和华为等)会提供AI技术平台和工具,全力做好开发者生态,支撑大量非AI行业的工程师都能快速学习并使用AI这个生产力工具,让大家在已经熟悉的“拖拉拽”和“所见即所得”的使用习惯中就可以把AI能力集成到自己的解决方案或产品中,解决本行业问题。这些使用AI工具、落地AI应用的工程师可以称之为AI应用工程师或AI应用开发者。
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO 工具套件》希望面向各行各业众多的AI应用开发者,以工具应用而非数学原理的视角,在边讲解边实践的过程中,让大家能够快速掌握并使用AI技术,解决本行业中的问题,推动行业的智能化和精准化。在应用AI技术不断解决行业问题的过程中反过来加深对AI技术及其背后数学原理的理解。
在AI项目实践过程中,我们发现了一个易学易用的开源深度学习目标检测训练框架TensorFlow Object Detection API和开源商用免费的深度学习推理计算加速工具包OpenVINOTM工具套件,基于这两个AI工具,我们可以在无需学习AI数学原理的情况下,落地AI目标检测(图像识别)应用。
由此,落地AI目标检测应用,就可以从学习AI数学原理、研发AI模型、训练AI模型以及部署AI模型这种非常艰难的学习研发过程,变成搭建AI工具TensorFlow Object Detection API运行环境、下载AI预训练模型、基于AI预训练模型训练自己的AI模型和部署AI模型这样相对容易的学习和使用过程,大大降低了应用AI技术的门槛。
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO 工具套件》将按照搭建AI工具开发环境、训练AI模型和部署AI模型的顺序,介绍TensorFlow Object Detection API和OpenVINOTM工具套件的使用,希望众多对AI技术感兴趣的人,先把AI技术用起来,用到自己的行业中,在应用的过程中不断加深对AI技术的理解。
本书的特色
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO 工具套件》以快速学习AI工具,落地AI目标检测应用为目标,结合工程实践经验,以应用AI工具为视角,深入浅出地介绍AI技术,尤其是基于深度学习的目标检测(Object Detection)技术。
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO工具套件》以Python源代码的形式提供自主研发的一键式训练工具,让读者在掌握每一个训练步骤后,可以方便快捷地一键式训练AI模型。
本书提供了4个完整的项目范例(含图片数据集),方便读者在边干边学的过程中快速掌握AI工具,形成自己对AI技术的认知和AI技术应用能力。
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO 工具套件》以初学者的视角,尽量把所有概念都以非数学的方式解释清楚,每一个操作步骤都会解释为什么要这样做,以方便初学者理解,不仅做到知其然,还要做到知其所以然。
本书的适用对象
第一、打算学习并入门AI技术的高中、大中专、职高以及本科学生。
第二、在各传统行业中,如农业、可再生资源、制造业及工业控制等,希望应用AI目标检测算法解决本行业问题的工程技术人员。
第三、已经在AI行业,但非AI算法工程师,希望自己动手亲自体验并学习AI技术的从业人员,如标注工程师、销售工程师、售后工程师、市场经理或产品经理等。
如何阅读本书
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO 工具套件》倡导“理解要做,不理解也先做,在做的过程中加深理解”的原则。对于初学者,当发现有一两个名词或概念不熟悉不理解的时候,先照着书中的指导做,在做的过程中会渐渐理解。
“学以致用、边学边用、急用先学、立竿见影”,希望读者带着自己的项目需求来阅读本书,一边学习AI技术,一边思考如何应用AI技术解决自己的问题。
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO? 工具套件》一共9章,第1~5章属于基础篇,分别介绍AI、深度学习和目标检测技术的基础知识,搭建AI工具运行环境,训练AI模型,部署AI模型和在部署过程中如何进一步提升AI推理计算性能;第6~9章属于实战篇,通过4个真实项目案例和数据集,供读者在实践中加深对深度学习目标检测技术的理解。
勘误和反馈
由于笔者的水平有限,书中难免会出现错误或者不准确的地方,恳请读者批评指正。读者可以将书中的错误以及遇到的任何问题反馈给我们,我们将尽量在线为读者提供最满意的解答。反馈意见接收邮箱地址:[email protected]。
本书勘误主页为:https://github.com/dlod-openvino/book/blob/master/README.md。
致谢
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO 工具套件》在编写过程中得到了广大企事业单位及科研人员的大力支持:英特尔(中国)有限公司的李勇、周兆靖、许鑫和张智勇提供了OpenVINOTM工具套件技术支持并对本书进行了校阅;神州数码(中国)有限公司提供了幻影峡谷样机;广东荣旭智能技术有限公司提供了工程案例图片;上海诺达佳自动化技术有限公司提供了AIPC样机eBox3000;本书的代码在北京联合伟世科技股份有限公司提供的AINUC样机上完成了测试。
《深度学习图像识别技术:基于TensorFlow Object Detection API和OpenVINO工具套件》在出版的过程中还得到了机械工业出版社张淑谦等编辑的无私帮助与支持,在此一并表示感谢!
编 者
序
前言
第1章 人工智能、深度学习与目标检测
1.1 人工智能简介
1.1.1 什么是人工智能
1.1.2 人工智能发展简史
1.1.3 人工智能与深度学习的关系
1.2 深度学习简介
1.2.1 神经网络
1.2.2 神经元
1.2.3 深度神经网络
1.2.4 深度卷积神经网络
1.3 目标检测
1.3.1 目标检测算法发展简史
1.3.2 深度学习目标检测算法
1.4 迁移学习简介
1.4.1 训练深度学习模型依赖大数据
1.4.2 大数据造成的问题
1.4.3 迁移学习
1.4.4 TensorFlow预训练模型库
1.5 本章小结
第2章 搭建深度学习开发环境
2.1 深度学习训练所需的硬件
2.1.1 英伟达显卡选型
2.1.2 英伟达显卡驱动安装
2.1.3 测试驱动程序安装
2.1.4 设置英特尔?集成显卡为系统主显示输出
2.1.5 幻影峡谷:便携式AI训练“服务器”
2.2 深度学习开发环境所需的软件
2.3 安装Python和Anaconda
2.3.1 Python和Anaconda简介
2.3.2 下载并安装Anaconda
2.3.3 测试Anaconda安装
2.3.4 配置Anaconda软件包下载服务器
2.3.5 配置虚拟环境tf_gpu
2.3.6 Anaconda的进阶学习
2.4 安装Visual Studio Code
2.4.1 Visual Studio Code简介
2.4.2 安装
2.4.3 在Visual Studio Code中编辑Python代码
2.4.4 在Visual Studio Code中运行Python代码
2.4.5 在Visual Studio Code中调试Python代码
2.4.6 在Visual Studio Code安装Pylint
2.4.7 在Visual Studio Code中一键美化Python代码
2.5 安装TensorFlow
2.5.1 TensorFlow简介
2.5.2 下载并安装
2.5.3 测试安装
2.5.4 pip install 与 conda install
2.6 安装Git工具
2.6.1 Git简介
2.6.2 下载并安装
2.6.3 测试安装
2.7 安装TensorFlow Object Detection API框架
2.7.1 TensorFlow Object Detection API简介
2.7.2 下载并安装
2.7.3 安装依赖的python软件包
2.7.4 配置环境变量
2.7.5 安装COCO API
2.7.6 编译proto文件
2.7.7 测试安装
2.8 安装LabelImg
2.8.1 LabelImg简介
2.8.2 下载并安装
2.8.3 测试安装
2.9 本章小结
第3章 训练模型
3.1 TensorFlow Object Detection API软件框架简介
3.2 使用TensorFlow预训练模型
3.2.1 如何选择预训练模型
3.2.2 预训练模型的文件构成
3.2.3 一个典型的深度学习训练流程
3.3 准备图片:下载猫狗数据集
3.3.1 Kaggle数据集下载流程
3.3.2 训练图片的数量问题
3.3.3 训练图片的样本不平衡问题
3.4 使用LabelImg标注图片
3.4.1 LabelImg简介
3.4.2 建立猫狗项目文件夹结构
3.4.3 标注图片
3.4.4 标注文件(*.xml)简介
3.4.5 复制10%的数据到eval文件夹
3.4.6 复制数据到test文件夹
3.5 依据标注类型创建标签映射文件
3.6 创建TensorFlow TFRecord文件
3.6.1 将*.xml文件转换为*.csv文件
3.6.2 将*.csv文件转换为*.tfrecord文件
3.7 修改预训练模型的配置文件
3.7.1 预训练模型的配置文件
3.7.2 配置文件的结构
3.7.3 修改ssd_inception_v2_coco.config配置文件
3.8 训练模型
3.9 使用TensorBoard观察训练过程
3.9.1 什么是TensorBoard
3.9.2 TensorBoard的使用方法
3.10 评估训练好的模型
3.11 导出训练好模型的冻结图
3.11.1 检查点文件
3.11.2 冻结TensorFlow模型
3.12 用训练好的冻结图模型做目标检测
3.13 用Python程序一键训练模型
3.13.1 为新项目一键创建文件夹结构
3.13.2 一键训练模型
3.14 本章小结
第4章 优化并部署模型
4.1 OpenVINO工具套件简介
4.2 OpenVINO典型开发流程
4.3 安装OpenVINO工具套件
4.3.1 版本选择
4.3.2 系统要求
4.3.3 下载并安装OpenVINO工具套件
4.4 安装Cmake
4.5 安装Microsoft Visual Studio 2017
4.6 安装硬件驱动
4.6.1 英特尔显卡驱动
4.6.2 英特尔神经计算棒二代驱动
4.6.3 英特尔视觉计算加速卡驱动
4.7 设置环境变量
4.8 运行演示程序
4.8.1 demo_benchmark_app.bat
4.8.2 demo_security_barrier_camera.bat
4.8.3 demo_squeezenet_download_convert_run.bat
4.9 编译并运行Inference Engine范例和演示程序
4.9.1 编译samples文件夹中的范例
4.9.2 编译demos文件夹中的范例
4.9.3 从Open Model Zoo中下载预训练模型
4.9.4 下载英特尔?范例视频
4.9.5 运行预训练模型
4.10 使用Model Optimizer优化模型
4.10.1 转换TensorFlow* Object Detection API模型
4.10.2 用OpenVINO工具套件范例程序测试IR模型
4.10.3 用OpenVINO工具套件演示程序测试IR模型
4.11 编写OpenVINO应用程序
4.11.1 Inference Engine简介
4.11.2 Inference Engine Plugin构架
4.11.3 Inference Engine应用程序典型开发流程
4.11.4 查看模型的输入和输出张量
4.12 OpenVINO AI推理计算C++范例
4.12.1 设置环境变量和Visual Studio项目属性
4.12.2 开发AI推理计算C++应用程序
4.12.3 切换AI推理计算硬件
4.13 OpenVINO AI推理计算Python范例
4.13.1 设置环境变量PYTHONPATH
4.13.2 开发AI推理计算Python应用程序(OpenCV版)
4.13.3 开发AI推理计算Python应用程序(OpenVINOTM版)
4.13.4 AI推理计算用Python还是C++?
4.14 本章小结
第5章 进一步提升AI推理计算性能
5.1 性能评价指标
5.2 同步和异步模式
5.2.1 同步模式范例
5.2.2 异步模式范例
5.3 多设备和异构插件
5.3.1 异构插件
5.3.2 多设备插件
5.4 本章小结
第6章 工业领域光学字符识别范例
6.1 项目背景
6.2 新建OCR项目工程文件夹
6.3 收集并标注图片
6.4 训练模型
6.5 导出TensorFlow冻结图模型
6.6 测试模型
6.7 基于OpenVINO工具套件优化并加速模型
6.8 基于OpenVINO工具套件部署模型
6.9 本章小结
第7章 垃圾瓶自动分选项目范例
7.1 项目背景
7.2 新建垃圾瓶分类项目工程文件夹
7.3 收集并标注图片
7.4 训练模型
7.5 导出TensorFlow冻结图模型
7.6 测试模型
7.7 基于OpenVINO工具套件优化并加速模型
7.8 基于OpenVINO工具套件部署模型
7.9 本章小结
第8章 农作物病虫害自动识别项目范例
8.1 项目背景
8.2 新建农作物病虫害自动识别项目工程文件夹
8.3 收集并标注图片
8.4 训练模型
8.5 导出TensorFlow冻结图模型
8.6 测试模型
8.7 基于OpenVINO工具套件优化并加速模型
8.8 基于OpenVINO工具套件部署模型
8.9 本章小结
第9章 深度学习外观缺陷检测项目范例
9.1 项目背景
9.2 新建外观缺陷检测项目工程文件夹
9.3 收集并标注图片
9.4 训练模型
9.5 导出TensorFlow冻结图模型
9.6 测试模型
9.7 基于OpenVINO工具套件优化并加速模型
9.8 基于OpenVINO工具套件部署模型
9.9 本章小结
参考文献
机缘巧合,从张晶老师的Open VINO公开课上得知了这本书,张晶老师是Intel物联网行业创新大使,拥有13年机器视觉系统开发经验,因此这本书从行业专业人士的角度以快速落地AI目标检测应用为目标,没有复杂的公式和理论推导,结合4个完整的项目范例,深入浅出地带领初学者逐步学习OpenVINO等AI开发工具的使用,在实践中加深对深度学习目标检测技术的理解,值得推荐。
2020-04-03