使用图卷积网络评估防守表现的系统和方法
1.相关申请的交叉引用
2.本技术要求于2021年2月5日提交的美国申请序列号63/146,039的优先权,以及于2021年3月23日提交的美国申请序列号63/164,932的优先权,这些申请通过引用整体并入本文。
技术领域
3.本公开总体上涉及用于对防守行为建模并确定该防守行为对进攻行为的影响的系统和方法。
背景技术:
4.体育运动中良好防守的技术是在事情发生之前就防止它发生。尽管体育运动中有许多球员因其防守能力而备受尊敬,但如今的统计数据未能承认或量化个人防守能力的这一方面。例如,在足球比赛中,虽然有统计数据表明防守者的贡献是通过他们的铲球或拦截次数来测量的,但目前还没有办法测量在做出或发生之前就已经阻止的动作。一般来说,防守和防守者的目的是让进攻变得可预测。如果良好防守的技术是让比赛变得可预测,那么它也应该是可测量的。
技术实现要素:
5.在一些实施例中,其中公开了一种方法。计算系统从数据存储器中检索跟踪数据。跟踪数据包括跨多个赛季的多个事件的多个数据帧。计算系统将跟踪数据转换为多个基于图的表示。预测引擎通过第一图神经网络进行学习以预测在控球状态内的任何时刻完成传球的可能性,通过第二图神经网络进行学习以预测控球状态内发生射门的可能性,以及通过第三图神经网络进行学习以预测每个球员成为控球状态内传球接球员的可能性,预测引擎基于多个基于图的表示来学习对防守行为建模。计算系统基于学习生成经训练的预测引擎。计算系统接收针对目标事件的目标跟踪数据。目标跟踪数据包括多个目标帧。计算系统将目标跟踪数据转换为多个基于目标图的表示。每个基于图的表示对应于多个目标帧中的目标帧。计算系统经由经训练的图神经网络,基于多个基于图的表示,对目标事件中球队的防守行为进行建模。
6.在一些实施例中,本文公开了一种系统。该系统包括处理器和存储器。存储器包括存储在其上的编程指令,编程指令在由处理器执行时,使该系统执行一个或更多个操作。一个或更多个操作包括从数据存储器中检索跟踪数据。跟踪数据包括跨多个赛季的多个事件的多个数据帧。一个或更多个操作还包括将跟踪数据转换为多个基于图的表示。一个或更多个操作还包括通过第一图神经网络进行学习以预测在控球状态内的任何时刻完成传球的可能性,通过第二图神经网络进行学习以预测在控球状态内发生射门的可能性,以及通过第三图神经网络进行学习以预测每个球员成为控球状态内传球接球员的可能性,以通过预测引擎基于多个基于图的表示来学习对防守行为建模。一个或更多个操作还包括由计算
系统基于学习生成经训练的预测引擎。一个或更多个操作还包括接收针对目标事件的目标跟踪数据。目标跟踪数据包括多个目标帧。一个或更多个操作还包括将目标跟踪数据转换为多个基于目标图的表示。每个基于图的表示对应于多个目标帧中的目标帧。一个或更多个操作还包括经由经训练的图神经网络基于多个基于图的表示对目标事件中球队的防守行为进行建模。
7.在一些实施例中,本文公开了一种非暂时性计算机可读介质。非暂时性计算机可读介质包括一个或更多个指令序列,当一个或更多个指令序列由一个或更多个处理器执行时,使计算系统执行操作。操作包括由计算系统从数据存储器中检索跟踪数据。跟踪数据包括跨多个赛季的多个事件的多个数据帧。操作还包括由计算系统将跟踪数据转换为多个基于图的表示。操作还包括通过第一图神经网络进行学习以预测在控球状态内的任何时刻完成传球的可能性,通过第二图神经网络进行学习以预测控球状态内发生射门的可能性,以及通过第三图神经网络进行学习以预测每个球员成为控球状态内传球接球员的可能性,以通过预测引擎基于多个基于图的表示来学习对防守行为建模。操作还包括由计算系统基于学习生成经训练的预测引擎。操作还包括由计算系统接收针对目标事件的目标跟踪数据。目标跟踪数据包括多个目标帧。操作还包括由计算系统将目标跟踪数据转换为多个基于目标图的表示。每个基于图的表示对应于多个目标帧中的目标帧。该操作还包括由计算系统经由经训练的图神经网络基于多个基于图的表示来对目标事件中球队的防守行为进行建模。
附图说明
8.为了能够详细理解本公开的上述特征的方式,可以参考实施例对本公开(如上文简要总结的)进行更具体的描述,本公开的一些实施例在附图中示出。然而,要注意的是,附图仅示出了本公开的典型实施例,因此不应被认为是对本公开的范围的限制,因为本公开可以允许其他同样有效的实施例。
9.图1是示出根据示例实施例的计算环境的框图。
10.图2示出了根据示例实施例的事件帧的基于图的表示。
11.图3是示出根据示例实施例的生成经训练的预测模型的方法的流程图。
12.图4是示出根据示例实施例的对防守行为进行建模并确定该防守行为对进攻行为影响的方法的流程图。
13.图5a-图5e示出了根据示例实施例的预测引擎产生的输出的示例性图形表示。
14.图6a-图6c示出了根据示例实施例的可以基于预测引擎的输出生成的一个或更多个图形表示。
15.图7a是示出根据示例实施例的计算设备的框图。
16.图7b是示出根据示例实施例的计算设备的框图。
17.图8示出了根据示例实施例的可以基于预测引擎的输出生成的一个或更多个图形表示。
18.图9示出了根据示例实施例的可以基于预测引擎的输出生成的一个或更多个图形表示。
19.图10a-图10c示出了根据示例实施例的可以基于预测引擎的输出生成的一个或更
identification,rfid)、近场通信(near-field communication,nfc)、蓝牙
tm
、低能耗蓝牙
tm
(low-energy bluetooth,ble)、wi-fi
tm
、紫蜂
tm
(zigbee)、环境反向散射通信(ambient backscatter communication,abc)协议、通用串行总线(universal serial bus,usb)、广域网(wide area network,wan)或局域网(local area network,lan)等直接连接来连接终端、服务和移动设备。由于传输的信息可能是个人的或机密的,出于安全考虑,可以规定对这些类型的连接中的一种或更多种进行加密或以其他方式进行保护。然而,在一些实施例中,正在传输的信息可能不那么个人化,因此,可以出于便利性而非安全性来选择网络连接。
31.网络105可以包括用于交换数据或信息的任何类型的计算机联网布置。例如,网络105可以是互联网、专用数据网络、使用公共网络的虚拟专用网络和/或使计算环境100中的部件能够在环境100的部件之间发送和接收信息的其他适当连接。
32.跟踪系统102可以位于场地106中。例如,场地106可以被配置为主办包括一个或更多个代理112的体育运动事件。跟踪系统102可以被配置为捕捉比赛场地上所有代理(即,球员)以及一个或更多个其他相关对象(例如,球、裁判等)的运动。在一些实施例中,跟踪系统102可以是使用例如多个固定相机的基于光学的系统。例如,可以使用由六个固定式校准相机组成的系统,这些相机将球员和球的三维位置投影到球场的二维俯视图上。在另一个示例中,固定式和非固定式相机的组合可以用于捕捉比赛场地上的所有代理以及一个或更多个对象或相关物的运动。如本领域技术人员所认识到的,利用这样的跟踪系统(例如,跟踪系统102)其结果可以是球场的许多不同的相机视图(例如,高边线视图、罚球线视图、拥挤视图、对峙视图、端区视图等)。在一些实施例中,跟踪系统102可以用于给定竞赛的广播馈送。在这样的实施例中,广播馈送的每一帧可以存储在比赛文件110中。
33.在一些实施例中,比赛文件110可以进一步增加与事件数据相对应的其他事件信息,例如但不限于比赛事件信息(传球、射门、失误等)和上下文信息(当前得分、剩余时间等)。
34.跟踪系统102可以被配置为经由网络105与组织计算系统104通信。组织计算系统104可以被配置为管理和分析由跟踪系统102捕获的数据。组织计算系统104可以包括至少网络客户端应用服务器114、预处理代理116、数据存储器118和预测引擎120。预处理代理116和预测引擎120中的每一个可以由一个或更多个软件模块组成。一个或更多个软件模块可以是存储在介质(例如,组织计算系统104的存储器)上的代码或指令的集合,这些代码或指令表示实现一个或更多个算法步骤的一系列机器指令(例如,程序代码)。这样的机器指令可以是组织计算系统104的处理器解释以实现指令的实际计算机代码,或者替代地,可以是被解释以获得实际计算机代码的指令的更高级代码。一个或更多个软件模块还可以包括一个或更多个硬件部件。示例算法的一个或更多个方面可以由硬件部件(例如,电路)本身来执行,而不是作为指令的结果。
35.数据存储器118可以被配置为存储一个或更多个比赛文件122。每个比赛文件122可以包括给定竞赛的数据。例如,数据可以对应于跟踪系统102捕获的每个代理的多个位置信息。在一些实施例中,数据可以对应于给定竞赛的广播数据,在这种情况下,数据可以与来自给定竞赛的广播馈送的每个代理的多个位置信息相对应。通常,这样的信息在本文中可以称为“跟踪数据”。例如,跟踪数据可以从广播馈送的视频帧中提取。通常,跟踪数据可
以指球员/球在比赛场地上的位置。
36.预处理代理116可以被配置为处理从数据存储器118检索到的数据。例如,预处理代理116可以被配置为生成可以与预测引擎120一起使用的一组或更多组信息。预处理代理116可以进一步被配置为生成给定事件的跟踪数据的基于图的表示。例如,对于每个比赛,预处理代理116可以被配置为生成多个图,其中每个图对应于相应比赛的帧。
37.通常,跟踪数据可以包括每个实体(或球员)在比赛场地上的每个时间步长的x=(x,y)位置。在一些实施例中,为了以避免传统方法中出现的问题的明确定义的结构来表示跟踪数据,预处理代理116可以构造跟踪数据的图形表示。例如,预处理代理116可以构造可以由节点v、边e和全局特征u定义的图g(v,e,u)。在一些实施例中,图中的每个节点可以表示球员和球跟踪数据。在一些实施例中,每个边可以包括关于节点之间的各种关系的信息。在一些实施例中,边e
ij
可以是定向边,并且将发送节点vi连接到接收节点vj。
38.预测引擎120可以被配置为准确地对防守行为及该防守行为对进攻行为的影响进行建模。例如,预测引擎120可以被配置为对在动作发生之前阻止动作的可能性进行建模。
39.如图所示,预测引擎120可以包括多个模型,每个模型被训练为对特定结果进行建模。在一些实施例中,预测引擎120可以包括传球模型126、威胁模型128和接球员模型130。传球模型126、威胁模型128和接球员模型130中的每一个可以代表单独的图卷积神经网络(gnn),其能够处理高度非结构化和可变的跟踪数据以实时(或接近实时)进行预测。传球模型126可以被训练为预测在球员控球状态内的任何时刻向每个无球进攻者完成传球的可能性。威胁模型128可以被训练为预测如果传球给任何进攻者,则在接下来的x秒(例如,接下来的10秒)内发生射门的概率。接球员模型130可以被训练为预测每个球员在球员控球状态内的任何时刻成为传球接球员的可能性。
40.为了训练和验证传球模型126、威胁模型128和接球员模型130中的每一个,使用了来自跨体育运动的多个赛季的多个比赛的历史跟踪数据。尽管当前的讨论专注于足球运动,但本领域技术人员应理解的是,当前讨论的技术可以应用于其他团队体育运动,例如但不限于篮球、橄榄球、曲棍球等。在一些实施例中,历史跟踪数据可以以约10赫兹/秒进行采样。在一些实施例中,历史跟踪数据可以包括每个球员和球在每一帧中的位置(x,y)、每一帧的球队和球员标识符(例如,球队id和球员id)、每一帧的时间、每一帧当前的一半、每一帧的事件标识符(例如,事件id)等。
41.在一些实施例中,为了训练威胁模型128,可以考虑与传球时刻相关的帧。相比之下,对于传球模型126和接球员模型130,不仅可以使用单个传球的跟踪数据,还可以使用来自传球前的跟踪数据。例如,相对于传球模型126,可以使用来自半秒(例如,五帧)的跟踪数据。例如,相对于接球员模型130,可以使用来自一秒(例如,十帧)的跟踪数据。在每个传球事件之前包括跟踪数据可以允许预测引擎120在训练期间实现语义正则化,该语义正则化可以防止传球模型126和接球员模型130过拟合到传球时刻,在传球时刻球员的移动可能已经指示了球将在哪里被打。
42.为了学习输入图和输出图之间的关系,每个gnn可以在图的边和节点上包括单独的操作或块。边块可以由神经网络定义,该神经网络从边特征、发送节点特征和接收节点特征获取输入,并且可以进行新的边嵌入。类似地,节点块可以由神经网络定义,该神经网络从节点特征、聚合发送边特征、聚合接收边特征获取输入,并且可以输出新的节点嵌入。在
一些实施例中,置换不变函数可以用于聚合发送边特征和接收边特征,例如,这些特征的平均值或总和。
43.在一些实施例中,传球模型126、威胁模型128和接球员模型130中的每一个的gnn架构可以包括边块和节点块。在一些实施例中,每个块可以包括具有三层的多层感知器。在一些实施例中,每一层中的单元的数量可以在任务之间变化。在一些实施例中,传球模型126和接球员模型130可以具有相同或相似的网络架构结构。例如,传球模型126和接球员模型130的网络架构可以包括多层感知器,其在边块处具有五层(例如,30、20、15、10、5),在节点块上具有五层(例如,20、15、10、5、1)。在一些实施例中,威胁模型128网络架构可以包括多层感知器,其在边块处具有三层(例如,15、10、5)并且在节点块处具有3层(例如,10、5、1)。
44.在一些实施例中,通过在gnn中使用边块,预测引擎120可以允许gnn学习每个任务的不同节点之间的关系。这种灵活性在传统方法中是不存在的,因为传统方法通常定义输入之间的连接,而不是允许模型学习输入之间的关系。
45.一旦经过训练,传球模型126、威胁模型128和接球员模型130中的每一个都可以实时用于预报或预测球员行为。
46.在一些实施例中,预测引擎120可以利用各种gnn(例如,传球模型126、威胁模型128和/或接球员模型130)来检测进攻球员的“主动跑动”。“主动跑动”可以指跑动(即,基于速度检测为跑动或移动)。检测主动跑动也可以提高跑动者接球的可能性(例如,来自接球员模型130的输出)。
47.在一些实施例中,基于传球模型126、威胁模型128和/或接球员模型130中的一个或更多个的输出,预测引擎120可以检测球员每次进行主动跑动的时间。
48.在一些实施例中,组织计算系统104可以进一步包括防守工具包134。防守工具包134可以允许基于由传球模型126、威胁模型128和接球员模型130中的一个或更多个生成的输出引入新的防守概念。在一些实施例中,防守工具包134可以被配置为生成球员可用性度量。例如,基于传球模型126和接球员模型130生成的输出,防守工具包134可以被配置为推断每个进攻者在每一帧离球的可用性。在一些实施例中,防守工具包134可以被配置为生成防守影响度量。例如,基于由传球模型126、威胁模型128和接球员模型130中的一个或更多个生成的输出,防守工具包134可以被配置为检测高水平的防守概念,例如但不限于以球和人为导向的防守、防守位置打法和/或无球跑动。此外,在一些实施例中,防守工具包134可以被配置为生成一个或更多个干扰图(disruption map)。在一些实施例中,干扰图可以示出防守队干扰对手进攻策略的能力的全局表示。
49.在一些实施例中,防守工具包134可以利用来自传球模型126、威胁模型128和/或接球员模型130的预测来为每个防守球员分配赞扬和/或责备。例如,防守工具包134可以确定球员是在“压迫球”还是在“压迫选项”。为此,防守工具包134可以查找威胁模型128在一段时间内的输出变化,然后可以将这些值分配给每个防守球员。这样的度量可以允许防守工具包134向每个球员分配防守值。在一些实施例中,这种分析可以扩展到球队级别。
50.在一些实施例中,防守工具包134可以在竞赛期间保持每个球员的有效跑动的跑动计数。例如,防守工具包134可以示出每个球员或每个角色在比赛级别、跨赛季、跨球员的职业生涯等等的有效跑动。在一些实施例中,可以使用角色分配在球队级别执行这样的分
析。
51.在一些实施例中,防守工具包134可以进一步被配置为基于例如每个主动跑动的距离来执行条件分析。
52.在一些实施例中,防守工具包134可以进一步被配置为基于各种上下文来分解主动跑动。在一些实施例中,主动跑动可以分解为总距离、最大距离、每次主动跑动的平均距离、主动跑动的持续时间、最大持续时间和平均持续时间。在一些实施例中,防守工具包134可以基于每次跑动的距离(例如,《5m、5-10m、10-20m、》20m等)进一步分解主动跑动。在一些实施例中,防守工具包134可以通过示出每次主动跑动发生的位置和长度(例如,线的厚度可以显示跑动的强度)来进一步分解主动跑动。
53.客户端设备108可以经由网络105与组织计算系统104进行通信。客户端设备108可以由用户操作。例如,客户端设备108可以是移动设备、平板电脑、台式计算机或具有本文所述能力的任何计算系统。用户可以包括但不限于个人,诸如,例如与组织计算系统104相关联的实体的订户、客户、潜在客户或顾客,诸如已经、将或可能从与组织计算系统104相关联的实体获得产品、服务或咨询的个人。
54.客户端设备108可以至少包括应用132。应用132可以代表允许访问网站或独立应用的网络浏览器。客户端设备108可以访问应用132以访问组织计算系统104的一个或更多个功能。客户端设备108可以通过网络105进行通信,以例如从组织计算系统104的网络客户端应用服务器114请求网页。例如,客户端设备108可以被配置为执行应用132以访问由网络客户端应用服务器114管理的内容。显示给客户端设备108的内容可以从网络客户端应用服务器114发送到客户端设备108,并且随后由应用132处理以通过客户端设备108中的图形用户界面(graphical user interface,gui)进行显示。
55.图2示出了根据示例实施例的事件的帧的基于图的表示。如上所述,对于事件的每一帧,预处理代理116可以生成该帧中所涉及的代理的基于图的表示。例如,对于给定事件的每一帧,预处理代理116可以生成比赛场地上的代理和对象的基于图的表示。图2中所示的示例性基于图的表示可以表示用于表示跟踪数据的图结构。
56.图200可以包括表示a队的球员的几个节点202
1-2023(总体上为节点202)、表示b队的球员的几个节点204
1-2043(总体上为节点204)以及表示球的节点206。如图所示,图200可以包括连接各种节点202、204和206的多个定向边208。在一些实施例中,可以对边208进行加权,以允许每个模型了解哪些节点在哪个球队中。
57.图3是示出根据示例实施例的生成经训练的预测模型的方法300的流程图。方法300可以在步骤302开始。
58.在步骤302,组织计算系统104可以检索用于训练的一个或更多个数据集。例如,预处理代理116可以从数据存储器118检索多个历史比赛文件。在一些实施例中,每个比赛文件可以包括与相应比赛相关联的历史跟踪信息。在一些实施例中,可以以大约10赫兹/秒对历史跟踪数据进行采样。在一些实施例中,历史跟踪数据可以包括每个球员和球在每一帧的(x,y)位置、每一帧的球队和球员标识符(例如,球队id和球员id)、每一帧的时间、每一帧当前的一半、每一帧的事件标识符(例如,事件id)等。
59.在步骤304,组织计算系统104可以将多个数据集转换为多个图。例如,预处理代理116可以为多个历史比赛文件中的每个比赛文件生成跟踪数据的多个基于图的表示。对于
每个比赛,预处理代理116可以被配置为生成多个图,其中每个图对应于相应比赛的帧。
60.通常,跟踪数据可以包括每个实体(或球员)在比赛场地上的每个时间步长的x=(x,y)位置。预处理代理116可以构造可以由节点v、边e和全局特征u定义的图g(v,e,u)。在一些实施例中,图中的每个节点可以表示当前帧中的球员和球跟踪数据。在一些实施例中,每个边可以包括关于节点之间的各种关系的信息。在一些实施例中,边e
ij
可以是定向边,并且将发送节点vi连接到接收节点vj。
61.在一些实施例中,每个节点可以包括存储在其中的信息。例如,节点特征可以包括但不限于球员(x,y)位置、速度、加速度、运动角度、到进攻球门或篮筐的距离和角度、到持球者的距离、到持球者运动角度的差、以及指示球员是否为持球者的标志。在一些实施例中,每个边可以包括与其相关联的一个或更多个特征。例如,边特征可以包括但不限于定义两个节点(例如,队友2、对手1)之间的关系、由边连接的两个球员之间的距离、运动角度的差等的标志。
62.在步骤306,组织计算系统104的预测引擎120可以基于一个或更多个图来学习,以准确地对防守行为及该防守行为对进攻行为的影响进行建模。在一些实施例中,传球模型126可以进行学习以预测在球员控球状态内的任何时刻向每个无球进攻者完成传球的可能性。威胁模型128可以进行学习以预测如果传球给任何进攻者,则在接下来的x秒(例如,接下来的10秒)内发生射门的概率。接球员模型130可以进行学习以预测每个球员在球员控球状态内的任何时刻成为传球接球员的可能性。
63.在一些实施例中,可以单独地训练各个传球模型126、威胁模型128和接球员模型130下层的每个唯一gnn。例如,为了训练威胁模型128,可以考虑与传球事件的时刻有关的帧。为了训练传球模型126和接球员模型130,不仅可以使用来自各个传球的跟踪数据,还可以使用来自传球前的跟踪数据。例如,关于传球模型126,可以使用来自半秒(例如,五帧)的跟踪数据。例如,关于接球员模型130,可以使用来自一秒(例如,十帧)的跟踪数据。在每个传球事件之前包括跟踪数据可以允许预测引擎120在训练期间实现语义正则化,该语义正则化可以防止传球模型126和接球员模型130过拟合到传球时刻,在传球时刻球员的移动可能已经指示了球将在哪里被打。
64.在一些实施例中,跨越不同的任务,可以在损失计算中对gnn的节点进行加权,以稳定训练。例如,在一些实施例中,代表防守球员的节点可以针对传球模型126、威胁模型128和接球员模型130中的每一个被屏蔽。在一些实施例中,在传球模型126和威胁模型128的训练期间,可以考虑的唯一球员可能是那些收到传球的球员或是传球的预期接球员。在一些实施例中,在接球员模型130的训练期间,传球的预期接球员可以具有1.0的权重,并且持球者的所有其他队友可以具有0.1的权重以将信号平衡到背景。
65.在步骤308,组织计算系统104可以输出一组完全训练的预测模型。例如,在训练和测试过程结束时,预测引擎120可以包括完全训练的传球模型126、威胁模型128和接球员模型130。
66.图4是示出根据示例实施例的对防守行为建模并确定该防守行为对进攻行为的影响的方法400的流程图。方法400可以从步骤402开始。
67.在步骤402,组织计算系统104可以接收事件的跟踪数据。在一些实施例中,跟踪数据可以代表当前正在进行的事件的实时或接近实时的跟踪数据。在一些实施例中,跟踪数
据可以代表已经完成的事件的历史跟踪数据。在一些实施例中,可以从事件的广播馈送的视频帧中提取跟踪数据。通常,跟踪数据可以指球员/球在比赛场地上的位置。例如,跟踪数据可以包括每一帧处每个球员和球的(x,y)位置、每一帧处的球队和球员标识符(例如,球队id和球员id)、每一帧的时间、每一帧当前的一半、每一帧的事件标识符(例如,事件id)等。
68.在步骤404,组织计算系统104可以将跟踪数据转换为跟踪数据的基于图的表示。例如,预处理代理116可以构造可以由节点v、边e和全局特征u定义的图g(v,e,u)。在一些实施例中,图中的每个节点可以表示当前帧中的球员和球跟踪数据。在一些实施例中,每个边可以包括关于节点之间的各种关系的信息。在一些实施例中,边e
ij
可以是定向边,并且将发送节点vi连接到接收节点vj。
69.在一些实施例中,预处理代理116可以存储关于每个节点的信息。例如,预处理代理116可以存储节点特征,节点特征可以包括但不限于球员(x,y)位置、速度、加速度、运动角度、到进攻球门或篮筐的距离和角度、到持球者的距离、对持球者的运动角度的差、以及指示球员是否是持球者的标志。在一些实施例中,预处理代理116可以存储关于每个边的信息。例如,预处理代理116可以存储边特征,边特征可以包括但不限于定义两个节点之间的关系、由边连接的两个球员之间的距离、运动角度的差等的标志。
70.在步骤406,组织计算系统104可以将数据的基于图的表示输入到预测引擎120中。在一些实施例中,预测引擎120可以使用传球模型126来预报或预测在球员控球状态内的任何时刻向每个无球进攻者完成传球的可能性。为了生成这样的预测,传球模型126可以接收跟踪数据的x帧(例如,x=5)作为输入。换言之,传球模型126可以接收跟踪数据的x个基于图的表示作为输入,其中每个基于图的表示对应于跟踪数据的相应帧。
71.在一些实施例中,预测引擎120可以使用威胁模型128来预报或预测如果传球给任何进攻者,则在接下来的y秒内(例如,y=10)发生射门的概率。
72.在一些实施例中,预测引擎120可以使用接球员模型130来预报或预测每个球员在球员控球状态内的任何时刻成为传球接球员的可能性。为了生成这样的预测,接球员模型130可以接收跟踪数据的z帧(例如,x=10)作为输入。换言之,接球员模型130可以接收跟踪数据的z个基于图的表示作为输入,其中每个基于图的表示对应于跟踪数据的相应帧。
73.在步骤408,组织计算系统104可以基于输入的基于图的表示来生成预测。例如,经由传球模型126,预测引擎120可以预测在球员控球状态内的任何时刻向每个无球进攻者完成传球的可能性。例如,经由威胁模型128,预测引擎120可以输出在向任何进攻者传球的情况下在接下来的x秒(例如,接下来的10秒)内发生射门的概率。例如,经由接球员模型130,预测引擎120可以输出每个球员在球员控球状态内的任何时刻成为传球接球员的可能性。
74.在步骤410,组织计算系统104可以生成预测引擎120产生的输出的图形表示。例如,预测引擎120可以被配置为生成图形表示,该图形表示可视地描绘了在球员控球状态内的任何时刻向每个无球进攻者完成传球的可能性、如果向任何进攻者传球则在接下来的x秒(例如,接下来的10秒)内发生射门的概率和/或每个球员在球员控球状态内的任何时刻成为传球接球员的可能性。
75.图5a-图5e示出了根据示例实施例的预测引擎120产生的输出的示例性图形表示502、504、506、508和510(502-510)。在一些实施例中,图形表示502-510可以表示来自比赛
的一个或更多个帧。在图形表示502-508中,防守队能够迫使进攻队进行高度可预测和安全的传球。然而,在图形表示510处,进攻队能够执行非常危险(但有风险)的传球,这最终导致进球。
76.如每个图形表示502-510中所示,每一帧中涉及的每个球员被表示为节点512,每个球队的球员对应于相同的颜色。在一些实施例中,每个节点可以包括源自其的箭头。箭头可以指示每个球员在如由接球员模型130生成的球员控球状态内的任何时刻成为传球接球员的可能性。在一些实施例中,表示当前拥有控球状态的球员的节点可以包括箭头514。箭头514可以表示如果向任何进攻者进行了传球,则在接下来的x秒(例如,接下来的10秒)内发生射门的可能性,以及在球员控球状态内的任何时刻向每个无球进攻者完成传球的可能性。例如,箭头的不透明性可以指示如果传球给任何进攻者,则在接下来的x秒(例如,接下来的10秒)内发生射门的概率,而箭头的颜色可以表示在球员控球状态内的任何时刻完成传球给每个无球进攻者的可能性。
77.图6a-图6c示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示。
78.如上所述,防守工具包134可被配置为基于传球模型126、威胁模型128和接球员模型130中的一个或更多个的输出生成一个或更多个干扰图。干扰图可以是加权的二维(two-dimensional,2d)分布,它示出了球队在哪里,无论是积极的还是消极的,都干扰了对手的无球选择。在一些实施例中,为了生成干扰图,防守工具包134可以基于来自传球模型126、威胁模型128和接球员模型130的输出为每个球队生成球队特征602。球队特征602可以充当球队的全局表示。防守工具包134可以进一步生成比赛级别的相同表面(例如,比赛特征604)。为了生成干扰图606,防守工具包134可以减去这两个表面(例如,球队特征602和比赛特征604)。干扰图606可以揭示对手在哪里干扰(或者在某些情况下不干扰)对手的正常策略和/或流程。换言之,干扰图606可以创建球队对对手的威胁、传球和接球员价值的影响与他们的全球平均值相比的紧凑表示。终端用户可以使用这些地图来确定哪些球队对对手的进攻风格和效率影响最大。
79.在一些实施例中,为了创建球队的特征图,可以使用球队的赛季数据x、y和概率值(例如,传球模型126、威胁模型128和接球员模型130的输出)来创建加权2d概率分布。为了计算2d加权概率分布,可以在球场的尺寸上拟合2d网格(例如,在105x 68m的球场上拟合100x 100网格)。可以计算每个xy和网格节点之间的欧几里得距离。然后可以迭代节点,每个样本按升序排列(从节点的最小距离到最大距离)。在每个网格节点处,可以基于排序样本的概率值通过指数平滑来计算得到的概率值(越接近的值对结果的影响越大)。为了生成平滑表面,可以调整用于指数平滑的网格大小和平滑因子α。
80.在一些实施例中,为了计算比赛特征图,可以应用与用于计算球队特征图相同的过程。关键的区别在于只有来自比赛的样本可以用于比赛特征图。可以通过从赛季特征图中减去比赛特征图来计算最终干扰图。
81.图8示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示800。如图所示,图8显示了压迫球802和压迫选项804的示例。
82.图9示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示900。如图9所示,提供了可以分配给球员的各种防守值。防守值可以包括但不限于
安全型中场推进者(progressor)、防守型分配者(distributor)、进攻型创造性威胁、进攻型内线威胁、进攻型边路运球者(dribbler)、链接前锋、安全型中场推进者、防守型分配者、安全型中场推进者、进攻型组织者(playmaker)、安全型中场推进者等。
83.图10a-图10c示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示。如图所示,图10a提供了特定球员(安全型中场推进者)的各种防守度量1002。可以计算压迫球的次数和压迫球。一个或更多个图形表示可以进一步包括接球员模型130和传球模型126两者的输出的热图1004(图10b)和热图1006(图10c)。
84.图11示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示1100。如图所示,图11在逐个角色的基础上提供了示例主动跑动。例如,如图所示,图11为进攻型边路运球者1102、突前前锋1104和安全型中场推进者1106提供了主动跑动。
85.图12示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示1200。如图所示,图12提供了竞赛期间每个角色的主动跑动的跑动记录。
86.图13示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示1300。如图所示,图13提供了竞赛期间按角色划分的距离所覆盖的主动跑动的跑动记录。
87.图14a-图14c示出了根据示例实施例的可以基于预测引擎120的输出生成的一个或更多个图形表示。如图14a所示,一个或更多个图形表示可以包括球员基于所覆盖的总距离、最大距离、每次主动跑动的平均距离、主动跑动的持续时间、最大持续时间和平均持续时间的分解1402。如图14b所示,一个或更多个图形表示可以进一步包括基于每次跑步距离的分解1404。如图14c所示,一个或更多个图形表示可以进一步包括图示1406,该图示示出每个主动跑动发生的位置和跑动的长度。
88.图7a示出根据示例实施例的计算系统700的示例性系统总线架构。系统700可以表示组织计算系统104的至少一部分。系统700的一个或更多个部件可以使用总线705彼此电通信。系统700可以包括处理单元(中央处理器(central processing unit,cpu)或处理器)710和系统总线705,系统总线705将包括诸如只读存储器(read only memory,rom)720和随机存取存储器(random access memory,ram)725等系统存储器715的各种系统部件耦接至处理器710。系统700可以包括与处理器710直接连接、紧邻处理器710或集成为处理器710的部分的高速存储器的高速缓存。系统700可以将数据从存储器715和/或存储设备730复制到高速缓存712以供处理器710快速访问。以这种方式,高速缓存712可以提供避免处理器710在等待数据时延迟的性能提升。这些模块和其他模块可以控制或者被配置为控制处理器710执行各种动作。其他系统存储器715也可以用于使用。存储器715可以包括具有不同性能特性的多种不同类型的存储器。处理器710可以包括任何通用处理器和硬件模块或软件模块,例如存储在存储设备730中的服务1 732、服务2 734和服务3 736,被配置为控制处理器710以及软件指令被结合到实际处理器设计中的专用处理器。处理器710基本上可以是完全自独立的计算系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
89.为了实现与计算系统700的用户交互,输入设备745可以表示任意数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等等。输出设备735(例如,显示器)也可以是本领域技术人员已知的许多输出机制中的一个
或更多个。在某些情况下,多模系统可以使用户能够提供多种类型的输入以与计算系统700通信。通信接口740通常可以支配和管理用户输入和系统输出。在任何特定的硬件布置上操作都没有限制,因此这里的基本特征可以很容易地被开发的改进的硬件或固件布置所取代。
90.存储设备730可以是非易失性存储器,也可以是硬盘或其他类型的计算机可读介质,可以存储计算机可访问的数据,例如磁带盒、闪存卡、固态存储器设备、数字多功能盘、盒式磁带、随机存取存储器(ram)725、只读存储器(rom)720及其混合物。
91.存储设备730可以包括用于控制处理器710的服务732、734和736。考虑其他硬件或软件模块。存储设备730可以连接到系统总线705。在一个方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件部件,该软件部件与诸如处理器710、总线705、输出设备735等必要的硬件部件相结合,以执行功能。
92.图7b示出具有芯片组架构的计算机系统750,该芯片组架构可以表示组织计算系统104的至少一部分。计算机系统750可以是可以用于实现所公开的技术的计算机硬件、软件和固件的示例。系统750可以包括处理器755,处理器755表示能够执行被配置为执行所识别的计算的软件、固件和硬件的任何数量的物理上和/或逻辑上不同的资源。处理器755可以与芯片组760通信,芯片组760可以控制到处理器755的输入和处理器755输出。在该示例中,芯片组760向显示器等输出765输出信息,并且可以读取信息并将信息写入存储设备770,存储设备770可以包括例如磁介质和固态介质。芯片组760还可以从ram 775读取数据和向ram 775写入数据。可以提供用于与各种用户接口部件785接合的桥接器780,用于与芯片组760接合。这样的用户接口部件785可以包括键盘、麦克风、触摸检测和处理电路、例如鼠标等的定点设备等等。通常,对系统750的输入可以来自机器生成和/或人工生成的各种源中的任意一个。
93.芯片组760还可以与一个或更多个通信接口790接合,这些通信接口790可以具有不同的物理接口。这样的通信接口可以包括用于有线和无线局域网、用于宽带无线网络以及个人区域网的接口。用于生成、显示和使用本文公开的gui的方法的一些应用可以包括通过物理接口接收有序数据集,或者由机器本身通过处理器755分析存储在存储设备770或ram 775中的数据来生成。此外,机器可以通过用户接口部件785接收来自用户的输入,并通过使用处理器755解释这些输入来执行适当的功能,例如浏览功能。
94.可以理解,示例系统700和750可以具有多于一个处理器710,或者是联网在一起的计算设备的组或集群的部分,以提供更大的处理能力。
95.尽管上述内容针对本文描述的实施例,但在不偏离本文基本范围的情况下,可以设计其他和进一步的实施例。例如,本公开的各方面可以用硬件或软件或硬件和软件的组合来实现。本文描述的一个实施例可以被实现为与计算机系统一起使用的程序产品。程序产品的程序限定实施例的功能(包括本文所述的方法),并且可以包含在各种计算机可读存储介质上。说明性计算机可读存储介质包括,但不限于:(i)其上永久存储信息的不可写存储介质(例如,计算机内的只读存储器(rom)设备,诸如可由只读光盘(compact disc read-only memory,cd-rom)驱动器读取的cd-rom盘、闪存、rom芯片或任何类型的固态非易失性存储器);以及(ii)其上存储可变信息的可写存储介质(例如,软盘驱动器或硬盘驱动器内的软盘或任何类型的固态随机存取存储器)。当携带指导所公开的实施例的功能的计算机
可读指令时,这种计算机可读存储介质是本公开的实施例。
96.本领域技术人员将理解,前述示例是示例性的而非限制性的。本领域技术人员在阅读说明书和研究附图后,其所有排列、增强、等同物和改进都包括在本公开的真正精神和范围内。因此,以下所附权利要求包括落入这些教导的真正精神和范围内的所有这样的修改、排列和等同物。