0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何结合TensorFlow目标检测API和OpenCV分析足球视频

zhKF_jqr_AI 来源:未知 作者:李倩 2018-07-08 09:38 次阅读

编者按:深度学习咨询顾问Priya Dwivedi演示了如何结合TensorFlow目标检测API和OpenCV分析足球视频

介绍

本届世界杯爆冷不少,谁能想到夺冠大热门德国会在小组赛出局?:(

作为数据科学家,我们可以对足球视频剪辑做些分析。使用深度学习和opencv我们可以从视频剪辑中提取有趣的洞见。下面展示了一个例子,澳大利亚对秘鲁,我们可以识别所有球员、裁判、足球,同时根据队服判定球员所属。所有这一切都可以实时完成。

本文的相关代码见GitHub:priya-dwivedi/Deep-Learning/soccerteamprediction/

步骤概览

使用Tensorflow的目标检测API,可以快速搭建目标检测模型。如果你不熟悉这套API,可以看下我之前写的介绍Tensorflow目标检测API,以及如何使用该API搭建定制模型的博客文章。

API提供了在COCO数据集上预训练的目标检测模型。COCO数据集包含90种常见目标。

部分COCO目标分类

在这个例子中,我们关心的分类是人、足球,COCO数据集包含这两个目标。

API支持很多模型:

部分模型

这些模型在速度和精确性上有不同的折衷。由于我感兴趣的是实时分析,所以我选择了SSDLite mobilenet v2。

使用目标检测API识别出球员后,就可以使用OpenCV图像处理库来判定其所属球队。如果你没接触过OpenCV,可以先看下OpenCV的教程

OpenCV可以识别特定颜色的掩码,我们可以用它识别红衣球员和黄衣球员。下图是一个OpenCV检测红色的例子。

检测红色

主要步骤

请对照相应的Python代码阅读:

加载SSDLite mobilenet模型和分类列表。

使用cv2.VideoCapture()打开视频并逐帧读取。

在每一帧上检测目标。

SSDLite返回的结果是识别的分类及相应置信度、包围盒预测。置信度阈值为0.6。然后我们将置信度大于阈值的识别人员剪切出来。

提取出每个球员后,我们需要读取其球衣的颜色,并预测其归属。我们首先定义红色和黄色的颜色区间。接着使用cv2.inRange和cv2.bitwise创建颜色的掩码。统计检测出的红色和黄色像素的数目,以及占剪切图像总像素数的百分比,以检测球队。

最后整合代码,并使用cv2.imshow显示结果。

结语

很好。现在你看到了,深度学习和OpenCV的简单组合可以产生有趣的结果。在目标检测和归类球队之后,可以进行进一步的分析,例如:

当相机视角在澳大利亚球门区域时,你可以计算区域内的秘鲁球员和澳大利亚球员人数比。

你可以为每队分别绘制足迹的热图——例如显示秘鲁队主要占据的区域。

你可以绘制守门员的路径。

目标检测API提供了一些更精确但更慢的模型。你也可以试试它们。

如果你喜欢这篇文章,给我加❤️ :) 我希望你从GitHub拉取代码亲自动手尝试。

另外,我提供深度学习咨询,喜欢解决有趣的问题。我帮助一些创业公司部署了创新的AI解决方案。如果你有需要协作的项目,请通过我的网站deeplearninganalytics.org或我的邮箱priya.toronto3@gmail.com联系我。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24353
  • 深度学习
    +关注

    关注

    73

    文章

    5239

    浏览量

    119910
  • tensorflow
    +关注

    关注

    13

    文章

    313

    浏览量

    60242

