智能标注、电力和地下管网巡检,CV算法落地方案

2020-05-29 10:40:28 浏览数 (1)

——EasyData助力智能云秤一站式数据管理

讲师:

百度AI开发平台部高级研发工程师 林克

本次课程的内容是由百度AI开发平台部高级研发工程师林克,带来EasyData助力智能云秤一站式数据管理的课程,同时会为我们演示智能云秤水果采集、训练及识别的操作,我们欢迎林克老师。

大家晚上好,我是来自百度AI开发部的林克,今天带来的课程是EasyData助力智能云秤一站式数据处理,主要面对深度学习感兴趣,以及关注行业场景阐述一站式解决方案的人群。

今天主题分为两部分,首先我介绍一下EasyData智能数据服务平台,之后会结合智能云秤的案例演示一下接入数据的训练到部署的流程。

EasyData智能数据服务平台是一个提供数据采集、标注、清洗、加工等一站式数据服务,助力开发者高效获取AI开发所需高质量数据的平台,4月份刚刚上线。

下面看一下它大概的结构,首先说一下为什么要推出EasyData这款产品。

主要有三点,大家可能都知道,AI=数据 算法 算力,百度EasyData一站式开发平台在算法和算力和部署上做了很多工作,有EasyData经典版和专业版,虽然支持了部分数据的功能,像现在一些数据已经上传,但是不是很系统,所以我们针对数据进行了梳理,推出了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的介绍我已经简单快速地介绍了,下面开始我们结合EasyData对一个果蔬识别模型训练和部署实战的演示。

这个例子是中科立业智能云秤结合AI的EasyData快速落地,使用EasyData进行数据生产,模型训练,然后将模型功能用到智能云秤上,目前识别出50种水果,识别率达到95%以上,随着对模型继续迭代,准确率还可以继续提升。

首先我们需要一个创意,受到新冠肺炎的影响,为了减少人员接触,能否在购买水果蔬菜时候避免人员接触,考虑到人们购买水果蔬菜种类不一样,不能像超市一样扫码结算,针对图像和称重识别出哪种水果,然后计算出水果的单价,最后生成支付的二维码。

这几幅图是场景上经常用的图,有一些问题,首先样本不均匀,因为我们买的水果是几类比较多,有一些偏门的水果数据量不多,可能造成数据训练时候有一些标签不是非常准,数据量多的水果训练效果好一些,这里可以用到数据增强的功能。

第二个问题,可以看到图片上有一些水果是被塑料袋包裹的,因为结算时候可能把塑料袋直接去秤,我们需要对包裹水果的识别率

还有一个问题,有些水果它是一个拉类,比如橙子、橘子、葡萄,可能彼此之间非常相似,这也需要一些数据增强,以及对数据的调整,达到训练的效果。

还有一些光线的问题,这里对规范化数据的建议,像这种场景,我们总结出来数据输入方,就是单图单标签,单类单个结算,另外两种场景就是提供的数据训练一个是带包装盒的,另外一个是带塑料袋的,这就是数据生产的规范化。

这个图展示了从硬件到准备部署的全流程。首先准备一个秤和摄像头,访问EasyData入口,一直到最后的模型部署的训练。接下来会走到实操的环节,我会在页面上给大家演示一下整个EasyData的数据接入到训练部署的流程。

首先可以看到现场有一个摄像头,大家可以看到,现场有一个摄像头,前面放了一个水果,这就是云秤的原型,前面放了一袋樱桃,我切到云秤下面摄像头的视角,大概是这样的视角。

一会连接到这个摄像头,下载SDK采集数据。首先打开页面,输入网址,在上面找到开发平台,最右侧的EasyData智能数据服务平台,点击进入,也可以直接输入链接来到它的地址,点击立即使用。

现在可以看到,这是EasyData的管理平台,左侧是功能,几大块数据总览,下面是标注,有在线标注,智能标注,还有标注的支持,如果你是标注的新手,可以提交给我们寻求一些支持。

这块是摄像头采集图片,也就是一会要做的,在这里下载SDK把我们的摄像头部署好,还有一个云服务获取数据,这个最后再讲。最下方是清洗任务的管理。

