【华为云-上云之路】【昇腾】ModelArts与Atlas 200 DK云端协同开发Demo——行人检测(提供完整代码)

举报
Tianyi_Li 发表于 2020/06/17 14:39:05 2020/06/17
【摘要】 ModelArts是华为云推出的一站式AI开发平台,提供了完整的AI全流程开发支持,从数据集的创建,到模型训练,再到最终部署,成模块化,体系化,非常适合小白使用,而且提供了丰富的预置算法,AI市场也发布了很多目前主流的算法和训练好的模型,这其中不仅有官方发布的,也有第三方发布的,如同一个自由的市场。最近,基于ModelArts与Atlas 200 DK 做了端云协同尝试,分享一下过程。

ModelArts是华为云推出的一站式AI开发平台,提供了完整的AI全流程开发支持,从数据集的创建,到模型训练,再到最终部署,成模块化,体系化,非常适合小白使用,而且提供了丰富的预置算法,AI市场也发布了很多目前主流的算法和训练好的模型,这其中不仅有官方发布的,也有第三方发布的,如同一个自由的市场。我个人还是十分推荐使用的。最近,基于ModelArts与Atlas 200 DK 使用预置算法做了端云协同开发的尝试,效果不错,特来分享一下,还请大家不吝赐教哈。


这个Demo基于开源数据集,使用ModelArts中预置算法YOLOv3_Resnet18训练行人检测模型,并在本地MindStudio完成模型转换,最终部署到Atlas 200 DK,从数据集到最终部署的端到端开发实践技能。开发技能的流程如图所示:


注:图片来自博主五讲四美好少年的博客,博客链接为https://bbs.huaweicloud.cn/blogs/163392。


环境准备:

基于Linux Ubuntu 16.04.3 LTS的虚拟机

Atlas 200 DK


前情提要:

行人检测使用ModelArts的yolo3_resnet18算法,此算法有预置算法和AI市场的版本,共三种,应该都可以用,这里使用的是预置算法版本,从文档介绍可知,该算法对Ascend 310做了专门的适配,所以省去了模型转换的调试,是肯定可以转换成功模型的,这也是本Demo选择这个算法的原因之一。


模型训练(可选):

因为这里提供了完成的代码,包括转换好的.om模型,所以可以直接运行,不需要训练了。

数据集使用的是VOC2007中的Person类别,使用ModelArts创建数据集,并筛选出Person部分,因在OBS中,不太方便下载下来(根据下载文件个数要付费,省点钱吧),可根据自己的数据集训练,注意数据集格式要为VOC2007的格式,即图片 + .xml标注,详情可参见ModelArts关于数据集部分文档。

从数据及创建到整体训练最终得到.pb模型,因为已经在社区中已经有了很详细的介绍,这里就不在赘述了,不能重复造轮子嘛,如果对这方面不熟悉的小伙伴,请参见博客相关指导 https://bbs.huaweicloud.cn/blogs/163392


部署:

完整的Demo放在了百度网盘中,下载链接如下,下载完成后,上传到Atlas 200 DK 上执行运行main.py即可

链接:https://pan.baidu.com/s/1UpyEkD40HUwhyFRin6aocQ 

提取码:kc39


详细部署过程可参考:

  1.  应用代码拷贝到开发板

   我将下载的压缩包解压,放在了home/ascend/tmp目录下,这里ascend是我的用户名,要修改成你自己的。


在虚拟机上打开终端,执行如下命令上传Demo到Atlas 200 DK 上,如果不清楚的话,可以参考这个https://bbs.huaweicloud.cn/forum/thread-56436-1-1.html

scp -r Pedestrain_Detection_YOLOv3_Resnet18_Demo/  HwHiAiUser@192.168.1.2:/home/HwHiAiUser/HIAI_PROJECTS


2. 登陆到开发板,执行程序

这里按照上面命令传输Demo到了HIAI_PROJECTS文件夹下,要到这里执行命令哦。

首先,登陆开发板,执行命令,记得输入自己的密码哦:

ssh HwHiAiUser@192.168.1.2

我是通过USB连接开发板的,如果你是网线连接可能不一样,应该只是IP不同,请自行登陆开发板。

下面,进入文件下,执行命令:

cd HIAI_PROJECTS/Pedestrain_Detection_YOLOv3_Resnet18_Demo/

下面执行程序:

python3 main.py input_video/TownCentreXVID_1920_1080_25.mp4

这里使用的是python3,我试了一下,python2也可以,只是我打印出来的中文是乱码,不过不影响结果。注意,终端打印出来可能有

[ERROR] Run Failed, dowork function failed.  没事,不用管,这是我自己打印的。

最终结果在output_image文件夹下,需要自己下载到虚拟机查看。执行命令:

scp -r HwHiAiUser@192.168.1.2:/home/HwHiAiUser/HIAI_PROJECTS/Pedestrain_Detection_YOLOv3_Resnet18_Demo/output_image /home/ascend/tmp

好了,你可以到刚才存放Demo的tmp文件夹下查看了。


至此,ModelArts与Atlas 200 DK云端协同开发-----行人检测Demo完成了,是不是很简单,赶快试试吧。


我把图片合成了视频,效果一般,视频有些部分播放了两遍,可以看看,如果你也想将照片合成视频,可以参考https://bbs.huaweicloud.cn/blogs/168952

视频链接如下:

链接:https://pan.baidu.com/s/1-ZvoHqV1Cr8Su7qnyWKI-g 

提取码:nnh6 

 

                                          




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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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