采用百度飞桨 EasyDL 完成指定目标识别
一、简介
EasyDL 从 2017 年 11 月中旬起,在国内率先推出针对 AI 零算法基础或者追求高效率开发的企业用户的零门槛 AI 开发平台,提供从数据采集、标注、清洗到模型训练、部署的一站式 AI 开发能力。对于各行各业有定制 AI 需求的企业用户来说,无论是否具备 AI 基础,EasyDL 设计简约,极易理解,最快 5 分钟即可上手学会,15 分钟完成模型训练。采集到的原始图片、文本、音频、视频、OCR、表格等数据,经过 EasyDL 加工、学习、部署后,可通过公有云 API 调用,或部署在本地服务器、小型设备、软硬一体方案的专项适配硬件上,通过离线 SDK 或私有 API 进一步集成,流程如下:
下面就从 0 开始,介绍如何使用 EasyDL 完成指定的目标检测。
二、创建数据集
要完成目标检测模型训练,首先需要准备数据集,然后进行标注,再进行训练,得到模型后就可以进行验证了。
EasyDL 官网地址:https://ai.baidu.com/easydl/使用 EasyDL 前,首先得创建百度账号,完成实名认证之后再进行下面的步骤。(1)点击立即使用
(2)选择目标检测
(3)创建数据集
设置数据集名称,我这里目标检测是识别图片里的云宝。(云宝是一个布娃娃)
这个就是接下来要识别的云宝:
(4)准备数据集要让电脑寻找这张图片里有没有云宝,首先就得让电脑区分出那些不是云宝,那些是云宝,需要准备大量的图片让电脑学习。我这里已经准备了云宝相关的图片,如果你要识别图片里的其他目标,都是一样的流程。
将素材图片目录压缩成 zip 压缩包格式,接下来上传到 EasyDL 数据集。
上传到刚才创建的数据集里。
等待导入完成。
(5)标志数据集上传导入完成后进行标注。
标注前先添加标签,标签支持中英文两种,如果有多个目标需要识别,就创建多个标签,然后标注时,采用这个标签去标注图片里对应的目标即可。
我这里就创建一个 ‘云宝的’标签。
开始标注。
使用矩形框,框住要识别的物体。
矩形框绘制后会弹出选择标签的提示,选择对应的标签即可。
陆续标注中。。。
如果图片特别多,也可以开启智能标注,也就是机器自动根据你标注的去标注剩下的图片,但是效果还是没有自己手动标注的准确,后续还需要人工确认的。
这里可以看到标注的情况,剩余多少没有标注。
三、训练模型
数据集标注完成之后,接下来就创建模型,开始训练。(1)点击创建模型
(2)填写信息
(3)选择训练
(4)配置训练参数 EasyDL 支持多种部署方式,可以根据自己使用的环境选择。我这里训练的模型需要在本地设备使用,这里我就选择本地部署,选择通用小型设备。 数据集就选择刚才标注的。
然后开始训练。 目前有免费的算力,也可以花钱买配置更加高的算力,训练速度会快很多,当然,免费其实一般也够用了,时间也很快。
接着就等待训练,训练完成后邮箱、手机短信会收到提醒的。鼠标光标放在这里,可以看到训练的进度。
(5)训练完成经过一段时间等待,模型已经训练完成。通过训练结果可以看到,我的模型精度是 100%,标注的比较完美,训练的结果很好。
四、发布模型
训练完成后,接着就要发布模型,模型发布后就能下载使用了。
我这里的环境需要本地离线使用,这里就发布成本地离线 SDK。
发布的平台支持多种选择,我当前需要在 win10 上使用,这里就选择发布成 windows 版本。
目前有几个加速模型的选项是限时免费的,那就一并勾选上。
紧接着就进行发布了,等待一段时间,发布完成后就可以下载了。
五、下载模型进行测试
(1)下载模型选择左边选项栏EasyEdge本地部署
--->纯离线服务
找到发布的模型列表,下载对应的模型。我这里就下载精度最高的这个加速模型。
这里看到有两个已经发布完成,那就先下载一个进行测试,这里选择的是加速版。
下载下来解压。
先看里面这个README.md
文件,了解本地电脑需要准备什么环境。目前 win11 兼容性不好,最好不要使用 win11 测试。
(2)申请序列号模型下载之后,需要序列号激活才能使用,每次训练一个模型,就可以申请 2 个序列号,每个序列号的使用时长是 3 个月,到期之后再申请一个序列号替换即可。同一个设备上,不管发布多少次模型,下载多少次,只需要一个序列号即可,不需要每次下载模型都换新的序列号(浪费)。序列号获取地址:https://console.bce.baidu.com/ai/?_=1648050814049#/ai/easydlLiteImage/serial/list
点击新增测试序列号,就可以弹出申请框,如果下载的模型是加速模型就选择申请加速版序列号,基础版本就选择基础版本序列号,点击确定即可。如何觉得模型好用,商业价值到位,也可以买永久授权序列号,永久使用。
(3)本地运行模型
打开解压的目录,运行EasyEdge.exe
打开软件。
填入刚才的申请的序列号,启动服务。
这个EasyEdge.exe
启动服务后就开启了一个服务器,上面会提示当前服务器访问的 IP 地址和端口号。 点击这个链接就可以打开浏览器快速测试,
选择一张图片进行识别,看下面结果识别的非常准确。(注意:我选择的这张不是训练数据集里的,是额外的测试数据集里的一张图片)
到此,整个训练流程已经完毕。
六、开发软件集成识别功能
测试完毕后,如果是自己要做具体的产品,接下来就自己开发软件,调用 SDK 完成功能集成即可。
这个云宝测试我虽然没有写软件集成,但是之前写了一个疲劳驾驶系统,可以贴图看一下效果。
注意:我这演示这个软件我是运行的疲劳驾驶的模型。
识别吸烟、未系安全带、玩手机、打哈欠 等动作。
最后:大哥领进门,修行靠个人。
版权声明: 本文为 InfoQ 作者【DS小龙哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/2146d57fa639f444a88f4b8aa】。文章转载请联系作者。
评论 (1 条评论)