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

一、简介

EasyDL从2017年11月中旬起,在国内率先推出针对AI零算法基础或者追求高效率开发的企业用户的零门槛AI开发平台,提供从数据采集、标注、清洗到模型训练、部署的一站式AI开发能力。对于各行各业有定制AI需求的企业用户来说,无论是否具备AI基础,EasyDL设计简约,极易理解,最快5分钟即可上手学会,15分钟完成模型训练。
采集到的原始图片、文本、音频、视频、OCR、表格等数据,经过EasyDL加工、学习、部署后,可通过公有云API调用,或部署在本地服务器、小型设备、软硬一体方案的专项适配硬件上,通过离线SDK或私有API进一步集成,流程如下:
image.png

下面就从0开始,介绍如何使用EasyDL完成指定的目标检测。

二、创建数据集

要完成目标检测模型训练,首先需要准备数据集,然后进行标注,再进行训练,得到模型后就可以进行验证了。

EasyDL官网地址:https://ai.baidu.com/easydl/
使用EasyDL前,首先得创建百度账号,完成实名认证之后再进行下面的步骤。
(1)点击立即使用
image.png
(2)选择目标检测
image.png

(3)创建数据集
image.png

设置数据集名称,我这里目标检测是识别图片里的云宝。(云宝是一个布娃娃)
image.png

这个就是接下来要识别的云宝:
image.png

(4)准备数据集
要让电脑寻找这张图片里有没有云宝,首先就得让电脑区分出那些不是云宝,那些是云宝,需要准备大量的图片让电脑学习。
我这里已经准备了云宝相关的图片,如果你要识别图片里的其他目标,都是一样的流程。
image.png

将素材图片目录压缩成zip压缩包格式,接下来上传到EasyDL数据集。
image.png
image.png

上传到刚才创建的数据集里。
image.png

image.png

image.png

image.png

image.png

等待导入完成。
image.png

(5)标志数据集
上传导入完成后进行标注。
image.png

标注前先添加标签,标签支持中英文两种,如果有多个目标需要识别,就创建多个标签,然后标注时,采用这个标签去标注图片里对应的目标即可。
image.png

我这里就创建一个 ‘云宝的’标签。
image.png

开始标注。
image.png

使用矩形框,框住要识别的物体。
image.png

矩形框绘制后会弹出选择标签的提示,选择对应的标签即可。
image.png

陆续标注中。。。
image.png

如果图片特别多,也可以开启智能标注,也就是机器自动根据你标注的去标注剩下的图片,但是效果还是没有自己手动标注的准确,后续还需要人工确认的。

这里可以看到标注的情况,剩余多少没有标注。
image.png

三、训练模型

数据集标注完成之后,接下来就创建模型,开始训练。
(1)点击创建模型
image.png

(2)填写信息
image.png

(3)选择训练
image.png

(4)配置训练参数
EasyDL支持多种部署方式,可以根据自己使用的环境选择。
我这里训练的模型需要在本地设备使用,这里我就选择本地部署,选择通用小型设备。 数据集就选择刚才标注的。
image.png

然后开始训练。 目前有免费的算力,也可以花钱买配置更加高的算力,训练速度会快很多,当然,免费其实一般也够用了,时间也很快。
image.png

接着就等待训练,训练完成后邮箱、手机短信会收到提醒的。
鼠标光标放在这里,可以看到训练的进度。
image.png

(5)训练完成
经过一段时间等待,模型已经训练完成。
通过训练结果可以看到,我的模型精度是100%,标注的比较完美,训练的结果很好。
image.png

四、发布模型

训练完成后,接着就要发布模型,模型发布后就能下载使用了。
image.png
我这里的环境需要本地离线使用,这里就发布成本地离线SDK。
image.png
发布的平台支持多种选择,我当前需要在win10上使用,这里就选择发布成windows版本。
image.png

目前有几个加速模型的选项是限时免费的,那就一并勾选上。
image.png

紧接着就进行发布了,等待一段时间,发布完成后就可以下载了。
image.png

五、下载模型进行测试

(1)下载模型
选择左边选项栏EasyEdge本地部署—>纯离线服务找到发布的模型列表,下载对应的模型。我这里就下载精度最高的这个加速模型。

这里看到有两个已经发布完成,那就先下载一个进行测试,这里选择的是加速版。
image.png

下载下来解压。
image.png

先看里面这个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

image.png

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

image.png

(3)本地运行模型

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

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

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

image.png

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/xiaolong1126626497/article/details/124241142