眼前多少难甘事,自古男儿当自强。这篇文章主要讲述采用百度飞桨EasyDL完成指定目标识别相关的知识,希望能为你提供帮助。
一、简介EasyDL从2017年11月中旬起,在国内率先推出针对AI零算法基础或者追求高效率开发的企业用户的零门槛AI开发平台,提供从数据采集、标注、清洗到模型训练、部署的一站式AI开发能力。对于各行各业有定制AI需求的企业用户来说,无论是否具备AI基础,EasyDL设计简约,极易理解,最快5分钟即可上手学会,15分钟完成模型训练。
采集到的原始图片、文本、音频、视频、OCR、表格等数据,经过EasyDL加工、学习、部署后,可通过公有云API调用,或部署在本地服务器、小型设备、软硬一体方案的专项适配硬件上,通过离线SDK或私有API进一步集成,流程如下:
文章图片
下面就从0开始,介绍如何使用EasyDL完成指定的目标检测。
二、创建数据集【采用百度飞桨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完成功能集成即可。
这个云宝测试我虽然没有写软件集成,但是之前写了一个疲劳驾驶系统,可以贴图看一下效果。
文章图片
注意:我这演示这个软件我是运行的疲劳驾驶的模型。
文章图片
识别吸烟、未系安全带、玩手机、打哈欠 等动作。
文章图片
最后:大哥领进门,修行靠个人。
推荐阅读
- 容器集群管理系统Kubernetes(K8S)
- LVS实战案例(LVS-NAT模式案例)
- #yyds干货盘点#JAVA三年经验面试题
- k8s部署-19-harbor高可用部署
- mongodb集群搭建
- #yyds干货盘点# Map - WeakHashMap源码解析
- 用C语言实现对一个有序数组的折半查找
- Flink的sink实战之二(kafka)
- 对话CoCoPIE首席科学家(AI可以当裁判,但不能喧宾夺主)