通过时态图学习意图驱动识别足球控球比赛阶段 论文详解

1. 摘要

1.1 研究内容

如何从足球比赛的球员跟踪数据中,自动识别球队控球时处于哪一种战术阶段。

1.2 使用数据集

使用了 7 场德甲比赛的数据,这些数据由 TRACAB 系统以 25Hz 频率记录,也就是每秒 25 帧,包含球员和足球的时空位置信息。

1.3 创新点

1.3.1 层级式阶段模型

第一层:3种战术意图 (入侵,防守,进攻)

第二层:6 个具体控球阶段

1.3.2 T-GAN网络

这个模型把每一帧比赛中的球员关系建成图,用图神经网络建模球员之间的互动关系,再结合比赛上下文特征,并用 Transformer 建模连续时间序列变化。

1)建立球员关系图

2)球员互动关系图

3)上下文用transformer进行连接

1.3.3 lot-d指标

评价模型识别出来的阶段是否在时间上连续、完整,而不是只看每一帧是否分类正确。

2. 相关工作

总共四个方面,分别为之前为硬性分类无控球战术、虽然依赖可观察特征但是无法直接显式表示出来、没有连续控球序列、图神经网络和transformer结合。

3. 主要方法

3.1 层次结构

设置了3种进攻意图

  • Invade Opponent Space:向前推进、侵入对方空间
  • Keep Possession:保持控球、稳定传导
  • Scoring:直接创造并完成得分机会

在三种意图下,设计了6种阶段

  • Build Up:后场或中后场组织出球,准备推进
  • Progression:向前推进,把球逐步送入更有威胁区域
  • Counter Attack:快速转换、快速冲击
  • Maintenance:以稳控为主,降低丢球风险
  • Sustained Threat:在前场持续施压,维持高威胁局面
  • Finishing:进攻终结,如射门或最后一击

图1 战术节点转移示例图

图1:用箭头表示这些阶段之间在稳定控球过程中概念上合理的转换路径。它的作用是把阶段标签从孤立类别组织成一个具有战术逻辑的层级状态系统,为后续的层级分类、时序分割、后处理规则和模型解释提供理论基础。

从数学上看,图 1 可以理解为一个"阶段状态转移图"。

可以写成:

Gphase=(P,E) G_{\text{phase}} = (\mathcal{P}, \mathcal{E}) Gphase=(P,E)

其中:

P={Build Up,Progression,Counter Attack,Maintenance,Sustained Threat,Finishing} \mathcal{P} = \{\text{Build Up}, \text{Progression}, \text{Counter Attack}, \text{Maintenance}, \text{Sustained Threat}, \text{Finishing}\} P={Build Up,Progression,Counter Attack,Maintenance,Sustained Threat,Finishing}

表示阶段节点集合。

E\mathcal{E}E 表示阶段之间允许或合理的转移边。

如果:

(Pi,Pj)∈E (P_i, P_j) \in \mathcal{E} (Pi,Pj)∈E

就表示阶段 PiP_iPi 在战术逻辑上可以转移到阶段 PjP_jPj。

例如:

(Progression,Sustained Threat)∈E (\text{Progression}, \text{Sustained Threat}) \in \mathcal{E} (Progression,Sustained Threat)∈E

表示向前推进后进入持续威胁是合理的。

(Counter Attack,Finishing)∈E (\text{Counter Attack}, \text{Finishing}) \in \mathcal{E} (Counter Attack,Finishing)∈E

表示反击可以直接进入终结阶段。

(Sustained Threat,Maintenance)∈E (\text{Sustained Threat}, \text{Maintenance}) \in \mathcal{E} (Sustained Threat,Maintenance)∈E

表示持续威胁失败后可能转为保持控球。

从数学上看,图 1 可以理解为一个"阶段状态转移图"。

可以写成:

Gphase=(P,E) G_{\text{phase}} = (\mathcal{P}, \mathcal{E}) Gphase=(P,E)

其中:

P={Build Up,Progression,Counter Attack,Maintenance,Sustained Threat,Finishing} \mathcal{P} = \{\text{Build Up}, \text{Progression}, \text{Counter Attack}, \text{Maintenance}, \text{Sustained Threat}, \text{Finishing}\} P={Build Up,Progression,Counter Attack,Maintenance,Sustained Threat,Finishing}

