从广播视频生成可跟踪视频帧的系统及方法与流程

文档序号:26948022发布日期:2021-10-15 23:04阅读:131来源:国知局
从广播视频生成可跟踪视频帧的系统及方法与流程
从广播视频生成可跟踪视频帧的系统及方法
1.优先权文件
2.本技术要求申请日为2019年02月28日、申请号为us 62/811,889的美国临时申请的优先权,其全部内容全文引用归并本文。
技术领域
3.本公开总体上涉及从广播视频生成可跟踪视频帧的系统及方法。


背景技术:

4.多年来,运动员跟踪数据已在许多体育项目中用于团队和运动员分析。然而,常规的运动员跟踪系统需要体育分析公司在团队比赛的每个场地安装固定相机。这种约束限制了运动员跟踪系统的可扩展性,对当前竞赛的数据收集有限。另外,这类约束会因在必要场安装硬件以及维护此类硬件的相关成本而为体育分析公司招致巨大支出。


技术实现要素:

5.在一些实施例中,本文公开了一种从广播视频馈送生成可跟踪帧的方法。计算系统检索体育赛事的广播视频馈送。广播视频馈送包括多个视频帧。计算系统使用主成分分析模型生成用于分类的帧集。该帧集是多个视频帧的子集。计算系统将帧集中的每个帧划分成多个集群。计算系统将多个帧中的每一帧分类为可跟踪或不可跟踪。可跟踪帧捕捉体育赛事的统一视图。计算系统将每个集群与预定阈值进行比较以确定每个集群是否包括至少阈值数目的可跟踪帧。计算系统将包括至少阈值数目的可跟踪帧的每个集群分类为可跟踪。
6.在一些实施例中,本文公开了一种从广播视频馈送生成可跟踪帧的系统。该系统包括处理器和存储器。该存储器上存储有编程指令,它们当被处理器执行时执行一个或多个操作。一个或多个操作包括检索体育赛事的广播视频馈送。广播视频馈送包括多个视频帧。一个或多个操作还包括使用主成分分析模型来生成用于分类的帧集。该帧集是多个视频帧的子集。一个或多个操作还包括将帧集中的每一帧划分成多个集群。一个或多个操作还包括将多个帧中的每一帧分类为可跟踪或不可跟踪。可跟踪帧捕捉体育赛事的统一视图。一个或多个操作还包括将每个集群与预定阈值进行比较以确定每个集群是否包括至少阈值数目的可跟踪帧。一个或多个操作还包括将包括至少阈值数目的可跟踪帧的每个集群分类为可跟踪。
7.在一些实施例中,本文公开了一种非暂时性计算机可读介质。该非暂时性计算机可读介质包括一个或多个指令序列,它们当被一个或多个处理器执行时执行一个或多个操作。一个或多个操作包括检索体育赛事的广播视频馈送。广播视频馈送包括多个视频帧。一个或多个操作还包括使用主成分分析模型来生成用于分类的帧集。该帧集是多个视频帧的子集。一个或多个操作还包括将帧集中的每一帧划分成多个集群。一个或多个操作还包括将多个帧中的每一帧分类为可跟踪或不可跟踪。可跟踪帧捕捉体育赛事的统一视图。一个
或多个操作还包括将每个集群与预定阈值进行比较以确定每个集群是否包括至少阈值数目的可跟踪帧。一个或多个操作还包括将包括至少阈值数目的可跟踪帧的每个集群分类为可跟踪。
附图说明
8.为了详细地了解本公开的上述特征,可以通过参考实施例来对以上简要概述的本公开进行更具体的描述,附图中示出其中一些实施例。但应当指出,附图仅示出本公开的典型实施例,故不应视为限制本公开的范围,本公开可容许其他等同实施例。
9.图1是示出根据示例实施例的计算环境的框图。
10.图2是示出根据示例实施例的计算环境的框图。
11.图3是示出上下文根据示例实施例结合图2和图4至图10论述的操作方面的框图。
12.图4是示出根据示例实施例生成运动员踪迹的方法的流程图。
13.图5是示出根据示例实施例生成可跟踪帧的方法的流程图。
14.图6是示出根据示例实施例如上结合图5论述的操作方面的框图。
15.图7是示出根据示例实施例针对每个可跟踪帧校准相机的方法的流程图。
16.图8是示出根据示例实施例如上结合图7论述的操作方面的框图。
17.图9是示出根据示例实施例跟踪运动员的方法的流程图。
18.图10是示出根据示例实施例跟踪运动员的方法的流程图。
19.图11是示出根据示例实施例如上结合图10论述的操作方面的框图。
20.图12是示出根据示例实施例再识别代理的架构的框图。
21.图13a是示出根据示例实施例的计算设备的框图。
22.图13b是示出根据示例实施例的计算设备的框图。
23.为了便于理解,酌情使用相同的附图标记指代附图中共有的相同元素。可以设想一个实施例中公开的元素可适宜地用于其他实施例而无需具体叙述。
具体实施方式
24.运动员跟踪数据一直是联盟和团队的宝贵资源,不仅可评估团队本身,还可评估团队中的运动员。收集或生成运动员跟踪数据的常规方法有限,而依赖于在将要举办体育赛事的场地安装固定相机。换言之,团队收集或生成运动员跟踪数据的常规方法要求团队为每个场地配备固定相机系统。本领域技术人员认识到,这种约束严重会限制运动员跟踪系统的可扩展性。此外,这种约束还会将运动员跟踪数据限制到安装固定相机系统后进行的比赛,因为根本无法获得历史运动员跟踪数据。
25.因为不再需要固定相机系统,本公开描述的一种或多种技术提供了对常规系统的显著改进。确切而言,本公开描述的一种或多种技术旨在利用体育赛事的广播视频馈送来生成运动员跟踪数据。通过利用体育赛事的广播视频馈送,不仅无需在每个场馆中使用专用的固定相机系统,而且现在可以从历史体育赛事中生成历史运动员跟踪数据。
26.然而,利用体育赛事的广播视频馈送却非易事。例如,包含在广播视频馈送中的可以是各种不同的相机角度、运动员特写、人群特写、教练特写、评论员视频、广告、中场表演等。有鉴于此,为了解决上述问题,本公开描述的一种或多种技术涉及将广播视频馈送剪辑
或划分成其组成部分,例如,电影中的不同场景或篮球比赛中的广告。通过将广播视频馈送剪辑或划分成其组成部分,整个系统可以更好地理解呈现给它的信息,从而系统能够更高效地从底层广播视频馈送中提取数据。
27.图1是示出根据示例实施例的计算环境100的框图。计算环境100可以包括经由网络105通信的相机系统102、组织计算系统104和一个或多个客户端设备108。
28.网络105可以采取任何合适的类型,包括经由互联网、诸如蜂窝或wi

fi网络的个别连接。在一些实施例中,网络105可以使用诸如射频识别(rfid)、近场通信(nfc)、蓝牙
tm
、低功耗蓝牙
tm
(ble)、wi

