MindSpore21天实战营(4):基于YOLOv3实现篮球检测模型实战

转载地址:MindSpore21天实战营(4):基于YOLOv3实现篮球检测模型实战_MindSpore_昇腾论坛_华为云论坛

作者:胡琦

“ModelArts + MindSpore”实战YOLOv3篮球检测

Copy攻城狮人狠话不多,学AI就到huaweicloud.ai,和“MM”一起玩转AI。

前言

大家好,我是Copy攻城狮胡琦,有幸参与华为业界首个全场景AI实战营。今天是MIndSpore 21天实战营的第四次课。提到物体检测,我最先想到的是YOLO系列,因为之前在华为云AI实战营中就接触过,其实现在都忘得差不多了:【2020华为云AI实战营】物体检测作业分享。正好借本次实战营的机会再来熟悉一下(其实到最后只是熟悉了一下opencv切割合并视频),本次实践将借助ModelArts、PyCharm ToolKit,基于昇腾910的MindSpore 1.0环境实现YOLOv3模型检测篮球比赛中的动作。是的,ModelArts的训练环境终于更新了MindSpore 1.0!Talk is cheap, show me the COPY!

准备

鉴于本次实践使用PyCharm Toolkit,意味着在本地用PyCharm编写代码,在PyCharm中使用ModelArts的插件上传代码到OBS并进行训练,因此您除了注册华为云账号、申请昇腾公测(很快就要商用了)、开通OBS,还需要配置本地的Pycharm Toolkit,本文就不详细阐述,操作比较简单,只需下载AK/SK配置到Pycharm中就OK。准备阶段,我们还需Copy一下代码、预训练模型已经数据集,本次的代码Copy到本地,预训练模型和数据集通过ModelArts的我的笔记本功能直接下载并上传到OBS。

第一步当然是Copy代码啦!

源代码存放在Github: https://github.com/mindspore-ai/mindspore-21-days-tutorials
如果不幸和我一样遇到网络问题,可以将仓库复制到Gitee在从Gitee上Clone并新增一个远程分支upstream指向源仓库,之后直接从这个上游分支更新代码。

然后就是通过ModelArts的我的笔记本下载预训练模型和数据集。为了后续的opencv操作,我直接切换到了modelarts.vm.gpu.free,不过遗憾的是暂时不支持昇腾及MindSpore,相信后续我的笔记本模块会有惊艳的功能。一人一本,您值得拥有!而且,特大好消息:现在Free,统统Free,支持CPU、GPU,支持TensorFlow、Pytorch、MXNet等诸多框架,我觉得最棒的体验是切换环境仍然保留文件。

接下来就是PyCharm的配置了,直接开GAN!
可通过 https://support.huaweicloud.com/tg-modelarts/modelarts_15_0001.html 了解

YOLOv3 Perdict

鉴于训练花费时间比较久,本次实践直接基于老师提供的yolov3-320_168000.ckp进行预测。值得注意的是OBS的路径需使用s3://的前缀,另外预测的数据是test目录下的,代码中取的是预测第一张并输出。我的参数配置如下:

预测test/0086.jpg可以说非常准确,结果如下,

简单修改为多张预测并输出(因为训练中使用opencv没能获取到视频,手动切合):

多张图片预测结果也还行,这是我随便找的一个视频截取的画面:

在ModelArts的我的笔记本中完成视频的切割,然后依托上一步多张预测结果输出再到我的笔记本中合成视频,这是我在训练环境环境中使用OpenCV碰壁之后目前能想到的方案。关于OpenCV切割视频,由于技术水平有限,未能在ModelArts训练环境中切割合成视频,因此使用ModelArts中我的笔记本通过Copy代码处理:先进行全量切割,每30帧同时也方法另外一个图片文件夹,用来作为预测的数据,预测完毕生成带框和置信度的图片再拿回来和原来的图片一起合成视频。
尽管代码写得像shi一样,咱不拍挨砖,欢迎各位拍砖,往死里拍,我铁定好好学!
我的笔记本中切割视频:

批量训练的结果:

如图所示,我遇到了识别框太密集的问题,通过调整perdict的参数nms_threshignore_threshold再重新预测。

合成视频(因为不知道声音怎么处理,合成视频是无声的):

不过整体效果还是不太理想,目前暂时没有想到修正和优化的办法,期待各位大佬的分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值