表示阶段节点集合。

E\mathcal{E}E 表示阶段之间允许或合理的转移边。

如果:

(Pi,Pj)∈E (P_i, P_j) \in \mathcal{E} (Pi,Pj)∈E

就表示阶段 PiP_iPi 在战术逻辑上可以转移到阶段 PjP_jPj。

例如:

(Progression,Sustained Threat)∈E (\text{Progression}, \text{Sustained Threat}) \in \mathcal{E} (Progression,Sustained Threat)∈E

表示向前推进后进入持续威胁是合理的。

(Counter Attack,Finishing)∈E (\text{Counter Attack}, \text{Finishing}) \in \mathcal{E} (Counter Attack,Finishing)∈E

表示反击可以直接进入终结阶段。

(Sustained Threat,Maintenance)∈E (\text{Sustained Threat}, \text{Maintenance}) \in \mathcal{E} (Sustained Threat,Maintenance)∈E

表示持续威胁失败后可能转为保持控球。

3.1.1 总结

从战术角度分成了战术意图和战术阶段 有效控制了模型按照正确逻辑进行训练识别。

3.2 Conceptual Advantages概念优势

本节阐述意图驱动层级阶段模型的核心优势,该模型并非替代现有赛事划分框架,而是针对稳定控球序列做细粒度拓展,结合数学原理从多维度体现其合理性与建模价值。

  1. 研究范围收窄,划分粒度更精细

    传统框架覆盖全场所有比赛状态:

    Whole Match={Possession,Non-possession,Transition,Set Play,... } \text{Whole Match} = \{\text{Possession}, \text{Non-possession}, \text{Transition}, \text{Set Play}, \dots\} Whole Match={Possession,Non-possession,Transition,Set Play,...}

    本文仅聚焦稳定控球序列,状态空间满足:

    Ωpaper⊂Ωwhole match \Omega_{\text{paper}} \subset \Omega_{\text{whole match}} Ωpaper⊂Ωwhole match

    范围精简后,将单一控球状态细分为6类具体阶段:

    Possession→{Maintenance,Build Up,Progression,Sustained Threat,Finishing,Counter Attack} \text{Possession} \rightarrow \{\text{Maintenance}, \text{Build Up}, \text{Progression}, \text{Sustained Threat}, \text{Finishing}, \text{Counter Attack}\} Possession→{Maintenance,Build Up,Progression,Sustained Threat,Finishing,Counter Attack}

    实现窄视角、细粒度的分析设计。

  2. 分类逻辑升级:由单帧特征转为战术意图驱动

    传统方法仅依靠单帧观测特征判断阶段:

    Pt=f(xt) P_t=f(x_t) Pt=f(xt)

    本文融合整段序列与时序战术意图综合判定:

    Pt=f(x1:T,ct) P_t=f(x_{1:T}, c_t) Pt=f(x1:T,ct)

    采用两层层级判定:

    第一层划分三大高层战术意图:

    ct∈C,C={Invade Opponent Space,Keep Possession,Scoring} c_t \in \mathcal{C},\quad \mathcal{C} = \{\text{Invade Opponent Space}, \text{Keep Possession}, \text{Scoring}\} ct∈C,C={Invade Opponent Space,Keep Possession,Scoring}

    第二层在对应意图下匹配具体行为阶段:

    Pt∈Pct P_t \in \mathcal{P}_{c_t} Pt∈Pct

    PInvade={Build Up,Progression,Counter Attack} \mathcal{P}_{\text{Invade}} = \{\text{Build Up}, \text{Progression}, \text{Counter Attack}\} PInvade={Build Up,Progression,Counter Attack}

    PKeep={Maintenance},PScoring={Sustained Threat,Finishing} \mathcal{P}{\text{Keep}} = \{\text{Maintenance}\},\quad \mathcal{P}{\text{Scoring}} = \{\text{Sustained Threat}, \text{Finishing}\} PKeep={Maintenance},PScoring={Sustained Threat,Finishing}

  3. 降低行为歧义,减少判定不确定性

    原因:视觉相似的控球动作仅靠单帧特征无法区分,存在概率近似问题:

    P(Pt=Maintenance∣xt)≈P(Pt=Build Up∣xt) P(P_t=\text{Maintenance}\mid x_t) \approx P(P_t=\text{Build Up}\mid x_t) P(Pt=Maintenance∣xt)≈P(Pt=Build Up∣xt)

    做法:引入战术意图作为约束后,依据意图即可区分行为语义。从信息论角度,判定不确定性显著下降:

    H(Pt∣xt,ct)<H(Pt∣xt) H(P_t\mid x_t,c_t) < H(P_t\mid x_t) H(Pt∣xt,ct)<H(Pt∣xt)

    H(⋅)H(\cdot)H(⋅) 为信息熵,熵值越小代表分类结果越确定。

    联合条件概率比条件概率的信息熵小。

  4. 概率分解优化建模,简化分类任务

    将原始六分类任务做概率拆解:

    P(Pt∣S)=P(ct∣S)⋅P(Pt∣S,ct) P(P_t\mid S) = P(c_t\mid S)\cdot P(P_t\mid S,c_t) P(Pt∣S)=P(ct∣S)⋅P(Pt∣S,ct)

    先预测高层意图:

    c^t=arg⁡max⁡c∈CP(c∣S) \hat{c}t = \arg\max{c\in \mathcal{C}} P(c\mid S) c^t=argc∈CmaxP(c∣S)

    再在对应子集内预测具体阶段:

    P^t=arg⁡max⁡p∈Pc^tP(p∣S,c^t) \hat{P}t = \arg\max{p\in \mathcal{P}_{\hat{c}_t}} P(p\mid S,\hat{c}_t) P^t=argp∈Pc^tmaxP(p∣S,c^t)

    通过缩小候选类别范围,提升分类任务同质性,降低模型学习难度。

  5. 保留时序连续性,适配序列分割任务

    定义完整控球阶段序列:

    Y1:T={P1,P2,...,PT} Y_{1:T} = \{P_1,P_2,\ldots,P_T\} Y1:T={P1,P2,...,PT}

    模型遵循时序规律:同一阶段内 Pt≈Pt+1P_t \approx P_{t+1}Pt≈Pt+1,仅战术发生实质改变时 Pt≠Pt+1P_t \neq P_{t+1}Pt=Pt+1,有效避免单帧分类造成的阶段频繁跳变,为时序分割提供理论支撑。