fi
tm
、zigbee
tm
、环境反向散射通信(abc)协议、usb、wan或lan等直接连接来连接终端、服务和移动设备。由于传输的信息可能是个人化或机密性,安全问题可能要求对这些类型的连接中的一种或多种进行加密或以其他方式进行安保。但在一些实施例中,传输的信息可能不太个人化,因此网络连接可以针对便捷性而非安全性来选择。
29.网络105可以包括任何类型用于交换数据或信息的计算机网络布置。例如,网络105可以是因特网、专用数据网络、使用公共网络和/或其他合适连接的虚拟专用网络,使得计算环境100中的组件能够在环境100的组件之间发送和接收信息。
30.相机系统102可以定位于场地106中。例如,场地106可以配置为举办包括一个或多个球员112的体育赛事。相机系统102可以配置为捕捉赛场(playing surface)上所有球员(即,运动员)的运动以及一个或多个其他相关对象(例如,球、裁判等)。在一些实施例中,相机系统102可以是例如使用多个固定相机的基于光学的系统。例如,可以使用由六个静止校准相机组成的系统,这些相机将运动员和球的三维位置投影到球场的二维俯视图上。在另一例中,静止相机和非静止相机混合可用于捕捉赛场上全部球员的运动以及一个或多个相关对象。本领域技术人员可认识到,使用这种相机系统(例如,相机系统102)可以产生许多不同的球场相机视图(例如,高边线视图、罚球线视图、围聚视图、争球视图、球门区视图等)。一般而言,相机系统102可用于给定竞赛的广播馈送。广播馈送中的每一帧可以存储在比赛文件110中。
31.相机系统102可以配置为经由网络105与组织计算系统104进行通信。组织计算系统104可以配置为管理和分析相机系统102捕获的广播馈送。组织计算系统104可以至少包括web客户端应用服务器114、数据存储118、自动剪辑代理120、数据集生成器122、相机校准器124、运动员跟踪代理126和界面代理128。自动剪辑代理120、数据集生成器122、相机校准器124、运动员跟踪代理126和界面代理128中的每一个均可以由一个或多个软件模块组成。一个或多个软件模块可以是存储在介质(例如,组织计算系统104的存储器)上的代码或指令的集合,它们表示实施一个或多个算法步骤的一系列机器指令(例如,程序代码)。这样的机器指令可以是组织计算系统104的处理器解译实施指令的实际计算机代码,也可以是解译获得实际计算机代码的指令的高级编码。一个或多个软件模块还可以包括一个或多个硬件组件。示例算法的一个或多个方面可以由硬件组件(例如,电路)本身执行,而不是作为指令的结果。
32.数据存储118可以配置为存储一个或多个比赛文件124。每个比赛文件124可以包括给定竞赛的广播数据。例如,广播数据可以是相机系统102捕获的多个视频帧。
33.自动剪辑代理120可以配置为解析给定竞赛的广播馈送以识别竞赛的统一视图。换言之,自动剪辑代理120可以配置为解析广播馈送以识别从同一视图捕获的全部信息帧。
在一示例中,例如在篮球运动中,统一视图可以是高边线视图。自动剪辑代理120可以将广播馈送(例如,视频)剪辑或分割成其组成部分(例如,电影中的不同场景、竞赛中的广告等)。为了生成统一视图,自动剪辑代理120可以识别捕捉同一视图(例如,高边线视图)的那些部分。据此,自动剪辑代理120可以移除广播馈送的全部(或部分)不可跟踪部分(例如,运动员特写、广告、中场表演等)。统一视图可以作为可跟踪帧集存储在数据库中。
34.数据集生成器122可以配置为根据可跟踪帧生成多个数据集。在一些实施例中,数据集生成器122可以配置为识别身体姿势信息。例如,数据集生成器122可以利用身体姿势信息来检测可跟踪帧中的运动员。在一些实施例中,数据集生成器122可以配置为进一步跟踪可跟踪帧中球或冰球的移动。在一些实施例中,数据集生成器122可以配置为对正发生事件的赛场进行分割以识别赛场的一个或多个标记。例如,数据集生成器122可以配置为识别球场(例如,篮球、网球等)标记、运动场(例如,棒球、美式橄榄球、足球、英式橄榄球等)标记、冰场(例如,曲棍球)标记等。由数据集生成器122生成的多个数据集可以随后供相机校准器124用来校准每个相机系统102的相机。
35.相机校准器124可以配置为校准相机系统102的相机。例如,相机校准器124可以配置为将在可跟踪帧中检测到的运动员投影到现实世界坐标以供进一步分析。相机系统102中的相机不断移动以聚焦于球或关键动作,因此这样的相机无法被预先校准。相机校准器124可以配置为使用单应矩阵改进或优化运动员投影参数。
36.运动员跟踪代理126可以配置为针对赛场上的每个运动员生成踪迹(track)。例如,运动员跟踪代理126可以利用运动员姿势检测、相机校准和广播帧来生成这样的踪迹。在一些实施例中,运动员跟踪代理126还可以配置为针对每个运动员生成踪迹,即使是例如运动员当前处于可跟踪帧之外。例如,运动员跟踪代理126可以利用身体姿势信息来链接已经离开视图帧的运动员。
37.界面代理128可以配置为生成与由运动员跟踪代理126生成的每个运动员的踪迹相对应的一个或多个图形表示。例如,界面代理128可以配置为生成一个或多个图形用户界面(gui),其包括跟踪由运动员跟踪代理126生成的每个预测的运动员的图形表示。
38.客户端设备108可以经由网络105与组织计算系统104进行通信。客户端设备108可由用户操作。例如,客户端设备108可以是移动设备、平板型计算机、桌面型计算机或任何具有本文所述能力的计算系统。用户可以包括但不限于个人,诸如订户、客户、潜在客户或与组织计算系统104相关联的实体顾客,例如已获得、将获得或可获得来自与组织计算系统104相关联的实体的产品、服务或咨询的个人。
39.客户端设备108可以至少包括应用132。应用132可以代表允许访问网站或独立应用的web浏览器。客户端设备108可以访问应用132以访问组织计算系统104的一项或多项功能。客户端设备108可以通过网络105通信以请求网页,例如来自组织计算系统104的web客户端应用服务器114的网页。例如,客户端设备108可以配置为执行应用132以访问由web客户端应用服务器114管理的内容。显示给客户端设备108的内容可以从web客户端应用服务器114传输到客户端设备108,并随后由应用132处理以通过客户端设备108的图形用户界面(gui)进行显示。
40.图2是示出根据示例实施例的计算环境200的框图。如图所示,计算环境200包括经由网络205进行通信的自动剪辑代理120、数据集生成器122、相机校准器124和运动员跟踪
代理126。
41.网络205可以采取任何合适的类型,包括经由互联网、诸如蜂窝或wi

fi网络的个别连接。在一些实施例中,网络205可以使用诸如射频识别(rfid)、近场通信(nfc)、蓝牙
tm
、低功耗蓝牙
tm
(ble)、wi

