世界杯决赛号角吹响!趁周末来搭一套足球3D+AI量化分析系统吧!

news2024/11/26 6:20:19

2022年卡塔尔世界杯从11月21日开赛至今,即将在12月18日迎来这次赛事的最后高潮。对于大部分热爱世界杯的朋友来说,无论之前是哪队的球迷,现在都在会师决赛的两支队伍上选择站队。从赛事结果看,最终无论哪支队伍夺冠,都会成为创造历史或极具故事性的一支队伍。是法国队成为世界杯首支卫冕冠军?还是梅西带领阿根廷队夺冠成为球王?让我们拭目以待!
在这里插入图片描述

另外,从整个赛事组织层面看,在2000亿多美元的办赛经费加持下,卡塔尔不再只展示土豪气质,更是展示了科技办赛的内涵。纵观赛场内外,处处彰显着硬核科技。如场馆内的空调系统、赛场上的VAR、半自动越位技术等多项科技。

接下来,本文将从“卡塔尔世界杯官方半自动越位技术分析”和“自行搭建3D+AI足球量化分析系统”两个方面来讨论AI技术在足球运动中的应用思路。

卡塔尔世界杯官方半自动越位技术分析

半自动越位技术(Semi-automated offside technology)可以说是本届卡塔尔世界杯的一大热点。自首场揭幕战亮相后,就一直争议不断、褒贬不一。抛开这项技术对足球赛事观赛体验和判罚结果的利弊影响,单从技术角度看,这项工作还是有很多可圈可点的地方。
根据FIFA官网的介绍,每个体育场有12个专用跟踪摄像头,以50Hz的频率,运用深度学习算法跟踪球和每个球员29个骨骼关键点。
在这里插入图片描述
卡塔尔世界杯光学跟踪系统 图片来源:FIFA官网

本届卡塔尔世界杯的官方比赛用球是阿迪达斯的AI Rihla。球中心装有惯性测量单元 (IMU) 传感器,通过场内的超宽带(UWB)技术,以500Hz的频率发送足球的位置、速度、角速度、加速度等信息。
在这里插入图片描述
卡塔尔世界杯比赛用球 图片来源:FIFA官网

通过应用AI技术追踪球员的骨骼关键点和足球数据,每当球被处于越位位置的进攻球员接球时,系统会向视频操作室内的视频裁判提供越位报警。在通知现场裁判之前,视频裁判通过系统自动计算出的越位线以及踢球点进行人工检查判断,这个过程在几秒内就可以完成,这意味着裁判可以更快、更准确地做出越位决定。

在得到场上裁判的确认后,系统会将当时的球员关键点、位置等数据渲染生成3D动画。该动画详细展示了踢球时球员四肢的位置,并提供查看越位情况的最佳视角,随后该动画将在体育场的屏幕上进行播放,同时推送给转播方,以最清晰的方式告知所有观众。
在这里插入图片描述
越位判断 图片来源:FIFA官网

自行搭建3D+AI足球量化分析系统

足球作为世界第一大运动,其职业化与专业化程度不仅仅体现在赛场上球员的高光表现、教练的运筹帷幄,还体现在电视转播技术、录像分析技术上。2022卡塔尔世界杯期间,百度智能云继以“3D+AI”技术助力央视总台北京冬奥会期间特别节目《奥秘无穷》、《荣誉殿堂》之后,再次与总台王牌世界杯专题节目《足球盛宴》(原《豪门盛宴》)达成技术合作。通过对高光视频片段的3D+AI技术量化分析,让球迷朋友拥有专业分析师的视角。

上述3D+AI技术量化分析的实现,其技术细节由飞桨开源的目标检测套件PaddleDetection和针对体育领域的开源套件PaddleSports实现,覆盖了计算机视觉里面的目标检测、人体关键点检测、目标追踪、三维重建等各项视觉任务。

本节将介绍如何利用PaddleDetection和PaddleSports快速搭建一套AI足球分析系统,该系统除包括Demo里面的3D+AI量化分析外,还有球员和足球的检测与轨迹追踪、球员号码识别、球员高亮、球员骨骼点追踪等功能。

首先克隆代码仓库获取源代码

克隆仓库

git clone https://github.com/PaddlePaddle/PaddleDetection.git
git clone https://github.com/PaddlePaddle/PaddleSports.git

注:篇幅所限,以下仅展示关键代码,完整代码请参考源码。