整体概括:该层级模型立足稳定控球场景,以战术意图为核心划分依据,借助分层概率结构降低分类歧义与学习难度,同时兼顾比赛行为的时序连续性,相比传统框架更适用于控球过程的精细化建模与分析。

4 phase identification像识别

主要叙述本文的"控球阶段识别"不是普通的逐帧六分类任务,而是一个 由战术意图驱动的层级式序列分割问题。

4.2 双层层级分类与后处理数学原理

整体分为意图分类(第一阶段)细粒度阶段分类(第二阶段)后处理优化三部分,保留全部核心公式。

4.2.1 第一阶段:高层战术意图三分类

输入稳定控球时序序列 X1:TX_{1:T}X1:T,通过意图专用T-GAN分类器 fintentf_{\text{intent}}fintent 预测全序列意图:

C^1:T=fintent(X1:T) \hat{C}{1:T} = f{\text{intent}}(X_{1:T}) C^1:T=fintent(X1:T)

单帧意图概率由Softmax输出:

P(ct∣X1:T)=Softmax(fintent(X1:T))t P(c_t \mid X_{1:T}) = \mathrm{Softmax}\big(f_{\text{intent}}(X_{1:T})\big)_t P(ct∣X1:T)=Softmax(fintent(X1:T))t

取概率最大类别作为预测意图:

c^t=arg⁡max⁡c∈CP(ct=c∣X1:T) \hat{c}t = \arg\max{c\in \mathcal{C}} P(c_t=c \mid X_{1:T}) c^t=argc∈CmaxP(ct=c∣X1:T)

意图集合:C={Invade Opponent Space,Keep Possession,Scoring}\mathcal{C}=\{\text{Invade Opponent Space},\text{Keep Possession},\text{Scoring}\}C={Invade Opponent Space,Keep Possession,Scoring}。

