## 2 Method
### Graph Convolution Networks  
In this section, we introduce how to use prior knowledge to guide GCN networks. Inspired by ST-GCN [43], the network in this paper uses temporal and spatial skeleton data for modeling.  
Firstly, based on a skeleton sequence with \(N\) joints and \(T\) frames featuring both intra-body and inter-frame connection, a graph model is constructed:  
\[G=\{V,\ E\} \tag{9}\]  
where \(\mathrm{V}\) denotes the node set, which includes all the joint points of a skeleton sequence:  
\[V=\{v_{tl}|t=1,\ldots,T;i=1,\ldots,N\} \tag{10}\]  
\(\mathbf{E}\) denotes the edge set:  
\[E=\{Es,Et\}=\left\{\{v_{ti}v_{tj}|(i,j)\in H\},\left\{v_{ti}v_{(t+1)i}\right\}\right\} \tag{11}\]  
where \(\mathbf{Es}\) denotes the intra-skeleton joint connection of a body and \(\mathbf{Et}\) denotes the connection of same body joint at adjacent time \(t\) and \(t+1\). In this paper, we only consider the connection between physically adjacent joints and the connection between the same, temporally adjacent body joints.  
Based on the above basic graph structure, we can construct a multi-layer graph convolution neural network. Specifically, for a node at time \(t\) of layer \(m+1\), the calculation method for its graph convolution features is  
\[f^{m+1}(v_{tj})=\sum_{v_{tl}\in B(v_{tj})}\frac{1}{Z_{ij}}f^{m}(v_{ti})\mathbf{ w}(v_{ti},v_{tj}) \tag{12}\]  
where \(B(v_{tj})\) represents the set of nodes in the graph that are connected (including itself); \(Z_{ij}\) is a normalizing term, which is added to balance the contributions of different subsets to the output; and \(\mathbf{w}\) is the weight to learn in the network.  
In the first layer of the network, the features of each joint and the connections in the skeleton sequence obtained from the image sequence are used as the initial input, which is \(f^{0}(v_{tj})\). The most commonly used joint features are the spatial position coordinates and the motion speed in this step.  
In this paper, prior knowledge is applied to the GCN in the feature setup procedure at the beginning. For the feature setup step, we encode the following features as feature vectors for a certain joint:  
* The basic pose feature \(F(J)\) introduced in Section 2.1;
* The features of \(\hat{\tau}(J_{t})\) and \(\hat{\delta}(J_{t})\) introduced in Section 2.1;
* The Euclidean distances from the body's center of gravity to the joint.  
In the training step, an attention mechanism is also introduced, based on prior knowledge:  
Before the input of the network, joints are divided into two categories based on prior knowledge. One type is marked as **1**, for joint points that significantly reflect the action, and the other type is marked as **0**, indicating joints unrelated to the action. For a certain action, this classification is based on the following method:  
Firstly, divide the human skeleton into orderly connections from body joints to limb joints. One example of this is listed in Table 1.  
Then, for each body part \(P\), based on the irrelevant and significant expressions of each joint, the significant feature of the body part is calculated as:  
\[\text{S}(P)=\sum_{J_{i}\in P}\rho_{i}*\frac{\text{s}(J_{i})}{\sigma(J_{i})} \tag{13}\]  
where \(\rho_{i}\) is a weight factor, which varies depending on the type of joint.  
For a certain action, the joints on the body part with larger \(\text{S}(P)\), will be marked as **1**, while the remaining joints will be marked as **0**. For the input of the network, only the features of joints marked **1** are used for training, while joints marked **0** are not part of the training. This approach can improve efficiency by introducing prior knowledge and setting inputs in a form similar to supervision.