{'fraction_non_alphanumeric': 0.03914590747330961, 'fraction_numerical': 0.011018341089515467, 'mean_word_length': 4.657375145180024, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Cross-modal Learning of Graph Representations using Radar Point Cloud for Long-Range Gesture Recognition

Gesture recognition is one of the most intuitive ways of interaction and has gathered particular attention for human computer interaction. Radar sensors possess multiple intrinsic properties, such as their ability to work in low illumination, harsh weather conditions, and being low-cost and compact, making them highly preferable for a gesture recognition solution. However, most literature work focuses on solutions with a limited range that is lower than a meter. We propose a novel architecture for a long-range (1m - 2m) gesture recognition solution that leverages a point cloud-based cross-learning approach from camera point cloud to 60-GHz FMCW radar point cloud, which allows learning better representations while suppressing noise. We use a variant of Dynamic Graph CNN (DGCNN) for the cross-learning, enabling us to model relationships between the points at a local and global level and to model the temporal dynamics a Bi-LSTM network is employed. In the experimental results section, we demonstrate our model's overall accuracy of 98.4% for five gestures and its generalization capability.


I. INTRODUCTION
Human control interfaces for various indoor applications, e.g., sound systems, television, and lightning, continuously evolve to increase user comfort. Going from buttons, switches, and rotary knobs, to touchscreen-based control with smartphone-apps, the trend is now heading towards gesturebased control [1], [2], allowing for interaction from further distances without requiring additional hardware. Gesture control needs to be intuitive, accurate, and should be computationally cheap [3]. While vision-based systems nowadays fulfill these criteria, they are often seen as too privacy-invasive. Therefore, radar-based systems have recently been under investigation as a privacy-preserving alternative solution [4], [5], [6], [7], [8]. However, while progress has been made, and radar-based gesture sensing has been deployed in products [4], [9], [10], [11], it is still less accurate than vision-based systems, especially on longer distances. Therefore, we present a mmWave radar-based gesture-recognition solution that incorporates knowledge from a camera system during the training process. Our proposed system uses preprocessed radar data, in the form of point clouds, as input to a DGCNN [12] for performing crosslearning from a camera point cloud, which then predicts the performed gesture, taking multiple frames into account.

II. CAMERA POINT CLOUD
To determine 3D joint coordinates from 2D camera images, the joints must be visible in at least two cameras and must be matched. First, we feed all camera images into Detectron2 [13] to detect people and their associated keypoints in 2D space. Here we use the best pretrained keypoint Regions with Convolutional Neural Network (CNN) features (R-CNN) architecture available in the Detectron2 model zoo trained on the Coco keypoint dataset [14]. The Coco keypoint dataset contains 17 keypoints for each person, which are the nose, left eye, right eye, left ear, right ear, left shoulder, right shoulder, left elbow, right elbow, left wrist, right wrist, left hip, right hip, left knee, right knee, left ankle, right ankle. Matching 2D poses through multiple views is challenging for various reasons, such as occlusion and truncation. Our association component, as shown in Fig. 2, consists of two robust approaches that complement and reinforce each other: person re-identification and epipolar geometry. The result of our approach is as shown in Fig. 1b, 3D joint coordinates, and 17 keypoints.
1) Person Re-Identification: The goal of person reidentification is to identify the corresponding person of interest in different views or at different times. We use the implementation provided in [15]. It uses a Machine Learning (ML) model, in which the embeddings of individuals that are close to each other are considered to be the same person.
2) Epipolar Geometry: Using epipolar geometry, the geometric information can be leveraged and objects localized in different cameras. For example, if the object's location is specified in the first camera, the search area in the second  camera is constrained to a single line if the epipolar geometry is known [16].

III. RADAR POINT CLOUD
This section describes the radar sensor setup and the preprocessing for converting raw radar data to 5-dimensional point clouds [17] with x-y-z coordinates, intensity, and Doppler values, as illustrated in Fig. 3