fi
tm
、zigbee
tm
、环境反向散射通信(abc)协议、usb、wan或lan等直接连接来连接终端、服务和移动设备。由于传输的信息可能是个人化或机密性,安全问题可能要求对这些类型的连接中的一种或多种进行加密或以其他方式进行安保。但在一些实施例中,传输的信息可能不太个人化,因此网络连接可以针对便捷性而非安全性来选择。
42.网络205可以包括任何类型用于交换数据或信息的计算机网络布置。例如,网络205可以是因特网、专用数据网络、使用公共网络和/或其他合适连接的虚拟专用网络,使得计算环境200中的组件能够在环境200的组件之间发送和接收信息。
43.自动剪辑代理120可以包括主成分分析(pca)代理202、聚类模型204和神经网络206。如上所述,当试图从广播馈送中理解和提取数据时,自动剪辑代理120可用于将视频剪辑或分割成其组成部分。在一些实施例中,自动剪辑代理120可以专注于将预定义的统一视图(例如,高边线视图)与广播流的所有其他部分分开。
44.pca代理202可以配置为利用pca分析来执行每次从广播馈送中提取帧特征。例如,鉴于预先录制的视频,pca代理202可以每x秒(例如,每10秒)提取一帧来构建视频的pca模型。在一些实施例中,pca代理202可以使用增量pca来生成pca模型,pca代理202由此可以选择前一个分量子集(例如,前120个分量)来生成pca模型。pca代理202还可以配置为每x秒(例如,每一秒)从广播流中提取一帧并使用pca模型来压缩这些帧。在一些实施例中,pca代理202可以利用pca模型将帧压缩成120维形式。例如,pca代理202可以按每视频的方式求解主分量并保存每帧前100个分量以确保准确剪辑。
45.聚类模型204可以配置为将前一个分量子集聚类成集群。例如,聚类模型204可以配置为将前120个分量居中、归一化和聚类成多个集群。在一些实施例中,对于压缩帧的聚类,聚类模型204可以实施k均值(k

means)聚类。在一些实施例中,聚类模型204可以设置k=9个集群。k均值聚类尝试获取一些数据x={x1,x2,...,x
n
}并将其分成k个子集,s={s1,s2,...s
k
},如下优化:
[0046][0047]
其中μ
j
为集s
j
中数据的均值。换言之,聚类模型204尝试使用k均值聚类技术找到具有最小群间方差的集群。聚类模型204可以用其各自的集群号(例如,集群1、集群2、...、集群k)标注每一帧。
[0048]
神经网络206可以配置为将每一帧分类为可跟踪或不可跟踪。可跟踪帧可以代表包括捕获统一视图(例如,高边线视图)的帧。不可跟踪帧可以代表未捕获统一视图的帧。为了训练神经网络206,可以使用包括通过pca模型运行的预先标注为可跟踪或不可跟踪的数千帧的输入数据集。每个压缩帧和标签对(即,集群号和可跟踪/不可跟踪)可以被提供给神经网络206以供训练。
[0049]
在一些实施例中,神经网络206可以包括四层。这四层可以包括一个输入层、两个隐藏层和一个输出层。在一些实施例中,输入层可以包括120个单元。在一些实施例中,每个
隐藏层可以包括240个单元。在一些实施例中,输出层可以包括2个单元。输入层和每个隐藏层可以使用sigmoid激活函数。输出层可以使用softmax激活函数。为了训练神经网络206,自动剪辑代理120可以如下减少(例如,最小化)样本的预测标签与真正标签y
j
之间的二元交叉熵损失:
[0050][0051]
据此,一旦经训练,神经网络206可以配置为将每一帧分类为不可跟踪或可跟踪。如此,每一帧可以具有两个标签:集群号和可跟踪/不可跟踪分类。自动剪辑代理120可以利用这两个标签来确定给定集群视为可跟踪还是不可跟踪。例如,如果自动剪辑代理120确定集群中阈值数目的帧视为可跟踪(例如,80%),则自动剪辑代理120可以断定该集群中所有帧皆为可跟踪。另外,如果自动剪辑代理120确定集群中少于阈值数目的帧视为不可跟踪(例如,30%以下),则自动剪辑代理120可以断定该集群中所有帧皆为不可跟踪。更进一步,如果自动剪辑代理120确定集群中特定数目的帧视为可跟踪(例如,30%至80%),则自动剪辑代理120可以请求管理员进一步分析该集群。一旦每一帧均被分类,自动剪辑代理120便可以剪辑或分割可跟踪帧。自动剪辑代理120可以将可跟踪帧的片段存储在与之相关联的数据库205中。
[0052]
数据集生成器122可以配置为从自动剪辑代理120生成多个数据集。如图所示,数据集生成器122可以包括姿势检测器212、球检测器214和赛场分割器216。姿势检测器212可以配置为检测广播馈送内的运动员。数据集生成器122可以向姿势检测器212提供存储在数据库205中的可跟踪帧以及广播视频馈送作为输入。在一些实施例中,姿势检测器212可以实施开放姿势(open pose)以生成身体姿势数据来检测广播馈送和可跟踪帧中的运动员。在一些实施例中,姿势检测器212可以实施定位于运动员身上的传感器以捕捉身体姿势信息。一般而言,姿势检测器212可以使用任何手段从广播视频馈送和可跟踪帧中获得身体姿势信息。来自姿势检测器212的输出可以是存储在与数据集生成器122相关联的数据库215中的姿势数据。
[0053]
球检测器214可以配置为检测和跟踪广播馈送内的球(或冰球)。数据集生成器122可以向球检测器214提供存储在数据库205中的可跟踪帧以及广播视频馈送作为输入。在一些实施例中,球检测器214可以利用快速区域卷积神经网络(faster r

cnn)来检测和跟踪可跟踪帧中和广播视频馈送的球。faster r

cnn是一种区域提议网络。faster r

cnn使用卷积神经网络提议感兴趣区域,然后将每个感兴趣区域中的对象分类。因为它是单个统一网络,感兴趣区域和分类步骤可以互为改进,从而允许分类处理各种大小的对象。来自球检测器214的输出可以是存储在与数据集生成器122相关联的数据库215中的球检测数据。
[0054]
赛场分割器216可以配置为识别广播馈送中的赛场标记。数据集生成器122可以向赛场分割器216提供存储在数据库205中的可跟踪帧以及广播视频馈送作为输入。在一些实施例中,赛场分割器216可以配置为利用神经网络来识别赛场标记。赛场分割器216的输出可以是存储在与数据集生成器122相关联的数据库215中的赛场标记。
[0055]
相机校准器124可以配置为解决体育运动中移动相机校准的问题。相机校准器124可以包括空间传输网络224和光流模块226。相机校准器124可以接收由赛场分割器216生成
的分割赛场信息、可跟踪剪辑信息和姿势信息作为输入。鉴于这样的输入,相机校准器124可以配置为将图像帧中的坐标投影到现实世界坐标以供跟踪分析。
[0056]
关键帧匹配模块224可以接收来自赛场分割器216的输出和模板集作为输入。对于每一帧,关键帧匹配模块224可以将来自赛场分割器216的输出与模板进行匹配。那些能够匹配给定模板的帧视为关键帧。在一些实施例中,关键帧匹配模块224可以实施神经网络以匹配一个或多个帧。在一些实施例中,关键帧匹配模块224可以实施互相关(cross

correlation)以匹配一个或多个帧。
[0057]
空间变换网络(stn)224可以配置为从关键帧匹配模块224接收所识别的关键帧作为输入。stn 224可以实施神经网络以将赛场模型拟合到赛场分割信息。通过将赛场模型拟合到这样的输出,stn 224可以针对每个关键帧生成单应矩阵。
[0058]
光流模块226可以配置为识别对象从一个可跟踪帧到另一帧的运动模式。在一些实施例中,光流模块226可以接收每个可跟踪帧中运动员的可跟踪帧信息和身体姿势信息作为输入。光流模块226可以使用身体姿势信息来从可跟踪帧信息中移除运动员。一旦被移除,光流模块226可以确定帧间运动以识别连续帧之间的相机运动。换言之,光流模块226可以识别从一帧到下一帧的流场。
[0059]
光流模块226和stn 224可以协同工作以生成单应矩阵。例如,光流模块226和stn 224可以针对每个可跟踪帧生成单应矩阵,从而可以针对每一帧校准相机。单应矩阵可用于将运动员的踪迹或位置投影到现实世界坐标中。例如,单应矩阵可以指示二维到二维变换,其可以用于将运动员的位置从图像坐标投影到赛场上的现实世界坐标。
[0060]
运动员跟踪代理126可以配置为针对竞赛中的每个运动员生成踪迹。运动员跟踪代理126可以包括神经网络232和再识别代理232。运动员跟踪代理126可以接收可跟踪帧、姿势数据、校准数据和广播视频帧作为输入。在第一阶段,运动员跟踪代理126可以基于外表和距离来匹配可从姿势信息导出的运动员补丁对。例如,令为第j个运动员在时间t的运动员补丁,令为第j个运动员在时间t的图像坐标宽度和高度借此,运动员跟踪代理126可以使用外表互相关和如下关联任何检测对:
[0061][0062]
其中i是边界框位置(x,y)、宽度w和高度h;c是图像补丁(image patch)之间的互相关(例如,使用边界框的图像剪切),并测定两个图像补丁之间的相似度;且l是两个边界框i之间差异(例如,距离)的度量。
[0063]
针对每一对执行此操作可以生成大型短踪片集。然后,可以基于运动一致性和颜色直方图相似度将这些踪片(tracklet)的端点相互关联。
[0064]
例如,令v
i
为第i个踪片结束时的外推速度,令v
j
为第j个踪片开始时的外推速度。则c
ij
=v
i
·
v
j
可以表示运动一致性分值。另外,令p(h)
i
表示颜色似然率,h存在于图像补丁i中。运动员跟踪代理126可以使用巴氏距离(bhattacharyya distance)测定颜色直方图相似度:
[0065]
d
b
(p
i
,p
j
)=