目标检测

无论是球员的骨骼数据追踪、还是球员号码识别与球员高亮,都离不开对球场要素(运动员、球等对象)的检测。而在世界杯赛场的场景下,目标检测有以下难点:

**难点一:检测对象相似且遮挡。**同队球员着装相同,排人墙时人挤人,位置拥挤,存在视觉遮挡;

**难点二:检测对象尺寸较小。**球场的摄像头大部分都是在球场上空,从转播画面也能看到,无论是球员还是球在视频画面上都显得很小,这就带来了小目标检测的难点;(关于小目标检测可查看往期推文:Yes, PP-YOLOE!80.73mAP、38.5mAP,旋转框、小目标检测能力双SOTA!)

**难点三:高精度与实时性双高要求。**世界杯的判罚容错率要求小于1%,同时比赛在实时进行与转播,这对AI技术的实时性要求不言而喻。

PaddleDetection自身推出的PP-YOLOE+以及针对小目标检测的smalldet在世界杯场景下有较好的效果。

运行代码

球员检测

python pipeline/pipeline.py \
--config pipeline/config/infer_cfg_pphuman_player.yml \
--image_file=path_to_your_image \
--device=gpu \
--output_dir=output/player

在这里插入图片描述
球员检测代码运行结果

足球检测

python pipeline/pipeline.py \
--config pipeline/config/infer_cfg_pphuman_football.yml \
--image_file=path_to_your_image \
--device=gpu \
--output_dir=output/football

在这里插入图片描述
足球检测代码运行结果

骨骼关键点检测

人体骨骼点检测即人体关键点检测。足球比赛的规则判罚中,球员身体的各部位都会被关注,如禁区是否手球。在越位判断时,除了手臂之外,其他部位都会关注到。通过目标检测定位到球员在画面的位置后,需要进行球员的骨骼点检测。

关键点检测分自上而下自下而上两种方法:

  • 自上而下(Top-Down):这种方法包括两部分,先进行人体的目标检测,再裁剪出人体的边界框进行关键点检测。

  • 自下而上(Bottom-Up):这种方法也包括两部分,关键点检测以及关键点聚类。关键点检测将图片中所有类别的关键点全部检测出来,然后对这些关键点进行聚类处理,将不同人的不同关键点连接在一块,从而聚类产生不同的个体。

长期以来,关键点的检测一直存在一个难题,即精度高,速度则慢,算法体积也随之增加。在足球场上的关键点检测技术面临着目标小、被遮挡的问题同时,也追求高精度、实时性。同时,也面临多人关键点检测的问题。PaddleDetection的PP-TinyPose实现了速度在FP16,122FPS的情况下,精度可达到51.8%AP,不仅比其他类似实现速度更快,精度更是提升了130%。另外,在微小目标以及多人目标的问题上,也做了一系列的优化。关于小目标检测可查看往期推文:122FPS、51.8%AP的超轻量关键点算法PP-TinyPose来啦!

骨骼点的检测需要输入视频,运行代码可参考后面目标追踪模块,其效果图如下:
在这里插入图片描述
骨骼关键点检测运行结果

目标追踪

目标追踪可以识别和跟踪属于一个或多个类别的对象(即,行人、动物、汽车等)。与目标检测算法不同(即,输出是所识别的矩形边界框的一组坐标、高度和宽度),目标追踪算法还必须将对象ID与每个框相关联,以区分每个类中的对象。

在体育领域,对自动识别和目标追踪技术的需求日益增长。例如,通过目标追踪技术可以检测和分类运动员,跟踪运动员或运动中的球,并预测其轨迹,配合导播镜头,使转播画面更加真实。我们用PaddleDetection特色PP-Tracking追踪算法,分别运行以下Demo。
足球轨迹追踪

python pipeline/pipeline.py \
--config pipeline/config/infer_cfg_pphuman_football.yml \
--draw_center_traj \
--video_file=path_to_your_video \
--device=gpu \
--output_dir=output/football

在这里插入图片描述
足球轨迹追踪代码运行结果

球员号码识别跟踪

python pipeline/pipeline.py \
--config pipeline/config/infer_cfg_pphuman_player.yml \
--video_file=path_to_your_video \
--device=gpu \
--output_dir=output/player \
--player_recognize True

在这里插入图片描述
球员号码识别跟踪代码运行结果

球员高亮跟踪