A. mmWave FMCW Radar Sensor
We use Infineon's BGT60TR13C FMCW radar chipset. It operates by transmitting multiple frames, each containing a sequence of frequency chirps with a short ramp time. The response is digitized in 12-bit by the analog-digital converter, and is further passed to the PC over USB. The operating parameters of the radar are presented in Tab  B. Point Cloud Transformation 1) Range Doppler Image (RDI) and Angles Estimation: The reflected target signal is mixed with the transmitted chirp signal and then passed through a low-pass filter to obtain the intermediate frequency signal [18]. Since we are only interested in moving targets in gesture recognition, we use previous frame subtraction as Moving Target Indication (MTI) [19]. By applying 2D Range-Doppler-Fast Fourier Transform (FFT) along the sample and chirp axes, we can acquire RDIs, comprising range, Doppler, and intensity information, as shown in Fig. 1c. Additionally, as we work with singleperson scenarios, we first detect the range-Doppler bin with the highest intensity and filter out any points far away from it as noise [20]. Afterwards, we select a certain number of highintensity range-Doppler bins and use the values in a 5 × 3 window around each bin, seen in Fig 1c, to estimate the covariance matrix for Direction Of Arrival (DOA) estimation with bartlett beamforming. Now the points are in spherical radar coordinates (r, θ azi , θ ele ), which correspond to range, azimuth angle, and elevation angle. We finally apply the transformation matrix [21] shown below, where (x, y, z) denote the resulting ground Cartesian coordinates, θ tilt and (x r , y r , h) are the tilt angle and ground Cartesian coordinates of radar, respectively.
2) Point Cloud: With the help of a radar sensor, we can collect the points corresponding to the detected object. However, a specific number of sample points for each frame is required as input. Thus, to simplify the computation, traditional zeropadding is the method we choose for oversampling, which means adding all-zero points to complement the point cloud. Meanwhile, for frames with more points than we require, sorting the points by their intensity and selecting a predefined number allows us to save the samples with the most information [22]. Finally, we take (x, y, z, d, intensity) which are coordinates, Doppler, and intensity value into consideration as the features of each point, shown in Fig. 1d.

IV. ARCHITECTURE AND LEARNING
In this section, we introduce the network's architecture of our proposed Autoencoder shown in Fig. 4 for cross-learning between radar and camera information [23]. The architecture is composed of a Graph Neural Network (GNN) [24], specifically DGCNN [12], followed by LSTM layers for recognition of gesture sequences.

A. Edge Convolution
The radar point cloud contains n points with F features in each frame, denoted by R = {r 1 , ..., r n } ⊆ R F . In our case, F = 5, representing 3D coordinates x i , y i , z i , intensity and Doppler value i, d in RDI and n points per frame. We apply k-Nearest Neighbour (k-NN) by Euclidean distance to generate the local graph of R in R F including self-loop, represented as G = (V, E), where V = {1, ..., n} and E ⊆ V × V are  Autoencoder n x f n x k x a n k-nn graph mlp {a 1 , a 2 ,...,a n } n x a n Max Pooling EdgeConv mlp {a 1 , a 2 ,...,a n } Figure 4: Network Architecture: Radar point cloud in shape n × 5 first passes through an input transformation module and then is fed into DGCNN Autoencoder, followed by one fully connected layer to reconstruct camera-based skeletons. Next, the latent space of each Autoencoder-frame is stacked in temporal order with sequence length l = 30, which is used to generate classification scores for five classes by two bidirectional LSTM layers and two fully connected layers. EdgeConv block: A tensor of shape n × f is fed into the block as input, for computing edge features of each point in k-nn Graph by a Multi-Layer Perceptron (MLP) with the number of layer units denoted as {a1, a2, . . . , an}. Then, after max pooling across neighboring edge features, we get a updated tensor of shape n × an.
the vertices and edges, respectively. As illustrated in Fig.  5, to capture both global structure and local neighbourhood information, edgef eatures between two points is computed as where h Θ : R F × R F → R F is a nonlinear function with learnable parameters Θ and {r j : (i, j) ∈ E} is the set of neighbours around r i . More specifically, this edge convolution can be expressed as and implemented as a shared MLP, here Θ = (θ 1 , . . . , θ F , φ 1 , . . . , φ F ), leakyReLU is chosen as non-linear function σ(·). At last, we take max pooling as the aggregation operation on the edgef eatures to update the points which can capture the sharpest features to represent the points in lower-level. In general, this EdgeConv creates an Fdimensional point cloud with the same number of points as the input F -dimensional point cloud, where k = 3 and n = 64.

