# Multi-Person Action Recognition Based on Millimeter-Wave Radar Point Cloud
## 2 System Framework Design
### Target Segmentation  
To complete multi-person action recognition, it is necessary to segment the multi-person point cloud and complete inter-frame target matching. Since the number of point clouds per frame in the point cloud data collected by millimeter-wave radar is not fixed, the shape of a human body point cloud is not regular. Compared to the other clustering algorithms, such as the K-means clustering algorithm, the DBSCAN algorithm does not need to pre-specify the number of noisy points in the data set or the number of clusters to be generated, so it is more suitable for the clustering of irregular shapes. The main idea of the DBSCAN algorithm is to perform clustering based on the density of the data points [25], which can be used according to the Euclidean distance in 3D space for clustering and segmenting the point cloud. The critical parameters of this algorithm include the radius eps (used to define the distance threshold of the neighborhood) and min_samples (used to define the minimum number of neighbors required for a core point). Its mathematical expression is as follows:  
The data set is represented as \(X\), where each data point is denoted as \(x_{i}\), \(i=1,2,\ldots,n\). Each data point has an associated feature vector representing its position in the feature space. Neighborhood \(N_{e}(x_{i})\):defined as the neighborhood centered at \(x_{i}\) with radius \(\epsilon\) represented as follows:  
\[N_{e}(x_{i})=\left\{x_{j}|dist(x_{i},x_{j})\leq\epsilon\right\} \tag{2}\]  
Core Point: If \(N_{e}(x_{i})\) contains at least min_samples data points, then \(x_{i}\) is a core point. Directly Density-Reachable: If \(x_{j}\) is in \(N_{e}(x_{i})\) and \(x_{i}\) is a core point, then \(x_{j}\) is directly density-reachable from \(x_{i}\) in \(X\). Density-Reachable: If there exists a sequence of data points \(p_{1},p_{2},\cdots,p_{k}\), such that  
\[p_{1}=x_{i},p_{k}=x_{j} \tag{3}\]  
and for \(p_{m+1}\) (where \(1\leq m<k\)), \(p_{m+1}\) is in \(N_{e}(p_{m})\), then \(x_{j}\) is density-reachable from \(x_{i}\) in \(X\). Density-Connected: If there exists a data point \(x_{k}\) such that both \(x_{i}\) and \(x_{j}\) are density-reachable from \(x_{k}\), then \(x_{i}\) and \(x_{j}\) are density-connected in \(X\). Based on the above definition, DBSCAN categorizes the data points into core, boundary, and noise points to form density-connected clusters. The core points are density  
Figure 2: The point cloud of two human bodies in motion. (**a**) The original point cloud; (**b**) the point cloud after pass—through and statistical filtering; and (**c**) the final point cloud after inter—frame difference filtering. connected to each other, while the boundary points that are not core are density-connected to a particular core point. On the other hand, the noise points are not density-connected to any core or boundary point. The algorithm will recursively build clusters by density reachability relationships starting from the core points. The Hungarian algorithm is then used to match the target of the current frame to ensure target continuity. The core advantages of the Hungarian algorithm include the simplicity of implementation and the ease of understanding and implementation. The differentiation of multi-target point clouds using the Hungarian algorithm typically involves matching the point cloud targets of the current frame with known targets from the previous frames. The positions are first extracted from the point cloud clusters after clustering by the DBSCAN algorithm, and the positions between the different clusters and the radar are used as costs to construct a cost matrix for the match between the target in each current frame and the known target in the previous frame. The optimal matching of the cost matrix is solved using the Hungarian algorithm. The algorithm returns a set of matches representing the correspondence between each target in the current frame and one of the known targets in the previous frame.