第 1 页 共 61 页
零基础入门和零代码实战
人工智能教育公益项目“引航计划”是为了吸引各类新人和那些天赋被忽略的
人才。我们希望利用人工智能来激发年轻人的兴趣,发掘他们的才能。本教
材旨在通过最易懂的语言让你快速入门人工智能通识,在这里人人都可以学
到人工智能,人人都可以学懂人工智能。 郭 亮
时 诚
青 岛 引 航 人 工 智 能 科 普 公 益 中 心
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 1 页 共 61 页
零基础入门和零代码实战
人工智能教育公益项目“引航计划”是为了吸引各类新人和那些天赋被忽略的
人才。我们希望利用人工智能来激发年轻人的兴趣,发掘他们的才能。本教
材旨在通过最易懂的语言让你快速入门人工智能通识,在这里人人都可以学
到人工智能,人人都可以学懂人工智能。 郭 亮
时 诚
青 岛 引 航 人 工 智 能 科 普 公 益 中 心
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 2 页 共 61 页
目 录
目 录...................................................................................................................................................2
1 课程概括........................................................................................................................................ 4
2 理论部分........................................................................................................................................ 5
2.1 人工智能应用体验.............................................................................................................5
2.2 相关概念解读.....................................................................................................................7
2.2.1 人工智能..................................................................................................................7
2.2.2 机器学习、深度学习和大数据技术..................................................................... 7
2.2.3 模拟过程..................................................................................................................8
2.3 数据..................................................................................................................................... 9
3 实战部分.......................................................................................................................................11
3.1 技术支持........................................................................................................................... 11
3.2 应用场景及案例...............................................................................................................12
3.3 制作流程介绍...................................................................................................................14
3.4 基于 EasyDL 的产品项目实战之图像篇.....................................................................16
3.4.1 计算机视觉原理................................................................................................... 16
3.4.2 计算机视觉经典任务........................................................................................... 16
3.4.3 EasyDL 图像类模型.............................................................................................19
3.4.3.1 模型选择....................................................................................................19
3.4.3.2 数据相关....................................................................................................20
3.4.4 打造无人驾驶道路场景解析模型.......................................................................21
3.4.4.1 业务需求....................................................................................................21
3.4.4.2 基本概念....................................................................................................22
3.4.4.3 操作流程(以有标注数据为例)............................................................22
3.4.4.4 图像分割模型下对无标注信息数据集的处理方式............................... 31
3.4.5 制作智慧校园中的吸烟检测模型.......................................................................35
3.4.5.1 业务需求....................................................................................................35
3.4.5.2 基本概念....................................................................................................35
3.4.5.3 操作流程(以有标注数据为例)............................................................36
3.4.5.4 物体检测模型下对无标注信息数据集的处理方式............................... 41
3.4.6 图像识别类模型制作方案................................................................................... 44
3.4.6.1 业务需求....................................................................................................44
3.4.6.2 基本概念....................................................................................................44
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 3 页 共 61 页
3.4.6.3 操作流程(以有标注数据为例)............................................................45
3.4.6.4 图像分类模型下对无标注信息数据集的处理方式............................... 48
3.5 基于 EasyDL 的产品项目实战之分类篇.....................................................................49
3.5.1 文本分类模型....................................................................................................... 49
3.5.1.1 业务需求....................................................................................................49
3.5.1.2 基本概念....................................................................................................50
3.5.1.3 操作流程(以有标注数据为例)............................................................50
3.5.2 声音分类模型....................................................................................................... 54
3.5.2.1 业务需求....................................................................................................54
3.5.2.2 基本概念....................................................................................................54
3.5.2.3 操作流程(以有标注数据为例)............................................................54
3.5.3 视频分类模型....................................................................................................... 58
3.5.3.1 业务需求....................................................................................................58
3.5.3.2 基本概念....................................................................................................58
3.5.3.3 操作流程(以有标注数据为例)............................................................58
4 声 明............................................................................................................................................ 61
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 4 页 共 61 页
1 课程概括
下面这段话截选自著名物理学家史蒂芬·霍金在全球移动互联网大会上的演讲。
“在我的一生中,我见证了社会深刻的变化。其中最深刻的,同时也是对人类影响与日俱增
的变化,是人工智能的崛起。简单来说,我认为强大的人工智能的崛起,要么是人类历史上
最好的事,要么是最糟的。我不得不说,是好是坏我们仍不确定。但我们应该竭尽所能,确
保其未来发展对我们和我们的环境有利。”
我们深刻地知道,人工智能时代已经到来,未来的三十年到五十年,推动世界经济发展的最
重要力量很可能就是智能科技的进步。正因如此,我们应当重视智能教育。
或许有人存在着这样的顾虑:我没有数学和计算机基础,我从未学习过编程,那么我能否从
事人工智能相关行业?答案是能。
本教材旨在通过最易懂的语言让你快速入门人工智能通识,在这里人人都可以学到人工智
能,人人都可以学懂人工智能,你不需要担心没有基础。
同时本教材也会进行具体产品制作的演示,你可以进行各项产品的反复练习,直至可以将这
项技能应用到你的具体的产品制作中。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 5 页 共 61 页
2 理论部分
2.1 人工智能应用体验
正式学习人工智能技术之前,请拿出手机扫描下面的二维码,感受一下人工智能的魅力!
是的,人工智能正在改变我们工作和生活的方式。刚才我们看到的是计算机视觉中的“图像分割
技术”,它可以帮助我们实现像素级别的分割,也就是我们常说的“抠图”。分割完成之后可以
随意地改变人物的大小和数量,也可以随心所欲地替换背景。
人工智能技术正在与各行各业相互融合,“AI + X”模式(这里 X 代表某个行业)已经越来越
普遍。过去我们不敢想、不能做的事情,现如今都变成了可能,人工智能的出现使得我们的生产
生活变得更加便捷,本视频展示了人工智能在各领域的创新应用。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 6 页 共 61 页
人工智能不仅仅提高生产效率,还能模仿川建国(Trump)的声音,向全球人民发布演讲:
最后,人工智能还能帮我们吃鸡......物体检测技术可以帮助我们识别与定位当前图像中的所有物
体。本视频演示了使用 yolo-v5 实时检测游戏画面中不同物体的过程。
想要了解人工智能在其他领域有哪些有趣好玩的应用,可以关注 b 站账号:引航计划,观看更
多科普视频。学习人工智能,从认识人工智能开始。
总结:我们这个通俗易懂的通识课程会让你通过动动鼠标(而不是写代码),做几个算法实验理
解人工智能的发展。你学习人工智能的初衷,无论是想更深入地了解人工智能流行的背后原因,
或者说你想快速地把人工智能技术应用到你的学习、比赛或其他科研项目中,这个课程会一步步
教你如何达成这些目标。如果你还想了解人工智能是如何影响社会的,以及你应该如何驾驭它,
你也可以从这个课程中学到这些。下面就让我们开始吧!
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 7 页 共 61 页
2.2 相关概念解读
看完这些人工智能应用之后,你是否对人工智能产生了一个疑问:究竟什么是人工智能?
因此在正式开始之前,我们先来了解三个概念:
2.2.1 人工智能
世界上最早关于智能机器人的文章,是在 2000 年前的中国《列子汤问》一文。
现代人工智能一般被认为起源于英国著名科学家艾伦·图灵 (Alan Turing) 于 1950 年发
表的开创性研究:“计算机械和智能”。在这篇论文中,“计算机科学之父”的图灵提出了
“机器能思考吗”的问题并展开讨论。你可以观看关于他的电影《模仿游戏》,以及从中寻
找他是否与美国苹果公司的图标有关的答案。
根据 IBM 公司的定义,人工智能就是让机器能用人的方式去思考问题。它研究的目的是为
了“模拟、延伸和扩展人的智能”,如图像识别就是模拟人在看图方面的智能;NLP(自然
语言处理)就是模拟人在听话方面的智能。
2.2.2 机器学习、深度学习和大数据技术
人工智能本质上是一种“学习”的过程。比如在工业质检领域,以前需要大量的人力来进行
零部件质量的手动检查。现在,我们将老师傅的经验变成一个人工智能程序(也称为模型),
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 8 页 共 61 页
相当于把这项费时费力的技术教给机器,机器就可以模拟人类,自动进行质量检查了。
“机器学习”是人工智能核心,是使计算机具有智能的根本途径。深度学习是机器学习的一
种技术,是机器学习领域中一个新的研究方向。而机器学习、深度学习都是让机器学会思考
的一种途径,也就是让机器思考如何完成模拟。在这个过程中他们会从海量的数据中去获取
某种规律或认知,从而面对新的数据时也能做出合理的决策。
在生活中,人们也会经常提到“数据科学”或“大数据技术”这两个词。它们可以简单定义
为从数据中提取有用知识的一系列技能和技术,也属于机器学习的一部分。
目前传统机器学习算法知识由于需要很高深的数学知识,已经很少在生活中应用。而深度学
习技术由于入门容易,已经广泛应用在文字识别、人脸技术、语义分析、智能监控等领域。
我们学校和小区楼下用上的人脸识别门锁,都是使用了“深度学习”技术。
2.2.3 模拟过程
刚才我们说到,机器学习和深度学习的模拟过程可以概括为:在这个过程中他们会从海量的
数据中去获取某种规律或认知,从而面对新的数据时也能做出合理的决策。
我们不妨再看着图例来解释一下这个过程:
首先我们需要准备大量的数据,使用标签将他们分类标注好,再将这些内容全部交给机器进
行加工学习。最终,一个新的机器学习的模型就诞生了。我们向这个模型中加入新的数据,
它就可以返回对应的标签。这就是机器学习的模拟过程。
我们可以将这个过程想象成学习的过程:
标记数据
标签
机器加工
机器学习模型
测试数据
预测
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 9 页 共 61 页
首先我们需要准备好需要学习的资料,在资料中圈画出重点内容,之后全部交给学生来进行
加工学习。最终,一名具备基本知识结构的学生便诞生了。之后我们对这名学生进行测验,
他就可以从容地写出考试答案。
听起来是不是很理想的学习过程?但是需要注意的是,这里的考试内容如果是这名学生没有
学习过的内容呢?他还能否回答出考试答案呢?答案是不能。
由此我们知道,在整个模拟过程中,每一个环节都至关重要,但是同时,数据准备阶段是尤
为重要的,想要让模型能够应对各种可能性,首先需要让它学习到对应的数据内容。
2.3 数据
既然数据如此重要,那么我们不如先从认识数据开始。
我们来尝试解决⼀个经典的问题:鸢尾花分类问题。鸢尾花是鸢尾属花卉,可以开紫色、白
色、黄色的花,比较常见的是紫色,比如图中列举的三类:山鸢尾、变色鸢尾、维吉尼亚鸢
尾。
那么,对于野外遇到的一朵鸢尾花,怎样去判断它的种类呢?我们不妨来试试人脑能不能快
速习得一个分类的方法。这是一些标明了标签的鸢尾花图片:
山鸢尾 变色鸢尾 维吉尼亚鸢尾
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 10 页 共 61 页
下面会随机出现两张鸢尾花的图片,你可以测试一下自己的分辨方法是否能够帮助自己快速
辨别鸢尾花的种类:
好,相信你心中有了答案,可以翻到上面来查看自己的答案对不对。
我们会发现我们总结的规律还是会存在这样或者那样的误差,这是因为这些特点都是人类通
过眼睛观察到的,我们对细小的特征是无法一次性都发现的,这个时候我们就可以使用机器
来辅助我们进行观察。
那么机器要如何进行分辨呢?和人眼不同,机器是需要通过各种数据化的信息,不能直接进
行观察。学者 Edgar Anderson 分别测量了属于山鸢尾、变色鸢尾、维吉尼亚鸢尾这三个
类别的 150 株鸢尾花的花瓣大小、萼片大小的数据。
我们可以来看这样的一张数据图片:
右侧的数据从左往右分别是:萼片长度、萼片宽度、花瓣长度、花瓣宽度。通过数据化的展
示,不仅我们可以明显的看出这三类鸢尾花的特点,机器也可以利用这些数值化特征来建立
模型,为后续的图像识别作基础。
萼片长度 萼片宽度 花瓣长度 花瓣宽度 标签
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 11 页 共 61 页
3 实战部分
现在我们明白,只要我们给机器提供大量的数据,给它充分的时间让它学习数值化特征,理
论上我们就可以做出一个理想的模型来辅助我们进行相关工作。
但是这种想法容易实现吗?会不会有一点异想天开?
其实我们所说的这个模型制作过程就是深度学习的过程。传统的深度学习需要我们做出以下
准备:大量的训练数据、复杂的算法过程、漫长的训练时间,可以这么说,制作一个深度学
习模型是一个耗时耗力的过程,这也是劝退大家的一个最主要的原因。
那有没有简单的方法?有,往下看。
3.1 技术支持
在产品模型建立部分,我们得到了百度的技术支持,全程使用百度 EasyDL 可视化界面进
行训练。
EasyDL 是百度大脑推出的零门槛 AI 开发平台,面向各行各业有定制 AI 需求、零算法基础
或者追求高效率开发 AI 的企业用户。
支持包括数据管理与数据标注、模型训练、模型部署的一站式 AI 开发流程,原始图片、文
本、音频、视频等数据,经过 EasyDL 加工、学习、部署,可通过公有云 API 调用,或部署
在本地服务器、小型设备、软硬一体方案的专项适配硬件上,通过 API 进一步集成。
简单来说,通过使用 EasyDL 你就可以完成一个深度学习模型的制作,而且需要的数据量
更少,训练的时间大大缩短,还不需要你进行算法的编写。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 12 页 共 61 页
3.2 应用场景及案例
图像内容识别:海量图片打分类标签。
示例:家装网站可以将图片分类为卧室、餐厅、厨房等
定制图像审核策略:根据需求,制定图片审核标准,用 EasyDL 判断是否合规。
示例:房产网站审核用户提交信息是否为户型图、房源图、还是非房源图片
生产环境安全监控:对生产环境现场做安全性监控,辅助人工判断安全隐患并及时预警,保
证生产环境安全运行。
示例:如输电线路附近的安全性检查,需要检测是否存在挖掘机、吊车等外部隐患物体
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 13 页 共 61 页
超市防损监控:对超市结算台下层安装的摄像头采集图片进行标注及训练,实现实时监测购
物车下层图片中是否有未结算商品。
示例:安装摄像头拍摄超市购物车下层,抽帧后可判断有商品、无商品、无车、非购物车
产品组装合格性检查:自动判断合格或不合格的模型,辅助人工判断产品质量。
示例:键盘生产可能存在错装、漏装、合格进行分类识别
瑕疵检测:微小瑕疵检测,针对原始图片或基于光学成像图片进行瑕疵标注及训练,将模型
集成在检测器或流水线中,辅助人工提升质检效率,降低成本。
示例:针对地板质检的常见问题进行识别,例如虫眼、毛面、棘爪等
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 14 页 共 61 页
3.3 制作流程介绍
1.分析需求
在正式启动训练模型之前,需要有效分析和拆解业务需求,明确模型类型如何选择。这里我
们可以举一些实际业务场景进行分析。
示例:某企业希望为某个高端小区物业做一套智能监控系统,希望对多种现象智能监控并及
时预警,包括保安是否在岗、小区是否有有异常噪音、小区内各个区域的垃圾桶是否已满等
多个业务功能。
针对这个原始业务需求,我们需要多个模型综合应用:
监控保安是否在岗——通过图像分类模型进行判断
监控小区是否有异常噪音——定时收集声音片段通过声音分类模型进行判断
监控小区内各个区域垃圾桶是否已满——需要通过物体检测模型对垃圾桶状态进行判断
2.采集数据
在通过上述第一步分析出基本的模型类型,需要进行相应的数据收集工作。数据的主要原则
为尽可能采集真实业务场景一致的数据,并覆盖可能有的各种情况。
3.标注数据
采集数据后,可以通过其他标注工具对已有的数据进行标注,标注完成之后可以直接打包上
传。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 15 页 共 61 页
同样地,EasyDL 也提供在线标注工具,上传无标注信息的数据集在 EasyDL 可视化操作
界面进行标注。
4.训练模型
训练模型阶段可以将已有标注好的数据基于已经确定的初步模型类型,选择算法进行训练。
通过使用 EasyDL 平台,可以可视化在线操作训练任务的启停、训练任务的配置。可以大
幅减少线下搭建训练环境、自主编写算法代码的相关成本。
5.评估模型
训练后的模型在正式集成之前,需要评估模型效果是否可用。在这个环节上 EasyDL 提供
了详细的模型评估报告,以及在线可视化上传数据测试模型效果的功能。
6.发布模型
当确认模型效果可用后,可以将模型部署至生产环境中。传统的方式需要将训练出的模型文
件加入工程化相关处理,通过使用 EasyDL,可以便捷地将模型部署在公有云服务器或本地
设备上,通过 API 或 SDK 集成应用。
我们可以将 API 接口想象成一个服务员,客户下单之后,服务员负责去后厨拿来对应的菜
品,也就是说,我们最终的目标是获得一个 API 接口,通过这个接口就可以调取我们需要
的程序功能。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 16 页 共 61 页
3.4 基于 EasyDL 的产品项目实战之图像篇
3.4.1 计算机视觉原理
计算机视觉的研究话题是,让计算机和人,能从图像、视频或者其他与视觉有关的数据中获
取有意义的信息。没错,这个定义也和数据科学的定义非常类似,你懂的,不懂的返回再看
看之前我们讲过的四者关系图例。
简单来说,计算机视觉就是研究如何使机器“看”的科学。
在传统的计算机视觉中,最主要的工作就是根据经验,提取图像中的特征,比如边、角以及
从图像矩阵里提取到的其他一些更复杂、抽象的特征。
那究竟什么是特征提取呢?换句话说,什么是有意义的信息?以上面两张图片为例,我们通
过第一张照片知道这是一张铁塔的图片,那如果假设我们原来没有看过原图,仅仅看第二张
轮廓图,是不是也能够大概知道这张图上的内容是什么,这就是特征提取,使用特征来代替
整张图片。
那这样做有什么好处呢?假设我们的机器需要学习 1 万张图片,1 张图片有 2M,学习的内
容就有差不多 20G,但是把特征提取出来就不一样了,内容还是一样的内容,但是压缩了
空间,学习的效率提升了。
3.4.2 计算机视觉经典任务
随着人工智能和计算机视觉技术的快速发展,我们越来越多地可以听到“人脸识别”、“产
品瑕疵检测”这样的名词。事实上,我们常说的“识别”、“检测”,在不同的语境下,其
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 17 页 共 61 页
实可能代表几种不同的计算机视觉任务:
1.图像分类(Image Classification)
图像分类任务指的是将给定的一张图片作为一个整体去理解,并通过推理,赋予这张图片一
个标签。图像分类适用于整张图片里只有一个主要的物体的情况。
例如下图,我们可以分别给这三张图片打上“猫”、“狗”、“猫”的标签。
2.目标检测(Object Detection)
目标检测任务指的是检测给定的图片中的所有目标。这里的“目标”指的是一类物体。
通常的目标检测任务的要求是,要检测的所有目标,都使用矩形框标注出来,矩形框的位置、
大小要尽可能刚好包含整个物体。
例如下图,我们将一类目标使用相同颜色的矩形框标注出来,这样我们既可以做到分类,还
可以实现定位的功能。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 18 页 共 61 页
3.语义分割(Semantic Segmentation)
语义分割任务是指将一张图像中属于同一类目标的部分都聚类到一起,并为图像上的每一个
像素都预测一个类别标签。
这里需要注意的是,图片中所有的像素都实现了分类,这样做的好处在于,即使我们不知道
原图是什么样的,也可以使用分割后的图像进行辨别,而且辨别结果很准确。
4.实例分割(Instance Segmentation)
实例分割是将图像中的每一个独立个体,都检测和描画(分割)出来。
下图展示了语义分割和实例分割的区别:
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 19 页 共 61 页
3.4.3 EasyDL 图像类模型
3.4.3.1 模型选择
在图像篇,我们会使用到三类模型,分别是图像分割、物体检测和图像分类,这三类模型实
际上都是对计算机视觉经典任务的应用,下面我们来简单了解一下,这也会对之后你的模型
选择提供帮助:
图像分类其实很简单,它适用于只对图片中的单一物体进行类别预测,也就是说不管图片中
的物体的位置在哪里,图像分类只负责告诉你图像中有什么;
物体检测比图像分类更进了一步,它不仅可以告诉你图片中有什么,同时还会告诉你这个物
体的具体位置在哪里,这里会使用一个矩形框把它框起来;
我们可以先来对比一下这两类模型,如果我是进行图片上类别的预测,如下图所示,既然图
像分类和物体检测都可以完成,那么这个时候我们到底选择哪项模型来制作呢?
我们的原则是选择低复杂度的模型,例如左图,图像分类足够用了,但是当我们遇到像右图
这样背景复杂的图片时,特别是背景和我们要识别的本体相似,图像分类的准确率就显得不
够,这个时候我们就可以转换思路,使用物体检测来对本体进行定位,将它从背景中提取出
来,这样识别的准确率就大大提升了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 20 页 共 61 页
所以在选择模型的时候,一定要根据需求选择最适当的模型,不建议仅根据经验来进行判断。
我们继续来介绍图像类模型,图像分割要比物体检测更加精准,这次它不仅继承了前面两个
模型的优良品质,可以进行分类和定位,同时由于它是对像素级别的分割,识别出来的轮廓
更加精准,因此它是一个高复杂度模型。
这三类模型各不相同,使用时一定综合考虑用户需求、数据的具体情况和时需。
3.4.3.2 数据相关
采集完数据之后我们需要进行数据集的划分,一般在训练任务里会划分成训练集、验证集和
测试集。
训练集是直接用于训练模型的数据,需要尽量是实际场景数据,限制性场景下可采用或补充
仿真数据进行训练;
验证集用来验证模型的有效性,验证集数据不可以和训练集非常相似,不然会导致过拟合;
测试集用来验证模型在实际场景中的效果,也就是我们说的泛化的效果,验证集和测试集不
可以掺杂训练数据,不然会导致无法准确判断在实际应用场景里的效果。
当然,采集完数据并不能直接进行训练的,还要进行数据标注,我们可以在其他软件标注完
成后上传 EasyDL ,当然也推荐你直接上传原图在 EasyDL 中进行标注,有多种方法可供
选择,这个在后面具体的模型制作部分会重点讲到。 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 21 页 共 61 页
3.4.4 打造无人驾驶道路场景解析模型
3.4.4.1 业务需求
①识别道路上的汽车、摩托车、行人等
②需要辨别隧道场景
我们需要先针对需求进行分析,先来看第一个需求,假如有一辆自动驾驶汽车,需要识别道
路上的物体,这个时候光有分类是不够的,它还需要知道具体这个物体在什么位置,这样才
能够做到躲避让行,因此定位功能也是不可缺少的,那么图像分类模型我们就先 pass 掉。
物体检测和图像分割都可以实现分类和定位两项功能,那么到底选择哪个呢?再来看第二个
需求,需要识别隧道场景。假设使用物体检测来制作,面对隧道的时候物体检测模型识别的
结果会是什么样子的呢?一堵墙,因为在物体检测中,无论本体形状多么奇葩,最后识别出
来的都是一个矩形框,这下子本来可以通行的隧道直接堵死了,又 pass 掉了。
我们再来看一看图像分割能不能实现第二个需求,我们说图像分割是像素级别的分割,它会
完整地把本体的形状描绘出了,隧道下面的空间就完美的展示出来了,这就满足了我们的需
求。
以上就是我们分析需求的过程,实现任何需求之前都要针对性地提出不同的方案,然后从中
选择最优方案。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 22 页 共 61 页
3.4.4.2 基本概念
图像分割:对比物体检测,支持用多边形标注训练数据,模型可像素级识别目标。适合图中
有多个主体、需识别其位置或轮廓的场景。
自动驾驶:类似于人脑的运作,自动驾驶汽车的传感器感知到的数据会每隔一段时间形成驾
驶态势图簇,构成车辆的工作记忆;长期记忆包含了驾驶地图以及各类驾驶先验知识;动机
则是智能驾驶的某个路径要求,可通过人机交互传达给车辆。通过短期记忆、长期记忆以及
动机相互作用,车辆形成了自主决策,传递控制指令给执行机构,完成整个自动驾驶的过程。
3.4.4.3 操作流程(以有标注数据为例)
①找到图像分割模型:登陆网址 ai.baidu.com/easydl ,点击【立即使用】,选择【图像
分割】。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 23 页 共 61 页
②创建一个图像分割模型:点击左侧导航栏【我的模型】 - 【创建模型】,
填写对应内容,填写完成后点击【完成】,
这样我们就创建好了一个图像分割模型。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 24 页 共 61 页
③创建一个数据集:点击左侧导航栏【数据总览】 - 【创建数据集】,
填写对应内容,填写完成后点击【完成】,
这样我们就创建好了一个数据集。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 25 页 共 61 页
④下面要开始上传数据:返回【数据总览】,选择创建好的数据集后的【导入】上传数据压
缩包,
进入导入界面之后,我们以上传有标注信息的数据集为例进行演示,切换【有标注信息】- 【本地导入】-【 json(特指 coco)】,
**这里的标注方式可以根据自己的数据集的标注方式来选择,本教材提供的数据集为 coco 标注。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 26 页 共 61 页
点击【上传压缩包】选择对应的数据压缩包,上传完成后【确认并返回】,
导入完成之后可以返回【数据总览】选择【查看与标注】查看数据效果,也可以修改标注,
这是我们上传的数据集的效果,这里已经标注完成了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 27 页 共 61 页
⑤当数据已经全部标注完毕,我们就可以开始训练模型:选择左侧导航栏【训练模型】,选
择创建好的模型,根据需求选择配置,
点击添加训练数据之后的【请选择】按钮,添加已经标注好的数据集进行训练,这里也可以
自行选择是否添加验证集和测试集(两者具体数据要求可以参照前面讲解的数据相关部分),
这里不做上传,
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 28 页 共 61 页
添加完成后,点击【开始训练】,
这里的训练数据集可以多选,就是模型一次性可以学习多个数据内容,
模型训练已开始,你可以通过手机短信接收训练结果通知,
至此,我们手动操作的部分就告一段落,剩下的时间就需要交给电脑来进行学习,因为是后
台自行进行训练,所以这个过程中可以关闭网页,不用担心训练终止。
⑥训练完成后,可以自行查看训练效果,根据效果决定是否进行第二轮训练。
⑦当然,如果你对训练结果比较满意,那么我们也可以开始校验模型:点击左侧导航栏【校
验模型】 - 【启动模型校验服务】,
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 29 页 共 61 页
耐心等待一会,然后上传你想要检测的图片,这个过程就相当于测试你自己的 API 接口程
序。这里我上传一张实际场景中的图片(和训练集图片不同),我们可以看到识别结果是相
当不错的。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 30 页 共 61 页
⑧如果你的模型效果达到预期,那么你可以选择上线发布你的模型:点击左侧导航栏【发布
模型】,
填写对应的服务名称和接口地址,可以参考右侧【标准接口规范参考】,示例如下,
至此,我们的图像分割模型就已经制作完成了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 31 页 共 61 页
3.4.4.4 图像分割模型下对无标注信息数据集的处理方式
当然,我们大多数时候直接获得的数据都是无标注的,那么我们可以直接使用 EasyDL 自
带的标注系统来进行标注,这里一共有三种标注方法:在线标注、多人标注和智能标注。
在线标注提供各种标注工具,可以满足不同形状的标注需求;多人标注适用于数据量比较多
的情况,可以将数据链接共享,提升标注效率;智能标注可以让系统自动挑选适合训练的图
片进行标注,理论上可以降低标注成本。
下面以在线标注为例,我们来进行无标注信息数据集的标注,这里我们需要辨别大型演出中
演员的舞蹈流派,因此需要对具体的动作进行标注,创建完数据集之后这里选择【无标注信
息】-【本地导入】-【上传图片/压缩包】,
按照步骤【上传图片】-【确认并返回】,上传完成之后点击左侧导航栏【在线标注】,选
择对应的数据集就可以开始标注了, 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 32 页 共 61 页
首先需要【添加标签】,
添加完成之后可以选择左侧的标注工具进行标注,
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 33 页 共 61 页
标注时需要把物体轮廓完整的圈画出,你可以不断调整,直至达到满意的效果,
圈画完成之后就可以选择对应的标签进行标注了,
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 34 页 共 61 页
使用同样的方法将剩余图片标注完。
以上就是图像分割部分进行手动标注的方法,标注完成的数据集就可以继续进行后面的【训
练模型】-【校验模型】-【发布模型】的操作了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 35 页 共 61 页
3.4.5 制作智慧校园中的吸烟检测模型
3.4.5.1 业务需求
某所中学开展校园禁烟活动,严禁师生在校吸烟,希望能制作一套校园监控系统,实时检测
吸烟行为,及时预警。
我们需要先针对需求进行分析,想要监控吸烟行为,我们可以使用两套方案,检测吸烟的动
作或是检测烟头,这里图像分类的功能还是不够用,先 pass 掉。
再来想想,大家吸烟的动作五花八门,相对而言检测烟头更容易实现,图像分割和物体检测
都可以准确地定位烟头,可以进行考虑,而二者唯一的不同就是,图像分割可以把烟头的轮
廓完整的体现出来,物体检测只是知道烟头的位置在哪里,虽然图像分割更准确,但是在这
个模型中物体检测足够用了,我们不区分烟头的具体形态,因此我们选择使用物体检测模型。
3.4.5.2 基本概念
物体检测:检测图中每个物体的位置、名称。适合图中有多个主体要识别、或要识别主体位
置及数量的场景。
吸烟检测:吸烟检测系统基于智能视频分析,对监控区域内人员吸烟行为进行识别,及时发
现监控区域内的人员吸烟行为,以最快、最佳的方式进行预警,真正做到事前预警,事中常
态检测,事后规范管理,将安防操作人员从繁杂而枯燥的“盯屏幕”任务中解脱出来。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 36 页 共 61 页
3.4.5.3 操作流程(以有标注数据为例)
①选择物体检测模型:登陆网址 ai.baidu.com/easydl ,点击【立即使用】,选择【物体
检测】。
②创建一个物体检测模型:点击左侧导航栏【我的模型】 - 【创建模型】,填写对应内容,
填写完成后点击【完成】,这样我们就创建好了一个物体检测模型。
③创建一个数据集:点击左侧导航栏【数据总览】 - 【创建数据集】,填写对应内容,填
写完成后点击【完成】,这样我们就创建好了一个数据集。
④下面要开始上传数据:返回【数据总览】,选择创建好的数据集后的【导入】上传数据压
缩包,进入导入界面之后,我们以上传有标注信息的数据集为例进行演示,切换【有标注信
息】-【本地导入】-【xml(特指 voc)】,点击【上传压缩包】选择对应的数据压缩包,
上传完成后【确认并返回】,
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 37 页 共 61 页
**这里的标注方式可以根据自己的数据集的标注方式来选择,本教材提供的数据集为 xml 标注。 导入完成之后可以返回【数据总览】选择【查看与标注】查看数据效果,也可以修改标注,
这是我们上传的数据集的效果,这里已经标注完成了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 38 页 共 61 页
⑤当数据已经全部标注完毕,我们就可以开始训练模型:选择左侧导航栏【训练模型】,选
择创建好的模型,根据需求选择配置,
点击添加训练数据之后的【请选择】按钮,添加已经标注好的数据集进行训练,这里也可以
自行选择是否添加验证集和测试集(两者具体数据要求可以参照前面讲解的数据相关部分),
这里不做上传,添加完成后,点击【开始训练】,
模型训练已开始,你可以通过手机短信接收训练结果通知。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 39 页 共 61 页
⑥训练完成后,可以自行查看训练效果,根据效果决定是否进行第二轮训练。
⑦当然,如果你对训练结果比较满意,那么我们也可以来校验模型:点击左侧导航栏【校验
模型】 - 【启动模型校验服务】,
耐心等待一会,然后上传你想要检测的图片,这里我上传一张实际场景中的图片(和训练集
图片不同),结果还可以。
⑧如果你的模型效果达到预期,那么你可以选择上线发布你的模型:点击左侧导航栏【发布
模型】,填写对应的服务名称和接口地址,可以参考右侧【标准接
引航计划
口规范参考】。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 40 页 共 61 页
至此,我们的物体检测模型就制作完成了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 41 页 共 61 页
3.4.5.4 物体检测模型下对无标注信息数据集的处理方式
下面以在线标注为例,我们来进行无标注信息数据集的标注,这里我们需要计算图片中羽毛
球的数量,创建完数据集之后这里选择【无标注信息】-【本地导入】-【上传图片/压缩包】,
按照步骤【上传图片】-【确认并返回】,上传完成之后点击左侧导航栏【在线标注】,选
择对应的数据集就可以开始标注了,
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 42 页 共 61 页
首先需要【添加标签】,这里添加了一个羽毛球的标签,
添加完标签之后我们就可以选择左侧的标注工具来进行标注了,物体检测都是使用矩形框来
进行标注,将物体完整的框起来之后选择对应的标签即可,
但是在物体检测这部分需要特别注意数据标注的效果,有以下几点需要注意的地方:
1.每个矩形框中指包含一个物体,不可以将两个物体合并标注
2.矩形框的大小不应过大或过小,应刚好框住物体
3.矩形框直接可以重叠,如图 2 所示
4.如物体漏出面积小于本体百分之 30,那么可以不标,如图 3 所示
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 43 页 共 61 页
按照上图标准将剩余数据全部标注完成即可。
以上就是物体检测部分进行手动标注的方法,标注完成的数据集就可以继续进行后面的【训
练模型】-【校验模型】-【发布模型】的操作了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 44 页 共 61 页
3.4.6 图像识别类模型制作方案
3.4.6.1 业务需求
①识别宝石的种类
②类似的模型还有动物识别、植物识别、通用物体识别和场景识别等
我们需要先针对需求进行分析,识别类模型是一个相对简单的模型,理论上我们只需要输出
图片上的单一类别即可,对于宝石识别而言,图像分类就可以满足需求。
这不是说图像分割和物体检测不能满足要求,他们更适用于有特定的需求,例如宝石识别的
场景较复杂,那么我们可以使用物体检测来进行定位式识别;再比如需要识别宝石的不同状
态,那么就可以选择图像分割。
因此,识别类模型并不都是用一种方法来制作的,模型的选择需要根据实际情况来分析。
3.4.6.2 基本概念
图像分类:识别一张图中是否是某类物体/状态/场景,适用于图片内容单一、需要给整张图
片分类的场景。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 45 页 共 61 页
图像识别:其处理的依据就是模式识别的过程,即通过对各类地物的影像特征分析来选择特
征参数,将特征空间划分为互不重叠的子空间并将图像内各个像元划分到各个子空间区,从
而实现分类。
3.4.6.3 操作流程(以有标注数据为例)
①选择图像分类模型:登陆网址 ai.baidu.com/easydl ,点击【立即使用】,选择【图像
分类】。
②创建一个图像分类模型:点击左侧导航栏【我的模型】 - 【创建模型】,填写对应内容,
填写完成后点击【完成】,这样我们就创建好了一个图像分类模型。
③创建一个数据集:点击左侧导航栏【数据总览】 - 【创建数据集】,填写对应内容,填
写完成后点击【完成】,这样我们就创建好了一个数据集。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 46 页 共 61 页
④下面要开始上传数据:返回【数据总览】,选择创建好的数据集后的【导入】上传数据压
缩包,进入导入界面之后,我们以上传有标注信息的数据集为例进行演示,切换【有标注信
息】-【本地导入】-【文件夹命名分类】,点击【上传压缩包】选择对应的数据压缩包,上
传完成后【确认并返回】。
**这里的标注方式可以根据自己的数据集的标注方式来选择,本教材提供的数据集为文件夹命名分类标注。 导入完成之后可以返回【数据总览】选择【查看与标注】查看数据效果,也可以修改标注,
这是我们上传的数据集的效果,这里已经标注完成了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 47 页 共 61 页
⑤当数据已经全部标注完毕,我们就可以开始训练模型:选择左侧导航栏【训练模型】,选
择创建好的模型,根据需求选择配置,
点击添加训练数据之后的【请选择】按钮,添加已经标注好的数据集进行训练,这里也可以
自行选择是否添加验证集和测试集(两者具体数据要求可以参照前面讲解的数据相关部分),
这里不做上传,添加完成后,点击【开始训练】,
模型训练已开始,你可以通过手机短信接收训练结果通知。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 48 页 共 61 页
⑥训练完成后,可以自行查看训练效果,根据效果决定是否进行第二轮训练。
⑦当然,如果你对训练结果比较满意,那么我们也可以来校验模型:点击左侧导航栏【校验
模型】 - 【启动模型校验服务】,耐心等待一会,然后上传你想要检测的图片。
⑧如果你的模型效果达到预期,那么你可以选择上线发布你的模型:点击左侧导航栏【发布
模型】,填写对应的服务名称和接口地址,可以参考右侧【标准接口规范参考】。
至此,我们的图像分类模型就已经制作完成了。
3.4.6.4 图像分类模型下对无标注信息数据集的处理方式
我们不难发现,图像分类提供给我们的标注格式很多,除了之前出现过的【json】和【xml】
标注形式,还可以使用【以文件夹命名分类】,下面简单说两种标注方法:
①第一种方法是使用在线标注工具进行标注,标注流程仍然和之前相同。
创建完数据集之后选择【无标注信息】-【本地导入】-【上传图片/压缩包】;按照步骤【上
传图片】-【确认并返回】;上传完成之后点击左侧导航栏【在线标注】,选择对应的数据
集就可以开始标注;首先需要【添加标签】,添加完标签之后直接点击对应标签就可以为图
片做好标注了。
②第二种方法是事先将想要上传的数据分好类打包在数据集中,上传的时候选择【以文件夹
命名分类】上传即可完成标注。
以上就是图像分类部分进行手动标注的方法,标注完成的数据集就可以继续进行后面的【训
练模型】-【校验模型】-【发布模型】的操作了。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 49 页 共 61 页
3.5 基于 EasyDL 的产品项目实战之分类篇
登录 ai.baidu.com/easydl 网址我们可以看到,除了上文介绍的图像部分的模型以外,我
们还可以根据需求制作【文本】、【语音】、【视频】、【结构化数据】、【OCR】等等
其他模型。
在这里我们会分别对文本分类、声音分类和视频分类这三种模型的制作原理进行简单的了
解,这里需要注意的是,虽然这三类模型与图像分类模型使用的数据类型不同,但是他们总
体上的制作流程是类似的,并且数据标注的方式都可以选择为【以文件夹命名分类】来进行
标注,下面我们就来分别介绍一下这三类模型。
3.5.1 文本分类模型
EasyDL 平台目前提供的文本分类模型包括:文本分类(单标签)和文本分类(多标签)两
种模型类型。本教材以文本分类(单标签)的模型为例进行介绍。
3.5.1.1 业务需求
①投诉信息分类:将每个用户投诉的内容进行分类管理,节省大量客服人力
②媒体文章分类:训练网络媒体文章的自动分类,进而实现各类文章的自动分类
③新闻分类:识别新闻类文章所属的一个或多个领域标签
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划
第 50 页 共 61 页
3.5.1.2 基本概念
文本分类(单标签):定制分类标签实现文本内容的自动分类,每个文本仅属于一种标签类
型。
文本分类本质:以文本形式呈现的语言,与图像不同,我们除了需要看到它表现出来的特征,
还要去思考这些语言的含义。尤其是中文,表达方式各式各样,要想真正了解其中的含义,
就需要对语法、词和前后文进行充分的思考,总结中心思想。
3.5.1.3 操作流程(以有标注数据为例)
①登陆网址 ai.baidu.com/easydl :点击【立即使用】,选择【文本分类 - 单标签】。
②创建一个文本分类模型:点击左侧导航栏【我的模型】 - 【创建模型】,填写对应内容,
填写完成后点击【完成】,这样我们就创建好了一个文本分类模型。
③创建一个数据集:点击左侧导航栏【数据总览】 - 【创建数据集】,填写对应内容,填
写完成后点击【完成】,这样我们就创建好了一个数据集。
引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划 引航计划