摘要:本文主要为大家展示如何基于ModelArts与Atlas 200 DK 端云协同开发的行人检测Demo实现过程。
基于开源数据集,使用ModelArts训练行人检测模型,在本地MindStudio完成模型转换,最终部署到Atlas 200 DK,从数据集到最终部署的端到端开发实践技能。开发技能的流程如图所示:
图片来自博客五讲四美好少年
环境准备:
基于Linux Ubuntu 16.04.3 LTS的虚拟机
Atlas 200 DK
前情提要:
行人检测使用ModelArts的yolo3_resnet18算法,此算法有预置算法和AI市场的版本,共三种,应该都可以用,这里使用的是预置算法版本。
模型训练(可选):
数据集使用的是VOC2007中的Person类别,使用ModelArts创建数据集,并筛选出Person部分,因在OBS中,不太方便下载下来(根据下载文件个数要付费,省点钱吧),可根据自己的数据集训练,注意数据集格式要为VOC2007的格式,即图片 + .xml标注,详情可参见ModelArts关于数据集部分文档。从数据及创建到整体训练最终得到.pb模型,请参见博客相关指导。
部署:
完整的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.com/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文件夹下查看了。
我把图片合成了视频,效果一般,视频有些部分播放了两遍,可以看看,如果你也想将照片合成视频,可以参考https://bbs.huaweicloud.com/blogs/168952。
视频链接如下:
链接:https://pan.baidu.com/s/1-ZvoHqV1Cr8Su7qnyWKI-g
提取码:nnh6
至此,ModelArts与Atlas 200 DK云端协同开发-----行人检测Demo完成了,是不是很简单,赶快试试吧。