B. Model Architecture
The overview of our whole network architecture is visualized in Fig. 4, including three main parts: input transformation, cross learning between radar and camera point cloud, and gesture recognition. 1) Input transformation: As described in Section 3, we multiply the coordinates in radar coordination by our radar setup's rotation matrix to convert them to ground Cartesian coordinates. However, this transformation is insufficiently precise due to the measurement, and the object, in this case the test person, should be invariant following certain geometric modifications. As a result, we refer to the spatial transformation in this contribution [25], in which a mini-network (T-net in Fig. 4) predicts an affine transformation matrix from the point itself and its neighbours, and applies it directly to the input point cloud.
2) Cross Learning: The upper branch of the network architecture illustrated in Fig. 4, is the Autoencoder for cross learning between the point cloud from radar and camera domain. The Encoder contains three successive EdgeConv blocks, where the graph is dynamically updated after each one. Afterwards, their multi-scale outputs are concatenated together, followed by one fully-connected layer to form 136 dimensional latent space. Then, the Decoder is used to reconstruct camera skeletons from prior latent feature vector, having similar structure with the Encoder, while only two EdgeConv blocks present. Finally, after going through the last fully-connected layer (51), the point cloud is reshaped to 17 × 3, representing 17 joints of the person in (x, y, z) coordinates. The number k for computing k-NNs is set as 3 for all EdgeConv blocks.
3) Classification: After obtaining the latent features from Encoder, the lower branch shown in Fig. 4 extracts both spatial and temporal information of each gesture motion sequence with length l = 30. The latent feature vectors of each frame in the sequence are firstly stacked to create l × 136 tensor, fed as input into two 64-units Bidirectional LSTM layers [26]. The last two fully-connected layer (64,5) produce 5 dimensional feature vector for gesture classification.

V. EXPERIMENTAL
We used a synchronized camera-radar setup as introduced in Section 3 to perform seamless multi-modal data acquisition to train our proposed model and then for evaluation. The training data is balanced and consists of 1773 recordings and 392 recordings (sequence length l = 30 for each recording) for evaluation. The evaluation dataset doesn't include any camera data as only radar data is used as input during inference.
We define five macro-gestures as classes that involve a complete hand movement. The five classes are swipe -where the hand is moved horizontally from one end to another, push-  where the hand is moved toward the radar from the body, pull -where the hand is moved from away from the radar towards the body, clockwise -where a big circular movement is done by the hand in a clockwise manner and anti-clockwise -where the same is done but in an anti-clockwise manner. The choice of gestures was made based on their relevance to past literature and simplicity. The training data involved five volunteers who performed the gesture at a distance ranging between 1m -2 m with minimal prior instructions and switched between left and right hands and their distance from the radar. The evaluation dataset was similarly performed by another five volunteers but in a different room and radar orientation setup to demonstrate the proposed architecture's generalization capability. Furthermore, the room setup for the evaluation dataset contained more reflecting objects so as to check our model's ability to suppress such reflections.
The upper branch in Fig. 4 is first trained with synchronized radar point cloud and camera skeletons data using Mean Squared Error (MSE) loss, and then we save the input transformation and Encoder modules for the training of classification in the lower branch by Cross-Entropy and Triplet losses combined in the same weight, which can be set as frozen or not for fine-tuning. The overall accuracy for the proposed model is 98.4% compared to from 45% to 90% for the baseline model, which is trained in a uni-modal fashion. Fig. 6 depicts the confusion matrix for our proposed model and Fig. 7 represents the training and testing accuracy of different setups. It clearly demonstrates the superiority of the proposed learning approach over a uni-modal approach with better accuracy, robustness, and stable learning.

VI. CONCLUSION
The paper proposes a low-cost radar-based gesture recognition system with an overall accuracy of 98% where the subject performs macro gestures at a varying range between 1m to 2m. We introduce a novel architecture based on GNNs that enables knowledge distillation from camera point clouds to radar point clouds, allowing the system to learn better underlying relationships between the radar points and suppress other possible targets in the field of view.