首先我们点击摄像头管理,这边有一个下载本地软件,点击下载,我事先准备好了一个下载好的版本,在这里,先解压。之后进入文件夹,有三个压缩包,针对不同平台的SDK,有Windows,LINUX和ARM三种,这三种系统都可以支持。

今天使用的电脑是Windows系统,所以解压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以后,如果有调用,可以不断完善数据的精度,就是数据可以不断地接进来。

2020年5月22日课后知识点笔记

——电力AI巡检应用分析

讲师:

国网上海市电力公司电力科学研究院副总工 田英杰

百度AI开发平台部 资深研发工程师 孔明

识别演示

田英杰:各位在线的小伙伴们大家好,我是上海电科院的田英杰,非常高兴有机会跟大家分享我们用EasyDL在电力巡检方面所做的一些应用。

今天我介绍分三部分,首先介绍上海电力人工智能工程技术研究中心的情况,然后再分析电网巡检的现状及痛点,最后介绍如何使用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

好,接下来我简单给大家展示一下过程。

进入这个界面,跟大家说一下,首先在开发平台上,我们是用的经典版的定制模型。开始训练,选择物体检测,我们建了两个模型。

首先看一下挖掘机的检测情况,这个检测切断mAP值精度达到了100%,所以它还是非常准的,这里将待检测的照片调出来看一下检测结果,这张照片我们是选的黑白照片,而且是不够清晰,比较粗糙的照片,可以看到它的准确率还是非常准的。

再换一张,这张照片是一台单独的挖掘机,也是非常快的识别出来了。

我们再看一下鸟巢检测的过程,刚才我在PPT里展示的照片也是非常快地能够检测出来,标注出来,它当前的阈值是0.9。我们再看一张拍摄效果不是很清晰的照片,这张照片因为底色包括照片质量都不是很好,但是大家也可以看到,它是非常快速地能够识别出来,能够标注出来。

我就简单介绍这么多,非常感谢大家的聆听。下面欢迎百度AI工程师介绍一下模型离线部署的情况。我在这个过程当中,针对我刚才介绍的部署的情况,大家有什么疑问欢迎流言,等一下我们将大家的问题集中起来做一个回答,谢谢。

孔明:非常感谢田老师关于电力AI巡检做的分享,接下来我将对EasyDL在不同场景下提供的部署方式再做一些补充介绍。

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,满足不同型号的要求,物体检测模型可以在百毫秒以内完成。

时间:2020年5月23日(线上)

时间:2020年5月23日(线上)

2020年5月23日课后知识点笔记

——基于EasyDL AR实现地下资产管理

讲师:

上海巡智科技有限公司工程师 赵志伟

百度AI开发平台部 资深研发工程师 张老师

赵志伟:大家好,我是上海巡智科技有限公司工程师赵志伟,今天为大家分享一下基于EasyDL AR的地下资产管理

主要分两个方面进行介绍,第一是地下资产管理的现状以及痛点介绍。第二是如何使用EasyDL AR进行地下资产管理。

我们看第一方面,地下资产管理现状及痛点介绍。

首先看一下什么是地下资产管理,地下资产管理就是对地下下基础设施和管线的管理

包括对供水、供电、燃气、热力、污水、雨水等地下设施和管线的定期巡查、维护、保养和应急抢修等。这里地下资产管理指的是人工建设的基础设施和管线,并不包括矿产资源和自然资源。

为什么要进行地下资产管理,我们城市化进程起步较晚,地下管线的管理和规划还不是很到位,和国外相比,国外的地下都是可以跑汽车的,我们国家还达不到,这样就导致了城市建设中经常出现因外力对地下管线造成破坏的情况出现,造成通信中断、交通中断、停水、停电、停气等事故,对整个城市的运行效率和质量造成了不利的影响。

因此对地下管网巡检显得尤为重要,我们今天以水务行业为例,介绍一下地下管网巡检

水务行业地下资产管理常见问题第一是找不到阀门,主要是体现在从未见到过的阀门,大家知道上海地区历史比较悠久,有的阀门在我们数据库里是记录的,但是现在水司人员从来没有找到过这样的阀门。

