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

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

越位线技术

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

自 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球场尺寸的标准并非固定数据而是范围,另外球场不平,为了排水会设计坡度,这些也给求解带来的较大的困难。

蓝色未考虑坡度

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣 单词规律

所用数据结构 哈希表 核心方法 判断字符串pattern 和字符串s 是否存在一对一的映射关系,按照题意,双向连接的对应规律。 思路以及实现步骤 1.字符串s带有空格,因此需要转换成字符数组进行更方便的操作,将字符串s拆分成单词列表…

ESP32实现UDP连接——micropython版本

代码: import network import socket import timedef wifiInit(name, port):ap network.WLAN(network.AP_IF) # 创建一个热点ap.config(essidname, authmodenetwork.AUTH_OPEN) # 无需密码ap.active(True) # 激活热点ip ap.ifconfig()[0] # 获取ip地址print(…

C++(Python)肥皂泡沫普拉托边界膜曲面模型算法

🎯要点 🎯肥皂泡二维流体模拟 | 🎯泡沫普拉托边界膜曲面模型算法演化厚度变化 | 🎯螺旋曲面三周期最小结构生成 📜皂膜用例:Python计算物理粒子及拉格朗日和哈密顿动力学 | Python和MATLAB粘性力接触力动…

WordPress中文网址导航栏主题风格模版HaoWa

模板介绍 WordPress响应式网站中文网址导航栏主题风格模版HaoWa1.3.1源码 HaoWA主题风格除行为主体导航栏目录外,对主题风格需要的小控制模块都开展了敞开式的HTML在线编辑器方式的作用配备,另外预埋出默认设置的编码构造,便捷大伙儿在目前…

【python刷题】蛇形方阵

题目描述 给出一个不大于 99 的正整数n,输出n*n的蛇形方阵。从左上角填上1开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用3个字符,前面使用空格补齐。 输入 输入一个正整数n,含义如题所述 输出 输出符合…

【每日刷题】Day77

【每日刷题】Day77 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCR 159. 库存管理 III - 力扣(LeetCode) 2. LCR 075. 数组的相对排序 - 力…

vue中【事件修饰符号】详解

在Vue中,事件修饰符是一种特殊的后缀,用于修改事件触发时的默认行为。以下是Vue中常见的事件修饰符的详细解释: .stop 调用event.stopPropagation(),阻止事件冒泡。当你在嵌套元素中都有相同的事件监听器(如click事件…

Hadoop3:Yarn容量调度器配置多队列案例

一、情景描述 需求1: default队列占总内存的40%,最大资源容量占总资源60%,hive队列占总内存的60%,最大资源容量占总资源80%。 二、多队列优点 (1)因为担心员工不小心,写递归死循环代码&#…

5.x86游戏实战-CE定位基地址

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:4.x86游戏实战-人物状态标志位 上一个内容通过CE未知的初始值、未变动的数值、…

AI绘画 Stable Diffusion【实战进阶】:图片的创成式填充,竖图秒变横屏壁纸!想怎么扩就怎么扩!

大家好,我是向阳。 所谓图片的创成式填充,就是基于原有图片进行扩展或延展,在保证图片合理性的同时实现与原图片的高度契合。是目前图像处理中常见应用之一。之前大部分都是通过PS工具来处理的。今天我们来看看在AI绘画工具 Stable Diffusio…

利用GPT-4o秒杀100块的开题报告,让你轻松接私活

GPT4o秒杀100块的开题报告 使用网址 https://chatgpt-plus.top/ 需求 文档上传给GPT 让gpt提供下载链接 成品如下,只需要稍微排版即可。 本科毕业设计(论文)开题报告 1. 选题目的、意义及研究现状 选题目的: 建立一个基于Pyt…

大物3错题整理

平衡位置:在O点上的位置 相位: 当N很大的时候,wxwywz。因此,平均平动动能除以3,就是能量均分定理。 W F在x上的积分 Π时无单位 180,就是单位 1rad,rad就是单位 左手定则、右手定则、安培定…

DDD学习笔记五

模型引力场:聚合 强作用力体现: 某个领域模型是另一些模型存在的前提,没有前者,后者就失去了生存的意义。 一组领域模型之间存在关联的领域逻辑,任何时候都不能违反。 一组领域模型必须以一个完整的、一致的状态呈现给…

魔行观察-烤匠麻辣烤鱼-开关店监测-时间段:2011年1月 至 2024年6月

今日监测对象:烤匠麻辣烤鱼,监测时间段:2011年1月 至 2024年6月 本文用到数据源获取地址 魔行观察http://www.wmomo.com/ 品牌介绍: 2013年,第一家烤匠在成都蓝色加勒比广场开业,随后几年成都国金中心店…

类与对象的创建

1.类是一种抽象的数据类型,他是对某一类事务整体描述/定义,但是并不能代表某一个具体的事物 eg:动物,植物,手机,电脑... Person类,Pet类,Car类,这些类都是用来描述、定义…

VMware17.0 安装过程

VMware17.0 VMware 17.0 是一款功能强大的虚拟机软件,用于在计算机上创建和管理虚拟机。它能够同时运行多个操作系统,如 Windows、Linux 等,并且在这些虚拟机之间提供无缝的切换和共享功能。 VMware 17.0 支持最新的硬件和操作系统&#xf…

Markdown、Latex编辑小工具

Markdown、Latex编辑小工具 文章说明主要代码效果展示源码下载 文章说明 本文主要为了书写Latex的书写风格,以及了解自己实现一个markdown类型的编辑器的过程;目前实现了当前的效果;书写文章进行记录,方便后续查阅 目前还未添加好…

库存管理系统基于spingboot vue的前后端分离仓库库存管理系统java项目java课程设计java毕业设计

文章目录 库存管理系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 库存管理系统 一、项目演示 库存管理系统 二、项目介绍 基于spingboot和vue前后端分离的库存管理系统 功能模块&#xff…

鸿蒙开发设备管理:【@ohos.multimodalInput.inputEventClient (注入按键)】

注入按键 InputEventClient模块提供了注入按键能力。 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口均为系统接口,三方应用不支持调用。 导入模块 import inputEventCli…

1、音视频解封装流程---解复用

对于一个视频文件(mp4格式/flv格式),audio_pkt或者video_pkt是其最基本的数据单元,即视频文件是由独立的视频编码包或者音频编码包组成的。 解复用就是从视频文件中把视频包/音频包单独读取出来保存成独立文件,那么如何得知packet是视频包还是…