最近又Get个新技能,不是全栈也能用技术倒腾点东西赚零花钱了!

DD的博客全面升级,阅读体验更佳(尤其是系列教程),后续不再通过这里发布新文章,而是改到 www.didispace.com 发布啦,奔走相告!点击直达~

最近疫情又开始紧张起来,一个做智能设备的张同学问我,他们的客户想在打卡的地方检查员工是否有戴口罩进出,记得我之前分享过一个开源的框架,发给他看看。过了2天,他又来找我:你这推荐的什么鬼开源,一点都不准,太不给力了,还有其他方法可以快速集成的么?

凭着技术人的快速搜索能力,我发现了一个不错的好东东:百度EasyDL。特地拿出来给大家推荐这个工具不仅是因为通过它,帮助朋友解决了问题,同时还给了自己一些新的启发,或许后续有啥想法还能用这个折腾点东西,赚赚钱!而且,我觉得EasyDL最大的魅力在于对开发者的技能并不那么挑,大部分人都可以快速上手,并可能利用它给自己带来收益!

下面我就分三部分给大家介绍一下,以及我们可以用它来做啥:

  • 啥是EasyDL?
  • 初步尝试
  • 进一步思考

百度EasyDL简介

啥是百度EasyDL?在介绍我的尝试之前,我们先了解一下它的背景。

百度EasyDL是基于飞桨开源深度学习平台,面向企业AI应用开发者提供的零门槛AI开发平台,实现零算法基础定制高精度AI模型。它提供了极其丰富的应用模型,比如:图像的识别、文字的识别、语音的识别、文本的分类、甚至还有机器学习的表格数据预测等等。它提供的一站式智能数据标注、模型训练、服务部署等全流程功能,内置丰富的预训练模型,支持公有云、设备端、私有服务器、软硬一体方案等灵活的部署方式,让它在开发者中备受欢迎。另外,基于飞桨还有一个全功能AI开发平台BML,它相对EasyDL而言,适用于有算法基础的开发者,提供更丰富的模型建模方式和模型管理能力。

上图是EasyDL支持的技术方向,的确非常全面,而且不得不说,百度EasyDL在用户体验方面也是做的非常出色,我大概也就花了1小时左右预研了一下,就把他推给了张同学,帮他实现了需求。

初步尝试

为了更直观地感受这个平台的强大,我拿我的预研步骤给大家分享一下,一方面是让你了解百度EasyDL的使用方法,另一方面也是分享一下解决问题时候的思考方式。

第一步:需求分析

张同学的需求是识别人物是否有戴口罩。那么识别的目标介质通常就两种:图像与视频。

而百度EasyDL中就提供了这样的两种模型可以使用:

P.S. 为了方便验证,下面我选择了通过图像的方式,因为图片的训练数据我们更容易获得。有条件的情况下(训练数据充分),还是要使用更贴近用户场景的方式去调研。

第二步:创建模型

在图像模型中,有三个细分类型:分别是图像分类、物体检测与图像分割。

我的基本思路是,通过训练一批具备两个特征的图片,来将他们分成两类:“已戴口罩”与“未带口罩”。所以,这里我使用了图像分类模型去尝试。

所以,我们先创建了这样一个“戴口罩检测”模型

第三步:采集训练数据

之前说过,我们尝试用图像来调研,就是因为获取训练数据方便,所以百度撸一发戴口罩和不戴口罩的图片(当然你有其他渠道获得更多数据也可以)。

初步验证,差不多戴口罩的和不戴口罩的各采集个50张左右,顺便再采集3、4张后续用来验证的照片。如果准备在业务里真实应用,建议实地采集和应用类似的数据。

第四步:创建数据集,完成数据打标

在创建的模型里,创建数据集:

将上一步我们采集的图片信息上传到该数据集中,并对图片进行打标,区分出有戴口罩和没戴口罩的人。在这一步,还可以借助EasyData这个智能数据服务平台,通过数据清洗功能,智能清洗掉模糊、近似照片来提升数据质量;并利用数据采集、数据智能标注、多人标注等功能提升数据采集效率、提高标注速度。

第五步:训练模型,验证结果