python pipeline/pipeline.py \
--config pipeline/config/infer_cfg_pphuman_player.yml \
--video_file=path_to_your_video \
--device=gpu \
--output_dir=output/player \
--link_player 1 5 54 10

在这里插入图片描述
球员高亮跟踪代码运行结果

球员及骨骼点关键点跟踪

python pipeline\pipeline.py \
--config pipeline/config/infer_cfg_pphuman_player.yml \
--video_file=path_to_your_video \
--device=gpu \
--output_dir=output/player

在这里插入图片描述
球员及骨骼关键点跟踪代码运行结果

定量分析

在基于上述对球场要素的检测、追踪的信息下,还需要对高光视频段进行量化分析。首先,国际比赛的足球场标准一般是固定的,包括长、宽、大小禁区、中圈等要素。

因此,在量化分析时,我们可以根据对球员的追踪定位得到的图像坐标与这些参照物的相对距离,通过张氏标定法、PNP算法等反解出相机的内外参得到实际的距离(在此不展开,想了解更多可前往文末代码库链接)。
在这里插入图片描述
足球场参数 图片来源: Wikipedia

如下,在回放进球的视频段中,通过不同转播视角的图像,利用张氏标定法计算相机内参、以及单张图PNP计算外参。然后将球员在图像里的坐标与大禁区线的相对距离推算直线跑动距离约14米。同时,根据视频段的起始时间,得知这个过程经历了约2.3秒,算出球员带球平均速度约6米/秒,即20千米/小时。

在这里插入图片描述

以上就是3D+AI技术定量分析,相信这样的量化数据不仅对电视转播有用,对于各球队的录像分析师来说,更是一大利器。在1/4决赛的两场比赛中,夺冠热门巴西与克罗地亚、荷兰与阿根廷都踢到了点球大战。对于职业的球队来说,针对对方主要点球手的习惯分析已经很常见了,但由机器自动计算,并且要精确到球员助跑步数、射门角度这种统计维度的估计很少。试想,当球队踢到了轮盘赌这种局面,如果能在赛前掌握更多的数据给到门将,门将扑点成功的概率会不会更大?

除了上述分析的两项应用AI视觉技术的案例外,实际上,本届世界杯还有其他地方也运用到了AI技术。如相对成熟的人脸识别验票、球馆内是否有球迷抽烟、多哈街头上监控球迷是否有打架行为等各种用于安防的AI视觉应用,这些功能实现可以参考PaddleDetection里的PP-Human行人分析工具。

本周之后,卡塔尔世界杯将圆满落幕。毫无疑问,本届世界杯无论从赛场内外、热点、花边都极具故事性与历史性。相信走到最后的两支队伍,在决赛的赛场上,无关乎纸面实力,无关乎历史战绩,只有国家荣誉,个人梦想。在足球场上,势必寸土必争。巅峰之战一触即发,我们一起期待。

以上涉及到的代码均可在如下代码仓库中找到,欢迎star关注!

  • PaddleDetection
    https://github.com/PaddlePaddle/PaddleDetection
  • PaddleSports
    https://github.com/PaddlePaddle/PaddleSports

参考

  • https://www.fifa.com/technical/football-technology/football-technologies-and-innovations-at-the-fifa-world-cup-2022/semi-automated-offside-technology

  • https://tiyu.baidu.com/match/%E4%B8%96%E7%95%8C%E6%9D%AF/tab/%E6%8E%92%E5%90%8D/childTab/matchUp

  • https://github.com/KirigiriSuzumiya/Sports_Game_Tracker

  • https://en.wikipedia.org/wiki/Football_pitch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

01背包和完全背包

01背包 最大约数和 题目链接点击这里 题目描述 选取和不超过 SSS 的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。 输入格式 输入一个正整数 SSS。 输出格式 输出最大的约数之和。 样例 #1 样例输入 #1 11样例输出 …

有哪些值得推荐的Python学习网站?

我学习的时候,我发现大部分 Python 课程和资源都太通用了。 马上,我想学习如何使用 Python 制作网站。但是 Python 学习资源要我花几个月的时间学习语法,然后才能进入我感兴趣的领域。 这个问题让人感到恐惧和畏惧。我推迟了几个月。每当我…

大学生化妆品网页设计模板代码 化妆美妆网页作业成品 学校美妆官网网页制作模板 学生简单html网站设计成品

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

为什么人家的开源项目文档如此炫酷?原来用的是这款神器

