足球虚拟越位线技术FIFA OT(一)

news2025/1/19 20:44:07

此系列文章用于记录和回顾开发越位线系统的过程,平时工作较忙,有空时更新。

越位线技术

越位技术已被用于图形化分析足球中潜在的越位情况。

自 2018 年将视频助理裁判 (VAR) 引入比赛规则以来,人们越来越关注准确确定越位并根据这些越位做出自信决定的能力。国际足联在 2016 年至 2019 年间进行的研究表明,此类虚拟线最常见的误差来源是场地的地形(尤其是场地外倾角)、摄像机角度失真、球员遮挡和跟踪单个身体部位的问题。

虚拟越位线技术归属于裁判技术,另外两项裁判技术是视频助理裁判技术和球门线技术。

下面的视频是FIFA的越位线技术介绍,我在实际开发越位线技术的过程中研究了该视频内容的细节无数次。。

FIFA认证

虚拟越位线技术要想在比赛中使用首先要获得FIFA认证,认证流程如下

这是2023年发布的标准中的认证流程,右边分为Standard和SAOT,SAOT是引入了骨骼跟踪的半自动越位线技术,在23年的测试中SAOT属于可选项,取得Standard认证即可在赛事中使用,实际在现场真正参加SAOT测试的也只有Hawk一家。

那这两个有什么区别呢?看下面两张图,区别就在左上角的图标上,一个是FIFA QUALITY,一个是FIFA QUALITY PRO。

遗憾的事,这项技术曾经也是被国外垄断的,其实基本也就是一家公司-英国鹰眼(Hawk-eye),该公司2011年被索尼收购,现在业内基本都都喊他索尼。

我们从20年启动到23年拿到认证用了3年时间,共参加了3次测试,2次远程(疫情出不去),1次现场,第三次也就是23年在德国现场测试的时候拿到了Standard认证。从23年开始,认证周期也改成了4年一次,也就是说下次认证在27年。

FIFA越位线认证测试内容

项目启动对于技术人来说,最重要的还是要搞清楚认证测试内容,才能开展后续的软件设计开发工作。

简单点说,在一个球场内需要测试20个场景,也就是说需要绘制20次越位线。其中2D场景10次,3D场景10次。那么如何判断绘制越位线的准确度呢,官方会预先使用全站仪在场地中测量出越位线的位置,然后在两侧放置marker标记。如下图所示

评分通过marker标记(直径10cm)评估,越位线经过marker靠内侧区域扣1分、外侧区域2分、超出marker 3分,扣分总分超过10分即考试失败,只要有一次越位线超出marker也是考试失败。

什么是2D测试和3D测试呢,测试中也称为block1和block2。block1视频画面范围较大,越位线长度贯穿整个球场68米,绘制参考是球员踩在地上的脚,不存在找地面投影点的问题,marker内边缘间距50cm。block2视频画面范围相对较小,越位线长度不低于20米,绘制参考是一个悬空的球鞋,marker间距40cm。

block1和block2单独计分。每个block绘制10个场景,20张图像,每个场景绘制两张。如下图,场地至少3个越位线相机,分别是左16米相机、主相机、右16米相机,当球员在左半场时,需要在左16米相机和主相机绘制,在右半场同理。

这里分析一下,block1-2D场景越位线绘制68米,这样的话上下边线都在画面中,画面分辨率为1080p,那么画面高度1080个像素至少拍摄了68米的范围,换算一下平均像素精度低于6.3cm,距离相机较远的上半场精度将更低(尤其是主相机、球员在左上角),超过10cm。两个marker之间的距离是50公分,则误差允许范围是正负25cm,允许误差在1-2个像素,操作绘制时用鼠标选球员脚尖位置。这时放大后选择脚尖,图像可能是糊的。

这里还有一个线宽的问题,需要交代,由于是提交的是包含越位线的图像,线是由像素点组成的,验收结果时以线前缘为准(靠近球门线的方向)。

block2-3D场景绘制范围较小,大于20米,允许误差正负20cm,困难的是,画面内容少,球鞋悬空,找到球鞋前端的地面投影点比较有挑战,另外相机画面内容少,给相机参数求解带来困难。