第二是已知阀门被堆没,以前巡检的时候这个阀门是存在的,由于城镇化进程被绿化堆没了,可能被建筑垃圾堆没了,存在这样的问题。

第三是由于人员能力经验不足造成的找不到阀门。

第二个问题就是故障检修难的问题,主要表现在模型的轴心损坏,传动生锈,闸板不密封等等。第三个问题就是关错阀门,主要体现在管道连接关系搞错了,阀门的位置和口径搞错,还有就是人员经验问题造成的关错阀门,阀门多,种类多,专业人员少,培养周期长,检测受周期环境影响大,成本高等问题。

传统的阀门巡检管理还存在这对于人员专业能力要求高,而且培训的周期特别长,要是真正成为一个老师傅,这个周期要一到两年的师傅带徒弟的方式。第二就是巡检的周期长,进度慢,管理者考核难。第三就是在爆管的时候会存在水没的情况,第四就是外单位的堆没,前面已经提到了,由于建筑垃圾的堆没和城市道路的翻新堆没了。

针对这样的问题,我们上海巡智科技有限公司多年专注在地下资产管理。2017 年与浦东威立雅水司合作开发“AR智慧阀门巡检系统”,后陆续开发了城市地下资产智慧管理系统系列产品。国内首款将人工智能、增强现实和云计算成功的运用到水务相关致力于城市地下资产的现场智能管理。

介绍一下EasyDL智慧阀门巡检系统。AR智慧阀门巡检系统是以智能手机为载体、运用最新IT技术,实现阀门巡检工作从信息化到智能化飞跃的一款最新的运用软件。

本系统利用人工智能算法实现对巡检现场环境的识别,利用机器视觉定位技术在巡检现场实现阀门与数据的匹配,利用AR技术实现数据可视化,可使地下管线、阀门等资产的信息直观呈现在巡检人员面前。

我们看到右下角这个图,展示的蓝色和绿色的管线,管线是埋在地下,我们看不到,我们通过AR虚拟展示是现在路面上,1号显示这个阀门上有一个虚拟的阀门,在应急抢先操作中,抢先人员按照编号指示关闭阀门,当前的位置是1号阀门,操作人员先关闭1号阀门,然后按照箭头的AR导航顺序,依次关闭阀门,操作是非常简单。

现在就给大家演示一下这个巡检过程的录屏,APP打开,先对现场环境进行识别,然后通过物体检测识别出来一个水表,通过识别匹配把信息显示到屏幕之上。

这里显示出以往的巡检记录,当我们瞄准框指向这个设备数据的时候,上方会显示数据的属性,通过点击下面巡检按钮,就是录视频的方式,把现场的操作实时的传到后台服务器,这是巡检完成的过程。这是一个在线水表,把水表在线数据实时展示在屏幕之上。

瞄准框对准了这个阀门,点击右上角的三角会显示阀门的详细信息,可以看到管线中的水流效果,水在水管中进行流动,这是整个巡检过程中的录屏。

这款产品与传统的巡检进行了比较,从以下几个方面。传统的巡检地下管网和阀门定位难、误差大,利用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眼镜的巡检。

工程师:直播间的朋友们大家好,我是EasyDL研发工程师,首先感谢赵志伟老师给我们带来精彩的分享。我给大家演示一下怎么在手机设备上部署EasyDL的模型。

首先打开EasyDL的官网,然后在开发平台,EasyDL,我们选择专业版进行演示。进入这里,整个过程会有三个步骤,第一步是数据准备,然后再进行模型训练,训练完了以后再进行模型的部署。

我们先来做第一步,创建一个数据集,我们准备的是一个水果检测的数据集,里面包含了奇异果、小番茄,我们选择物体检测的数据集,然后创建。创建完了以后,导入数据,这边准备的是已经标注好的数据,上传一个压缩包,然后确认。

这个时候数据集就在导入中了,刷新一下,它会慢慢进行导入,为了节约时间,我这边已经提前导入了一个数据集,我们可以看一下里面都有什么内容。主要是奇异果和小番茄,如果大家导入的是未标注的数据集,可以在这边进行标注,这边会有对应的图片进行标注,我不再详细讲了。