完成了数据准备之后,我们就开始训练模型吧!

选择要使用的训练算法、以及上面我们准备好的数据集,就可以开始训练,剩下就是静静等待模型训练完成。

训练完成之后,我们可以看到类似上面的结果,如果准确率你不满意,还可以继续调整,比如出现判断错误的数据做一些优化,或者再多搜索一些图片素材,增大训练样本。

当模型训练差不多满意了,那就尝试验证一下,方法也很方便,直接拖入你准备好的用于验证的图片,看看识别结果吧:

第六步:优化调整

如果验证结果还不够满意,那么你还可以继续训练优化,方式也很简单,你可以继续增大样本,还可以利用百度EasyDL提供的数据清洗工具,对低质量的数据进行处理。这些操作在百度EasyDL都有清晰的指引,就算你是AI小白,也能非常方便地去提升你的模型质量。

另外,EasyDL还支持云服务数据回流功能,授权之后可以管理已发布云服务的数据,查找API识别错误的数据,保存到数据集进行清洗、标注后,用于下一次模型优化训练,尽最大可能提升你的模型效果。

第七步:发布接口

在模型训练完成之后,我们要将其纳入我们应用的一部分,我们只需要简单通过页面点击,就能把这个功能以API接口的方式发布出来。

通过这种方式,不论是我们的后端服务,还是终端设备,只要网络允许,就可以用到我们这里训练出来的模型来完成业务需求。

进一步思考

通过上面一系列的操作,我并没有编写一行代码,就基本上完成了张同学想要的检测戴没戴口罩的需求(当然,精准度上以及检测形式是以图片还是视频,还需要根据实际情况去优化与选择)。这比起我们通过使用开源框架去搭建和使用来说要方便了好多,尤其对于没有接触过AI相关开发的人群甚至是技术小白来说,也是非常容易上手的。

顺手查了一下百度EasyDL目前的应用也是非常地广。比如与我们生活息息相关的垃圾分类,北京一家科技公司基于EasyDL,将常见快消品饮料垃圾图像做结合,不到半天时间便完成识别准确率高达99%的垃圾分类模型,初步实现了7种常见垃圾的分类能力,并集成到他们设计、研发并生产的智能垃圾箱中,作为国内首批支持自动分类的智能垃圾箱,成功落地。除此之外,百度EasyDL对于一些小创业公司也是帮助非常之大,比如北京一家创业公司在团队中没有AI工程师的情况下,借助百度EasyDL实现了在电线杆上的AI天眼,有效减少电力巡检投入的人力成本,同时也避免了电力巡检过程中可能产生的人员伤亡事件。类似的应用还有很多,有些应用的实践甚至都不是开发人员所创建的。所以,在百度EasyDL这个平台的帮助下,如果你有一些创新性的想法,几乎不需要太多前置的学习门槛,就可以快速的入门并建立你想要的AI模型,然后逐步地深入优化。

同时,配合平台提供的模型售卖板块,还能将你的产品公开进行出售服务!

过去,我一直提倡有想法的后端开发者一定要学一下前端,因为只有这样,我们的一些想法就可以通过自己的双手去实现,除了锻炼技术之外,有时候还能给我们带来收益。

比如就以我个人而言,开发工具产品获利是最直接的经验。那么,有了百度EasyDL之后,其实又给我们多了一条路子,那就是提供AI模型相关的API服务来实现我们的技术变现。没有兴趣学前端,但却有很多数据处理类想法的小伙伴们就有福了!也许可以借此工具大赚一笔?

百度EasyDL这个工具我已经收入囊中,待我有啥新奇的想法,就等着我的API发布吧!那么读完本文的你,对百度EasyDL有什么看法呢?是否产生了什么新奇的模型想法呢?赶紧来在留言区跟大家分享下吧!

最后,另外提一句,如果你对自己的模型很有信心,那么在大赚一笔之前,还可以参加一下百度EasyDL正在搞的「万有引力」活动,只要你通过EasyDL完成了业务模型的定制训练、部署和应用,就可以领取万元的专项代金券。如果你的模型落地效果还非常好,还有机会获得最高十万元的特殊补贴!点击直达「万有引力」活动现场