ln(bc(p
i
,p
j
)),其中
[0066]
重申一下,跟踪代理120如下找到匹配的踪片对:
[0067][0068]
求解每对中断的踪片可以产生净踪片集,同时留下一些具有大差距(即许多帧)的踪片。为了连接大差距,运动员跟踪代理可以扩增近邻度量以包括运动场估计,这可顾及许多帧中发生的运动员方向变化。
[0069]
运动场可以是向量场,其将速度幅度和方向表示为赛场上每个位置上的向量。鉴于赛场上众多运动员的已知速度,可以使用三次样条插值来生成完整的运动场。例如,令为运动员i在每个时间t的球场位置。则可能存在一对具有位移的点,若λ<t。据此,运动场则可如下:
[0070][0071]
其中g(x,5)可以是标准偏差约等于五英尺的高斯核(gaussian kernel)。换言之,运动场可以是全部位移的高斯模糊(gaussian blur)。
[0072]
神经网络232可用于鉴于真实运动员轨迹而预测运动员轨迹。鉴于真实运动员轨迹集,x
i
,可以计算每个运动员在每一帧的速度,这可以为神经网络232提供地面真实运动场以供学习。例如,鉴于真实运动员轨迹集x
i
,运动员跟踪代理126可以配置为生成集合其中可以是预测的运动场。例如,可以训练神经网络232以使最小化。运动员轨迹代理则可以如下针对任何跟踪差距大小λ生成近邻分值:
[0073]
k
ij
=v(x,λ)
·
d
ij
[0074]
其中是差距大小为λ的全部中断踪迹之间的位移向量。
[0075]
再识别代理234可以配置为链接已经离开视图帧的运动员。再识别代理234可以包括踪迹生成器236、条件自编码器240和siamese网络242。
[0076]
踪迹生成器236可以配置为生成踪迹图库。踪迹生成器236可以接收来自数据库205的多个踪迹。针对每个踪迹x,可以包括运动员身份标签y,并且针对每个运动员补丁i,可以由姿势检测阶段提供姿势信息p。鉴于运动员踪迹集,踪迹生成器236可以针对每个踪迹建立图库,其中运动员的队服号码(或一些其他静态特征)始终可见。由数据集生成器122生成的身体姿势信息允许踪迹生成器236确定运动员的方位。例如,踪迹生成器236可以利用启发法,其中可以如下使用标准化肩宽来确定方位:
[0077][0078]
其中l可以表示一个身体部位的位置。肩宽可以通过躯干长度来进行归一化,从而
可消除缩放效果。当运动员面向相机或背向相机时两边肩膀应为分开,因此踪迹生成器236可以使用那些s
orient
大于阈值的补丁来建立图库。在此阶段之后,每个踪迹x
n
可以包括如下图库:
[0079][0080]
条件自编码器240可以配置为识别每个踪迹中的一个或多个特征。例如,与再识别问题的常规方法不同的是,团队运动中的运动员可以具有非常相似的外表特征,诸如服装款式、服装颜色和肤色。更直观的区别之一可能是可显示在每件队服正面和/或背面的队服号码。为了捕捉这些具体特征,可以训练条件自编码器240来识别这样的特征。
[0081]
在一些实施例中,条件自编码器240可以是三层卷积自编码器(convolutional autoencoder),其中全部三层的内核大小可以是3x3,其中分别有64个、128个、128个通道。可以调谐这些超参数以确保可从重建的图像中辨识出队服号码,从而可以在自编码器中学习预期的特征。在一些实施例中,f(i
i
)可用于表示从图像i中学习的特征。
[0082]
使用条件自编码器240可出于各种原因而改进常规过程。首先,通常没有足够的训练数据供每个运动员使用,因为有些运动员在每场比赛中仅上场很短的时间。其次,不同的团队可能有相同的队服颜色和队服号码,因此可能难以对这些运动员进行分类。
[0083]
siamese网络242可用于测定两个图像补丁之间的相似度。例如,可以训练siamese网络242以基于它们的特征表示f(i)来测定两个图像补丁之间的相似度。鉴于两个图像补丁,它们的特征表示f(i
i
)和f(i
j
)可以被展平、连接并输入到感知网络中。在一些实施例中,l2范数可用于连接两个子网络f(i
i
)和f(i
j
)。在一些实施例中,感知网络可以包括三层,可以分别包括1024个、512个和216个隐藏单元。这样的网络可用于测定无时间重叠的两个踪迹的每对图像补丁之间的相似度s(i
i
,i
j
)。为了增强预测的鲁棒性,两个踪迹的最终相似度分值可以是它们各自图库中全部成对分值的平均值:
[0084][0085]
可以针对无时间重叠的每两个踪迹计算该相似度分值。如果分值高于某个阈值,则这两个踪迹可相关联。
[0086]
图3是示出上下文根据示例实施例结合图2和图4至图10论述的操作方面的框图300。框图300可以说明组织计算系统104在生成运动员跟踪信息时的整体工作流程。框图300可以包括多组操作302至308。一组操作302可以涉及生成可跟踪帧(例如,图5中的方法500)。一组操作304可以涉及从可跟踪帧生成一个或多个数据集(例如,由数据集生成器122执行的操作)。一组操作306可以涉及相机校准操作(例如,图7中的方法700)。一组操作308可以针对生成和预测运动员踪迹(例如,图9中的方法900和图10中的方法1000)。
[0087]
图4是示出根据示例实施例生成运动员踪迹的方法400的流程图。方法400可以始于步骤402。
[0088]
在步骤402,组织计算系统104可以接收(或检索)赛事的广播馈送。在一些实施例中,广播馈送可以是从相机系统102实时(或接近实时)接收的实况馈送。在一些实施例中,广播馈送可以是已经结束的比赛的广播馈送。一般而言,广播馈送可以包括多帧视频数据。每一帧可以捕捉不同的相机视角。
[0089]
在步骤404,组织计算系统104可以将广播馈送分割成统一视图。例如,自动剪辑代理120可以配置为解析广播馈送中的多个数据帧以从不可跟踪帧中分割出可跟踪帧。一般而言,可跟踪帧可以包括指向统一视图的那些帧。例如,统一视图可以视为是高边线视图。在其他示例中,统一视图可以是球门区视图。在其他示例中,统一视图可以是顶相机视图。
[0090]
在步骤406,组织计算系统104可以从可跟踪帧(即,统一视图)生成多个数据集。例如,数据集生成器122可以配置为基于从自动剪辑代理120接收到的可跟踪剪辑来生成多个数据集。在一些实施例中,姿势检测器212可以配置为检测广播馈送内的运动员。数据集生成器122可以向姿势检测器212提供存储在数据库205中的可跟踪帧以及广播视频馈送作为输入。来自姿势检测器212的输出可以是存储在与数据集生成器122相关联的数据库215中的姿势数据。
[0091]
球检测器214可以配置为检测和跟踪广播馈送内的球(或冰球)。数据集生成器122可以向球检测器214提供存储在数据库205中的可跟踪帧以及广播视频馈送作为输入。在一些实施例中,球检测器214可以利用faster r

