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

蓝色未考虑坡度

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

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

相关文章

完美世界|单机版合集(共22个版本)

前言 我是研究单机的老罗,今天给大家带来的是完美世界的单机版合集,一共22个版本。本人亲自测试了一个版本,运行视频如下: 完美世界|单机版合集 先看所有的版本的文件,文件比较大,准备好空间,差…

C#高级语法之特性

自定义特性和使用 什么是特性 特性(attribute)是一种允许我们向程序的程序集增加元数据的语言结构,它是用于保存程序结构信息的某种特殊类型的类。 将应用了特性的程序结构叫做目标设计用来获取和使用元数据的程序(对象浏览器&a…

Transformer详解encoder

目录 1. Input Embedding 2. Positional Encoding 3. Multi-Head Attention 4. Add & Norm 5. Feedforward Add & Norm 6.代码展示 (1)layer_norm (2)encoder_layer1 最近刚好梳理了下transformer,今…

【VScode】常用配置

1.indenticator 增加白色竖条,显示方法范围 2.Git Graph 给git变换分支增添颜色区分 3.Vue 系列 vue 系列:给纯白色代码添加 颜色区分 3.eslint eslint警告,比如{ } 只写了半个会标红提示错误 等错误信息提示 需要配置js等页面 非下…

1.linux操作系统CPU负载

目录 概述CPU平均负载查看平均负载结束 概述 CPU 使用率 和CPU 平均使用率。 CPU平均负载 单位时间内系统处于 [可运行状态] 和 [不可中断状态] 的平均进程数,就是平均活跃进程数,和CPU使用率并没有直接关系 可运行状态 正在使用CPU或者正等待CPU的进…

【Elasticsearch】linux使用supervisor常驻Elasticsearch,centos6.10安装 supervisor

背景: linux服务器,CentOS 6操作系统,默认版本python2.6.6,避免安装过多的依赖不升级python 在网上查的资料python2.6.6兼容supervisor版本 3.1.3 安装supervisor 手动在python官网下载supervisor,并上传到服务器 下…

量化交易心法——如何建立自己的算法交易事业

量化交易,也称算法交易,是严格按照将计算机算法程序给出的买卖决策进行的证券交易。 一、 什么人适合成为量化交易员 做量化交易并不一定需要特别高的学历,只要具备一定的金融学以及统计学知识,有一定的经济基础,不需要用交易的收益来维持日常生活,因为并不是很快就能找…

Linux_动、静态库

目录 一、静态库 1、静态库的概念 2、制作静态库的指令 3、制作静态库 4、链接静态库 二、动态库 1、动态库的概念 2、制作动态库的指令 3、制作动态库 4、链接动态库 5、动态库的加载 三、静态库与动态库的区别 结语 前言: 在Linux下大部分程序进…

第2章 数据存储篇

目录 2.1 MongoDB:面向文档的灵活存储 2.1.1 MongoDB基础与架构 2.1.1.1基本概念 2.1.1.2MongoDB安装与配置 1)安装MongoDB-Linux安装示例(以Ubuntu为例) 2)更新包列表并安装MongoDB 3)启动MongoDB服…

利用OPT算法解决最短访问次数问题

一、题目 数据库缓存,模拟访问规则如下: 当查询值在缓存中,直接访问缓存,不访问数据库。否则,访问数据库,并将值放入缓存。 若缓存已满,则必须删除一个缓存。 给定缓存大小和训练数据&#xff…

对代理模式和动态代理以及AOP的一些理解

代理模式: 代理模式,也叫做静态代理,是一种结构型设计模式,它为其他对象提供了一种代理,以控制对这个对象的访问。 代理模式可以在不修改原有类的情况下,对其功能进行扩展,编译时就确定了代理…

【JavaEE】多线程代码案例(1)

🎏🎏🎏个人主页🎏🎏🎏 🎏🎏🎏JavaEE专栏🎏🎏🎏 🎏🎏🎏上一篇文章:多线程(2…

leetcode每日一练:顺序表OJ题

第一题:移除元素 题目要求:给一个数组nums和一个值val,你需要 原地 移除所有所有数值等于val的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用0(1)的额外空间并 原地 修改输入数组。 元素的顺序…

【Tools】AIGC:人工智能生成内容的新时代

那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 🎵 王心凌《那年夏天宁静的海》 随着人工智能(AI)技术的…

三生随记——午夜咖啡馆

在城市的边缘,隐藏着一间古老的咖啡馆——“午夜咖啡馆”。它的外观不起眼,却总能在夜晚吸引那些寻找安宁或寻求刺激的顾客。据说,咖啡馆的老板是一位年长的绅士,他的脸上总是挂着神秘莫测的微笑。 艾米是一名作家,常常…

基于weixin小程序智慧物业系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,用户管理,员工管理,房屋管理,缴费管理,车位管理,报修管理 工作人员账号功能包括:系统首页,维…

使用electron打包Vue前端项目的详细流程

使用electron打包Vue前端项目的详细流程 需要更改的东西 路由模式的修改 # 修改前:url不带#mode: history# 修改后:url带#mode: hash全局修改Cookies为localStorage 由于打包成exe或deb这类可执行文件后,本地是没有 Cookies 全局搜索Cooki…

Android Studio环境搭建(4.03)和报错解决记录

1.本地SDK包导入 安装好IDE以及下好SDK包后,先不要管IDE的引导配置,直接新建一个新工程,进到开发界面。 SDK路径配置:File---->>Other Settings---->>Default Project Structure 拷贝你SDK解压的路径来这,…

ros笔记01--初次体验ros2

ros笔记01--初次体验ros2 介绍安装ros2测试验证ros2说明 介绍 机器人操作系统(ROS)是一组用于构建机器人应用程序的软件库和工具。从驱动程序和最先进的算法到强大的开发者工具,ROS拥有我们下一个机器人项目所需的开源工具。 当前ros已经应用到各类机器人项目开发中…

ORACLE 、达梦 数据库查询指定库指定表的索引信息

在Oracle数据库中,索引是一种关键的性能优化工具,通过它可以加快数据检索速度。在本文中,我们将深入探讨如何详细查询指定表的索引信息,以及如何利用系统视图和SQL查询来获取这些信息。 索引在数据库中的重要性 索引是一种数据结…