‍‍


  视学算法报道  

编辑:Aeneas

【导读】这位外国小哥,使用了YOLOv5和ByteTRACK的组合来跟踪球场上的球员。网友大呼:妥妥的赌球王者了。

前天,C罗的球迷们伤心惨了。

12月11日的卡塔尔世界杯上,葡萄牙不敌摩洛哥止步八强,C罗的世界杯之旅,就这样画上了遗憾的句号。

#C罗说梦想结束了#的这个热搜下,集结了不知多少心碎的球迷。

葡萄牙对摩洛哥的这场比赛,出现了0:1的爆冷结果。C罗哭了,内马尔哭了,下一个会是谁呢?

不过,还没来得及从为C罗伤心中走出来,今晚又要迎来梅西和莫德里奇的对决了!

怕心脏受不了?

现在,有了这么一个模型,没准能让你在比赛开始的5分钟内,就提前知道这场球会不会爆冷。

当计算机视觉用于足球

国外的这位机器学习工程师,一直希望把计算机视觉(CV)和自己热爱的足球相结合。

在三年前,他就曾尝试用YOLOv3来把篮球场上的运动员进行检测和分类。

而眼下的FIFA世界杯,让他重新捡起了这个想法。

这次,他使用的是YOLOv5和ByteTRACK的组合,来跟踪球场上的足球运动员。

第1步:构建预训练检测器

最初,Skalski希望能跳过自定义模型训练。

他希望从开始到结束只花几个小时,速战速决。

因为用于训练YOLOv5和YOLOv7模型的流行COCO数据集包含他最感兴趣的两个类 — person和sports ball,这就让他非常乐观,认为可以从COCO检查点进行训练。

他从Kaggle的德甲数据大战中快速下载了几十个简短的足球比赛视频,并将预训练模型用于测试。

在尝试了iou_threshold,confidence_threshold,input_resolution等各种配置后,他得到的结果令人失望。

在这个模型上,仅仅在几个视频帧上能检测到球,因为数量太少,模型无法可靠地跟踪如此小且快速移动的物体。

另一方面,这个模型会检测到场外的许多冗余对象——教练、球迷、维修人员、摄像人员等。为了这些冗余对象,需要编写额外的检测过滤逻辑,太过麻烦。

可见,即使数据集包含所需要的类,但用于推理的视频肯定与用于训练的图像有很大不同。

在这种情况下,Skalski只能创建自己的数据集,并训练自定义模型。

第2步:构建自定义检测器

而训练自定义模型,就需要付出很多努力。

最主要的原因是,为了注释图像,必须完成大量的手动工作。

由于时间匆忙,需要尽可能的简化流程。

Skalski从前面提到的Kaggle数据集中选择了几十个视频,并使用FFmpeg从每个视频中提取10帧——每3秒一个。

接下来,就是对图像执行自动初步注释,并将检测到的对象保存到txt文件,来利用预训练的YOLOv5 模型。

接下来,第2阶段就是要完善数据了。

虽然计算机已经完成了90%的工作,但人工更正仍然花了Skalski将近5个小时的时间。

同时,他还引入了两个额外的对象类——裁判和守门员。他的工作成果,在Roboflow Universe上可见。该数据集是开源的,任何人都可以免费使用。

预训练vs自定义足球运动员检测器

自定义训练的结果让Skalski对于解决上述两个问题充满自信。

但不幸的是,可能是由于分类不平衡,该模型在检测goalkeeper类时仍然存在问题。

于是,在接下来,Skalski将每个守门员都视为一名普通的足球运动员。

Skalski的模型和他的数据集一样,在Roboflow Universe上都是可用的。只需拖放测试图像即可。

第3步:跟踪对象

Skalski使用的是ByteTRACK(SOTA多对象跟踪器之一)来跟踪视频中的对象。

ByteTRACK在内部并不使用任何神经网络。这个模型的强大功能完全来自于简单的数学计算:比较各个帧上的边界框位置。

最重要的是,ByteTRACK不负责检测,只负责跟踪。因此,它不需要像其他一些跟踪器那样进行单独训练。

因而,ByteTRACK允许我们轻松地更换检测器,而无需重新设计整个代码的架构。

下面是一段简化的代码片段,在自己的项目中,您需要利用ByteTRACK的起始代码。

在ByteTRACK项目中,框架上的每个对象都有一个唯一的ID。

这是模型的结果:

ByteTRACK单帧结果

可以看到,每个玩家都被分配了一个唯一的编号,并在帧之间进行跟踪。

当然,检测和跟踪仅仅是个开始。

有了这些,我们就可以更上一层楼了!

比如,现在可以快速分析动作的过程,了解球是如何在球员之间移动的,计算球员移动的距离,或者定位他们最常出现的场地区域。

网友:不去赌球可惜了

有网友表示:既然你掌握了这么多信息,不去赌球真的亏了。

对此,有激动的网友表示:「这也太梦幻了!我一直就想做出这样一个东西卖给赌球的人。」

「你可以呈现出每个进攻球员的每一秒的传球状态和准备状态。甚至可以对从未被传球的球员进行360 度的表现评估,这比估计的赔率准确多了!」

也有网友表示:dream一个足球比赛的实时小地图。

有严谨的网友询问道:「这个脚本是否只适用于一个固定的摄像机角度,比如从覆盖整个地面的一侧?可不可以用在其他摄像角度上,例如对3-4位球员进行对焦拍摄。」

