# Feature Fusion Graph Consecutive-Attention Network for Skeleton-Based Tennis Action Recognition
## 5 Materials and Methods
### Fusion Strategy  
To produce the value of the input feature \(f_{in}\), a feature transformation \(F_{L}\) is defined. The objective of this transformation is to map shallow representations onto more advanced ones, formally expressed as in Equation (10):  
\[F_{l}(f_{i}n)=M_{V}(f_{i}n)=V^{*} \tag{10}\]  
where \(M_{V}\) is defined as a matrix of value \(C_{in}\times C_{out}\) size. \(C\) denotes the channels, and \(V^{*}\) represents the 3D matrix of \(C_{out}\times T\times N\). Due to the fact that human skeletons are highly compact data representations, a conventional self-attention mechanism can easily overfit. To mitigate this issue, we enhance the processes for extracting the query and key, adapting them more effectively to skeleton data. A linear projection is employed to reduce the channel dimensionality, thereby limiting the redundancy and computational complexity. This operation is denoted by \(F_{M}\), mathematically described as in Equation (11):  
\[ \begin{split} LeakyReLU(BN(F_{M}(f_{in})))&= LeakyReLU(BN(M_{Q}(f_{in})))=K^{*}\\ LeakyReLU(BN(F_{M}(f_{in})))&=LeakyReLU(BN(M_{K}( f_{in})))=Q^{*}\end{split}  \tag{11}\]  
Here, \(BN\) denotes batch normalization, which ensures a consistent data distribution. The learnable matrices \(M_{K},M_{Q}\in\mathbb{R}^{C_{in}\times C_{l}}\) project the input \(f_{in}\) onto \(Q^{*}\) and \(K^{*}\). \(C_{l}\) denotes the one-layer channel dimension (see Section 5.2 and Figure 2). Moreover, the projection of \(Q\) is divided by the number of channels, to enable to model temporal dependencies \(Q=[Q_{1},Q_{2},\dots,Q_{l}],Q^{*}_{i}\in\mathbb{R}^{T\times N}\). Furthermore, a correlation modeling function \(F_{H}\) is introduced. Its task is to aggregate the temporal information within each channel, making it possible to capture time dependencies in the skeleton sequences. \(Q_{i}\) and \(K_{i}\) are obtained by applying \(F_{H}\) to \(Q^{*}_{i}\) and \(K^{*}_{i}\) as in Equation (12):  
\[ \begin{split} F_{H}(K^{*}_{i})&=\sum_{l\in T}K^{*} _{il}C^{i}_{kl}=K_{i}\\ F_{H}(Q^{*}_{i})&=\sum_{l\in T}Q^{*}_{il}C^{i}_{ qt}=Q_{i}\end{split}  \tag{12}\]  
\(Q_{i}\) and \(K_{i}\) are the query and key vectors. Each channel \(i\) is associated with a learnable parameter set \(C_{i}\), which fuses skeletal joint features from multiple time frames. After this \begin{table}
\begin{tabular}{c c c} \hline
**Block No.** & **Layer Size** & **Output Shape** \\ \hline Input & \((3,1)\) & \(25\times 64\times 64\) \\ Block 1 & \((64,1)\) & \(25\times 64\times 64\) \\ Block 2 & \((64,1)\) & \(25\times 64\times 64\) \\ Block 3 & \((128,1)\) & \(25\times 32\times 128\) \\ Block 4 & \((128,1)\) & \(25\times 32\times 128\) \\ Block 5 & \((256,1)\) & \(25\times 16\times 256\) \\ Block 6 & \((256,1)\) & \(25\times 16\times 256\) \\ Block 7 & \((256,1)\) & \(25\times 16\times 256\) \\ \hline Global average pooling & - & \(1\times 1\times 256\) \\ \hline Fully connected with Softmax & - & 4-classes \\ \hline \end{tabular}
\end{table} 
Table 1: Detailed information about the model structure. temporal aggregation, the input features become \(\textit{Query}\in\mathbb{R}^{C_{i}\times 1\times V}\) and \(\textit{Key}\in\mathbb{R}^{C_{i}\times 1\times V}\). In addition, we employ an adaptive parameter map (APM) that captures static joint relationships via channels, similarly to an attention map indicating how strongly joints are connected. Next, the APM is fused with the dynamic topology derived from graph self-attention to form an updated topological structure among joints, Equation (13):  
\[H=F_{R}(GSA_{map},APM)=GSA_{map}\times\delta+APM \tag{13}\]  
Here, \(\delta\) is a learnable parameter. Its role is to regulate the impact of the graph self-attention map (\(GSA_{map}\)). This fusion generates a channel-specific topology map for each output channel, each reflecting how the joints connect when the object is in motion.