写点什么

采用百度飞桨 EasyDL 完成指定目标识别

作者:DS小龙哥
  • 2022 年 4 月 23 日
  • 本文字数:2324 字

    阅读完需:约 8 分钟

一、简介

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 测试。


# 依赖环境说明
## 硬件
+ 仅支持Intel CPU+ CPU型号需支持安装OpenVINO,可至[OpenVINO官网](https://docs.openvinotoolkit.org/2020.3/_docs_install_guides_installing_openvino_windows.html)查看
## 操作系统
+ 64位Windows 7及以上+ 64位Windows Server 2008 R2及以上
## 软件
+ .NET Framework 4.5+ Visual C++ Redistributable Packages for Visual Studio 2013+ Visual C++ Redistributable Packages for Visual Studio 2015-2019
复制代码


(2)申请序列号模型下载之后,需要序列号激活才能使用,每次训练一个模型,就可以申请 2 个序列号,每个序列号的使用时长是 3 个月,到期之后再申请一个序列号替换即可。同一个设备上,不管发布多少次模型,下载多少次,只需要一个序列号即可,不需要每次下载模型都换新的序列号(浪费)。序列号获取地址:https://console.bce.baidu.com/ai/?_=1648050814049#/ai/easydlLiteImage/serial/list



点击新增测试序列号,就可以弹出申请框,如果下载的模型是加速模型就选择申请加速版序列号,基础版本就选择基础版本序列号,点击确定即可。如何觉得模型好用,商业价值到位,也可以买永久授权序列号,永久使用。




(3)本地运行模型


打开解压的目录,运行EasyEdge.exe打开软件。



填入刚才的申请的序列号,启动服务。



这个EasyEdge.exe启动服务后就开启了一个服务器,上面会提示当前服务器访问的 IP 地址和端口号。 点击这个链接就可以打开浏览器快速测试,



选择一张图片进行识别,看下面结果识别的非常准确。(注意:我选择的这张不是训练数据集里的,是额外的测试数据集里的一张图片)



到此,整个训练流程已经完毕。

六、开发软件集成识别功能

测试完毕后,如果是自己要做具体的产品,接下来就自己开发软件,调用 SDK 完成功能集成即可。


这个云宝测试我虽然没有写软件集成,但是之前写了一个疲劳驾驶系统,可以贴图看一下效果。



注意:我这演示这个软件我是运行的疲劳驾驶的模型。



识别吸烟、未系安全带、玩手机、打哈欠 等动作。



最后:大哥领进门,修行靠个人。

发布于: 2022 年 04 月 23 日阅读数: 34
用户头像

DS小龙哥

关注

之所以觉得累,是因为说的比做的多。 2022.01.06 加入

熟悉C/C++、51单片机、STM32、Linux应用开发、Linux驱动开发、音视频开发、QT开发. 目前已经完成的项目涉及音视频、物联网、智能家居、工业控制领域

评论 (1 条评论)

发布
用户头像
这个文章get到知识了
16 小时前
回复
没有更多了
采用百度飞桨EasyDL完成指定目标识别_4月月更_DS小龙哥_InfoQ写作社区