VuePress简介 VuePress是Vue驱动的静态网站生成器。对比我们的Docsify动态生成网站,对SEO更加友好。 使用VuePress具有如下优点: 使用Markdown来写文章,程序员写起来顺手,配置网站非常简洁。 我们可以在Markdown中使用Vue组件&…

所谓工作能力强,其实就这五点

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 #mermaid-svg-YapmQUqJ0V32EFv6 {font-family:"trebuchet ms",ve…

用三台云服务器搭建hadoop完全分布式集群

用三台云服务器搭建hadoop完全分布式集群一、硬件准备(一)集群配置(二)集群规划(三)Hadoop、Zookeeper、Java、CentOS版本二、基础环境配置(一)关闭防火墙(二&#xff09…

[附源码]Python计算机毕业设计SSM基于Java的在线点餐系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

12.15

JSONP 1) JSONP 是什么 JSONP(JSON with Padding),只支持 get 请求。 2) JSONP 怎么工作的? 在网页有一些标签天生具有跨域能力,比如:img link iframe script。 JSONP 就是利用 script 标签的跨域能力来发送请求的。 3) JSONP …

为什么你的接口性能差,实际原因就在这里?

一、前言这篇文章咱们来聊一下,百亿级别的海量数据场景下还要支撑每秒十万级别的高并发查询,这个架构该如何演进和设计?咱们先来看看目前系统已经演进到了什么样的架构,大家看看下面的图:首先回顾一下,整个…

三、Node.js模块化基础 2.0

在Node.js中,模块分为核心(原生)模块和文件(自定义)模块,核心模块就是Node.js自带的模块,而自定义模块则是开发者自定义的模块; 核心模块 核心模块有 os,fs,…

发送给Java应用程序的所有参数都必须是字符串吗?

问:发送给Java应用程序的所有参数都必须是字符串吗? 答: 应用程序在运行时,Java将所有参数存储为字符串。要使用整型或其他非字符串参数,必须将其进行转换, 问:既然applet是在Web页面中运行&…

大一作业HTML网页作业:中华传统文化题材网页设计5页(纯html+css实现)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

HTML期末作业,基于html实现中国脸谱传统文化网站设计(5个页面)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Scrapy_redis分布式原理

今天分享一下Scrapy_redis分布式原理&#xff1a; 1 scrapy_redis是什么 Scrapy_redis &#xff1a; Redis-based components for Scrapy. Github地址&#xff1a;<https://github.com/rmax/scrapy-redis> 在这个地址中存在三个demo&#xff0c;后续我们对scrapy_redi…

大学生简单环保环境静态HTML网页设计作品 DIV布局环境介绍网页模板代码 DW学生环境网站制作成品下载 HTML5期末大作业

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

2022_TIP_DSNet

Boosting RGB-D Saliency Detection by Leveraging Unlabeled RGB Images 通过利用未标记的RGB图像来增强rgb-d显着性检测 1. 动机 1) 用于监督学习的像素级注释既昂贵又耗时。 2) 与RGB图像相比&#xff0c;成对的rgb-d图像更难以收集。 2. 解决方法 提出 Dual-Semi RG…

[附源码]Python计算机毕业设计Django景区直通车服务系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

智能人机交互

前言 随着移动机器人越来越多地走向实 际应用&#xff0c;需要提高机器人与人类之 间的协同水平&#xff0c;实现机器人与人类的共融。 一、人机交互的三个级别 二、火星车的遥操作控制 火星车的遥操作控制&#xff08;超大时延&#xff09;&#xff1a;地面团队将命令序列发至…

Linux | 网络概念理解 | 对网络的初识

文章目录重新看待计算机体系结构软件分层的思想网络中的分层协议的理解局域网的理解MAC地址 && IP地址报头的作用端口号&#xff08;port&#xff09;重新看待计算机体系结构 计算机由硬件组成&#xff0c;而不同硬件之间要怎么通信&#xff0c;或者说要怎么进行数据的…

STM32F4的串口烧录问题

前言&#xff1a;以前总是画F1的板子&#xff0c;第一次接触F4的芯片&#xff0c;画板子时串口接在了PB6、PB7上&#xff0c;导致烧录程序、检测芯片失败的情况。其原因是由于F1的USART1对应(PA9\PA10)&#xff0c;而F4的USART1则对应了(PA9\PA10)和(PB6\PB7)。两个对应搞得不知…