4.2.2 第二阶段:分意图专属细粒度阶段分类

根据上层预测意图 c^t\hat{c}_tc^t 选用对应子分类器,缩小候选阶段空间:

  1. 若 c^t=Invade Opponent Space\hat{c}_t=\text{Invade Opponent Space}c^t=Invade Opponent Space

    p^t=finvade(X1:T) \hat{p}t = f{\text{invade}}(X_{1:T}) p^t=finvade(X1:T)

    P(pt∣X1:T,c^t=Invade)=Softmax(finvade(X1:T))t P(p_t \mid X_{1:T},\hat{c}t=\text{Invade}) = \mathrm{Softmax}\big(f{\text{invade}}(X_{1:T})\big)_t P(pt∣X1:T,c^t=Invade)=Softmax(finvade(X1:T))t

    p^t=arg⁡max⁡p∈PInvadeP(pt=p∣X1:T,c^t) \hat{p}t = \arg\max{p\in \mathcal{P}{\text{Invade}}} P(p_t=p \mid X{1:T},\hat{c}_t) p^t=argp∈PInvademaxP(pt=p∣X1:T,c^t)

    候选集:PInvade={Build Up,Progression,Counter Attack}\mathcal{P}_{\text{Invade}}=\{\text{Build Up},\text{Progression},\text{Counter Attack}\}PInvade={Build Up,Progression,Counter Attack}

  2. 若 c^t=Scoring\hat{c}_t=\text{Scoring}c^t=Scoring

    p^t=fscoring(X1:T) \hat{p}t = f{\text{scoring}}(X_{1:T}) p^t=fscoring(X1:T)

    候选集:PScoring={Sustained Threat,Finishing}\mathcal{P}_{\text{Scoring}}=\{\text{Sustained Threat},\text{Finishing}\}PScoring={Sustained Threat,Finishing}

  3. 若 c^t=Keep Possession\hat{c}_t=\text{Keep Possession}c^t=Keep Possession

    仅单一阶段:p^t=Maintenance\hat{p}_t=\text{Maintenance}p^t=Maintenance

4.2.3 整体概率原理与硬决策近似

全概率理论公式:

P(pt∣X1:T)=∑c∈CP(pt∣X1:T,ct=c)⋅P(ct=c∣X1:T) P(p_t \mid X_{1:T}) = \sum_{c\in \mathcal{C}} P(p_t \mid X_{1:T},c_t=c)\cdot P(c_t=c \mid X_{1:T}) P(pt∣X1:T)=c∈C∑P(pt∣X1:T,ct=c)⋅P(ct=c∣X1:T)

本文采用两阶段硬决策近似计算:

  1. 先确定最优高层意图:c^t=arg⁡max⁡c∈CP(ct=c∣X1:T)\displaystyle \hat{c}t = \arg\max{c\in \mathcal{C}} P(c_t=c \mid X_{1:T})c^t=argc∈CmaxP(ct=c∣X1:T)
  2. 再在对应子集内确定细粒度阶段:p^t=arg⁡max⁡p∈Pc^tP(pt=p∣X1:T,c^t)\displaystyle \hat{p}t = \arg\max{p\in \mathcal{P}_{\hat{c}t}} P(p_t=p \mid X{1:T},\hat{c}_t)p^t=argp∈Pc^tmaxP(pt=p∣X1:T,c^t)

4.2.4 后处理时序优化

模型输出原始预测序列 P~1:T={p^1,p^2,...,p^T}\tilde{P}_{1:T}=\{\hat{p}_1,\hat{p}_2,\dots,\hat{p}_T\}P~1:T={p^1,p^2,...,p^T},经两步后处理得到最终平滑结果:

P^1:T=R(F(P~1:T)) \hat{P}{1:T} = \mathcal{R}\big(\mathcal{F}(\tilde{P}{1:T})\big) P^1:T=R(F(P~1:T))

  • F\mathcal{F}F:滑动窗口过滤,消除短时噪声跳变;
  • R\mathcal{R}R:足球领域规则修正,约束符合战术逻辑的阶段转移。