刚才导入的数据集已经导入的差不多了,还要等一会,我们先进入下一步,就是模型的训练。模型的训练,我们提供了两种方式,一个是脚本调参的模型训练,另外一个是Notebook的训练,我们这边选择脚本调参演示。选择物体检测,脚本调参,水果、奇异果、小番茄检测,然后创建项目。

创建完了以后就可以开始训练,这里是包含几个部分,前面是项目的信息,下面是添加一个数据参与训练,再下一步是进行任务的配置。我们先添加数据,刚才我上传的数据集已经导入完了,这边可以看到,里面包含两类,一个是小番茄,另外一个是奇异果,我们添加进来,确定。

数据已经添加好了,如果对一些数据比较少的情况下,我们可以用数据增强的策略,这里不展开讲了,我们就选默认。评测就是你可以添加一些相关的图片进去,我们会帮你做这部分数据集的效果评估。

下面是任务的配置,刚才也讲了,我们最近上线了百度超大规模视觉预训练模型,对物体检测我们有两个,当然这两个网络因为它比较大,就不适合在手机上跑,可能有一点点性能上不是特别好,我们就选择后面这中。我们选择ssd吧,在手机上跑起来比较快。

下面是训练代码的模板,这边不做修改了。实际在训练的时候,可以在不同的机器上进行训练,EasyDL也会为每个账户提供100个小时免费训练,我们就选择免费的训练,然后提交。

这边已经开始训练了,可以在这边勾选一下,训练完了以后通过短信的方式通知我们,这边在训练了。我也是提前训练好了,为了节省大家时间。

我这个数据集不是特别大,大概是8分钟就训练完了,一般情况下,现在训练的时间也都比较快,我们挑其中一个,下一步就是部署,我们点部署。这边也为大家提供了丰富的部署方式,可以部署到公有云、API,也可以做私有化服务器的部署,还有设备端SDK,还有专项硬件的SDK,手机端就是通用设备端的SDK,这里四个操作系统都有支持,我们选择手机端的,Android和IOS,大家根据自己的需要进行选择,点击部署,通用设备端。

这个已经在发布中了,这个发布大概需要十来分钟左右,这里我也提前发布好了一些,发布好了以后,就在我的服务里,通用摄像头端SDK有一个详情,我这边是事先发布好了一个,包括Android和IOS的SDK,这边可以进行SDK的下载,还有一个获取序列号的功能。

右边有一个二维码,就是给大家生成了一个DEMO的APP,手机可以直接扫描二维码,在手机端进行体验。

我这边演示一下体验的过程,先把手机屏幕拉进来。我们进行下载这个二维码,大家也可以扫描,这个二维码现在大家都可以用。当然二维码有一个持续的时间的,不用担心。

这边是在下载,一会进行安装,我们先等一会,我们继续演示下面的步骤。这个SDK是未授权的SDK,需要序列号进行激活,我们可以查看序列号。

我们为大家提供了多种类型序列号选择,有单台设备,也有可以激活多台设备的序列号,对于手机端APP来说,按产品线激活是推荐的方式,可以在这边点击新增,选择对应的操作系统,包名,大家有Android和IOS开发经验的人就知道这个意思,按自己的实际情况填写。

这样我们就得到了一个序列号,按包名激活的序列号,这个页面里提供了SDK的下载,这边也可以选择。

下载完SDK以后,这边获取到了对应的序列号,可以查找开发文档,选择对应的操作系统,按照这个文档进行操作,Android自带了DEMO的APP,IOS也是一样的。

大家可以扫这个二维码体验,我们这边已经看到手机上DEMO APP已经装好了。点开始使用,这边是一个水果识别的APP,这个APP里可以通过拍照识别,我们试一下。

这里有一个小番茄没有识别出来,应该跟数据集图片比较少有关系,大家可以多提供一些图片,训练的时候也可以做数据增强的配置,提升自己模型的效果。返回,还有一个实时识别的功能,点一下,可以看到ssd在设备端跑起来比较快,而且比较准。

自己使用的时候,也可以点击相册里的图片进行识别,我不演示了,大家也可以扫描体验一下。

0 人点赞