前言
为什么要写这本书
2016年3月9~15日,Google子公司DeepMind开发的人工智能围棋程序AlphaGo 4∶1战胜了拥有18个世界冠军头衔的棋王李世石,这个事件让以深度学习技术为代表的人工智能(AI)出现在公众的面前,成为茶余饭后最火爆的谈资之一,如图1所示。AI一夜之间火遍大江南北,最直观的感受是:各种AI新闻刷屏各大科技媒体;AI成为资本界的宠儿,一个接一个的AI独角兽不断出现,估值飞涨;各大高校纷纷开设人工智能学院;AI算法工程师的薪资不断刷新人们的认知上限;以中美两国为代表的多个国家纷纷出台类似《新一代人工智能发展规划》的国家级行业发展推动政策。一时间,AI风头无二,政府、资本界、工业界、学术界及媒体界纷纷投身到AI的洪流中。
图1 人工智能火爆
在AI项目落地的过程中,我们真真切切地感受到了AI技术(尤其是深度学习技术)的优势:基于深度学习算法的物体识别精度大大超越基于传统机器视觉算法的物体识别精度,让多年来因为识别精度达不到用户要求而无法落地的外观瑕疵检测应用在用户端落地。
随着AI项目落地越来越多,我们也越来越感到AI是一个绝对能赋能各行各业,提升行业运行效率,降低行业运行成本的好技术。从应用角度来说,AI的主要作用是识别和预测;从技术角度来说,这是各行各业智能化和精准化的技术基础,例如,精准养殖、精准种植、智能制造以及精准广告投放等。智能化精准化之后,必然带来成本节省、效率提升。随着5G+大数据+云计算+物联网时代的来临,AI必将爆发出超越人类想象的能力,成为一个让各行各业智能化精准化的基石。
参考计算机行业的发展历史,起初计算机只能在实验室里面被计算机科学家使用,后来计算机工具化后,人人都可以使用了。AI行业发展也会这样,随着AI算法的工具化,会用AI技术的人也会从AI科学家扩展到每个人。
AI头部公司(如谷歌、微软、百度和华为等)会提供AI技术平台和工具,全力做好开发者生态,支撑大量非AI行业的工程师都能快速学习并使用AI这个生产力工具,让大家在已经熟悉的“拖拉拽”和“所见即所得”的使用习惯中就可以把AI能力集成到自己的解决方案或产品中,解决本行业问题,如图2所示。这些使用AI工具、落地AI应用的工程师可以称之为AI应用工程师或AI应用开发者。
图2 AI算法工具平台与生态
本书希望面向各行各业众多的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技术的门槛,如图3所示。
图3 AI算法工程师与AI应用工程师的对比
本书将按照搭建AI工具开发环境、训练AI模型和部署AI模型的顺序,介绍TensorFlow Object Detection API和OpenVINOTM工具套件的使用,希望众多对AI技术感兴趣的人,先把AI技术用起来,用到自己的行业中,在应用的过程中不断加深对AI技术的理解。
本书的特色
本书以快速学习AI工具,落地AI目标检测应用为目标,结合工程实践经验,以应用AI工具为视角,深入浅出地介绍AI技术,尤其是基于深度学习的目标检测(Object Detection)技术。
本书以Python源代码的形式提供自主研发的一键式训练工具,让读者在掌握每一个训练步骤后,可以方便快捷地一键式训练AI模型。
本书提供了4个完整的项目范例(含图片数据集),方便读者在边干边学的过程中快速掌握AI工具,形成自己对AI技术的认知和AI技术应用能力。
本书以初学者的视角,尽量把所有概念都以非数学的方式解释清楚,每一个操作步骤都会解释为什么要这样做,以方便初学者理解,不仅做到知其然,还要做到知其所以然。
本书的适用对象
第一、打算学习并入门AI技术的高中、大中专、职高以及本科学生。
第二、在各传统行业中,如农业、可再生资源、制造业及工业控制等,希望应用AI目标检测算法解决本行业问题的工程技术人员。
第三、已经在AI行业,但非AI算法工程师,希望自己动手亲自体验并学习AI技术的从业人员,如标注工程师、销售工程师、售后工程师、市场经理或产品经理等。
如何阅读本书
本书倡导“理解要做,不理解也先做,在做的过程中加深理解”的原则。对于初学者,当发现有一两个名词或概念不熟悉不理解的时候,先照着书中的指导做,在做的过程中会渐渐理解。
“学以致用、边学边用、急用先学、立竿见影”,希望读者带着自己的项目需求来阅读本书,一边学习AI技术,一边思考如何应用AI技术解决自己的问题。
本书一共9章,第1~5章属于基础篇,分别介绍AI、深度学习和目标检测技术的基础知识,搭建AI工具运行环境,训练AI模型,部署AI模型和在部署过程中如何进一步提升AI推理计算性能;第6~9章属于实战篇,通过4个真实项目案例和数据集,供读者在实践中加深对深度学习目标检测技术的理解。
勘误和反馈
由于笔者的水平有限,书中难免会出现错误或者不准确的地方,恳请读者批评指正。读者可以将书中的错误以及遇到的任何问题反馈给我们,我们将尽量在线为读者提供最满意的解答。反馈意见接收邮箱地址:dlod_openvino@163.com。
本书技术支持主页为https://github.com/dlod-openvino/book/blob/master/README.md。该页面记录读者反馈的诸多问题,当您遇到问题时,请先在此查看。
本书配套的项目源代码以及图片数据读者可通过两种途径获取:
● 360网盘下载:https://yunpan.360.cn/surl_yqMKweHiZRL(提取码:af62)。
请注意:非360会员下载超过1GB文件时会自动断掉,请读者用浏览器打开上述链接后,进入“深度学习图像识别技术”文件夹,分别下载所有的压缩文件。由于OpenVINOTM 2019R3版和2020.3版有所不同,所以本书对应的范例程序源代码存放在不同的文件夹中。tf_train文件夹中的内容是同时支持两个版本的。
● 见图书封底说明文字。
致谢
本书在编写过程中得到了广大企事业单位及科研人员的大力支持:英特尔(中国)有限公司的李勇、周兆靖、许鑫和张智勇提供了OpenVINOTM工具套件技术支持并对本书进行了校阅;神州数码(中国)有限公司提供了幻影峡谷样机;广东荣旭智能技术有限公司提供了工程案例图片;诺达佳自动化技术有限公司提供了AIPC样机eBox3000;本书的代码在北京联合伟世科技股份有限公司提供的AINUC样机上完成了测试。
本书在出版的过程中还得到了机械工业出版社张淑谦等编辑的无私帮助与支持,在此一并表示感谢!
编者