cnn来检测和跟踪可跟踪帧中和广播视频馈送的球。来自球检测器214的输出可以是存储在与数据集生成器122相关联的数据库215中的球检测数据。
[0092]
赛场分割器216可以配置为识别广播馈送中的赛场标记。数据集生成器122可以向赛场分割器216提供存储在数据库205中的可跟踪帧以及广播视频馈送作为输入。在一些实施例中,赛场分割器216可以配置为利用神经网络来识别赛场标记。赛场分割器216的输出可以是存储在与数据集生成器122相关联的数据库215中的赛场标记。
[0093]
据此,数据集生成器120可以生成针对全部可跟踪帧中的运动员位置、球位置和球场部分的信息以供进一步分析。
[0094]
在步骤408,组织计算系统104可以基于在步骤406中所生成的数据集而每个可跟踪帧中校准相机。例如,相机校准器124可以配置为通过使用可跟踪帧和身体姿势信息生成单应矩阵而在每个可跟踪帧中校准相机。单应矩阵允许相机校准器124获取给定帧中每个运动员的那些轨迹,并将这些轨迹投影到现实世界坐标中。通过针对每帧将运动员位置和轨迹投影到现实世界坐标中,相机校准器124可以确保相机针对每帧得以校准。
[0095]
在步骤410,组织计算系统104可以配置为生成或预测每个运动员的踪迹。例如,运动员跟踪代理126可以配置为生成或预测竞赛中每个运动员的踪迹。运动员跟踪代理126可以接收可跟踪帧、姿势数据、校准数据和广播视频帧作为输入。使用这样的输入,运动员跟踪代理126可以配置为构建整个给定竞赛中的运动员运动。另外,运动员跟踪代理126可以配置为鉴于每个运动员的先前运动而预测运动员轨迹。
[0096]
图5是示出根据示例实施例生成可跟踪帧的方法500的流程图。方法500可以对应于上文结合图4论述的操作404。方法500可以始于步骤502。
[0097]
在步骤502,组织计算系统104可以接收(或检索)赛事的广播馈送。在一些实施例中,广播馈送可以是从相机系统102实时(或接近实时)接收的实况馈送。在一些实施例中,广播馈送可以是已经结束的比赛的广播馈送。一般而言,广播馈送可以包括多帧视频数据。每一帧可以捕捉不同的相机视角。
[0098]
在步骤504,组织计算系统104可以生成用于图像分类的帧集。例如,自动剪辑代理120可以利用pca分析来执行从广播馈送中提取逐帧特征。例如鉴于预先录制的视频,自动
剪辑代理120可以每x秒(例如,每10秒)提取一帧来构建视频的pca模型。在一些实施例中,自动剪辑代理120可以使用增量pca来生成pca模型,自动剪辑代理120由此可以选择前一个分量子集(例如,前120个分量)来生成pca模型。自动剪辑代理120还可以配置为每x秒(例如,每一秒)从广播流中提取一帧并使用pca模型来压缩这些帧。在一些实施例中,自动剪辑代理120可以利用pca模型将帧压缩成120维形式。例如,自动剪辑代理120可以按每视频的方式求解主分量并保存每帧前100个分量以确保准确剪辑。这样的压缩帧子集可以视为用于图像分类的帧集。换言之,pca模型可以用于将每一帧压缩成小向量,从而能够更有效地对帧进行聚类。可以通过从pca模型中选择前n个分量来表示帧而进行压缩。在一些示例中,n可以是100。
[0099]
在步骤506,组织计算系统104可以将帧集中的每一帧分配到给定集群。例如,自动剪辑代理120可以配置为将前120个分量居中、归一化和聚类成多个集群。在一些实施例中,对于压缩帧的聚类,自动剪辑代理120可以实施k均值聚类。在一些实施例中,自动剪辑代理120可以设置k=9个集群。k均值聚类尝试获取一些数据x={x1,x2,...,x
n
}并将其分成k个子集,s={s1,s2,...s
k
},如下优化:
[0100][0101]
其中μ
j
为集s
j
中数据的均值。换言之,聚类模型204尝试使用k均值聚类技术找到具有最小群间方差的集群。聚类模型204可以用其各自的集群号(例如,集群1、集群2、...、集群k)标注每一帧。
[0102]
在步骤508,组织计算系统104可以将每一帧分类为可跟踪或不可跟踪。例如,自动剪辑代理120可以利用神经网络将每一帧分类为可跟踪或不可跟踪。可跟踪帧可以代表包括捕获统一视图(例如,高边线视图)的帧。不可跟踪帧可以代表未捕获统一视图的帧。为了训练神经网络(例如,神经网络206),可以使用包括通过pca模型运行的预先标注为可跟踪或不可跟踪的数千帧的输入数据集。每个压缩帧和标签对(即,集群号和可跟踪/不可跟踪)可以被提供给神经网络以供训练。据此,一经训练,自动剪辑代理120便可以将每一帧分类为不可跟踪或可跟踪。如此,每一帧可以具有两个标签:集群号和可跟踪/不可跟踪分类。
[0103]
在步骤510,组织计算系统104可以将每个集群与阈值相比较。例如,自动剪辑代理120可以利用这两个标签来确定给定集群视为可跟踪还是不可跟踪。在一些实施例中,如果自动剪辑代理120确定集群中阈值数目的帧视为可跟踪(例如,80%),则自动剪辑代理120可以断定该集群中所有帧皆为可跟踪。另外,如果自动剪辑代理120确定集群中少于阈值数目的帧视为不可跟踪(例如,30%以下),则自动剪辑代理120可以断定该集群中所有帧皆为不可跟踪。更进一步,如果自动剪辑代理120确定集群中特定数目的帧视为可跟踪(例如,30%至80%),则自动剪辑代理120可以请求管理员进一步分析该集群。
[0104]
如果在步骤510中组织计算系统104确定集群中大于阈值数目的帧为可跟踪,则在步骤512中自动剪辑代理120可以将该集群分类为可跟踪。
[0105]
然而,如果在步骤510中组织计算系统104确定集群中小于阈值数目的帧为可跟踪,则在步骤514中自动剪辑代理120可以将该集群分类为不可跟踪。
[0106]
图6是示出根据示例实施例如上结合方法500论述的操作方面的框图600。如图所
示,框图600可以包括多组操作602至608。
[0107]
在一组操作602,可以向自动剪辑代理120提供视频数据(例如,广播视频)。自动剪辑代理120可以从视频中提取帧。在一些实施例中,自动剪辑代理120可以以低帧率从视频中提取帧。自动剪辑代理可以使用增量pca算法来从由自动剪辑代理120提取的帧集中选择前120个分量(例如,帧)。这样的操作可以生成视频特定的pca模型。
[0108]
在一组操作604,可以向自动剪辑代理120提供视频数据(例如,广播视频)。自动剪辑代理120可以从视频中提取帧。在一些实施例中,自动剪辑代理120可以以中帧率从视频中提取帧。自动剪辑代理120可以使用视频特定pca模型来压缩由自动剪辑代理120提取的帧。
[0109]
在一组操作606,可以将压缩帧和预选数目的期望集群提供给自动剪辑代理120。自动剪辑代理120可以利用k均值聚类技术将帧分组成一个或多个集群,如预选数目的期望集群所述。自动剪辑代理120可以为每个压缩帧分配集群标签。自动剪辑代理120还可以配置为将每一帧分类为可跟踪或不可跟踪。自动剪辑代理120可以如此标注每个相应帧。
[0110]
在一组操作608,自动剪辑代理120可以分析每个集群以确定该集群是否包括至少阈值数目的可跟踪帧。例如,如图所示,如果集群中80%帧被分类为可跟踪,则自动剪辑代理120可以将整个集群视为可跟踪。然而,如果集群中少于80%帧被分类为可跟踪,则自动剪辑代理可以确定集群中是否至少第二阈值数目的帧为可跟踪。例如,如果集群中70%帧被分类为不可跟踪,则自动剪辑代理120可以将整个集群视为可跟踪。然而,如果集群中少于70%帧被分类为不可跟踪,即30%至70%可跟踪,则可以请求人工注释。
[0111]
图7是示出根据示例实施例针对每个可跟踪帧校准相机的方法700的流程图。方法700可以对应于上文结合图4论述的操作408。方法700可以始于步骤702。
[0112]
在步骤702,组织计算系统104可以检索视频数据和姿势数据以供分析。例如,相机校准器124可以从数据库205中检索给定竞赛的可跟踪帧和每个可跟踪帧中运动员的姿势数据。继步骤702之后,相机校准器124可以执行两个并行过程来针对每一帧生成单应矩阵。据此,以下操作并非旨在论述为顺序执行,而是可以并行或顺序执行。
[0113]
在步骤704,组织计算系统104可以从每个可跟踪帧中移除运动员。例如,相机校准器124可以解析从数据库205中检索到的每个可跟踪帧以识别其中所含的一个或多个运动员。相机校准器124可以使用从数据库205中检索到的姿势数据而从每个可跟踪帧中移除运动员。例如,相机校准器124可以识别与姿势数据相对应的那些像素,并从给定的可跟踪帧中移除所识别的像素。
[0114]
在步骤706,组织计算系统104可以识别对象(例如,表面、边缘等)在连续可跟踪帧之间的运动。例如,相机校准器124可以分析连续可跟踪帧,从中移除运动员,以确定对象从一帧到下一帧的运动。换言之,光流模块226可以识别连续可跟踪帧之间的流场。
[0115]
在步骤708,组织计算系统104可以将来自赛场分割器216的输出与模板集相匹配。例如,相机校准器124可以将赛场图像清晰的一个或多个帧与一个或多个模板相匹配。相机校准器124可以解析该组可跟踪剪辑以识别提供清晰赛场图片和其中标记的那些剪辑。基于所选剪辑,相机校准器124可以将这样的图像与赛场模板相比较。每个模板可以表示赛场的不同相机视角。那些能够匹配给定模板的帧视为关键帧。在一些实施例中,相机校准器124可以实施神经网络以匹配一个或多个帧。在一些实施例中,相机校准器124可以实施互
相关以匹配一个或多个帧。
[0116]
在步骤710,组织计算系统104可以将赛场模型拟合到每个关键帧。例如,相机校准器124可以配置为接收所识别的关键帧作为输入。相机校准器124可以实施神经网络以将赛场模型拟合到赛场分割信息。通过将赛场模型拟合到这样的输出,相机校准器124可以针对每个关键帧生成单应矩阵。
[0117]
在步骤712,组织计算系统104可以针对每个可跟踪帧生成单应矩阵。例如,相机校准器124可以利用在步骤706中所识别的流场和每个关键帧的单应矩阵来生成每一帧的单应矩阵。单应矩阵可用于将运动员的踪迹或位置投影到现实世界坐标中。例如,鉴于由单应矩阵表示的几何变换,相机校准器124可以使用其变换来将图像上运动员的位置投影到赛场上的现实世界坐标。
[0118]
在步骤714,组织计算系统104可以基于单应矩阵来校准每个相机。
[0119]
图8是示出根据示例实施例如上结合方法700论述的操作方面的框图800。如图所示,框图800可以包括输入802、第一组操作804和第二组操作806。第一组操作804和第二组操作806可以并行执行。
[0120]
输入802可以包括视频剪辑808和姿势检测810。在一些实施例中,视频剪辑808可以对应于由自动剪辑代理120生成的可跟踪帧。在一些实施例中,姿势检测810可以对应于由姿势检测器212生成的姿势数据。如图所示,可以仅提供视频剪辑808作为第一组操作804的输入;视频剪辑804和后期检测810皆可作为输入提供给第二组操作806。
[0121]
第一组操作804可以包括语义分割812、关键帧匹配814和stn拟合816。在语义分割812,赛场分割器216可以配置为识别广播馈送中的赛场标记。在一些实施例中,赛场分割器216可以配置为利用神经网络来识别赛场标记。这样的分割信息可以预先执行并从数据库215提供给相机校准124。在关键帧匹配814,关键帧匹配模块224可以配置为将赛场图像清晰的一个或多个帧与一个或多个模板相匹配。在stn拟合816,stn 226可以实施神经网络以将赛场模型拟合到赛场分割信息。通过将赛场模型拟合到这样的输出,stn 224可以针对每个关键帧生成单应矩阵。
[0122]
第二组操作806可以包括相机运动估计818。在相机流估计818,光流模块226可以配置为识别对象从一个可跟踪帧到另一帧的运动模式。例如,光流模块226可以使用身体姿势信息来从可跟踪帧信息中移除运动员。一旦被移除,光流模块226可以确定帧间运动以识别连续帧之间的相机运动。
[0123]
第一组操作804和第二组操作806可导致单应性插值816。光流模块226和stn 224可以协同工作以针对每个可跟踪帧生成单应矩阵,从而可以针对每一帧校准相机。单应矩阵可用于将运动员的踪迹或位置投影到现实世界坐标中。
[0124]
图9是示出根据示例实施例跟踪运动员的方法900的流程图。方法900可以对应于上文结合图4论述的操作410。方法900可以始于步骤902。
[0125]
在步骤902,组织计算系统104可以检索多个可跟踪帧以供匹配。多个可跟踪帧中的每一个可以包括与之相关联的一个或多个元数据集。这样的元数据可以例如包括身体姿势信息和相机校准数据。在一些实施例中,运动员跟踪代理126还可以检索广播视频数据。
[0126]
在步骤904,组织计算系统104可以生成短踪片集。例如,运动员跟踪代理126可以基于外表和距离来匹配可从姿势信息导出的运动员补丁对,以生成短踪片集。例如,令为
第j个运动员在时间t的运动员补丁,令为第j个运动员在时间t的图像坐标宽度和高度借此,运动员跟踪代理126可以使用外表互相关和如下关联任何检测对:
[0127][0128]
针对每一对执行此操作可以生成短踪片集。然后,可以基于运动一致性和颜色直方图相似度将这些踪片的端点相互关联。
[0129]
例如,令v
i
为第i个踪片结束时的外推速度,令v
j
为第j个踪片开始时的外推速度。则c
ij
=v
i
·
v
j
可以表示运动一致性分值。另外,令p(h)
i
表示颜色似然率,h存在于图像补丁i中。运动员跟踪代理126可以使用巴氏距离测定颜色直方图相似度:
[0130]
d
b
(p
i
,p
j
)=

