## 3 Methodology
### Symmetric Feature Extraction  
For the processed 3D voxels, the most intuitive way is to employ 3 DCNN [41; 42], but it is limited by the voxel size and is time-consuming. We opt to use PointNet++ [11] as the feature extractor in this work, as shown in Figure 3. It is designed explicitly for hierarchical feature learning on unordered point sets in metric space, which allows it to capture local fine-grained patterns in point clouds. To achieve this, PointNet++ partitions the point  
Figure 2: The process of local space division. We quantify the contribution of a voxel to an action by its space occupancy count. By setting a threshold, the critical parts can be divided as a compressed local space, which removes redundant information and reduces computational burden. cloud into overlapping local regions based on a distance metric in the underlying space. To obtain detailed 3D visual cues, PointNet++ recursively employs PointNet [43] to extract local features, which are then merged for global appearance analysis. PointNet++ is an excellent alternative to 3 DCNNs as it performs well in capturing local 3D patterns essential for action recognition. Moreover, applying it is relatively straightforward and only requires transforming 3D voxels into point sets. To fit PointNet++, each point \(p(x,y,z)\) is then abstracted as the voxel \(V_{voxel}(x,y,z)\) with the descriptive feature of \((x,y,z,1)\), where \(I\) is the interval-frequency descriptor including three variables \((o,f,I)\) which denote start timestamps, end timestamps, and the overall occupancy frequency of the voxels, respectively. We attach \(I\) to the original 3D positions of voxels to obtain the 6D points \(p^{\prime}(x,y,z,o,f,I)\), as shown in Figure 4. Mathematically, for a voxel \(V_{voxel}\), we can determine the start and end time (\(o\) and \(f\)) of its space occupancy using Equation (3), which indicates the time index when the conditions \(V_{voxel}^{t}(x,y,z)=1\) and \(V_{voxel}^{t}(x,y,z)=0\) are first satisfied. Additionally, the total space occupation \(u\) can be calculated by Equation (4). Consequently, the occupancy frequency \(I\) can be computed as \(l=u/(f-o)\). The interval-frequency descriptor covers time interval and the overall occupancy frequency of the spatial locations can not only help us to distinguish the reverse actions that cover the same space, but also help to highlight the differences between actions by retaining detailed information within action process. Finally, the obtained point sets are utilized as the input of PointNet++ to extract action features. In addition, we design a two-stream network to process the point cloud in the global and local space, respectively (as shown in Figure 3). The global space contains all the voxelized points, and the global coarse stream captures the overall motion patterns. Considering that vital body parts can provide more targeted and discriminative dynamic information for action recognition, we divide the voxelized points of essential body parts into local spaces and input the fine stream to extract features. After that, the feature fusion module is settled for fine-coarse action representation. Considering the characteristics of different actions, their dependence on global and local features is various. For actions that only involve limb movements, such as waving and kicking, the model should emphasize local fine-grained stream features. In contrast, for large whole-body motions such as falling and jumping, the model should focus on the characteristics of the global stream. To achieve  
Figure 3: The network structure of SFCNet. It is a symmetric network structure comprising the global coarse stream and a local fine stream. The global coarse stream takes the global appearance information as input, while the local fine stream only adopts the compressed key part information. The features of each stream are extracted by PointNet++ and fused by the learnable weights as the final action features, which are sent to the classifier for 3D action recognition.