我对车辆车牌检测和识别的技能事理和运用处景很感兴趣,想要通过实践来提高自己的图像处理和机器学习的能力,同时也想要探索一些新的方法和思路,办理一些实际问题。
因此,我选择了华为云的ModelArts平台,利用其供应的数据处理、模型演习、模型管理和模型支配等全流程的支持,实现了一个对车辆车牌的目标检测模型。

在本博客中,我将详细先容我利用ModelArts平台的过程和履历,包括数据集的准备、模型的选择和修正、演习的参数和结果、支配的方法和效果等,以及碰着的一些问题和解决方案。
我希望能够通过本博客,与有兴趣的读者分享和互换,也欢迎大家提出宝贵的见地和建议。

前置事情

首先确保已经完成了华为云账号的开通与认证,并添加用户的访问密钥,以方便利用ModelArts。

数据集的准备

来自于中科大2018年开源的大型海内停车场车牌数据集CCPD(Chinese City Parking Dataset)填补了上述车牌数据的毛病,该车牌数据集图片网络自安徽省合肥市的各种街道路边停车场,每个网络员于各自大责的街道不分景象的从早上07:30一贯事情到晚上22:00,每当开停车账单时就须要手持分外设备根据哀求拍摄前后车牌图片并进行车牌信息标注,从而在不可确认的拍摄位置、拍摄角度、拍摄光照、拍摄景象、拍摄背景、拍摄街道等约束条件下保障了所获取车牌数据的多样性

拜别繁琐ModelArts一键解决车商标识别难题

本人从github上获取了该数据的2020新版

OBS桶及工具的创建

OBS是ModelArts供应的利用工具存储做事,目的是为了进行数据存储以及模型的备份和快照。
本次实验在创建演习数据集之前,须要创建一个OBS桶,然后在OBS桶中创建文件夹用于存放演习文件。

OBS桶的创建

进入做事列表,找到存储做事项,点击工具存储做事OBS

登录OBS管理掌握台,在桶列表页面右上角单击“创建桶”,创建OBS桶

填写参数:

• "区域":华北-北京四,后续区域须要选择和OBS桶同等。

• "桶名称":创建桶名称“carlic-detect”,把稳重名时可以添加后缀。

• “数据冗余存储策略”:多AZ存储

• “默认存储类型”:标准存储

其他利用默认值即可,确认无误后单击右下角“立即创建”。

OBS桶中工具的创建

在桶列表页面,单击桶名称,进入该桶的概览页面。
单击概览页面的左侧导航的“工具”,在“工具”页面单击新建文件夹,创建OBS文件夹。
我们在这里创建两个文件夹,一个用于数据集的输入,一个用于数据集的输出

数据集输入文件夹“carlic-input”

数据集输出文件夹“carlic-output”

ModelArts自动学习项目的创建

进入ModelArts自动学习版跨,创建物体检测的项目

创建物体检测项目的数据集

此时创造我们并没有数据集,以是须要创建数据集。
此时点击创建数据集

点击后有如下界面,个中各参数为:

• “数据集名称”:carlicense

• “数据类型”:图片

• “数据来源”:OBS

• “导入路径”:选择之前创建OBS桶时创建的carlic-input文件夹

• “数据标注状态“:未标注

• “数据输出位置”:选择之前创建OBS时创建的carlic-output文件夹

再点击右下角提交,数据集创建成功

此时再填入物体检测项目的各个参数信息

• “名称”:carlicense-detect

• “数据集”:选择刚刚创建好的数据集“carlicense”

• “输出路径”:选择所创建OBS桶中的数据输出文件夹“carlic-output”

• “演习规格”:选择限时免费的规格

然后点击右下角的创建项目

创建项目后得到如下界面:

数据的上传与标注

该界面显示我们须要对实例进行标注,点击进入实例详细

数据上传

由于数据集是空的,以是该页面显示未查询到图片,此时我们点击添加数据

导入数据参数如下:

• “数据来源”:本地上传(由于下载的数据都在本地上,并没有上传至OBS中)

• “上传数据存储路径“:选择之前创建的OBS桶中的数据输入文件夹“carlic-input”

• “数据标注状态“:未标注(数据集的所有数据均为未标注)

然后点击文件上传,将本地文件上传之所创建的OBS桶中的数据输入文件夹中

点击添加文件,上传本地的演习数据文件

上传结束后我们再点开OBS存储,创造此时的输入文件夹已经有了所用的数据

但是此时实力详细中并没有数据信息,此时我们须要点击数据源同步,将已经上传至OBS桶中的数据全部同步至数据集中

结果如下

数据标注

接下来要对该数据集中的数据进行数据标注

前辈行手动标注

