摘要:通过对篮球动作的分类训练及识别检测实例的讲解和体验,使我们了解了Yolov3模型的原理、架构等基本知识,为日后的深入学习奠定了基础。

背靠全新的设计理念,华为云推出了 MindSpore深度学习实战营,帮助小白更快的上手高性能深度学习框架,快速训练ResNet-50,实现你的第一个手机App开发,学会智能新闻分类、篮球检测和「猜你喜欢」模型!

MindSpore深度学习实战营,通过 21天的合理课程安排,不仅提供目前大热的移动端部署介绍,还有紧跟时事的趣味实践,更有深度的底层开发讲解,让你从框架到算法到开发,都能一网打尽。

在MindSpore21天实战营的第四堂课,由王老师分享了Yolov3在图像分类、目标检测等方面的实现。通过对篮球动作的分类训练及识别检测实例的讲解和体验,了解了Yolov3模型的原理、架构等基本知识,为日后的深入学习奠定了基础。

本次体验同样基于ModelArts+OBS,基本的操作步骤不复赘述,可以参考之前的文章。作业也同样分为体验作业和进阶作业。

体验作业:输入篮球比赛图片,在ModelArts环境上完成模型推理流程。根据本课提供的代码和操作步骤,是比较容易实现的,在此也不复强调。

进阶作业:输入篮球比赛视频,在ModelArts环境上完成模型推理流程。具体实现步骤如下:

1、下载一段篮球比赛视频,格式最好是mp4、avi等常规格式。用专用播放器下载的特殊格式,还需要转换一下;另外就是考虑到数据量的问题,视频的时间也不宜超过1分钟。本次操作的视频转码mp4后,居然带着水印(试用版),不确定会不会影响后续的识别。

2、对视频进行切分为图片,格式为.jpg。根据本课提供的OpenCV代码,在本地测试成功后,放到ModelArts上调试却不成功,多次调试无果。

2.1本地操作的代码如下图:

2.2 帧率为25,按照10帧取1,共切分出116张图片,图片大小为1920*1080。执行过程如下图所示

2.3 将图片通过OBS-browser-plus上传到OBS桶Yolov3项目数据集路径中;

2.4 修改predit.py代码,使其适应于批量图片的推理,并上传Yolov3代码至OBS桶。

Ps:2.4.1 图片目录中需按名称顺序读取并处理;

2.4.2 要将detection = DetectionEngine(args)语句置于循环中,否则其导致上一张图的Bounding box的累加复用,导致预测结果错误。如下图所示极端状况:

2.5 将Yolov3代码上传OBS桶Yolov3代码目录,并设置启动predict.py;在输出图片遍历的打印信息后,图片的检测工作就完成了,并输出到设置的OBS输出目录中。ModelArts检测日志见下图:

Ps:需注意增加checkpoint_path的配置,做为推理使用的训练模型。具体设置过程参见进阶作业步骤。

2.6、将图片使用OBS-browser-plus下载到本地,使用代码将其合并为视频。同样,ModelArts尝试运行无果。本地运行代码如下:

合成操作打印信息如下图所示:

到此,进阶作业的过程基本完成。

后记:

1、 本次课程训练使用的3000张篮球比赛图片,是在ModelArts上使用图片标记完成的,这可以作为深入了解AI模型拓展的一个起点;

2、 本次课程提供了GPU版本的代码,ModelArts上未实现的可以尝试在GPU环境下自动完成图片的切分、检测及合并;

3、 本节课后老师又补充了Yolov4的代码,可以尝试体验相比Yolov3检测精度是否有所提升。此项目前正在处理报错中,尚未成文,等待后补,谢谢!

本文分享自华为云社区《基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验》,原文作者:Dasming 。

点击关注,第一时间了解华为云新鲜技术~

技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验相关推荐

  1. yolov3模型识别不出训练图片_技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验...

    摘要:通过对篮球动作的分类训练及识别检测实例的讲解和体验,使我们了解了Yolov3模型的原理.架构等基本知识,为日后的深入学习奠定了基础. 背靠全新的设计理念,华为云推出了 MindSpore深度学习 ...

  2. 基于MindSpore框架的室内场景图像分割方法研究

    基于MindSpore框架的室内场景图像分割方法研究 概述 本文以华为最新国产深度学习框架Mindspore为基础,研究室内场景语义分割方法.本文基于注意力机制改进U-Net网络,并选取VGG16与R ...

  3. CV之IE之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成不同尺寸和质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)—五个架构设计思维导图

    CV之IE之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成不同尺寸和质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)-五个架构设计思维导图 ...

  4. CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成带背景的不同尺寸高质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例

    CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成带背景的不同尺寸高质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例 目录 基于 ...

  5. CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成更高质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用

    CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成更高质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用 目录 基于TF框架利 ...

  6. CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成更大尺寸的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用

    CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成更大尺寸的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用 目录 基于TF框架利 ...

  7. CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成原始的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用

    CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成原始的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用 目录 基于TF框架利用I ...

  8. TFOD:基于TFOD API的官方模型案例对图片进行目标检测

    TFOD:基于TFOD API的官方模型案例对图片进行目标检测 目录 输出结果 设计思路 代码(部分)实例 输出结果 设计思路 代码(部分)实例 #1.导入基本的包和环境,包括两个TFOD中的包 im ...

  9. 技术实践 | 如何基于 Flink 实现通用的聚合指标计算框架

    导读:网易云信作为一个 PaaS 服务,需要对线上业务进行实时监控,实时感知服务的"心跳"."脉搏"."血压"等健康状况.通过采集服务拿到 ...

最新文章

  1. python-virtualenv虚拟环境的使用
  2. python读文件的三个方法read()、readline()、readlines()详解
  3. 老生常谈:注释怎么写?
  4. JDK8中的新时间API:Duration Period和ChronoUnit介绍
  5. mysql 主从二进制日志_Mysql-8 配置主从复制(基于二进制日志)
  6. 7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)
  7. mysql 函数修改无效_MySQL:无效使用组函数
  8. Keras:模型评估
  9. C++小游戏——24点
  10. IE 9 beta 下载地址
  11. 通过session实现通用爬虫--爬取到开心网账户的首页界面
  12. python 提取骨架
  13. python读parquet文件 pandas读parquet文件
  14. ps如何将图片转化成线稿 简单版
  15. e-r数据建模-概念模型 逻辑模型 物理模型-总结
  16. GitHub 上一款全能高速下载工具!堪比某度的会员
  17. iOS9 App Thinning(应用瘦身)功能介绍 1
  18. Nginx(三):日志
  19. 【Linux 用户和组】基础概念
  20. windows开机启动项设置

热门文章

  1. es6 Promise.prototype.then()方法
  2. Python 图片与字符串互转
  3. 视觉SLAM笔记(42) 光流法跟踪特征点
  4. java sql in无效数字_java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
  5. java 判断正负数_Java判断一个字符串为数字(正负、小数)
  6. 类的别名java,类型别名是为 Java 类型设置一个短的名字。 它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。例如:typeAliases typeAlias ali...
  7. python scapy模块安装_python scapy模块安装与依赖模块
  8. 相机噪声与深度感知的方法梳理
  9. ASP.NET Core中使用GraphQL - 第三章 依赖注入
  10. Bundler和Minifier Visual Studio扩展