4.3 时间图注意力网络T-GAN模型

4.3 Temporal Graph Attention Network(T-GAN)模型原理

本节主要介绍论文提出的 Temporal Graph Attention Network,简称 T-GAN。该模型的核心思想是:将足球比赛中的每一帧构造成球员交互图,利用图神经网络建模同一帧中球员之间的空间关系,再通过球员注意力池化得到帧级表示,最后使用 Transformer 建模一段控球序列中的时间演化,从而完成战术意图或比赛阶段识别。

T-GAN 的整体流程可以表示为:

G1:T→H1:T→F1:T→Z1:T→Y^1:T G_{1:T} \to H_{1:T} \to F_{1:T} \to Z_{1:T} \to \hat{Y}_{1:T} G1:T→H1:T→F1:T→Z1:T→Y^1:T

其中,G1:TG_{1:T}G1:T 表示一段控球序列中的逐帧球员交互图,H1:TH_{1:T}H1:T 表示 GNN 提取的球员级关系特征,F1:TF_{1:T}F1:T 表示注意力池化后的帧级表示,Z1:TZ_{1:T}Z1:T 表示 Transformer 得到的时序上下文表示,Y^1:T\hat{Y}_{1:T}Y^1:T 表示模型最终预测的战术意图或比赛阶段。


4.3.1 帧级球员交互图表示

对于第 ttt 帧比赛,模型首先将场上球员构造成一个图:

Gt=(Vt,Et) G_t=(V_t,E_t) Gt=(Vt,Et)

其中,VtV_tVt 表示球员节点集合,EtE_tEt 表示球员之间的关系边。

球员节点特征可以表示为:

vt,i=xt,i,yt,i,st,i,θt,i,teami,rolei v_{t,i} = \leftx_{t,i},y_{t,i},s_{t,i},\\theta_{t,i},team_i,role_i\\right vt,i=xt,i,yt,i,st,i,θt,i,teami,rolei

其中,xt,ix_{t,i}xt,i 和 yt,iy_{t,i}yt,i 表示第 ttt 帧中第 iii 名球员的位置,st,is_{t,i}st,i 表示球员速度,θt,i\theta_{t,i}θt,i 表示球员运动方向,teamiteam_iteami 表示球员所属球队,roleirole_irolei 表示球员角色,例如后卫、中场、边锋或前锋。

球员之间的边特征可以表示为:

et,i,j=Δxt,i,j,Δyt,i,j,dt,i,j,ri,j e_{t,i,j} = \left\\Delta x_{t,i,j},\\Delta y_{t,i,j},d_{t,i,j},r_{i,j}\\right et,i,j=Δxt,i,j,Δyt,i,j,dt,i,j,ri,j

其中,dt,i,jd_{t,i,j}dt,i,j 表示第 ttt 帧中球员 iii 和球员 jjj 之间的距离:

dt,i,j=(xt,i−xt,j)2+(yt,i−yt,j)2 d_{t,i,j} = \sqrt{(x_{t,i}-x_{t,j})^2+(y_{t,i}-y_{t,j})^2} dt,i,j=(xt,i−xt,j)2+(yt,i−yt,j)2

这种图结构能够显式表达球员之间的空间关系,例如队友支持、对手压迫、球员间距和攻防站位结构。足球战术阶段并不是由单个球员决定的,而是由控球队员、防守队员、足球位置以及空间结构共同决定的,因此图结构比普通向量特征更适合表达比赛中的关系信息。


4.3.2 GNN 帧内关系建模

每一帧的球员交互图输入 GNN 后,得到球员级关系表示:

Ht=GNN(Gt) H_t=\mathrm{GNN}(G_t) Ht=GNN(Gt)

其中:

Ht={ht,1,ht,2,...,ht,N} H_t=\{h_{t,1},h_{t,2},\ldots,h_{t,N}\} Ht={ht,1,ht,2,...,ht,N}

ht,ih_{t,i}ht,i 表示第 ttt 帧中第 iii 名球员经过图神经网络后的表示。

GNN 的基本更新过程可以写为:

ht,i(l+1)=σ(Wselfht,i(l)+∑j∈N(i)αt,i,jWmsght,j(l)) h_{t,i}^{(l+1)} = \sigma\left( W_{\mathrm{self}}h_{t,i}^{(l)} + \sum_{j\in \mathcal{N}(i)} \alpha_{t,i,j}W_{\mathrm{msg}}h_{t,j}^{(l)} \right) ht,i(l+1)=σ Wselfht,i(l)+j∈N(i)∑αt,i,jWmsght,j(l)

其中,N(i)\mathcal{N}(i)N(i) 表示球员 iii 的邻居节点集合,αt,i,j\alpha_{t,i,j}αt,i,j 表示球员 jjj 对球员 iii 的影响权重,WselfW_{\mathrm{self}}Wself 和 WmsgW_{\mathrm{msg}}Wmsg 是可学习参数,σ(⋅)\sigma(\cdot)σ(⋅) 表示非线性激活函数。

该公式说明,一个球员的新表示不仅来自自身状态,还来自周围球员传递的信息。因此,GNN 可以捕捉球员之间的空间依赖关系,例如防守压迫、接应路线、空当位置和攻防阵型变化。


4.3.3 球员注意力池化

经过 GNN 后,每一帧仍然包含多个球员表示:

Ht={ht,1,ht,2,...,ht,N} H_t=\{h_{t,1},h_{t,2},\ldots,h_{t,N}\} Ht={ht,1,ht,2,...,ht,N}

但是后续的 Transformer 需要每一帧对应一个统一的帧级表示。因此,模型需要将多个球员表示聚合成一个帧级向量。

最简单的方法是平均池化:

ft=1N∑i=1Nht,i f_t= \frac{1}{N}\sum_{i=1}^{N}h_{t,i} ft=N1i=1∑Nht,i

但是平均池化会默认所有球员同等重要,这并不符合足球战术实际。不同阶段中,不同位置球员的重要性不同。例如在进攻推进或反击阶段,边路球员、中场球员和前锋往往比门将更能反映当前阶段。

因此,T-GAN 使用角色感知的球员注意力池化。首先,为每个球员角色引入角色嵌入:

eri=RoleEmbedding(ri) e_{r_i} = \mathrm{RoleEmbedding}(r_i) eri=RoleEmbedding(ri)

其中,rir_iri 表示球员 iii 的角色,例如门将、后卫、中场、边锋或前锋。

然后计算球员重要性分数:

st,i=MLPatt(ht,i∥eri) s_{t,i} = \mathrm{MLP}_{\mathrm{att}}\left(\lefth_{t,i}\\parallel e_{r_i}\\right\right) st,i=MLPatt(ht,i∥eri)

其中,erie_{r_i}eri 表示球员角色嵌入,∥\parallel∥ 表示向量拼接。

接着通过 softmax 得到注意力权重:

αt,i=exp⁡(st,i)∑j∈G(i)exp⁡(st,j) \alpha_{t,i} = \frac{\exp(s_{t,i})}{\sum_{j\in \mathcal{G}(i)}\exp(s_{t,j})} αt,i=∑j∈G(i)exp(st,j)exp(st,i)

其中,G(i)\mathcal{G}(i)G(i) 表示与球员 iii 同组的球员集合,例如同一球队、同一攻防组或同一角色组。

最终得到帧级表示:

ft=∑i=1Nαt,iht,i f_t = \sum_{i=1}^{N}\alpha_{t,i}h_{t,i} ft=i=1∑Nαt,iht,i

该机制的作用是让模型自动关注对阶段判断更重要的球员。注意力权重越大,说明该球员在当前帧中对阶段识别的贡献越大。


4.3.4 动作特征与上下文融合

除了球员图特征之外,T-GAN 还融合动作特征和上下文信息。足球阶段变化往往和关键事件有关,例如传球、夺回球权、推进、射门等。因此,仅依靠球员站位还不够,需要将动作信息加入模型。

动作嵌入可以表示为:

et=MLPact(Emb(attype)∥atcont) e_t = \mathrm{MLP}_{act}\left(\mathrm{Emb}(a_t^{type}) \parallel a_t^{cont}\right) et=MLPact(Emb(attype)∥atcont)

其中,attypea_t^{type}attype 表示离散动作类型,例如传球、射门、抢断等;atconta_t^{cont}atcont 表示连续动作特征,例如动作位置、方向或速度;Emb(⋅)\mathrm{Emb}(\cdot)Emb(⋅) 表示动作类型嵌入。

随后,将帧级图表示 ftf_tft 与动作嵌入 ete_tet 进行拼接:

f~t=Wpft∥et+bp \tilde{f}_t = W_p\leftf_t\\parallel e_t\\right+b_p f~t=Wpft∥et+bp

再加入时间位置编码:

zt(0)=f~t+pt z_t^{(0)} = \tilde{f}_t+p_t zt(0)=f~t+pt

其中,ptp_tpt 表示第 ttt 帧的位置编码,用于保留序列顺序信息。

这一过程的作用是将球员空间关系、动作事件和时间位置信息统一到同一个帧级表示中,为后续 Transformer 时序建模提供输入。


4.3.5 事件门控机制

为了突出包含关键事件的帧,T-GAN 引入事件门控机制。设:

mt∈{0,1} m_t\in\{0,1\} mt∈{0,1}

其中,mt=1m_t=1mt=1 表示第 ttt 帧包含事件,mt=0m_t=0mt=0 表示第 ttt 帧不包含事件。

首先由动作嵌入计算门控向量:

gt=Sigmoid(MLPgate(et)) g_t = \mathrm{Sigmoid}\left(\mathrm{MLP}_{gate}(e_t)\right) gt=Sigmoid(MLPgate(et))

然后得到增强后的帧表示:

z^t(0)=zt(0)+mt(gt⊙zt(0)) \hat{z}_t^{(0)} = z_t^{(0)} + m_t\left(g_t\odot z_t^{(0)}\right) z^t(0)=zt(0)+mt(gt⊙zt(0))

其中,⊙\odot⊙ 表示逐元素乘法。

如果第 ttt 帧没有事件,则 mt=0m_t=0mt=0,因此:

z^t(0)=zt(0) \hat{z}_t^{(0)} = z_t^{(0)} z^t(0)=zt(0)

如果第 ttt 帧包含事件,则 mt=1m_t=1mt=1,该帧表示会被门控机制选择性增强。这样,传球、抢断、射门等关键事件帧会在后续时序建模中获得更强表达。


4.3.6 动作偏置 Transformer

完成帧级表示后,模型使用 Transformer 建模整段控球序列中的时间依赖。

普通 Transformer 自注意力可以表示为:

Q=ZWQ,K=ZWK,V=ZWV Q=ZW_Q,\quad K=ZW_K,\quad V=ZW_V Q=ZWQ,K=ZWK,V=ZWV

Attention(Q,K,V)=Softmax(QK⊤dk)V \mathrm{Attention}(Q,K,V) = \mathrm{Softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V Attention(Q,K,V)=Softmax(dk QK⊤)V

其中,QQQ、KKK 和 VVV 分别表示查询矩阵、键矩阵和值矩阵,dkd_kdk 表示缩放因子。

T-GAN 在普通自注意力基础上进一步加入动作偏置,使关键事件帧在注意力计算中获得更高权重。事件偏置可以表示为:

bt=mt⋅MLPbias(et) b_t = m_t\cdot \mathrm{MLP}_{bias}(e_t) bt=mt⋅MLPbias(et)

其中,btb_tbt 是第 ttt 帧的事件偏置。

从第 ttt 帧关注第 rrr 帧的注意力分数为:

st,r=Attn(z^t(0),z^r(0))+br s_{t,r} = \mathrm{Attn}\left(\hat{z}_t^{(0)},\hat{z}_r^{(0)}\right) + b_r st,r=Attn(z^t(0),z^r(0))+br

注意这里加入的是目标帧 rrr 的事件偏置 brb_rbr。如果第 rrr 帧包含关键事件,它更容易被其他帧关注。

归一化后得到注意力权重:

αt,r=exp⁡(st,r)∑r′=1Texp⁡(st,r′) \alpha_{t,r} = \frac{\exp(s_{t,r})}{\sum_{r'=1}^{T}\exp(s_{t,r'})} αt,r=∑r′=1Texp(st,r′)exp(st,r)