相机由摄影师控制跟随比赛移动,对应到CV上代表内参、外参、畸变系数均在实时变化,而能拿到的信息只有过来的视频流,需要在这种条件下完成相机的参数求解工作。这时可参考的信息只有球场的先验参数,比如场地的尺寸,白线的位置。FIFA球场尺寸的标准并非固定数据而是范围,另外球场不平,为了排水会设计坡度,这些也给求解带来的较大的困难。

蓝色未考虑坡度

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

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

相关文章

昇思MindSpore学习总结六——函数式自动微分

神经网络的训练主要使用反向传播算法,模型预测值(logits)与正确标签(label)送入损失函数(loss function)获得loss,然后进行反向传播计算,求得梯度(gradients&…

【C语言】--分支和循环(1)

🍿个人主页: 起名字真南 🧇个人专栏:【数据结构初阶】 【C语言】 目录 前言1 if 语句1.1 if1.2 else1.3 嵌套if1.4 悬空else 前言 C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构。 我们可以用if、switch实现分支…

鸿蒙开发设备管理:【@ohos.multimodalInput.inputDevice (输入设备)】

输入设备 输入设备管理模块,用于监听输入设备连接、断开和变化,并查看输入设备相关信息。比如监听鼠标插拔,并获取鼠标的id、name和指针移动速度等信息。 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口&…

Todesk远程Ubuntu桌面系统100%但是进不去桌面

1、报错情况 如下图所示,用Todesk远程Ubuntu桌面,看到连接100%了,但是进不去桌面 ubuntu系统看起来的话,已经像被远程成功了 我就首先把todesk卸载重新安装了,后面发现还是这样,于是我就找客服去问了&…

数据结构笔记第2篇:单向链表

1、链表的概念及结构 概念:链表是一种物理结构上非连续、非顺序的存储结构,数据结构的逻辑顺序是通过链表中的指针链接次序实现的。 就像图中的小火车,每节车厢都是一个节点,每个节点都存储着一个数据。它们本身并不是顺序存储的…

python自动化办公之PyPDF2

用到的库:PyPDF2 实现效果:打开pdf文件,把每一页的内容读出来 代码: import PyPDF2 # 打开pdf文件 fileopen(friday.pdf,rb) # 创建pdf文件阅读器对象 readerPyPDF2.PdfReader(file) # 获取pdf文件的总页数 total_pageslen(rea…

SonicSense:声学振动丰富机器人的物体感知能力

在通过声学振动进行物体感知方面&#xff0c;尽管以往的研究已经取得了一些有希望的结果&#xff0c;但目前的解决方案仍然受限于几个方面。首先&#xff0c;大多数现有研究集中在只有少数&#xff08;N < 5&#xff09;基本物体的受限设置上。这些物体通常具有均质材料组成…

抖音直播自动点赞脚本:让点赞变得简单

抖音直播自动点赞脚本&#xff1a;让点赞变得简单 简介 点赞是社交媒体上表达喜爱的一种方式&#xff0c;尤其在抖音这样的平台上&#xff0c;点赞不仅能够增加主播的人气&#xff0c;还能鼓励他们创作更多优质内容。然而&#xff0c;手动点赞往往既耗时又费力。为了解决这个…

远程连接mysql等支持网络服务的数据库

1.ubuntu服务器上的mysql用datagrip连接需要专门去给mysql在服务器上运行的端口开放安全组吗 在使用 DataGrip 或任何其他数据库管理工具远程连接到 Ubuntu 服务器上的 MySQL 时&#xff0c;确实需要确保服务器的防火墙和安全组设置允许从你的 IP 地址访问 MySQL 所运行的端口&…

在Linux (Ubuntu 16) 下安装LabVIEW

用户尝试在Ubuntu 16操作系统上安装LabVIEW&#xff0c;但找不到合适的安装文件来支持Ubuntu。已经下载了运行时文件&#xff0c;并尝试将.rpm包转换为.deb包并安装在Ubuntu上。然而&#xff0c;安装完成后&#xff0c;没有在应用程序中看到LabVIEW的图标。 用户希望能够在Ubu…

Apache Ranger 2.4.0 集成Hive 3.x(Kerbos)

一、解压tar包 tar zxvf ranger-2.4.0-hive-plugin.tar.gz 二、修改install.propertis POLICY_MGR_URLhttp://localhost:6080REPOSITORY_NAMEhive_repoCOMPONENT_INSTALL_DIR_NAME/BigData/run/hiveCUSTOM_USERhadoop 三、进行enable [roottv3-hadoop-01 ranger-2.4.0-hive…

【SGX系列教程】(八)Intel-SGX 官方示例分析(SampleCode)——Seal Unseal

文章目录 一.Seal Unseal原理介绍1.1 Intel SGX supported Sealing Policies 二.源码分析2.1 README2.2 重点代码分析2.2.1 主要代码模块交互流程分析2.2.2 App/App.cpp2.2.3 Enclave_Seal/Enclave_Seal.cpp2.2.4 Enclave_Unseal/Enclave_Unseal.cpp 2.3 总结 三.参考文献四.感…

Debugging using Visual Studio Code

One of the key features of Visual Studio Code is its great debugging support. VS Code’s built-in debugger helps accelerate your edit, compile, and debug loop. Debugger extensions VS Code 内置了对 Node.js 运行时的调试支持,可以调试 JavaScript、TypeScript…

HDFS学习

3.5 HDFS存储原理 3.5.1 冗余数据保存 作为一个分布式文件系统&#xff0c;为了保证系统的容错性和可用性&#xff0c;HDFS采用了多副本方式对数据进行冗余存储&#xff0c;通常一个数据块的多个副本会被分布到不同的数据节点上。 如图所示&#xff0c;数据块1被分别存放到…

【IVI】CarService启动-Android13

【IVI】CarService启动-Android13 1、CarServiceImpl启动概述2、简要时序图 1、CarServiceImpl启动概述 【IVI】CarService启动&#xff1a; CarServiceHelperService中绑定CarServiceICarImpl初始化各种服务 packages/services/Car/README.md 2、简要时序图

RabbitMQ-交换机的类型以及流程图练习-01

自己的飞书文档:‌‍‬‍‬‍​‍‬​⁠‍​​​‌⁠​​‬‍​​​‬‬‌​‌‌​​&#xfeff;​​​​&#xfeff;‍​‍​‌&#xfeff;⁠‬&#xfeff;&#xfeff;&#xfeff;​RabbitMQ的流程图和作业 - 飞书云文档 (feishu.cn) 作业 图片一张 画rabbit-mq 消息发…

imx6ull/linux应用编程学习(6)jpeg和png的图片显示

1.JPEG图片显示 JPEG&#xff08;Joint Photographic Experts Group&#xff09;是由国际标准组织为静态图像所建立的第一个国际数字图像压缩标准&#xff0c;也是至今一直在使用的、应用最广的图像压缩标准。JPEG 由于可以提供有损压缩&#xff0c;因此压缩比可以达到其他传统…

sqlserver开启CDC

1、背景 由于需要学习flink cdc&#xff0c;并且数据选择sqlserver&#xff0c;所以这里记录sqlserver的cdc开启操作步骤。 2、基础前提 官方介绍地址&#xff1a;https://learn.microsoft.com/zh-cn/sql/relational-databases/track-changes/enable-and-disable-change-dat…

快递物流仓库管理系统java项目springboot和vue的前后端分离系统java课程设计java毕业设计

文章目录 快递物流仓库管理系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 快递物流仓库管理系统 一、项目演示 快递物流仓库管理系统 二、项目介绍 语言: Java 数据库&#xff1a;MySQL 前…

论文阅读《U-KAN Makes Strong Backbone for MedicalImage Segmentation and Generation》

Abstract U-Net 已成为图像分割和扩散概率模型等各种视觉应用的基石。虽然通过结合transformer或 MLP&#xff0c;U-Net 已经引入了许多创新设计和改进&#xff0c;但仍然局限于线性建模模式&#xff0c;而且可解释性不足。为了应对这些挑战&#xff0c;我们的直觉受到了 Kolm…