5

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

 2 years ago
source link: https://blog.51cto.com/u_11822586/5141935
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

二、创建数据集

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

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

(3)创建数据集
采用百度飞桨EasyDL完成指定目标识别_目标检测_04

设置数据集名称,我这里目标检测是识别图片里的云宝。(云宝是一个布娃娃)
采用百度飞桨EasyDL完成指定目标识别_目标检测_05

这个就是接下来要识别的云宝:
采用百度飞桨EasyDL完成指定目标识别_目标检测_06

(4)准备数据集
要让电脑寻找这张图片里有没有云宝,首先就得让电脑区分出那些不是云宝,那些是云宝,需要准备大量的图片让电脑学习。
我这里已经准备了云宝相关的图片,如果你要识别图片里的其他目标,都是一样的流程。
采用百度飞桨EasyDL完成指定目标识别_目标检测_07

将素材图片目录压缩成zip压缩包格式,接下来上传到EasyDL数据集。
采用百度飞桨EasyDL完成指定目标识别_目标检测_08
采用百度飞桨EasyDL完成指定目标识别_目标检测_09

上传到刚才创建的数据集里。
采用百度飞桨EasyDL完成指定目标识别_目标检测_10

采用百度飞桨EasyDL完成指定目标识别_目标检测_11

采用百度飞桨EasyDL完成指定目标识别_目标检测_12

采用百度飞桨EasyDL完成指定目标识别_目标检测_13

采用百度飞桨EasyDL完成指定目标识别_目标检测_14

等待导入完成。
采用百度飞桨EasyDL完成指定目标识别_目标检测_15

(5)标志数据集
上传导入完成后进行标注。
采用百度飞桨EasyDL完成指定目标识别_目标检测_16

标注前先添加标签,标签支持中英文两种,如果有多个目标需要识别,就创建多个标签,然后标注时,采用这个标签去标注图片里对应的目标即可。
采用百度飞桨EasyDL完成指定目标识别_目标检测_17

我这里就创建一个 ‘云宝的’标签。
采用百度飞桨EasyDL完成指定目标识别_目标检测_18

开始标注。
采用百度飞桨EasyDL完成指定目标识别_目标检测_19

使用矩形框,框住要识别的物体。
采用百度飞桨EasyDL完成指定目标识别_目标检测_20

矩形框绘制后会弹出选择标签的提示,选择对应的标签即可。
采用百度飞桨EasyDL完成指定目标识别_目标检测_21

陆续标注中。。。
采用百度飞桨EasyDL完成指定目标识别_目标检测_22

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

这里可以看到标注的情况,剩余多少没有标注。
采用百度飞桨EasyDL完成指定目标识别_目标检测_23

三、训练模型

数据集标注完成之后,接下来就创建模型,开始训练。
(1)点击创建模型
采用百度飞桨EasyDL完成指定目标识别_目标检测_24

(2)填写信息
采用百度飞桨EasyDL完成指定目标识别_目标检测_25

(3)选择训练
采用百度飞桨EasyDL完成指定目标识别_目标检测_26

(4)配置训练参数
EasyDL支持多种部署方式,可以根据自己使用的环境选择。
我这里训练的模型需要在本地设备使用,这里我就选择本地部署,选择通用小型设备。 数据集就选择刚才标注的。
采用百度飞桨EasyDL完成指定目标识别_目标检测_27

然后开始训练。 目前有免费的算力,也可以花钱买配置更加高的算力,训练速度会快很多,当然,免费其实一般也够用了,时间也很快。
采用百度飞桨EasyDL完成指定目标识别_目标检测_28

接着就等待训练,训练完成后邮箱、手机短信会收到提醒的。
鼠标光标放在这里,可以看到训练的进度。
采用百度飞桨EasyDL完成指定目标识别_目标检测_29

(5)训练完成
经过一段时间等待,模型已经训练完成。
通过训练结果可以看到,我的模型精度是100%,标注的比较完美,训练的结果很好。
采用百度飞桨EasyDL完成指定目标识别_目标检测_30

四、发布模型

训练完成后,接着就要发布模型,模型发布后就能下载使用了。
采用百度飞桨EasyDL完成指定目标识别_目标检测_31
我这里的环境需要本地离线使用,这里就发布成本地离线SDK。
采用百度飞桨EasyDL完成指定目标识别_目标检测_32
发布的平台支持多种选择,我当前需要在win10上使用,这里就选择发布成windows版本。
采用百度飞桨EasyDL完成指定目标识别_目标检测_33

目前有几个加速模型的选项是限时免费的,那就一并勾选上。
采用百度飞桨EasyDL完成指定目标识别_目标检测_34

紧接着就进行发布了,等待一段时间,发布完成后就可以下载了。
采用百度飞桨EasyDL完成指定目标识别_目标检测_35

五、下载模型进行测试

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

这里看到有两个已经发布完成,那就先下载一个进行测试,这里选择的是加速版。
采用百度飞桨EasyDL完成指定目标识别_目标检测_36

下载下来解压。
采用百度飞桨EasyDL完成指定目标识别_目标检测_37

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

采用百度飞桨EasyDL完成指定目标识别_目标检测_38

点击新增测试序列号,就可以弹出申请框,如果下载的模型是加速模型就选择申请加速版序列号,基础版本就选择基础版本序列号,点击确定即可。
如何觉得模型好用,商业价值到位,也可以买永久授权序列号,永久使用。
采用百度飞桨EasyDL完成指定目标识别_目标检测_39

采用百度飞桨EasyDL完成指定目标识别_目标检测_40

(3)本地运行模型

打开解压的目录,运行EasyEdge.exe打开软件。
采用百度飞桨EasyDL完成指定目标识别_目标检测_41

填入刚才的申请的序列号,启动服务。
采用百度飞桨EasyDL完成指定目标识别_目标检测_42

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

采用百度飞桨EasyDL完成指定目标识别_目标检测_43

选择一张图片进行识别,看下面结果识别的非常准确。(注意:我选择的这张不是训练数据集里的,是额外的测试数据集里的一张图片)
采用百度飞桨EasyDL完成指定目标识别_目标检测_44

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

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

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

这个云宝测试我虽然没有写软件集成,但是之前写了一个疲劳驾驶系统,可以贴图看一下效果。
采用百度飞桨EasyDL完成指定目标识别_目标检测_45

注意:我这演示这个软件我是运行的疲劳驾驶的模型。
采用百度飞桨EasyDL完成指定目标识别_目标检测_46

识别吸烟、未系安全带、玩手机、打哈欠 等动作。
采用百度飞桨EasyDL完成指定目标识别_目标检测_47

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK