【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

时间:2024-04-07 18:46:20

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

本篇推文共计2000个字,阅读时间约3分钟。

华为云华为公司倾力打造的云战略品牌,2011年成立,致力于为全球客户提供领先的公有云服务,包含弹性云服务器、云数据库、云安全等云计算服务,软件开发服务,面向企业的大数据和人工智能服务,以及场景化的解决方案。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

华为云官方网站

ModelArts华为云产品中面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

华为云官方网站

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

零代码开发FasterRCNN物体检测模型

本实验我们将聚焦于用ModelArts零代码开发FasterRCNN物体检测模型。在ModelArts平台中除了在Notebook开发环境中进行算法的定义和运行,通过ModelArts预置算法同样可以进行FasterRCNN算法的训练和推理。本文将利用ModelArts中的FasterRCNN预置算法进行的模型训练和推理过程。并利用该模型达到实现物体检测的实验目的。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

零代码开发FasterRCNN物体检测模型

实验流程

1.准备实验环境与创建OBS桶

2.下载与上传数据

3.创建训练任务

4.导入训练模型

4.部署服务

5.在线服务测试

1

1.1**准备

首先需要进入华为云官方网站

https://www.huaweicloud.com/

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

点击页面的“控制台”切换至控制台界面,在账号名称的下拉菜单中点击“我的凭证”,进入创建管理访问**(AK/SK)的界面。位置如下图所示:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

什么是访问**?

访问**即AK/SK(Access Key ID/Secret Access Key),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。

选择访问**”,点击“新增访问**

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

妥善保存系统自动下载的“credentials.csv”文件中的AK(Access Key Id)SK(Secret Access Key)以备后续步骤使用。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

1.2创建OBS桶和目录

进入方式,“控制台”->“服务列表”->“存储”->“对象存储服务”,页面右上角点击“创建桶”按钮进入创建页面。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

什么是OBS?

对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。

1.3 OBS桶设置

OBS桶设置参数如下:

区域:华北-北京四

桶名称:自定义(注意:此名称会在后续步骤使用)

根据自己的命名习惯,我将此处的桶名称取为

obs-train-faster

存储类别:标准存储

桶策略:私有

归档数据直读:关闭

多AZ:开启

 

点击"立即创建",完成创建

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

1.4创建文件夹

点击刚刚创建的桶,进入详情页:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:

文件夹名称:自定义此名称会在后续步骤中使用)

根据自己的命名习惯,我将此处的文件夹名称取为faster-data

 

点击“确定”完成添加

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

1.5服务授权

由于本实验项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。

在ModelArts管理控制台,进入“数据管理->数据集”页面,单击“服务授权

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

由具备授权的账号同意授权后,即可正常使用:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

1.6下载安装并登录OBS Browser+

由于OBS Browser快下线了,所以本次实验关于对象存储服务操作中我们用到的新工具OBS Browser的升级版OBS Browser+

OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。

该工具在华为云主页“开发者->资源工具->开发工具”处:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

双击点进去后是下面的页面:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

在开发工具的业务工具处,根据自己电脑配置下载OBS Browser+:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

此为下载完成打开后的OBS Browser+工具界面:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

填入步骤1.1下载得到的Access Key IdSecret Access Key**

即可登录刚刚在华为云云端创建的OBS桶:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

此时可以借助OBS Browser+从云端创建的OBS桶中上传和下载文件:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

2

2.下载与上传数据

有很多开源的数据集可以用来进行目标检测任务的训练,如COCO数据集,PASCAL VOC数据集,BDD100K等,可以根据不同的需求和偏好进行选择

本文的操作实验将使用PASCAL VOC2007数据集进行模型构建,数据下载地址如下:

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar

数据集文件的大小较大,有439M

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

或本微信公众号后台回复“2007”即可一键获取PASCAL VOC2007数据集:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

2.2数据解压与处理

在本地电脑平台,解压下载的

“VOCtrainval_06-Nov-2007”压缩包。

例如,解压至本地“VOCtrainval_06-Nov-2007”文件夹下

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

本实验只需要将解压后VOC2007下的两个文件夹Annotations(标注数据) 和 JPEGImages(图像数据)下的所有文件放入一个文件夹中(如:VOC),准备好的文件夹的如下图所示:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

简单来说就是需要把解压后Annotations文件夹:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

以及解压后JPEGImages文件夹:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

两个文件里的数据统一复制粘贴到一个新文件中

这里再次定义为VOC文件夹:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

2.3数据上传

点击打开刚刚下载安装好的OBS Browser+工具进行对象存储服务:

进入步骤1创建好的OBS桶faster-data文件夹中:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