对此帖主回复:「我认为我们可以添加来自其他角度的用例的数据,重新训练模型,它应该表现得一样好。」

而该网友表示:「我感觉换个角度的训练数据是行不通的。我的想法是,继续在全摄像机角度拍摄时运行脚本,但要记下球的位置和球周围的球员,并在任何其他提要上标记数据。」

参考资料:

https://blog.roboflow.com/track-football-players/

https://youtu.be/QCG8QMhga9k

点个在看 paper不断!

今晚,为梅西和莫德里奇熬夜!这个CV模型,让你猜球必赢相关推荐

  1. R假设检验之莫德中位数检验(Mood‘s Median Test)

    R假设检验之莫德中位数检验(Mood's Median Test) 假设检验 假设检验使用统计学中的概念来确定给定假设有效的概率.通过假设检验,我们可以通过分析样本统计量来推断样本对应的总体的参数. ...

  2. 莫德友_去哪儿酒店交易系统架构实践

    2019独角兽企业重金招聘Python工程师标准>>> 莫德友_去哪儿酒店交易系统架构实践 去哪儿网在刚开始做酒店交易业务的时候,为了实现各个业务线的快速搭建和运营,采取了比较简单粗 ...

  3. The Little Book of Semaphores 信号量小书 第六章 不那么经典的问题 6.4 莫德斯大厅问题

    第六章 不那么经典的问题 6.4 莫德斯大厅问题(The Modus Hall Problem) 这个问题是由Nathan Karst写的,他是2005年冬天住在Modus Hall的Olin学生之一 ...

  4. 莫纳什大学招收AI/CV/ML/计算生物信息学和生物医学方向全奖博士研究生

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 Monash大学数据未来研究院招收模式识别,计算机视觉,计算生物信息学和生物医学方向全奖博士研究生 Mona ...

  5. 莱昂纳德21+13猛龙36分大胜76人,赢下天王山之战

    NBA季后赛5月8日继续进行,最终猛龙主场以125-89大胜76人,总比分3-2领先. 首节开始,洛瑞哈里斯各中一记三分,互有得分后巴特勒连续得分,门罗也有得分,76人占得先机领先7分.猛龙快速打出一 ...

  6. 【深度学习】这个CV模型,让你猜球必赢

    ‍‍   新智元报道   编辑:Aeneas [新智元导读]这位外国小哥,使用了YOLOv5和ByteTRACK的组合来跟踪球场上的球员.网友大呼:妥妥的赌球王者了. 前天,C罗的球迷们伤心惨了. 1 ...

  7. 卡塔尔世界杯-诸神黄昏

    世界杯 世界杯概述:国际足联世界杯(FIFA World Cup)简称"世界杯",是世界上最高荣誉.最高规格.最高竞技水平.最高知名度的足球比赛,与奥运会并称为全球体育两大最顶级赛 ...

  8. “ 这片绿茵从不缺乏天才,努力才是最终的入场券——梅西 ”

    前言 想了又想还是忍不住想发布一篇文章来纪念一下2022年的卡塔尔世界杯,这伟大的诸神黄昏之战.4年一届的世界杯像是一把衡量时间的坐标,正所谓青春不过几届世界杯!2014巴西世界杯在上初一,2018俄 ...

  9. 足球数据采集 php,世上最权威足球数据网站只爱梅西?

    由于更新及时.数据全面,数据网站<whoscored>近些年后来居上,逐渐成为使用率最高.最权威的数据网站.但这个网站的评分也总会引起争议,尤其是随着武磊登陆西甲,越来越多的中国球迷开始接 ...

最新文章

  1. 微信小程序直播开启公测了,与平台直播有何不同?小程序直播如何搭建
  2. 推荐系统-03-简单基于用户的推荐
  3. IDEA - 解决 Maven 初始化配置 web.xml 为 2.3 的问题
  4. python【数据结构与算法】一维前缀和与差分
  5. systemd的程序自启动脚本编写
  6. web api 二
  7. windows bat 设置ip_A6v5.1网络版安装与防火墙设置
  8. MySQL修改数据类型语句
  9. 回归素材(part3)--机器学习基础从入门到求职
  10. linux里source、. 、sh、bash、./有什么区别
  11. 我喜欢c语言用英文版,说说我喜欢英语的几个理由
  12. ie6对postion:fixed的完美解决方案
  13. windows C++ 网络编程
  14. 已解决:录屏软件录不了全屏的问题
  15. VC中用内存映射文件处理大文件
  16. 开始写usb gadget驱动
  17. Rapid Tampere加速联合产业创新
  18. 印刷行业中,MES管理系统的功能应重点优化这三个方面
  19. android投影到win7,求教,如何把安卓手机屏幕投射到win7电脑上-win7投屏设置,手机投屏到电脑win7...
  20. 8月9日开始报名,但这些软考科目下半年不考

热门文章

  1. Python+Django+Channels之Consumers(用户)
  2. 基金转换——乾坤大挪移
  3. Myeclipse2019使用官方汉化包说明
  4. smartart连续块状流程图_只须四步让你的流程图更美
  5. Matlab 画地图时搞定经纬度注释 函数
  6. Git本地仓库与Github远程仓库关联
  7. 小学期软件工程团队项目进度5
  8. Hadoop自动化安装脚本
  9. 精彩推荐 | 金秋十月不容错过的技术演讲(上)
  10. 【新鲜出炉】北达软2011年EA公开课计划-中国EA专家