ln(bc(p
i
,p
j
)),其中
[0131]
在步骤906,组织计算系统104可以连接每个短踪片集之间的差距。例如重申一下,跟踪代理120如下找到匹配的踪片对:
[0132][0133]
求解每对中断的踪片可以产生净踪片集,同时留下一些具有大差距(即许多帧)的踪片。为了连接大差距,运动员跟踪代理126可以扩增近邻度量以包括运动场估计,这可顾及许多帧中发生的运动员方向变化。
[0134]
运动场可以是一种测定运动员经过一段时间λ后在赛场x上某个点会处何方向的向量场。例如,令为运动员i在每个时间t的球场位置。则可能存在一对具有位移的点,若λ<t。据此,运动场则可如下:
[0135][0136]
其中g(x,5)可以是标准偏差约等于五英尺的高斯核。换言之,运动场可以是全部位移的高斯模糊。
[0137]
在步骤908,组织计算系统104可以基于运动场来预测球员的运动。例如,运动员跟踪系统126可以使用神经网络(例如,神经网络232)鉴于地面真实运动员轨迹来预测运动员轨迹。鉴于真实运动员轨迹集x
i
,运动员跟踪代理126可以配置为生成集合其中可以是预测的运动场。运动员跟踪代理126可以训练神经网络232以减少(例如,最小化)运动员跟踪代理126则可以如下针对任何跟踪差距大小λ生成近邻分值:
[0138]
k
ij
=v(x,λ)
·
d
ij
[0139]
其中是差距大小为λ的全部中断踪迹之间的位移向量。据此,运动
员跟踪代理126可以求解上述匹配对。例如,鉴于近邻分值,运动员跟踪代理126可以使用匈牙利算法(hungarian algorithm)分配每对中断的踪片。匈牙利算法(例如,kuhn

munkres)可以在各对都要匹配的约束下优化最佳匹配集。
[0140]
在步骤910,组织计算系统104可以输出预测的图形表示。例如,界面代理128可以配置为生成与由运动员跟踪代理126生成的每个运动员的踪迹相对应的一个或多个图形表示。例如,界面代理128可以配置为生成一个或多个图形用户界面(gui),其包括跟踪由运动员跟踪代理126生成的每个预测的运动员的图形表示。
[0141]
在某些情况下,在竞赛过程中,运动员或球员倾向于在相机视野之外徘徊。此类问题可能会在受伤、运动员乏力、快速失误、快速攻防转换等期间出现。据此,第一可跟踪帧中的运动员可能不再处于相继的第二或第三可跟踪帧中。运动员跟踪代理126可以经由再识别代理234来解决这一问题。
[0142]
图10是示出根据示例实施例跟踪运动员的方法1000的流程图。方法1000可以对应于上文结合图4论述的操作410。方法1000可以始于步骤1002。
[0143]
在步骤1002,组织计算系统104可以检索多个可跟踪帧以供匹配。多个可跟踪帧中的每一个可以包括与之相关联的一个或多个元数据集。这样的元数据可以例如包括身体姿势信息和相机校准数据。在一些实施例中,运动员跟踪代理126还可以检索广播视频数据。
[0144]
在步骤1004,组织计算系统104可以识别运动员已经离开相机视线的短踪迹子集。每个踪迹可以包括与至少一个运动员相关联的多个图像补丁。图像补丁可以是指多个可跟踪帧的对应帧子集。在一些实施例中,每个踪迹x可以包括运动员身份标签y。在一些实施例中,给定踪迹x中的每个运动员补丁i可以包括由数据集生成器122生成的姿势信息。例如,鉴于输入视频、姿势检测和可跟踪帧,再识别代理234可以生成包括运动员的若干短中断踪迹的踪迹集合。
[0145]
在步骤1006,组织计算系统104可以针对每个踪迹生成图库。例如,鉴于那些小踪迹,再识别代理234可以针对每个踪迹建立图库。再识别代理234可以针对每个踪迹建立图库,其中运动员的队服号码(或一些其他静态特征)始终可见。由数据集生成器122生成的身体姿势信息允许再识别代理234确定每个运动员的方位。例如,再识别代理234可以利用启发法,该启发法可以如下使用标准化肩宽来确定方位:
[0146][0147]
其中l可以表示一个身体部位的位置。肩宽可以通过躯干长度来进行归一化,从而可消除缩放效果。当运动员面向相机或背向相机时两边肩膀应为分开,因此再识别代理234可以使用那些s
orient
大于阈值的补丁来建立图库。据此,每个踪迹x
n
可以包括如下图库:
[0148][0149]
在步骤1008,组织计算系统104可以使用卷积自编码器来匹配踪迹。例如,再识别代理234可以使用条件自编码器(例如,条件自编码器240)来识别每个踪迹中的一个或多个特征。例如,与再识别问题的常规方法不同的是,团队运动中的运动员可以具有非常相似的外表特征,诸如服装款式、服装颜色和肤色。更直观的区别之一可能是可显示在每件队服正面和/或背面的队服号码。为了捕捉这些具体特征,再识别代理234可以训练条件自编码器
来识别这样的特征。
[0150]
在一些实施例中,条件自编码器可以是三层卷积自编码器,其中全部三层的内核大小可以是3x3,其中分别有64个、128个、128个通道。可以调谐这些超参数以确保可从重建的图像中辨识出队服号码,从而可以在自编码器中学习预期的特征。在一些实施例中,f(i
i
)可用于表示从图像i中学习的特征。
[0151]
使用特定示例,再识别代理234可以识别对应于第一运动员的第一踪迹。使用条件自编码器240,再识别代理234可以例如基于包括第一踪迹或与之相关联的第一图像补丁集来学习与第一踪迹相关联的第一队服特征集。再识别代理234还可以识别可最初对应于第二运动员的第二踪迹。使用条件自编码器240,再识别代理234可以例如基于包括第二踪迹或与之相关联的第二图像补丁集来学习与第二踪迹相关联的第二队服特征集。
[0152]
在步骤1010,组织计算系统104可以使用siamese网络来测定匹配踪迹之间的相似度。例如,再识别代理234可以训练siamese网络(例如,siamese网络242)以基于两个图像补丁的特征表示f(i)来测定它们之间的相似度。鉴于两个图像补丁,它们的特征表示f(i
i
)和f(i
j
)可以被展平、连接并馈入到感知网络中。在一些实施例中,l2范数可用于连接两个子网络f(i
i
)和f(i
j
)。在一些实施例中,感知网络可以包括三层,分别包括1024个、512个和216个隐藏单元。这样的网络可用于测定无时间重叠的两个踪迹的每对图像补丁之间的相似度s(i
i
,i
j
)。为了增强预测的鲁棒性,两个踪迹的最终相似度分值可以是它们各自图库中全部成对分值的平均值:
[0153][0154]
继续上述示例,再识别代理234可以利用siamese网络242来计算第一学习的队服特征集和第二学习的队服特征集之间的相似度分值。
[0155]
在步骤1012,如果踪迹的相似度分值高于预定阈值,则组织计算系统104可以将这些踪迹相关联。例如,再识别代理234可以针对每两个无时间重叠的踪迹计算相似度分值。如果分值高于某个阈值,则再识别代理234可以将这两个踪迹相关联。
[0156]
继续上述示例,如果例如由siamese网络242生成的相似度分值至少高于阈值,则再识别代理234可以将第一踪迹与第二踪迹相关联。假设相似度分值高于阈值,再识别代理234可以确定第一踪迹中的第一运动员和第二踪迹中的第二运动员确实为同一人。
[0157]
图11是示出根据示例实施例如上结合方法1000论述的操作方面的框图1100。
[0158]
如图所示,框图1100可以包括输入视频1102、姿势检测1104、运动员跟踪1106、踪迹集合1108、图库建立与配对1110以及踪迹连接1112。框图1100示出上文提供的方法1000的一般流水线。
[0159]
鉴于输入视频1102、(例如,由姿势检测器212生成的)姿势检测信息1104和(例如,由运动员跟踪代理126、自动剪辑代理120和相机校准器124中的一个或多个生成的)运动员跟踪信息1106,再识别代理234可以生成踪迹集合1108。每个踪迹集合1108可以包括运动员的多个短中断踪迹(例如,踪迹1114)。每个踪迹1114可以包括其中所含的一个或多个图像补丁1116。鉴于踪迹1114,再识别代理234可以针对每个踪迹生成图库1110。例如,图库1110可以包括给定踪迹中的那些图像补丁1118,这些图像补丁1118包括运动员的方位满足阈值
的运动员的图像。换言之,再识别代理234可以针对包括每个运动员的图像补丁1118的每个踪迹1114生成图库1110,使得该运动员的号码可以在每一帧中可见。图像补丁1118可以是图像补丁1116的子集。再识别代理234可以再配对每一帧以经由siamese网络计算相似度分值。例如,如图所示,再识别代理234可以将来自踪迹ii的第一帧与来自踪迹i的第二帧相匹配并将这些帧馈送到siamese网络。
[0160]
再识别代理234可以再基于相似度分值来连接踪迹1112。例如,如果两个帧的相似度分值超过某个阈值,则再识别代理234可以连接或关联那些踪迹。
[0161]
图12是示出根据示例实施例的重识别代理234的siamese网络242的架构1200的框图。如图所示,siamese网络242可以包括两个子网络1202、1204和一个感知网络1205。
[0162]
两个子网络1202、1204中的每一个可以类似地配置。例如,子网络1202可以包括第一卷积层1206、第二卷积层1208和第三卷积层1210。第一子网络1202可以接收运动员补丁i1作为输入并输出从运动员补丁i1中学习的特征集(表示为f(i1))。子网络1204可以包括第一卷积层1216、第二卷积层1218和第三卷积层1220。第二子网络1204可以接收运动员补丁i2作为输入并可以输出从运动员补丁i2中学习的特征集(表示为f(i2))。来自子网络1202和子网络1204的输出可以是相应运动员补丁i1、i2的编码表示。在一些实施例中,来自子网络1202和子网络1204的输出可以后跟扁平化运算,其可以分别生成各自的特征向量f(i1)和f(i2)。在一些实施例中,每个特征向量f(i1)和f(i2)可以包括10240个单元。在一些实施例中,l2范数为f(i1)和f(i2),可以被计算并用作感知网络1205的输入。
[0163]
感知网络1205可以包括三层1222至1226。在一些实施例中,层1222可以包括1024个隐藏单元。在一些实施例中,层1224可以包括512个隐藏单元。在一些实施例中,层1226可以包括256个隐藏单元。感知网络1205可以输出图像补丁i1和i2之间的相似度分值。
[0164]
图13a示出根据示例实施例的计算系统架构1300的系统总线。系统1300可以代表组织计算系统104的至少一部分。系统1300的一个或多个组件可以使用总线1305彼此电通信。系统1300可以包括处理单元(cpu或处理器)1310和系统总线1305,其将包括系统存储器1315(诸如只读存储器(rom)1320和随机存取存储器(ram)1325)的各种系统组件耦合到处理器1310。系统1300可以包括直连、紧邻处理器1310或集成为处理器1310一部分的高速存储器的高速缓存。系统1300可以将数据从存储器1315和/或存储设备1330复制到高速缓存1312以供处理器1310快速访问。以此方式,高速缓存1312可以提供避免处理器1310在等待数据时发生延迟的性能提升。这些和其他模块可以控制或配置为控制处理器1310执行各种动作。也可使用其他系统存储器1315。存储器1315可以包括具有不同性能特性的多种不同类型的存储器。处理器1310可以包括任何通用处理器和硬件模块或软件模块,诸如存储在存储设备1330中的服务i 1332、服务ii 1334和服务iii 1336(配置为控制处理器1310)以及专用处理器,其中软件指令归并到实际的处理器设计中。处理器1310本质上可以是完全独立的计算系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以为对称或非对称。
[0165]
为了使用户能够与计算设备1300相交互,输入设备1345可以表示任何数目的输入机制,诸如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。输出设备1335也可以是本领域技术人员已知的多种输出机制中的一种或多种。在一些情况下,多模式系统可以使用户能够提供多种类型的输入以与计算设备1300进行通信。
通信接口1340通常可以支配和管理用户输入和系统输出。对于任何特定硬件布置上的操作不作任何限制,因而本公开的基本特征可易于替换为尚在开发中的改进硬件或固件布置。
[0166]
存储设备1330可以是非易失性存储器,也可以是硬盘或其他类型的计算机可读介质,其可以存储可供计算机访问的数据,诸如磁带、闪存卡、固态存储设备、数字多功能磁盘、盒式磁带、随机存取存储器(ram)1325、只读存储器(rom)1320及其混合。
[0167]
存储设备1330可以包括用于控制处理器1310的服务1332、1334和1336。其他硬件或软件模块也可考虑在内。存储设备1330可以连接到系统总线1305。一方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,其与执行功能的必要硬件组件相关,诸如处理器1310、总线1305、显示器1335等。
[0168]
图13b示出具有可表示组织计算系统104的至少一部分的芯片组架构的计算机系统1350。计算机系统1350可以是可用于实施本公开技术的计算机硬件、软件和固件的示例。系统1350可以包括处理器1355,其代表任何数目的物理和/或逻辑上不同的资源,这些资源能够执行配置为执行所识别的计算的软件、固件和硬件。处理器1355可以与芯片组1360进行通信,该芯片组1360可以控制处理器1355的输入和输出。在本示例中,芯片组1360将信息输出到输出端1365,诸如显示器,并可以读取和写入信息到存储设备1370,该存储设备1370可以例如包括磁性介质和固态介质。芯片组1360也可以从ram 1375读取数据以及向ram 1375写入数据。可以提供用于与各种用户接口组件1385对接的桥接器1380以便与芯片组1360对接。这样的用户接口组件1385可以包括键盘、麦克风、触摸检测处理电路、诸如鼠标的定点设备等。一般而言,系统1350的输入可以来自机器生成和/或人工生成的多种来源中的任一种。
[0169]
芯片组1360也可以与一个或多个具有不同物理接口的通信接口1390对接。这样的通信接口可以包括用于有线和无线局域网、宽带无线网络以及个人局域网的接口。一些用于生成、显示和使用本文公开gui的方法的应用可以包括通过物理接口接收有序数据集或者由机器本身通过处理器1355分析存储在存储器1370或1375中的数据而生成。另外,机器可以通过用户接口组件1385接收来自用户的输入并通过使用处理器1355解译这些输入来执行适当的功能,诸如浏览功能。
[0170]
可以领会,示例系统1300和1350可以具有多于一个处理器1310或者是联网在一起的计算设备群组或集群的一部分以提供更高的处理能力。
[0171]
尽管上述内容是针对本公开描述的实施例,但在不脱离本公开基本范围的情况下,可以设计其他和更多的实施例。例如,本公开各方面可以硬件或软件或者硬件和软件的组合来实现。本公开描述的一个实施例可以实现为与计算机系统配用的程序产品。程序产品的程序定义了实施例的功能(包括本公开描述的方法)并可以包含于各种计算机可读存储介质上。说明性计算机可读存储介质包括但不限于:(i)上面永久性存储信息的不可写存储介质(例如,计算机内的只读存储器(rom)设备,诸如可由cd

rom驱动器读取的cd

rom磁盘、闪存、rom芯片或任何类型的固态非易失性存储器);(ii)上面存储可更改信息的可写存储介质(例如,软盘驱动器或硬盘驱动器内的软盘或任何类型的固态随机存取存储器)。这种计算机可读存储介质当承载指导本公开实施例的功能的计算机可读指令时成为本公开实施例。
[0172]
本领域技术人员应当领会,上述示例仅为示例性而非限制性。本领域技术人员在
阅读本说明书并研究附图后,可以明了所有置换、增强、等同和改进方案皆旨在涵属于本公开的真实精神和保护范围内。因而,所附权利要求旨在包括所有落入本公开教导的真实精神和保护范围内的此类修改、置换和等同方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1