该机制的作用是将关键动作视为时间锚点。例如,反击往往开始于夺回球权,终结阶段往往发生在射门前后,因此动作偏置可以帮助模型更好地识别阶段边界和阶段变化。


4.3.7 分类输出

经过 Transformer 后,得到每一帧的上下文表示:

Z1:T={z1(L),z2(L),...,zT(L)} Z_{1:T} = \{z_1^{(L)},z_2^{(L)},\ldots,z_T^{(L)}\} Z1:T={z1(L),z2(L),...,zT(L)}

其中,LLL 表示 Transformer 层数,zt(L)z_t^{(L)}zt(L) 表示第 ttt 帧经过多层 Transformer 后的上下文表示。

然后通过分类头输出:

ot=MLPcls(zt(L)) o_t = \mathrm{MLP}_{cls}(z_t^{(L)}) ot=MLPcls(zt(L))

对于多分类任务,使用 softmax:

P(yt=k∣X1:T)=exp⁡(ot,k)∑j=1Kexp⁡(ot,j) P(y_t=k|X_{1:T}) = \frac{\exp(o_{t,k})}{\sum_{j=1}^{K}\exp(o_{t,j})} P(yt=k∣X1:T)=∑j=1Kexp(ot,j)exp(ot,k)

最终预测类别为:

y^t=arg⁡max⁡kP(yt=k∣X1:T) \hat{y}t = \arg\max_k P(y_t=k|X{1:T}) y^t=argkmaxP(yt=k∣X1:T)

对于二分类任务,可以使用 sigmoid:

P(yt=1∣X1:T)=σ(ot) P(y_t=1|X_{1:T}) = \sigma(o_t) P(yt=1∣X1:T)=σ(ot)

在本文中,意图分类和入侵空间阶段分类属于多分类任务,而得分阶段分类可以看作二分类任务,即区分 Sustained Threat 和 Finishing。


4.3.8 小结

T-GAN 的核心流程可以概括为:

Player Graph→GNN→Player Attention Pooling→Action-biased Transformer→Frame-wise Prediction \text{Player Graph} \to \text{GNN} \to \text{Player Attention Pooling} \to \text{Action-biased Transformer} \to \text{Frame-wise Prediction} Player Graph→GNN→Player Attention Pooling→Action-biased Transformer→Frame-wise Prediction

其本质是将足球控球阶段识别建模为一个结合空间关系和时间动态的序列学习问题。

GNN 负责建模同一帧中球员之间的空间关系;球员注意力池化负责选择对阶段识别更重要的球员;动作特征与事件门控负责突出关键比赛事件;动作偏置 Transformer 负责建模控球序列中的时间演化;最终分类头输出每一帧对应的战术意图或具体比赛阶段。

因此,T-GAN 不是单纯的逐帧分类模型,而是一个同时考虑球员关系、事件信息和时间上下文的阶段识别模型。

相关推荐
阿i索1 小时前
【C++学习笔记】【基础】4.string类(2)——模拟实现
c++·笔记·学习
袁小皮皮不皮2 小时前
6.HCIP OSPF域间防环机制与虚链路
服务器·网络·笔记·网络协议·学习·智能路由器
一口吃俩胖子2 小时前
【脉宽调制DCDC功率变换学习笔记026】补偿设计和闭环性能
笔记·学习
三品吉他手会点灯2 小时前
C语言学习笔记 - 48.流程控制2 - 什么是流程控制
c语言·开发语言·笔记·学习
لا معنى له3 小时前
SF2Net: Sequence Feature Fusion Network for Palmprint Verification
人工智能·笔记·学习·机器学习
吃着火锅x唱着歌3 小时前
深度探索C++对象模型 学习笔记 第六章 执行期语意学(1)
c++·笔记·学习
xxwl5853 小时前
工作室小测的部分记录
c++·学习·算法
程序员zgh3 小时前
C++ 万能引用与完美转发
c语言·开发语言·c++·经验分享·学习
lazy H4 小时前
Maven 依赖爆红怎么办?IDEA 中 Maven 项目常见问题和解决方法总结
java·后端·学习·maven·intellij-idea