在进行20多各样例的标注后,我们可以利用ModelArts所供应的工具:智能标注,即通过已标注的样例来自动学习,实现自动化标注

此时我们点击启动智能标注

参数选择如下:

• “智能标注类型”:主动学习(系统自动利用半监督学习,难例筛选等多种手段来进行智能标注,降落人工标注量,帮助用户找到难例)

• “算法类型”:精准型

• “打算结点规格”:任意选择即可

点击提交,得到如下界面

在智能标注完成后,我们须要确认智能标注信息是否精确,以下为智能标注后须要待确认的界面

然后我们点击进入详细确认界面

放大后查看该案例的智能标注情形

此图片中对与车牌的智能标注十分准确,但是这并不代表每一张图片都是十分准确的,在本人确认了多张图片的智能标注情形后创造一些常见的易缺点标注的征象,过大的车标,车身与车牌类似的矩形广告贴,地表的一些与车牌十分相似的矩形牌号等。

过大的车标

车身矩形小广告-

地表的矩形牌号与车牌十分相似

在进行人工确认和改正后,得到终极的已标注所有的数据集

然后再进行对标注数据的快速复核,点击快速复核,得到如下界面,我们创造个中有一些明显不是车标的标注信息

点击个中一个得到如下图片标注

解释在确认标注过程中涌现了疏忽,然后只须要对这些缺点标注进行修正或者删除即可

进入事情流

在成功标注完数据后,我们便可以进入workflow流中开始事情

首先是数据集版本发布

然后是数据校验

同时我们可以查看后台的事情记录,跟进事情流的进度

然后便是模型的演习事情

模型演习

接下来是模型注册事情

模型支配

末了是模型支配事情

模型支配的参数选择如下:

• “AI运用来源”:我的AI运用

• “资源池”:公共资源池

• “是否自动停滞”:是,选择在一小时后停滞运行

其他参数保持默认即可

在支配过程中我们可以查看一些基本信息,同时跟踪支配情形事宜:

在支配成功后,我们可以查看支配成功的AI运用,支配的AI运用信息如下

同时在该AI运用状态改变为运行中后,我们便可以开始进行我们的车辆车牌目标识别的实践了

结果检测

将图片上传至该AI运用进行目标检测,得到结果如下

创造检测的大致位置是精确的,但是精准度不高,于是再上传图片进行几次车牌的检测:

发先该模型的检测结果都是大致位置精确,但是不足精确,这解释该模型的精准度不足搞,还须要进一步改进。

对付涌现该问题的缘故原由,我预测可能有以下几个缘故原由:

1、数据集问题

2、数据处理算法设计和实现问题

3、算法设计和实现问题

4、超参设置问题

5、环境问题

……

在后续的实验中,会对该模型进行进一步优化,推出新的模型版本和运用版本。

资源开释

到此,该实践已完成,接下来我们须要对申请的各种资源进行开释

删除创建的在线做事

删除创建的自动学习项目

删除用于存储做事的OBS桶中的工具

开释资源到此结束,本次实践到此完成。

实践总结

在这篇文章中,我先容了如何利用华为云技能ModelArts实现车辆车牌的目标识别的实践,并支配上线做事的过程。
我首先先容了车牌目标检测的背景和意义,然后先容了ModelArts的特点和上风,以及如何利用ModelArts进行数据集的管理、模型的演习、评估和支配。
我利用了CCPD数据集,这是一个包含了约30万张中国车牌图片的数据集,它根据图片的繁芜度分为了八个种别。
我利用了YOLOv5作为目标检测的模型,它是一个基于PyTorch的轻量级、高效的目标检测框架。
我在ModelArts上进行了模型的演习和评估,得到了较高的精度和召回率。
我还展示了如何利用ModelArts的在线做事功能,将模型支配为一个可调用的API,实现了车牌的实时检测。

通过这次实践,我深刻地体会到了ModelArts的强大和便捷。
ModelArts为我供应了一个一站式的端到真个机器学习平台,让我可以在一个统一的界面上完成数据集的管理、模型的演习、评估和支配的全流程。
ModelArts还供应了丰富的预置算法和模型,以及高性能的打算资源和存储空间,让我可以快速地搭建和运行我的模型,节省了韶光和本钱。
ModelArts的在线做事功能也让我可以轻松地将我的模型转化为一个可用的做事,实现了车牌目标检测的运用处景。
我认为ModelArts是一个非常适宜机器学习爱好者和开拓者的平台,它可以帮助我们实现更多的机器学习的创新和代价。

关注#华为云开拓者同盟# 点击下方,第一韶光理解华为云新鲜技能~

华为云博客_大数据博客_AI博客_云打算博客_开拓者中央-华为云

#科技##人工智能##程序员#