直播知识点实录|百度大脑EasyDL产业应用系列 安全生产专场
日期: 2020-05-26 分类: 跨站数据 322次阅读
EasyDL产业应用系列【安全生产及数据处理】公开课,课程中不仅介绍了EasyDL在安全生产领域的落地案例与实战演示,还有新上线的EasyData智能数据服务平台功能与介绍。没有参加课程的小伙伴也不用担心,可通过实录完整解析 AI 巡检业务场景和定制 AI 解决方案,小时级成功变身 AI 应用专家!
同时,5月27日至5月29日为EasyDL-NVIDIA专场公开课,全面解析如何提升端/边/云高效协同,有效满足业务需求。开发者们可通过扫描下方二维码进行报名
【安全生产专场】直播回放:
EasyData助力智能云称一站式数据管理:https://www.bilibili.com/video/BV1qv411z7uT
电力AI巡检应用分析:https://www.bilibili.com/video/BV1Bg4y1B79N
基于EasyDL+AR实现地下资产管理:https://www.bilibili.com/video/BV1GV411C7eM
【安全生产专场】课程笔记:
课程笔记——EasyData助力智能云称一站式数据管理
讲师:百度AI开发平台部高级研发工程师 林克
课程时间:2020年5月21日
本次课程的内容是由百度 AI 开发平台部高级研发工程师林克,带来 EasyData 助力智能云秤一站式数据管理的课程,同时会为我们演示智能云秤水果采集、训练及识别的操作,主要面向对深度学习感兴趣,以及关注行业场景一站式解决方案的人群。
今天主题分为两部分,首先我介绍一下 EasyData 智能数据服务平台,之后会结合智能云秤的案例演示一下接入数据的训练到部署的流程。EasyData 智能数据服务平台是一个提供数据采集、标注、清洗、加工等一站式数据服务,助力开发者高效获取 AI 开发所需高质量数据的平台,4 月份刚刚上线。
关于EasyData的结构,首先解释推出EasyData 这款产品的原因。主要有三点,大家可能都知道,AI=数据+算法+算力,百度 EasyDL零门槛开发平台在算法、算力、部署上做了很多工作,有 EasyDL 经典版和专业版,虽然支持了部分数据的功能,如数据上传、标注,但不是很系统,所以我们针对数据管理所需的功能进行了梳理,推出了EasyData智能数据服务平台。
其次,在实际 AI 开发过程中,用户反映了各种各样的问题,如数据采集硬件如何使用的问题,数据如何同步,数据如何导出。根据我们统计大概96%的用户在数据生产环节都会遇到这样那样的问题,所以需要 EasyData 来帮助用户尽量低成本一站式完成数据的生产。
这是 EasyData 的整体业务架构图,在数据采集、数据扩充、数据清洗、数据标注、数据管理分析等数据生产过程中做了比较专业规范的工作,而且会在这些方向上持续提供能够给用户解决实际问题的功能。
比如数据采集的设备,例如电脑接入 USB 摄像头,就可以使用 EasyData 提供的采集管理软件,快速将摄像头采集的数据接入到 EasyData,整个过程中不需要任何的处理代码,而数据标注侧EasyData提供了智能标注以及即将推出的多人标注,提升用户标注的效率,降低标注成本。
传统的数据生产方式,如果涉及到数据采集的话,在硬件选型和硬件调试上会花很长时间,有些甚至到了模型迭代环节发现精度不够,再重新进行硬件的替换。数据获取和数据清洗环节需要写代码从硬件设备上进行数据获取,如视频流抽帧,不同的硬件码流可能会不同,RTSP 协议地址可能不一样,不同的操作系统可能会有兼容性问题需要解决等等。
清洗环节也需要手动完成数据清洗,如一些简单的数据清洗还好一点,如果图片模糊相似,需要更大的力气花一番时间调研和开发,而在EasyData上我们首先向用户灌输在数据生产环节需要进行专业规范的操作,专业化的数据生产,加上科学的深度学习算法以及可接受的算力成本,才可以训练出实际解决场景的模型。
在实际生产数据环节,EasyData 帮用户做了线下很多琐碎的工作,如硬件选型和调试,EasyData 推出软硬一体方案,在 EasyData 下载软件,安装即可使用,数据清洗环节,后续会推出对应的功能。智能标注,目前已经提供了单人在线标注和多人标注,后续会上线多人智能标注,EasyData 让 AI 更简单,更专业。
刚才说到了 EasyData 的智能化的特点,体现在采集、清洗、标注、扩充和闭环等环节,如在数据采集环节 EasyData提供了软硬一体方案,目前设计是提供单路直连和直路间接连接,可以在 EasyData 下载对应的软件进行使用,针对多路摄像头进行控制,通过视频流抽帧方式,将数据同步到 EasyData,单路也会在近期推出。当硬件准备好以后,可以持续采集数小时将数据采集到云端,然后进行存储的管理。
数据清洗和扩充环节,这边有两个实例说明了数据清理和效率的提升。第一,上面的图片是我们做的智能生猪盘点的实例,初级功能是对猪的识别和数量的检测,猪厂数据接入EasyData后,由于场景的特殊性,睡觉的猪很久不移动,所以以一个固定频率采集数据,相似度非常高,得出的训练数据效率较低。
这里就可以用到EasyData去相似的功能,将相似的图片去掉,留下确实有价值的数据,同时用户的需求是以猪栏为维度统计猪的数量,可以看到原始图片上,猪栏两侧还有其他猪栏的猪,EasyData 提供了对图片裁剪的功能,自动将图片进行处理,清洗和裁剪可以将人力减少80%。
下面是一个数据扩充的示例,商品 SKU 数据采集成本比较高,当 SKU 数据不足情况下,可以将少量的 SKU 数据通过排列组合方式进行扩充,然后参加训练,经过测试对比,大概只需要提供10%的数据,就可以完成和全量数据参与训练的效果数据,需求下降了90%。
智能化还体现在标注环节,EasyData 提供了智能标注的功能,针对图像数据只需要标注约30%,就可以使模型效果和全量数据效果模型一致。大概原理就是先标注少量数据,然后智能标注再进行模型的预训练,训练完以后会有一些不确定的示例再次确定,需要用户参与确认,经过几轮迭代,模型的准确率就会变高,智能标注就会完成标注,整体可以减少70%的标注量。
最后讲一下大家都比较关心的数据安全,数据安全在 EasyData 设计之初就已经考虑到了,全流程环节中保证了数据的安全,如采集端的数据鉴权,加密输出,后续 EasyData 会考虑引入联邦学习的方式,做到数据不出安全区而用于深度学习的模型训练。
下面我们结合EasyData进行果蔬识别模型训练和部署实战的演示。这是中科立业智能云秤结合 AI 的 EasyData 快速落地的案例,使用EasyData进行数据生产,使用EasyDL进行模型训练,然后将模型功能用到智能云秤上,目前已识别50种水果,识别率达到95%以上,随着对模型继续迭代,准确率还可以继续提升。
首先我们需要一个创意,受到新冠肺炎的影响,为了减少人员接触,能否在购买水果蔬菜时候避免人员接触,考虑到人们购买水果蔬菜种类不一样,不能像超市一样扫码结算,针对图像和称重识别出哪种水果,然后计算出水果的单价,最后生成支付的二维码。
这几幅图是场景上经常用的图,有一些问题,首先样本不均匀,因为我们买的水果种类比较多,有一些少见的水果数据量不多,可能造成数据训练时候有一些标签准确率较低,数据量多的水果训练效果好一些,这里可以用到数据增强的功能。
第二个问题,可以看到图片上有一些水果是被塑料袋包裹的,因为结算时候可能把塑料袋直接去秤,我们需要对包裹水果的识别率。还有一个问题,有些水果它是一个拉类,比如橙子、橘子、葡萄,可能彼此之间非常相似,这也需要一些数据增强,以及对数据的调整,达到训练的效果。
还有一些光线的问题,这里对规范化数据的建议,像这种场景,我们总结出来数据输入方,就是单图单标签,单类单个结算,另外两种场景就是提供的数据训练一个是带包装盒的,另外一个是带塑料袋的,这就是数据生产的规范化。
这个图展示了从硬件到准备部署的全流程。首先准备一个秤和摄像头,访问EasyData入口,一直到最后的模型部署的训练。
首先可以看到现场有一个摄像头,大家可以看到,现场有一个摄像头,前面放了一个水果,这就是云秤的原型,前面放了一袋樱桃。连接到这个摄像头,在EasyData下载SDK采集数据。首先打开页面,输入网址,在上面找到开发平台,最右侧的EasyData智能数据服务平台,点击进入,也可以直接输入链接来到它的地址,点击立即使用。
现在可以看到,这是EasyData的管理平台,左侧是功能,几大块数据总览,下面是标注,有在线标注,智能标注,还有标注的支持,如果你是标注的新手,可以提交给我们寻求一些支持。这块是摄像头采集图片,也就是一会要做的,在这里下载 SDK 把我们的摄像头部署好,还有一个云服务获取数据,这个最后再讲。最下方是清洗任务的管理。
首先我们点击摄像头管理,这边有一个下载本地软件,点击下载,解压之后进入文件夹,有三个压缩包,针对不同平台的 SDK,有 Windows,LINUX 和 ARM ,支持这三种系统。
双击windows运行,可以看到已经运行成功了。现在我们到页面上,需要输入一个AK、SK,这个可以在EasyData获取,我们转到 EasyData 的页面,到右上方账号下面有一个 AK、SK,点击查看,复制后然后进行登录。
登录后看到这样一个页面,可以添加本地的 USB 设备,这里选择视频抽帧接入,选择连接上面的摄像头,这个是 USB 的,我们选择它。点击下一步,获取图像,这个图像已经预览在了校验这一步,可以看到已经成功获取到图像了,然后我们再点击下一步。
这个界面是一个设置,上面的部分是支持修改抽帧频率,有秒、分钟和小时,如果设置 1 就是 1 秒钟抽帧一次,我们先设置 5 秒,下方是运行时间,比如之前说的生猪监测,可以根据猪的活动时间设置。
在设置之后可以提交,提交之后发现下方多了一个设备管理,有本地运行状态和网络状态,这里有一个按钮,是否控制抽帧上传数据的按钮,这里点击可以查看抽帧,我们再点击查看云端数据。
在这里会发现原始数据查看,摄像头管理,选它,这里是时间筛选,默认到今天为止,可以看到每 5 秒频率截到这么多张图。然后点击保存数据集,我们也可以从数据总览中创建一个数据集,这个场景是一个图像分类的单独的标签,所以都是默认的,基本上不需要修改,点击完成即可。
这边多了一个刚创建的数据集,可以看到它数据量现在是 0,标注状态也是 0,我们现在可以选择导入数据。我们有这几种方式可以选择,本地数据集,你可以本地直接上传图片或者解压缩包,这是一种本地的上传模式。第二是线上也有数据集,你可能在 EasyData 上创建了多个数据集,因为备份或其他原因,可以在几个数据集之间互相导入。
第三是导入摄像头采集的数据,就是刚才通过摄像头抽帧的图片,可以从这里导入。第四是从云服务调取数据,这个涉及到数据闭环的部分,这个最后会讲,这里选择从导入摄像头采集数据,这边会跳到摄像头管理这边,然后点击保存到数据集,版本是 V1,这里可以选择成功选择保存,删除原始数据,我们不需要删除,直接确认。
回到数据总览,看到导入了大概 32 张图。这是刚才摄像头拍的图片,这个时候就表示导入完成,回到数据总览,接下来进行清洗,可以点击清洗任务管理,清洗任务,选择 V1,清洗可以选择一个数据集,清洗后会存到你选择的新的数据集,可能会覆盖这里的数据,版本默认选 V1,会替换原有的 V1 的数据,所以我们选择 V2,清洗以后会生成一份新的数据到 V2 里。
下面看几个清洗的选项,同时支持三种清洗方式,首先最上面进项比较简单,就是你有几个选项,水平、垂直、翻转,上面可以选择角度,还有裁剪,裁剪我们不需要很大的范围,所以可以选择裁剪的范围。
下面是一个去模糊,下面可以看到,有 5 张图片,下面有对应的清晰度,5 一直到 500,500 度以上就比较高了,我们选择的阈值是 0 到 10000,平时我们可以设置小一点,400 度就差不多了,如果你对清晰度有要求,可以设置到很高的值,如果清洗后发现阈值设置高了,可以回到上面,如果用了新版本,老数据是会保留的,重新设定一个阈值,这里我们设置 300 度就可以了,然后保存。
最上面去近似的功能,也是给了 5 张图片,从左到右,相似度越来越低,最左边两张图相似度是 0.75,前 3 张图到 0.5 都是非常相似的,所以说这里的阈值是说,相似度大于这个值的时候只保留 1 张,这里设置 0.75 就可以了,然后提交清洗。页面会显示有一个任务正在清洗中,清洗方式是裁剪、去模糊、去近似。还可以查看任务详情,查看开始时间。
下面看一下标注的功能,使用备用数据集,点击标注,现在没有标注的图还有 1 张是橘子,这是已经标注的数据,我添加搜索标签,因为这是一个橘子,标签搜橘子,有这个标签就点击 OK,标注结果是橘子,点下一步,自动保存,现在所有都已经标注完成,我们可以回到数据总览。到这一步是 EasyData 的完成了,下面是 EasyDL,选择专业版。
这里选一个创建项目,水果,这里一个单独的按标签分类,网页调参,这边是要多一些功能描述,然后点创建项目。
我们可以看到多了一个训练的项目,这里新建任务,第一个部分是选择数据集,刚才是这个部分的数据集,下面可以看到有很多标签,可以点击根目录右边的加好,把目录全部添加到上面,然后确定。
下面可以看到,这里是一个评测,如果有多余的数据集进行评测,可以点击这里,今天并没有准备好评测的部分,这两个部分是预训练模型,左边的模型是百度超大规模视觉预训练模型,效果会好一点,但是支持的网络少一些。右边支持的网络多一些,但是数据集训练效果差一点。如何选择网络的话,在右侧的按钮有。
一般来说ResNet就可以覆盖大部分的场景。这里三个GPU的选择,默认是 P4,有 100 小时的免费时间,性能和价格都不同,然后提交训练任务即可开始。
可以看到,这边会标注训练进度,你可以勾选完成后提醒你的手机短信,训练完成就会直接给你手机发送短信提示,训练完成了。由于时间关系,我们不再对这个训练等待了,我们还是打开之前训练好的模型。
可以查看一下这个效果,也是这个水果模型,用了5000张图片,可以看一下效果,这不是非常大的规模,但是训练效果已经相当好了,因为数据是规范的原因,EasyData接入的数据就是标准,以及质量经过清洗后的,质量很高,没有用很大的数据量,当然后面还可以提升,现在准确率为99.6%。
然后回到训练任务,可以检验一下效果,首先是葡萄。现在可以看到,检测出这是葡萄,并且检测出了具体的子分类,预测出是 99.95%,非常好。另一个换橙子,检测出了橙子,且是赣南脐橙,99.96%。
接下来再演示一下模型训练完成之后部署,再用另外一个数据集,因为刚才这个模型已经部署过了,我们用另外一个训练出来的模型部署一下。点击部署,可以选择部署方式,我们选择公有云 API,可以取一个服务名称,需要补充接口地址。这个时候点击开始部署,确定。
提交申请了,可以看到这个模型正在发布中,可以看一下之前部署的几个模型,发布完以后就会生成这样的 API,之后再到控制台创建一个 APP,赋权后就可以使用这个 API 了。
然后这边先到控制台上去,这里可以看到EasyData的控制台,下面就是已经训练部署好模型的 API,有这几个,刚才那个还没有训练好。可以点击这里,这里是创建应用,可以看到现在已经有了几个应用。创建应用的时候,你会发现刚刚训练好的模型已经被勾选上了,这里我们输入应用名称就可以。
创建完毕,返还应用列表,增加了一个应用,下面有API Key和Secret Key,用于访问接口的token,我们用这个token 访问我们的接口,下面我给大家演示一下事先已经准备好的接口。
可以看到,有一个DEMO图像,就是赣南脐橙的图像,还有一个DEMO的python文件,这个比较简单,大概意思就是获取token,读到这个文件,访问到我们的接口,然后获取到它的标签,置信度靠前的标签数据。可以看到这有一个返回,result 给出了置信度前五个标签,赣南脐橙,置信度是99.96%。
回到我们的 EasyData 页面,到云服务授权这里,这里可以添加云服务授权,就是刚刚发布的一些新的接口,可以添加这些接口的授权,添加完以后就可以在云端获取调用这个接口所有的图片。现在可以看到调用这四个接口图片,这有一些延时,然后点击原始数据查看,之前的接口我调用过,我们可以看一下。
勾选水果识别,专业版,时间可以拉长一点,从 9 号开始,可以看到已经加载出来了,标签选一个之前获取过的,赣南脐橙的标签,因为网络原因有点慢,这个图是我们以前测试过的,调用过这个 API 我们会进行展示。
有可以筛选的功能,并且重新保存到数据集,利用数据闭环的功能,可以发布完模型 API 以后,如果有调用,可以不断完善数据的精度。
课程笔记——电力AI巡检应用分析
讲师:国网上海市电力公司电力科学研究院副总工 田英杰
百度AI开发平台部资深研发工程师 孔明
课程时间:2020年5月22日
今天的内容有四部分:
- 上海电力人工智能工程研究中心介绍
- 电网巡检现状及痛点介绍
- AI巡检模型训练数据处理技巧
- 如何使用EasyDL定制巡检模型并部署
近两年,以深度学习为代表的人工智能技术迅猛发展,日新月异,它在催生新技术、新产品的同时,也对传统行业带来了很大的机遇和挑战。电力行业是一个非常传统的行业,人工智能的引入将引发电力行业的变革,同时也会引起社会生产力的整体的跃升。
人工智能对电力行业非常重要,人工智能在电力行业需求主要体现在四个方面:
- 新时代电力系统新特征新挑战的需求
- 国网战略目标实现的需求
- 上海绿色低碳智慧城市和科创中心建设的需求
- 人民电业为人民的社会作用的需求
具体来讲新时代电力系统新特征新挑战的需求。大家知道近十年来新能源广泛接入以及分布式能源广泛推广,对电网带来了新的挑战,出现很多问题。这些问题的出现用传统的电力系统的分析手段是很难解决的,必须依靠人工智能的方法做一些提升和解决。
国网上海电力公司在人工智能领域从十年前开始一些初步的探索,在技术、人才、团队和研究平台上都打下了良好的探索和基础,这里展示一下张江科学示范区采用的人工智能方面的简单应用。这里包括低压拓扑自动识别,电网设备智能巡检,输电线路智能管控和站房自主管控,除此之外在无人机和机器人自动巡检等方面也有很多探索。
基于此,上海电力在 2019 年 8 月申请了上海市科委的电力人工智能工程技术研究中心,目标是针对对电力系统人工智能工程化应用关键技术问题展开理论和应用研究,以服务上海电力安全生产业务、运行检修业务、电力营销业务、信息服务业务为己任。
以工程技术研究为核心抓手,以产学研用优势互补、协同创新为主要手段,培养面向人工智能+大数据的高层次人才和科研队伍,促进科研成果转化,不断提高科学研究和服务社会的能力与水平。
突破电力人工智能+大数据应用关键技术难点,率先在国内建立起相关业务规范和方法论体系,建成电力人工智能应用开发和展示平台,全面支撑基于人工智能和大数据的电网运营优化、全面服务于社会经济管理决策。
长期建设目标,打造“国内顶尖、行业一流”的技术创新平台、成果培育转化基地、科普科教中心、高端人才培养摇篮、国际交流合作阵地。助力建设具有中国特色国际领先的能源互联网企业的战略目标。结合上海电网具体实际,工程研究中心制定了五方面的任务,主要包括电力人工智能体系架构的研究,人工智能电力负荷预测技术研究,电网巡检研究,结构拓扑和运维研究。
第二方面简单跟大家分析一下电网巡检的现状及痛点。大家知道,目前电网巡检面临很多新的挑战,主要的情况是电网设备数量迅速增长,可靠性的要求逐年提升,运维的人力资源比较短缺。同时,输电通道的安全管控压力比较大,状态检测技术迅速发展,也得到了广泛应用,同时信息化水平也在不断提升。电网设备数量增长所带来的挑战,大家知道我们国家输电线路的里程预计到 2020 年年底将达到 159 万公里,这个数量大概占全球输电线路总长的一半,同时它的年增长率超过 6%,也超过了全球平均增速的一倍以上。这些情况都给我们的电网巡检带来了巨大的挑战。
传统的电网巡检我们分析一下它的痛点,它的问题主要是呈现在四个方面,一是手工方式效率比较低。二就是巡检的主观性比较强。第三个问题就是缺乏统一标准流程。第四个方面是设备的状态管控力度不够。刚才的暖场片里大家也看到了一些场景,反映了我电网巡检的一些正常的作业方式,也就是说还是依靠大量的人力投入来实现巡检的。PPT 上有几张简单的图可以看出来,在某些场景巡检是非常辛苦的工作。
新技术新装备也使我们的电网巡检方式在逐步转变,由传统的人工巡检,完全依赖人力巡线,逐步向依靠机器人无人机巡检+人工处理方式转变,这种方式虽然机器人和无人巡检能够解放前端的人力成本,但影像处理还需要大量的人力做检查,这个工作还是有待提高的。因此,AI 的巡检方向为我们提供了一个新的路径。
首先理念上我们将 AI 技术与传统的巡检业务结合,能够将 AI 赋能传统电网巡检,提升产业动能。第二方面,是技术上有创新,我们将 AI 技术不断引入算法框架以及目标识别框架进行故障判断,能够大幅度提升判断的准确率。第三块变化就是模式的创新,通过不断的落地实施,通过数据、样本和模型库的积累,能够形成一个有效的数据资产的共享。
目前我们的 AI 巡检的模式是以下四个环节。首先是进行数据采集,通过对图像数据进行标注、分类和清洗,并进行大数据分析,然后再基于深度学习和神经网络的巡检分析平台上做处理,最后得出我们想要的一个巡检结果,能够自动生成检测的结果。
接下来我跟大家介绍一下如何使用EasyDL定制巡检模型并部署。
这里主要介绍两个场景,第一个场景是介绍电缆通道挖掘机的识别。现在影响电网可靠性的重要的原因是外力破坏,据不完全统计,外力破坏是造成停电的 40% 左右的原因,而其中电缆的外力破坏,就是被挖掘机和挖土机铲断造成的停电也造成很大的比例,因为电网装了很多摄像头来识别挖掘机和吊车、叉车等进入,这个场景在暖场的片子里也有看到,主要是在我的输电线路下面,刚才场景当中有一部吊车在施工,电力的巡检人员就及时跟他们沟通交流,避免吊车碰线故障的发生。
整个场景的思路是利用EasyDL人工智能训练平台建立基于巡检图像的物体检测模型,及时发现电缆通道上长期停留的叉车、吊车和挖掘机等隐患。识别过程首先是做数据的准备,我们在互联网上寻找了 50 张左右挖掘机照片,然后在EasyDL上构建模型,最后训练之后在公有云 API 上发布。
在我们的模型训练过程当中碰到的问题主要是两方面,一是现场的工况复杂,识别容易受到干扰。第二个就是很多施工现场目标是多个目标,位置也是重叠的,比如我这张图片当中的挖掘机有好几个,这种情况给我们的识别带来了比较大的难度。
针对上面的问题,我们经过实践也有一些基本的应对策略,我们总结一下就是两方面。第一,训练场景要与应用场景尽可能保持一致。比如我们在实际搜集照片的过程当中,包括不同明暗条件的照片,训练样本要覆盖全时段的图片,也要包括不同采光条件的图片,这些图片尽可能清晰,能够与我们的样本模型匹配。
第二,数据的标注要与实际情况相符,不能错标漏标,此外目标物体被其他物体遮挡的情况下,我们要选取不同角度,不同场景,不同时段的图片多重标注,这样能够提高识别的准确度。
这里我们举个例子,比如前面看到的大型施工现场图,挖掘机有好几台,识别的过程当中第一次只识别到右上角这一台挖掘机,最前面这台没有识别到,后来我们把图片处理了一下,采用了图像分割+注意力机制的方式,把最前面那台挖掘机单独提取出来,然后它就很容易的识别出来了。
经过校核我们输出的阈值参数也可以通过降低阈值来提升,同时结合人工检验进行二次筛选,模型判定+人工复核的方式能大大提升我们的识别率。经过检测我们所输出图片的准确率跟精准率都能达到 100%,效果还是非常好的,整个过程使用起来也是非常方便易用。
第二个场景是输电铁塔的鸟巢识别。鸟巢对输电铁塔来说也是一个比较大的隐患,它的危险主要体现在两方面,一方面鸟在飞行过程当中可能造成输电线路的短路,另一方面,鸟粪也会输电线路间距,造成电网的故障,几的原因,使我们对输电铁塔的鸟巢非常重视。
第二个场景首先通过搜集输电铁塔鸟巢的图像,我们搜集了50张比较清晰的照片,这些照片有电力巡检过程当中的照片,更多的是互联网上找到的,我们将这些照片利用 EasyDL建立基于巡检图像的物体检测模型,然后进行训练,最后将训练的模型部署在 API上。
在我们的训练过程当中,我们总结了一下难点主要有两点,第一就是受拍摄角度的限制,鸟巢的位置往往容易被输电构架遮挡,难以完整捕捉到非常清晰的鸟巢,因此识别比较困难。第二个难点,因为鸟巢都处在高空,因此人工拍摄的条件比较恶劣,我们更多的时候是依靠无人机拍摄。
针对这两个困难我们的解决方式提出的应对策略,主要是利用无人机+机器人等自动化拍摄手段,对监控对象实施全景全方位的监控。我这张 PPT 上展示了同一个鸟巢两个不同角度拍摄的结果。第一张图,这个鸟巢是非常难以辨识,换一个角度,这个位置的鸟巢比较容易识别出来了。
由于我刚才提到的鸟巢跟铁塔的构建有很多地方是比较相像的,而且拍摄的角度原因,很难将清晰鸟巢完整拍摄下来,因此这个模型训练检测的准确率是 81.25%。右边这张图是我们在互联网上找到的图,我们把它做了一个检测,非常方便检测出来,效率也是非常高的。
刚才我们做训练的数据集在云空间上也做了共享,大家可以用我们提供的样本数据集做一个训练。
鸟患数据集链接:
https://ai.baidu.com/easydl/app/invitation?token=4d74287249cbf394085aa5e13bfe0f17
挖掘机数据集链接:
https://ai.baidu.com/easydl/app/invitation?token=4c5eb4cad1ba1b6f7717b3a950a831ff
好,接下来我简单给大家展示一下过程。我们使用的是EasyDL经典版的物体模型。一共创建了两个模型。
首先看一下挖掘机的检测情况,这个检测切断 mAP 值精度达到了 100%,所以它还是非常准的,这里将待检测的照片调出来看一下检测结果,这张照片我们是选的黑白照片,而且是不够清晰,比较粗糙的照片,可以看到它的准确率还是非常准的。再换一张,这张照片是一台单独的挖掘机,也是非常快的识别出来了。
我们再看一下鸟巢检测的过程,刚才我在 PPT 里展示的照片也是非常快地能够检测出来,标注出来,它当前的阈值是 0.9。我们再看一张拍摄效果不是很清晰的照片,这张照片因为底色包括照片质量都不是很好,但是大家也可以看到,它是非常快速地能够识别出来并标注出来。
EasyDL 是百度 AI 开放平台下面的零门槛 AI 开发平台,大家应该都对 EasyDL 有了一定的了解。经过多年发展,EasyDL 已经开放了三个不同的版本,面向不同的用户群体,分别是经典版、专业版和零售版。不管是哪个版本,EasyDL 定制模型服务都是分三个阶段,首先是对原始数据进行处理,然后再进行模型的训练和评估,最后是把某些服务进行部署在生产环境中进行集成。
EasyDL 在服务部署环节希望解决用户在 AI 能力落地时面临的痛点,包括服务搭建和运维成本比较高,嵌入式部署的时候,硬件运行困难比较大,硬件适配开发比较大,性能调优时候难度比较大,这些都是 EasyDL 希望能解决的问题。
EasyDL 服务部署支持把模型部署到服务器和边缘端。现在有四种方式,公有云是部署到百度的公有云环境中,提供的是云端的 API 给用户调用,也可以授权给第三方进行调用。云服务能够稳定承载用户高并发的请求,同时免去用户对模型服务的运维。另一方面是云服务还是支持云端服务闭环,能够把在线调用的数据反馈到训练集,迭代模型训练,持续优化模型的效果。
第二种方式是私有服务器部署,能够把模型部署到用户本地的服务器,主要是面向内网环境,还有是对时延敏感,或者是数据敏感的情况,一个是可以提供部署包,通过一键部署的方式部署一个和云端一致的 API 服务,还有就是提供 SDK 让用户支撑自己的服务。
第三种方式是通用设备端的 SDK,这个是面新手机和嵌入式硬件设备,可以把 SDK 集成到手机 APP 或者宿主机,广泛支持不同硬件和操作系统,针对各种芯片也做了加速。还有我们提供的软硬一体产品,这个是把性能的方案和专项适配的 SDK 相结合,提供了多种方案可选择,包括百度自研的 EdgeBoard 系列,还有 EasyDL-NVIDIA Jetson 系列。
想必大家会关心在自己的应用场景下如何选择,简单介绍一下选择方法。首先公有云部署是最容易上手的,如果能连接公网对服务响应要求不是很高可以快速集成,就像田老师课程中讲的,生产环境是离线的,也可以先用公有云部署进行试验,再离线做部署。
在离线场景下,如果对准确率要求比较高的,还是推进把服务部署在服务器上,用 GPU 跑的话更快,效果也会更好。如果对实时性要求很高,但是对识别的精度有一些取舍的时候,这时候可以把模型部署在端上,因为设备端的模型会做一些裁剪压缩,能够符合不同设备的限制,对存储或者芯片有限制,这样对精度也可能有一些影响。
这边有两种方案,一种是设备端 SDK,能满足手机和嵌入式设备的应用。如果大家对硬件没有选型的时候,用 EasyDL 的产品还没有做硬件选型,推荐大家考虑 EasyDL 的软硬一体产品,EasyDL 有专门的优化,同时服务部署的时候,我们能够快速的定位,可以帮大家解决问题。
接下来会对刚才说到的几个离线场景的部署方式进行简单介绍。私有服务器部署有两种方式,一种是刚提到的私有服务器 API,用户在本地服务器部署和云端一致的 API 服务,这个是我们用了百度的 Easy Pack 工具,是一键部署工具,会对机器的硬件环境检查,看是否适合安装,比如 Docker 环境,还有鉴权服务,然后部署一个 Docker 容器,访问容器中的服务和云端的 API 两种服务。
第二种方式就是服务器端 SDK,包含了模型,还集成了加速库和工具库,SDK 支撑很多异构的硬件,能直接调用 SDK 的接口,可以在不同硬件上使用模型,集成到自己的应用或者应用里,我们是提供了两种不同的方式,鉴权方式也是不一样的,私有服务器 API 是全离线的鉴权,需要在物理之上进行鉴权。SDK 是需要联网鉴权,会给你一个 license,第一次使用的时候需要联网对 license 进行激活,后面可以全离线的使用。
通用设备端 SDK,一方面适配市面上常用的手机,包括 Android 和 IOS 系统的,涵盖还是很全的,另外适配各类 5A 型手机,开发版和计算芯片都可以覆盖。手机端 SDK 内置了一个 DEMO 的 APP,有一些基本交互界面,可以快速进行适用,无论在什么设备上,SDK 接口都是统一的,调用方法也是类似,方便大家做二次开发。设备端 SDK 适配同时对芯片做针对性用法,可以看一下官网的介绍,这样大家就不用再关注硬件了,使用统一的接口集成到设备或者手机的 APP 里。
再接下来讲一下软硬一体方案,通过把高性能的计算设备和深度适配过的设备端 SDK 相结合,方便大家选型时候集成到自己的生产环境。EdgeBoard 是百度自研产品,前面预告片提到,包括计算盒和计算卡、加速卡,有的可以直接步入,有的可以嵌入到系统,作为加速卡做嵌入式使用,这些大家可以在百度 AI 市场可以买到。
百度 AI 市场搜索 EasyDL:https://aim.baidu.com/product/search?word=EasyDL
另外是新推出的 NVIDIA Jetson,目前正在陆续在 AI 市场商家,从 Nano,TX2,到 Xavier,满足不同型号的要求,物体检测模型可以在百毫秒以内完成。
课程笔记——基于EasyDL+AR实现地下资产管理
讲师:上海巡智科技有限公司工程师 赵志伟
百度AI开发平台部 资深研发工程师 张老师
课程时间:2020年5月23日
课程大纲:
- 地下资产管理行业现状及痛点介绍
- 如何使用EasyDL+AR进行地下资产管理
1.地下资产管理现状及痛点介绍。
首先看一下什么是地下资产管理,地下资产管理就是对地下下基础设施和管线的管理。包括对供水、供电、燃气、热力、污水、雨水等地下设施和管线的定期巡查、维护、保养和应急抢修等。这里地下资产管理指的是人工建设的基础设施和管线,并不包括矿产资源和自然资源。
进行地下资产管理的原因:我们城市化进程起步较晚,地下管线的管理和规划还不是很到位,导致了城市建设中经常出现因外力对地下管线造成破坏的情况出现,造成通信中断、交通中断、停水、停电、停气等事故,对整个城市的运行效率和质量造成了不利的影响。
因此对地下管网巡检显得尤为重要,我们今天以水务行业为例,介绍一下地下管网巡检。
水务行业地下资产管理常见问题第一是找不到阀门,主要是体现在从未见到过的阀门,大家知道上海地区历史比较悠久,有的阀门在我们数据库里是记录的,但是现在水司人员从来没有找到过这样的阀门。
第二是已知阀门被堆没,以前巡检的时候这个阀门是存在的,由于城镇化进程被绿化堆没了,可能被建筑垃圾堆没了,存在这样的问题。第三是由于人员能力经验不足造成的找不到阀门。第二个问题就是故障检修难的问题,主要表现在模型的轴心损坏,传动生锈,闸板不密封等等。
第三个问题就是关错阀门,主要体现在管道连接关系搞错了,阀门的位置和口径搞错,还有就是人员经验问题造成的关错阀门,阀门多,种类多,专业人员少,培养周期长,检测受周期环境影响大,成本高等问题。
传统的阀门巡检管理还存在这对于人员专业能力要求高,而且培训的周期特别长,要是真正成为一个老师傅,这个周期要一到两年的师傅带徒弟的方式。第二就是巡检的周期长,进度慢,管理者考核难。第三就是在爆管的时候会存在水没的情况,第四就是外单位的堆没,前面已经提到了,由于建筑垃圾的堆没和城市道路的翻新堆没了。
针对这样的问题,我们上海巡智科技有限公司多年专注在地下资产管理。2017 年与浦东威立雅水司合作开发“AR智慧阀门巡检系统”,后陆续开发了城市地下资产智慧管理系统系列产品。国内首款将人工智能、增强现实和云计算成功的运用到水务相关致力于城市地下资产的现场智能管理。
介绍一下 EasyDL 智慧阀门巡检系统。AR 智慧阀门巡检系统是以智能手机为载体、运用最新 IT 技术,实现阀门巡检工作从信息化到智能化飞跃的一款最新的运用软件。
本系统利用人工智能算法实现对巡检现场环境的识别,利用机器视觉定位技术在巡检现场实现阀门与数据的匹配,利用 AR 技术实现数据可视化,可使地下管线、阀门等资产的信息直观呈现在巡检人员面前。
我们看到右下角这个图,展示的蓝色和绿色的管线,管线是埋在地下,我们看不到,我们通过 AR 虚拟展示是现在路面上,1 号显示这个阀门上有一个虚拟的阀门,在应急抢先操作中,抢先人员按照编号指示关闭阀门,当前的位置是 1 号阀门,操作人员先关闭 1 号阀门,然后按照箭头的 AR 导航顺序,依次关闭阀门,操作是非常简单。
与传统的巡检对比,传统的巡检地下管网和阀门定位难、误差大,利用 EasyDL 智能巡检,地下管网和阀门定位简便而且准确。第二就是存在着师傅带徒弟,人员培训时间长,我们的产品只要学会手机的 APP 使用即可,门槛非常低,即使是刚入职的员工也可以经过一个礼拜左右的培训,就可以完成培训任务。
第三点就是人员经验难以积累到系统,前面也提到过,巡检靠经验丰富的老师傅才能找到阀门,系统可以把老师傅的经验直接自动的固化到系统里,即使是小白也可以很方便的找到阀门。第四点就是现场工作依赖人员的经验,使用搭角线图和皮尺等工具,使用 AR 系统通过屏幕直接可视化的操作。
第五就是传统的巡检马路作业时间较长,有安全隐患,用我们系统一定程度上减少马路上作业时间。第六就是现场操作人员数量偏多,用工成本较高,用我们的系统可以减少操作人员数量。
第七就是传统的巡检工作比较枯燥,削减员工的热情,我们的系统将巡检工作游戏化,而且通过在线激励的形式激发一线员工的工作热情。第八就是户外巡检工作管控有死角,传统的巡检就是人员派出去巡检了,到底有没有进行巡检操作,作为一个管理者很难进行管控,通过我们的系统,系统自动记录巡检的轨迹和操作的过程,使得巡检过程透明可视。
最后一点就是巡检对象相关数据的获取、录入、处理、审核,传统是以人工为主,造成巡检效率低且容易出现误差、偏差的情况。用我们的系统,就可以借助人工智能、增强现实大数据等提升了数据处理工作和巡检工作效率和质量。
下面我介绍一下系统的技术方案:EasyDL+AR的方案。首先是进行了目标检测,这里运用了EasyDL,后面还要进行详细的介绍,主要是通过智能识别现场环境,检测目标物体,智能手机数据,这里检测的物体就是井盖、消防栓、树等参照物,将EasyDL 检测到的物体的像素坐标转换为世界坐标,通过机器视觉进行定位。
定位我们采用了二次定位的方式,第一次是通过GPS定位到大致的区域,大家都知道手机没有用GPS的时候是存在误差的,误差有 10 米以上的误差,有一个准确的位置以后,我们把GPS的位置捞取出来,利用现场不同实物的相关关系与数据库中的数据进行比对实现数据匹配。
第三就是增强现实,通过对空间进行识别,将业务数据叠加到现场,实现数据的可视化。最后就是利用云计算,实现服务部署的简单化、数据可配置化。
下面介绍一下如何使用 EasyDL 训练物体检测模型。第一点就是前期的准备,要梳理业务的需求,明确需要检测的目标参照物体。例如圆井盖、方井盖、消火栓、路灯、大树等固定物体作为参照物。第二步就是整理数据集,按照业务需求,需要检测不同的目标物体,采集日常巡检工作中的设备参照物的照片进行训练,如下图所示,这是我们现场实际采集的照片。
第三步就是数据的标准和上传,考虑到数据的可持续应用,采用了本地标注,通过接口批量接口上传到 EasyDL,EasyDL 也提供了在线标注,标注的数据存在百度大脑这边,本地就没有。第四就是模型训练,我们采用了经典版和专业版进行了物体检测训练,经典版比较容易操作,适用于小白,不懂算法的,经过一天的学习可以很方便的使用。
专业版就是提供给一些可选择,包括数据增强和网络可选,ssd、YOLOV3 等等,可供用户选择的余地比较大,我们都进行部署。云服务就是 API 或设备 SDK 部署,还有安全产品线授权,APP 类应用推荐部署方式。
可以看到右图所示是我们实际操作的截屏,消防栓就是 EasyDL 识别出来的物体,通过 AR 的方式将虚拟物体叠加到模型上,瞄准框指向阀门的时候,上面显示出阀门的关键字,这个大家可能看不懂,但是对于客户来讲,这是很重要的标识,可以看到阀门的口径是 100,我们这里显示的距离就是当前站立点距离图像的距离,是 2.9 米。
EasyDL 使人工智能变得更加简单,有几点原因:操作简单易上手,降低了 AI 使用门槛,经典版不需要会算法,专业版会简单理论基础即可。实施容易,操作简单,节省时间。数据集管理支持本地标注图片上传。部署灵活,可云端部署,本地部署以及软硬一体部署。第二点就是成本低,不需要购买昂贵的 GPU,不需要自己组建专业团队,EasyDL 团队来维护模型算法升级。
第三点就是少量数据可实现高精度,通过定制识别模型,精准度更高,支持在模型迭代过程中不断扩充数据,助力提升模型效果。仅仅标注少量照片就可以实现初步的识别,EasyDL 专业版,可以自主选择多种神经网络,更深度的参数调节。右边这个小视频,就是我们现场操作的一个视频,可以看到把虚拟的物体叠加到实际物体上。
下面简单介绍一下 AR 的技术,经常玩游戏的人对 AR 多少有一些了解,有一款游戏是口袋妖怪,也是通过AR抓妖怪的。增强现实的技术主要是把虚拟的信息叠加到现实世界当中,使人能够感知到虚拟物体,真实的环境和虚拟物体实时叠加到同一个画面,在空间当中同时存在。
右图是天猫的一个游戏,以前经常有的抓猫游戏,可以看到虚拟的黑猫叠加到了现实的环境当中。其实我们这个团队以前是在游戏行业的,也是做游戏的,很多团队成员都是从那里跨界过来的,把 AR 也带到了水务行业。
这是我们的AR实现效果,可以看到这是阀门的虚拟物体,叠加到现场的阀门之上,瞄准框指向的位置显示出阀门的编号包括它的口径和转数、转向,这都是上海地区的截图。主要是利用了ARcore 对空间进行识别,建立空间坐标系统,利用 slam 技术将屏幕像素坐标转换为空间世界坐标。
通过匹配把现场的阀门,是我们数据库中哪个阀门,然后利用 AR 技术将虚拟物体展示在实际的物体之上。
这款产品的亮点是使不可见的地下管线及阀门变为可见,能够更好解决巡检到位率和有效性,能够快速方便识别出所需要操作的阀门,找到有问题的阀门。现在正在打造一些新服务,包括室内巡检、多人现场协作巡检、无人机远程的巡检,包括通过 AR 眼镜的巡检。
另外我们请到了百度AI开发平台部门的资深研发工程师张老师演示如何在手机设备上部署EasyDL的模型。
首先打开 EasyDL 的官网,然后在开发平台,EasyDL,我们选择专业版进行演示。进入这里,整个过程会有三个步骤,第一步是数据准备,然后再进行模型训练,训练完了以后再进行模型的部署。
我们先来做第一步,创建一个数据集,我们准备的是一个水果检测的数据集,里面包含了奇异果、小番茄,我们选择物体检测的数据集,然后创建。创建完了以后,导入数据,这边准备的是已经标注好的数据,上传一个压缩包,然后确认。这个时候数据集就在导入中了,刷新一下,它会慢慢进行导入,为了节约时间,我这边已经提前导入了一个数据集,我们可以看一下里面都有什么内容。主要是奇异果和小番茄,如果大家导入的是未标注的数据集,可以在这边进行标注,这边会有对应的图片进行标注,我不再详细讲了。
刚才导入的数据集已经导入的差不多了,还要等一会,我们先进入下一步,就是模型的训练。模型的训练,我们提供了两种方式,一个是脚本调参的模型训练,另外一个是 Notebook 的训练,我们这边选择脚本调参演示。选择物体检测,脚本调参,水果、奇异果、小番茄检测,然后创建项目。创建完了以后就可以开始训练,这里是包含几个部分,前面是项目的信息,下面是添加一个数据参与训练,再下一步是进行任务的配置。
我们先添加数据,刚才我上传的数据集已经导入完了,这边可以看到,里面包含两类,一个是小番茄,另外一个是奇异果,我们添加进来,确定。数据已经添加好了,如果对一些数据比较少的情况下,我们可以用数据增强的策略,这里不展开讲了,我们就选默认。评测就是你可以添加一些相关的图片进去,我们会帮你做这部分数据集的效果评估。
下面是任务的配置,刚才也讲了,我们最近上线了百度超大规模视觉预训练模型,对物体检测我们有两个,当然这两个网络因为它比较大,就不适合在手机上跑,可能有一点点性能上不是特别好,我们就选择后面这中。我们选择ssd,在手机上运行较快。下面是训练代码的模板,这边不做修改了。实际在训练的时候,可以在不同的机器上进行训练,EasyDL也会为每个账户提供100个小时免费训练,我们就选择免费的训练,然后提交。
这边已经开始训练了,可以在这边勾选一下,训练完了以后通过短信的方式通知我们,这边在训练了。我也是提前训练好了,为了节省大家时间。我这个数据集不是特别大,大概是 8 分钟就训练完了,一般情况下,现在训练的时间也都比较快,我们挑其中一个,下一步就是部署,我们点部署。
这边也为大家提供了丰富的部署方式,可以部署到公有云、API,也可以做私有化服务器的部署,还有设备端 SDK,还有专项硬件的 SDK,手机端就是通用设备端的 SDK,这里四个操作系统都有支持,我们选择手机端的,Android 和 IOS,大家根据自己的需要进行选择,点击部署,通用设备端。这个已经在发布中了,这个发布大概需要十来分钟左右,这里我也提前发布好了一些,发布好了以后,就在我的服务里,通用摄像头端 SDK 有一个详情,我这边是事先发布好了一个,包括 Android 和 IOS 的 SDK,这边可以进行 SDK 的下载,还有一个获取序列号的功能。右边有一个二维码,可以直接扫描体验
我这边演示一下体验的过程,先把手机屏幕拉进来。我们进行下载这个二维码,大家也可以扫描,这个二维码现在大家都可以用。当然二维码有一个持续的时间的,不用担心。这边是在下载,一会进行安装,我们先等一会,我们继续演示下面的步骤。这个 SDK 是未授权的 SDK,需要序列号进行激活,我们可以查看序列号。
我们为大家提供了多种类型序列号选择,有单台设备,也有可以激活多台设备的序列号,对于手机端 APP 来说,按产品线激活是推荐的方式,可以在这边点击新增,选择对应的操作系统,包名,大家有 Android 和 IOS 开发经验的人就知道这个意思,按自己的实际情况填写。这样我们就得到了一个序列号,按包名激活的序列号,这个页面里提供了 SDK 的下载,这边也可以选择。
下载完SDK以后,这边获取到了对应的序列号,可以查找开发文档,选择对应的操作系统,按照这个文档进行操作,Android 自带了 DEMO 的 APP,IOS 也是一样的。大家可以扫这个二维码体验,我们这边已经看到手机上 DEMO APP 已经装好了。点开始使用,这边是一个水果识别的 APP,这个 APP 里可以通过拍照识别,我们试一下。
这里有一个小番茄没有识别出来,应该跟数据集图片比较少有关系,大家可以多提供一些图片,训练的时候也可以做数据增强的配置,提升自己模型的效果。返回,还有一个实时识别的功能,点一下,可以看到 ssd 在设备端跑起来比较快,而且比较准。
自己使用的时候,还可以点击相册里的图片进行识别。
在本周 5 月 27 日至 5 月 29 日,将会是 EasyDL 产业应用系列的英伟达 NVIDIA 专场,来自百度 AI 开发平台部的高级研发工程师、高级产品经理将会联手英伟达多位讲师,为大家从产品、技术架构来介绍新上线的 EasyDL-NVIDIA Jetson 系列软硬一体方案,并会为大家带来两个实战案例:行车场景下的车辆和人物识别模型与使用 EasyDL-Jetson Nano 部署方案;使用 deepstream 进行果蔬结算称案例的视频数据处理与模型训练。
参加下一期的课程,请添加小助手的微信并备注**“部署**”,进入到课程沟通群,随时与开发者共同沟通,探讨技术问题。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
精华推荐