原文标题:使用TensorFlow目标检测和OpenCV分析足球视频

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【飞腾派4G版免费试用】 第二章:在PC端使用 TensorFlow2 训练目标检测模型

    本章记录了如何使用TensorFlow2 进行目标检测模型训练的过程。
    的头像 发表于 12-15 06:40 1222次阅读
    【飞腾派4G版免费试用】 第二章:在PC端使用 <b class='flag-5'>TensorFlow</b>2 训练<b class='flag-5'>目标</b><b class='flag-5'>检测</b>模型

    基于OPENCV的运动目标跟踪实现

    CAMSHIFT算法是一种基于颜色直方图的目标跟踪算法。在视频跟踪过程中,CAMSHIFT算法利用选定目标的颜色直方图模型得到每帧图像的颜色投影图,并根据上一帧跟踪的结果自适应调整搜索窗口的位置
    发表于 12-23 14:21

    基于QT+OpenCv目标跟踪算法实现

    视频目标跟踪,本文将首先向大家介绍常用的粒子滤波视频目标跟踪算法,对其原理进行简单的分析,为后续进一步选择和应用算法实现
    发表于 09-21 10:42

    全网唯一一套labview深度学习教程:tensorflow+目标检测:龙哥教你学视觉—LabVIEW深度学习教程

    ,使用labview训练和部署深度学习模型,并配备相关案例视频。课程目录:Tensorflow环境搭建Object_detection api安装相关py文件编译测试测试tensorflow
    发表于 08-10 10:38

    迅为RK3399开发板人工智能深度学习框架

    `迅为率先在RK3399 开发板上支持了Docker、TensorFlow目标检测APIOpenCV、Keras、scikit-learn
    发表于 05-21 17:28

    Labview深度学习tensorflow人工智能目标检测-教学贴【连载】

    本帖最后由 wcl86 于 2021-6-3 16:23 编辑 应广大学员要求,现开通Labview深度学习tensorflow人工智能目标检测-教学贴,有需要的学员,可以收藏本贴,接下来会
    发表于 05-28 11:58

    视频监控中的运动目标检测

    视频监控中的运动目标检测
    发表于 12-17 17:07 1次下载

    视频序列运动目标检测

    视频序列中运动目标检测目标识别、标记和追踪的重要组成部分,背景减除法是运动目标检测中广泛应用
    发表于 12-01 15:22 2次下载

    tensorflow 训练模型之目标检测入门知识与案例解析

    目标检测是深度学习的入门必备技巧,TensorFlow Object Detection API的ssd_mobilenet_v1模型解析,这里记录下如何完整跑通数据准备到模型使用的整
    发表于 12-27 13:43 1.7w次阅读

    使用Adaboost算法实现车牌检测OpenCV上实现的研究分析

    AdabtxⅪt是一个构建精确分类器的学习算法,在目标检测领域有着广泛的应用。OpenCV是Intel开源计算机视觉库。该文给出了在OpenCV上利用Adaboost算法,实现车辆车牌
    发表于 09-27 17:49 7次下载
    使用Adaboost算法实现车牌<b class='flag-5'>检测</b>在<b class='flag-5'>OpenCV</b>上实现的研究<b class='flag-5'>分析</b>

    使用OpenCV实现视频图像序列的运动目标检测的资料说明

    和混合高斯背景建模的运动检测方法的优缺点,提出了一种3者相结合的运动目标检测算法。在讨论数学模型的基础上,通过OpenCV进行了实现,并对传
    发表于 10-23 16:21 4次下载

    如何使用Docker容器中的TensorFlow目标检测API

    本文展示了如何使用 Docker 容器中的 TensorFlow 目标检测 API,通过网络摄像头执行实时目标
    的头像 发表于 11-27 09:08 1802次阅读

    「房间里的大象」:让目标检测器一脸懵逼

    实验中采用的图像均来自 MS-COCO 数据集 2017 版的验证集。除非另有说明,我们采用的所有模型均来自 Tensorflow 目标检测 API [5]。因此,我们的实验易于复现,
    的头像 发表于 04-01 14:24 1259次阅读

    OpenCV使用深度学习做边缘检测的流程

    导读 分析了Canny的优劣,并给出了OpenCV使用深度学习做边缘检测的流程。 在这篇文章中,我们将学习如何在OpenCV中使用基于深度学习的边缘
    的头像 发表于 05-08 11:05 1978次阅读
    <b class='flag-5'>OpenCV</b>使用深度学习做边缘<b class='flag-5'>检测</b>的流程

    用于桌上足球/足球的自动Arduino目标计数器

    电子发烧友网站提供《用于桌上足球/足球的自动Arduino目标计数器.zip》资料免费下载
    发表于 12-13 10:29 0次下载
    用于桌上<b class='flag-5'>足球</b>/<b class='flag-5'>足球</b>的自动Arduino<b class='flag-5'>目标</b>计数器