使用TensorFlow目标检测和OpenCV分析足球视频

2018 年 7 月 10 日 极市平台

↑ 点击蓝字关注极市平台 识别先机 创造未来


来源:论智

编译:weakish


编者按:在本文中,深度学习咨询顾问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代码阅读:

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

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

  3. 在每一帧上检测目标。

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

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

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


结语

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

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

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

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


目标检测API提供了一些更精确但更慢的模型。你也可以试试它们。如果你喜欢这篇文章,给我加❤️ :) 我希望你从GitHub拉取代码亲自动手尝试。


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


原文地址:

https://towardsdatascience.com/analyse-a-soccer-game-using-tensorflow-object-detection-and-opencv-e321c230e8f2




*推荐文章*

如何用OpenCV、Python和深度学习实现面部识别?

Github上一些精致且实用的TensorFlow项目及相关论文

今晚开幕!2018世界杯人工智能应用大盘点


PS.极市平台正式启动了极市原创作者计划。欢迎各位的高质量的视觉方向的原创投稿文章,我们将不遗余力得在我们所有的平台上进行传播分享。更多详情请点击:活动 | 加入极市原创作者行列,实现一个小目标


登录查看更多
5

相关内容

一个跨平台的计算机视觉处理库,全称是Open Source Computer Vision。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
18+阅读 · 2019年10月9日
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
SSD多盒实时目标检测教程
论智
13+阅读 · 2018年4月5日
教你快速使用OpenCV/Python/dlib进行眨眼检测识别!
全球人工智能
3+阅读 · 2018年1月8日
深度学习目标检测概览
AI研习社
46+阅读 · 2017年10月13日
Arxiv
8+阅读 · 2018年5月17日
Arxiv
5+阅读 · 2018年2月26日
Arxiv
13+阅读 · 2018年1月20日
Arxiv
7+阅读 · 2017年12月26日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
18+阅读 · 2019年10月9日
相关资讯
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
SSD多盒实时目标检测教程
论智
13+阅读 · 2018年4月5日
教你快速使用OpenCV/Python/dlib进行眨眼检测识别!
全球人工智能
3+阅读 · 2018年1月8日
深度学习目标检测概览
AI研习社
46+阅读 · 2017年10月13日
Top
微信扫码咨询专知VIP会员