点击上传”,选择刚才整理好的VOC文件夹,点击“确定”即可完成上传。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

利用OBS Browser+工具将数据上传至华为云云端的速度很快,在华为云云端很快就可以看见刚刚上传的本地电脑的数据集:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

3

3.创建训练作业

进入ModelArts主页“训练管理->训练作业”处:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

点击“创建”,进行训练作业创建:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

名称:自定义(此处我设置的是trainjob-faster)

算法来源:预置算法

此处选择:Faster_RCNN_ResNet_v1_50

数据来源:数据存储位置

/obs-train-faster/faster-data/VOC/

训练输出位置:

/obs-train-faster/faster-data/output/

(此时需要在OBS桶的faster-data文件夹下新建output文件夹)

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

运行参数使用默认的运行参数,此处我的max_epoches改为了2,训练2轮,大概需要几十分钟左右的训练时间。

如果想要提高模型的精度,可以适当增加max_epoches

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

资源池:公共资源池

类型规格可以根据自己的训练需求来选择

此处我选择的是:

类型:GPU

规格:[限时免费] GPU:1 * nvidia-v100-pcie-32gb 32GiB CPU:8 核 64GiB

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

设置好各项参数后,点击“下一步

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

再次确认信息后,点击“提交

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

模型开始训练:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

模型训练完成,一共训练了25分钟:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

4

4.导入训练模型

ModelArts平台提供了在线部署服务,可以对模型进行在线推理。

点击进入ModelArts主页“模型管理->模型”处,再次点击“导入”:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

进行参数设置:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

名称:自定义

(此处我设置的是model-faster)

元模型来源:从训练中选择

选择刚才的训练作业:trainjob-faster

其余保持默认

点击“立即创建”即可:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

等待模型导入变为“正常

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

5

5.部署服务

进入ModelArts主页“部署上线->在线服务”处:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

点击“部署”:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

名称:自定义

(此处我设置的是service-faster)

资源池:公共资源池

选择模型及配置:

选择刚才导入的模型:model-faster

计算节点规格:自定义

其余保持默认

确认参数后,点击“下一步

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

再次确认无误,点击“提交”:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

等待部署完成:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

部署完成,显示“运行中

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

6

6.在线服务测试

在“部署上线”的“在线服务”处,点击运行中的在线服务右侧的“预测

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

进入到测试界面,单击“上传图片,进行检测:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

从检测结果来看,可以说利用于用ModelArts零代码开发FasterRCNN物体检测模型的检测效果很棒。

用上面步骤,进行其它图片测试,运行界面如下

利用步骤进行其它图片测试:

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

测试1

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

测试2

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

测试3

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

测试4

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

测试5

至此实验全部完成。

最后大家使用的云端资源记得全部删除如对象存储服务创建的OBS桶,文件夹;ModelArts创建的数据集,部署的模型等都需要删除,并停用访问**,以免造成不必要的花费。

通过对实验结果的比对,可以看出利用

[华为云ModelArts]训练出来的物体检测模型是很棒的,六个字总结就是-高效,快捷,省心

如您对本系列的实验感兴趣,点击底部阅读原文可体验于4月20日开始的

[华为云开发者青年班第二期 AI实战营],现进行到打卡第六天,每天一天实战演练,让你足不出户免费体验[华为云]高级技术专家亲自指导,学、练、赛的全流程内容,让你轻松Get AI技能。

心动不如行动,快来学习吧。

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

正因我们国家有许多像华为这样强大的民族企业在国家背后默默做支撑,做奉献。我们国家才能屹立于世界民族之林。

华为,中国骄傲!中华有为!

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

往期回顾

【玩转华为云】Modelarts基于FasterRCNN算法实现物体检测

【玩转华为云】Modelarts基于YOLO V3算法实现物体检测

【玩转华为云】Modelarts基于海量数据训练猫狗分类模型

【玩转华为云】Modelarts实现猫狗数据集的智能标注

【玩转华为云】ModelArts基于海量数据训练美食分类模型

【玩转华为云】ModelArts零代码开发美食分类模型

【玩转华为云】ModelArts实现垃圾的智能分类

【玩转华为云】ModelArts实现数据集的图片标注

【玩转华为云】ModelArts实现一键目标物体检测

【玩转华为云】ModelArts实现一键行人车辆检测

【Python3+OpenCV】实现图像处理—灰度变换篇

【Python3+OpenCV】实现图像处理—基本操作篇

武汉加油,中国加油!

欢迎各位读者在下方进行提问留言

☆ END ☆

【玩转华为云】手把手教你用Modelarts零代码开发FasterRCNN物体检测模型

你与世界

只差一个

公众号

扫描上方二维码,获取千元“编程学习资料”大礼包