【华为云-上云之路】手把手教你用ModelArts基于YOLO V3算法实现物体检测

举报
看那个码农 发表于 2020/05/14 11:51:23 2020/05/14
【摘要】 手把手教你用ModelArts基于YOLO V3算法实现物体检测

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

image.png


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

image.png


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

image.png



基于YOLO V3算法实现物体检测




本实验将我们将聚焦于用YOLO V3算法实现物体检测,在ModelArts的Notebook开发环境中实现用YOLO V3算法构建一个物体检测的神经网络模型,并在该环境中实现对物体检测神经网络模型的训练与测试,最终达到实现物体检测的实验目的。


image.png


基于YOLO V3算法实现物体检测

实验流程




1.准备实验环境与创建开发环境

2.下载数据与训练代码

3.准备数据

4.Yolo_v3模型训练

5.Yolo_v3模型测试


1.1进入ModelArts


首先需要进入华为云Modelarts主页,输入自己的账号密码:


https://www.huaweicloud.com/product/modelarts.html 
image.png
点击进入“进入控制台
image.png

在左侧开发环境处,点击Notebook:

image.png


点击“创建”,填写配置信息:



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


工作环境:Python3

资源池:公共资源池

类型:GPU                         

规格:体验规格GPU(这样就不要花费)

存储配置:云硬盘


image.png



这里我说说我对云硬盘与对象存储服务的理解:


云硬盘对应的是云服务器,就如同电脑的自带硬盘,存储在云硬盘的数据可以随时的在云端查看。 

对象存储服务就如同移动硬盘,可以随时做资料备份。 


按“下一步”确认信息无误,点击“提交”即可:


image.png


即可完成创建:


image.png


点击“返回Notebook列表”,即看到正在运行的Notebook环境:


image.png



点击进入创建的notebook-yolov3中:


image.png


点击选择右侧的“New


image.png


点击选择TensorFlow 1.13.1开发环境后,进入下面的页面:


image.png


输入下面代码后,点击“Run”进行测试:


print("Hello world!")
image.png


成功输出“Hello world!”,说明环境配置正确



2.数据和代码下载


点击“Run”运行下面代码,进行实验代码和实验数据的下载和解压:


image.png


下载后的代码和数据保存在了之前设置的云硬盘(EVS)中


这里是已经下载好的文件目录:


image.png


3.准备数据


运行以下代码,进行文件路径定义:

image.png


读取标注数据:


image.png


以下代码是数据读取函数,构建数据生成器。每次读取一个批次的数据至内存训练,并做数据增强:

image.png



4.Yolov3模型训练


本实验使用的是Keras深度学习框架搭建YOLOv3神经网络模型。

在实验中可以进入Notebook的管理控制台查看相应的源码实现。


image.png

构建神经网络:

点击“Run”,运行界面如下:

image.png

可通过如下代码,打印模型各层结构,带您了解模型细节:

image.png

训练回调函数定义:

image.png


运行如下代码,点击“Run”,即可开始训练:


本次实验设置的batch_size = 16,max_epochs = 2

如何特殊需求的用户,可以在此基础上进行修改:


训练好了后结果如下:


image.png


5.Yolov3模型测试


运行以下代码,点击“Run”,打开一张测试图片:

image.png

继续输入“image”可看到打开的是哪张图片:


image.png


进行图片预处理操作:

image.png

继续输入代码:

image.png

运行以下代码,构建模型:

image.png

加载模型权重,或将模型路径替换成上一步训练得出的模型路径:

image.png


定义IOU以及score:

IOU:将交并比大于IOU的边界框作为冗余框去除score:将预测分数大于score的边界框筛选出来

image.png

构建输出[boxes, scores, classes]:

image.png

依次输入下面的代码段,进行预

image.png

将预测结果绘制在图片上:

image.png

输入“image”可以看到标注好的图片:

image.png


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

image.png

image.png

image.png


image.png

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

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


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

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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。