{'fraction_non_alphanumeric': 0.03681012403957214, 'fraction_numerical': 0.012429066439009692, 'mean_word_length': 4.767849384503982, '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': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Learning Rich Features for Gait Recognition by Integrating Skeletons and Silhouettes

Gait recognition captures gait patterns from the walking sequence of an individual for identification. Most existing gait recognition methods learn features from silhouettes or skeletons for the robustness to clothing, carrying, and other exterior factors. The combination of the two data modalities, however, is not fully exploited. Previous multimodal gait recognition methods mainly employ the skeleton to assist the local feature extraction where the intrinsic discrimination of the skeleton data is ignored. This paper proposes a simple yet effective Bimodal Fusion (BiFusion) network which mines discriminative gait patterns in skeletons and integrates with silhouette representations to learn rich features for identification. Particularly, the inherent hierarchical semantics of body joints in a skeleton is leveraged to design a novel Multi-Scale Gait Graph (MSGG) network for the feature extraction of skeletons. Extensive experiments on CASIA-B and OUMVLP demonstrate both the superiority of the proposed MSGG network in modeling skeletons and the effectiveness of the bimodal fusion for gait recognition. Under the most challenging condition of walking in different clothes on CASIA-B, our method achieves the rank-1 accuracy of 92.1%.


Introduction
Gait recognition measures unique physical and behavioral characteristics from the walking pattern of an individual for identification [1]. Compared with other biometrics such as the face [2], fingerprint [3], and iris [4], gait can be identified at a distance without the cooperation of target subjects. It has broad applications in crime prevention, forensic identification, and social security [5,6]. However, the exterior factors such as clothing, carrying condition, and camera viewpoints greatly change the gait appearance and bring significant challenges to gait recognition.
To alleviate the issue, various methods have been proposed and can be roughly categorized into RGB-based, event-based, silhouette-based, and skeleton-based methods according to the input data modality. The RGB-based methods [7,8] usually employ generative networks or skinned multi-person linear (SMPL) models to filter out color and texture information from the raw RGB images for identification. These methods are facing the challenge of discarding irrelevant information for gait and require cross-dataset experiments to validate the effectiveness. The event-based methods [9] are proposed with the development of event cameras. Event cameras capture event streams at each pixel and have the advantages of ultra-low resources consumption and high temporal resolution [10]. Nevertheless, noisy and asynchronous event streams are relatively hard to deal with.
The silhouette-based and skeleton-based methods are probably the two most competitive gait recognition methods in the research community. The silhouette-based methods [11][12][13][14][15] extract features from silhouette sequences to eliminate the impact of exterior factors. These methods are suitable for low-resolution conditions and have achieved state-of-the-art (SOTA) results on public gait datasets. Despite the superiority, further improvements of these methods are limited: the silhouette only retains the external outline; some body parts information is lost due to the overlapping of limbs and torso during walking, as shown in Fig. 1 (a). The skeleton-based gait recognition methods [16][17][18][19][20][21] perform human pose estimation [22,23] first and capture gait patterns from skeleton sequences for recognition. The skeleton well preserves the body structure information but ignores the discriminative body shape information, resulting in the poor performance of skeleton-based methods.
While the silhouette retains the body shape information and omits some body part clues, the skeleton preserves the body structure information and ignores the shape instead. The two data modalities are complementary to each other and their combination is expected to be a more comprehensive representation for gait as shown in the third row of Fig. 1 (a). However, previous multimodal gait recognition methods mainly employ the skeleton for local feature extraction on other data modalities, where the intrinsic discrimination of the skeleton data is ignored. As far as we know, the early work proposed by Boulgouris et al. [24] employs the skeleton structure as a body component locator to assist the local feature extraction of silhouettes. The global and local silhouette features of automatically labeled components are combined through  [25] which uses the skeleton estimated by HRNet [23] to locate and extract local features on RGB frames, and employs a transformer encoder to learn the dependence of each correlative local region.
To fully exploit the intrinsic discrimination of the skeleton data and mine complementary clues of the two data modalities, we propose a simple yet effective Bimodal Fusion (BiFusion) network. Specifically, we adapt the widely-used graph convolution network (GCN) for the graph-structured skeleton data. The inherent hierarchical semantics of body joints in a skeleton is leveraged to design a novel Multi-Scale Gait Graph (MSGG) network, as well as a taskspecific node partitioning strategy, for the feature extraction of skeletons. The part-based feature-level fusion is applied on features extracted from silhouettes and skeletons to exploit the complementary strengths of the two data modalities for effective gait identification.
In summary, the major contributions of this work lie in three aspects: • We propose a novel Multi-Scale Gait Graph (MSGG) network which automatically captures the gait patterns from the raw skeleton data in a hierarchical manner. • Different from previous multimodal methods that employ the skeleton for local feature extraction on other data modalities, we design a simple yet effective Bimodal Fusion (BiFusion) network which fully exploits the intrinsic discrimination in skeletons and integrates with silhouette representations to learn rich features for gait recognition. • Experiments on CASIA-B and OUMVLP demonstrate both the superiority of the proposed MSGG network among skeleton-based methods and the effectiveness of the bimodal fusion in gait identification. The rest of this paper is organized as follows. Section 2 gives a summary of related previous works. Section 3 describes the proposed gait recognition algorithm. Section 4 presents the implementation details and experimental results. Section 5 provides our conclusions.

Related work 2.1 Silhouette-based Gait Recognition
The silhouette-based methods can be roughly divided into three categories according to the way they deal with the temporal information. The first category [26][27][28][29][30] regards gait as a template and compresses the silhouettes into an image for identification, e.g. Gait Energy Image (GEI) or Gait Entropy Image (GEnI). Despite the simplicity, these methods inevitably lose fine-grained temporal and spatial information. The second [13,31,32] regards gait as a video sequence and employs the LSTM-based or 3D-CNN-based model to extract temporal patterns. These models can capture rich temporal information but require higher computational cost and are relatively hard to train. The third category [11,12,14] regards gait as an unordered set and applies statistical functions to aggregate the temporal information along the set dimension. It has achieved significant improvements and becomes popular among the research community recently for both simplicity and effectiveness.
In this work, we treat the silhouette sequence as an unordered set and directly employ the GaitPart [12] as the silhouette module of the proposed Bimodal Fusion network. As shown in Fig. 2, the GaitPart module takes a walking silhouette sequence as input and outputs N part features. In GaitPart, the feature map of a frame is horizontally splitted into multiple parts and each part performs 2D convolution individually to obtain the personalized spatial representation. After that, the GaitPart calculates the micro-motion representation of each part by aggregating the information from the same parts across adjacent frames (3 or 5 frames), which is implemented as sliding the 1D convolution along the temporal dimension. The final N part features are then obtained by applying the max pooling operation along the temporal dimension on each micro-motion part features.

Skeleton-based Gait Recognition
Traditional skeleton-based methods [17,18,33] are usually based on handcrafted formulations or rules that extract discriminative parameters from the raw skeleton data for gait recognition. Deng et al. [33] calculate 4 spatialtemporal parameters (knee stride width, ankle stride width, knee elevation, and ankle elevation) and 4 kinetic parameters (the absolute angle between the vertical direction and the four keypoints, i.e., left knee, left hip, right hip, and right knee) under the Microsoft Kinect coordinates, and employ deterministic learning theory to capture the gait dynamics from the obtained gait parameters for gait identification. The raw skeleton data predicted by pose estimation methods is not in the form of regular 2D or 3D grids. Liao et al. [17] define three kinds of spatial-temporal pose features (i.e., joint angle, joint motion, and limb length) based on human prior knowledge and rearrange them to form a feature matrix as the input of a CNN-based model for identification. These methods rely on handcrafted input features which makes the whole process complex and sub-optimal. Differently, the recent skeleton-based methods [19][20][21] propose to adapt the GCN for automatically modeling the graph-structured skeleton data. Benefiting from the powerful graph modeling capability of the GCN, these methods have made significant improvements in skeleton-based gait recognition.
To a certain degree, the skeleton-based GCN methods are closely related to the ST-GCN [34]. The spatial-temporal graph of ST-GCN is widely adopted due to the ability of modeling variable-length skeleton sequences. However, the whole architecture of the spatial-temporal graph is inherently flat and the lack of hierarchy structure is especially problematic due to the global pooling operation on the embeddings of all nodes to get an entire graph representation. Therefore we propose to leverage the inherent hierarchical semantics of body joints in a skeleton and construct a 3-scale hierarchical network named Multi-Scale Gait Graph (MSGG) which aggregates complex multi-scale information for gait recognition. It is worth noting that the multi-scale GCN is first proposed in CTL [35] for video-based person re-identification and the MSGG differs from it in three aspects. Firstly, the CTL deals with local RGB features extracted (located) by the pose estimation method while the MSGG directly processes the raw skeleton data. Secondly, the multi-scale skeleton graph defined by CTL is based on human anatomy while that of MSGG is defined by the moving trend of each joint during walking. Thirdly, the CTL performs multi-layer 3D graph convolution on different body partition scales individually while the MSGG passes information across scales after every spatial-temporal convolution within each scale.

Multimodal Biometric Fusion
Two or more data modalities are employed to extract and combine relevant information for identification in multimodal biometric fusion [36][37][38][39][40][41]. Generally, multimodal fusion can be classified into data-level, feature-level, and decision-level fusion according to the level at which the fusion is done. Compared with data-level and decision-level fusion, feature-level fusion preserves raw information of different modalities and is expected to reach better results [42][43][44]. In practice, feature-level fusion has been applied in a number of multi-modal biometric identification tasks. For instance, Bodla et al. [36] propose a heterogeneous feature fusion network to concatenate both the raw features and the non-linear projected features obtained from two different pretrained deep CNNs for template-based face recognition. Another example is that Yang et al. [37] combine face, fingerprint, and finger vein fisher vector features in series and project the fused feature for person identification.
Motivated by the complementary strengths of the silhouettes and skeletons, we adopt feature-level fusion to learn rich features from the two data modalities for effective gait identification.

Proposed method
Previous multimodal gait recognition methods [24,25] mainly employ the skeleton as a locator to assist the local feature extraction on silhouettes or RGB frames. The intrinsic discrimination of the skeleton data, however, is remained to be exploited. Recently, benefiting from the powerful graph modeling capability of the GCN, a lot of methods [19][20][21] have been proposed to capture gait patterns directly from skeleton sequences and have reached pretty good performance on public datasets. Based on this, we design a novel Multi-Scale Gait Graph (MSGG) network to mine deeper intrinsic discrimination of the skeleton data and attempt to integrate complementary features of silhouettes and skeletons through the proposed Bimodal Fusion (BiFusion) network.

Pipeline Overview
The complementary strengths of the two data modalities, i.e., silhouettes and skeletons, motivate us to fuse them and exploit their relevant information for gait recognition. The overall architecture of the proposed Bimodal Fusion (BiFusion) network is shown in Fig. 2. Specifically, we directly employ the GaitPart [12] to extract N part features from the silhouette data and design a novel Multi-Scale Gait Graph (MSGG) network to hierarchically aggregate the multi-scale information for the skeleton data. The part-based feature-level fusion is applied to combine different data modalities for identification. Formally, given a dataset of P people with identities p i , i ∈ {1, 2, ..., P }, we denote the silhouette sequence and the keypoints matrix 1 generated from a walking sequence of p i as S i and K i , respectively. The proposed network obtains gait features from the bimodal fusion of S i and K i through 3 steps, formulated as: Fig. 3 (a) The proposed pyramid spatial-temporal graph. S-T stands for spatial-temporal. (b) Uniform labeling: all nodes in a neighborhood have the same label. (c) Distance partitioning: nodes in a neighborhood are divided into two subsets (red and blue) by the distance between the current node and the root node (red). (d) Spatial configuration partitioning: nodes are labeled into three subsets (red, green, and purple) according to their distances to the gravity center (gray cross) compared with that of the root node (red). (e) Gait temporal partitioning: nodes are divided into three subsets (red, blue, and orange) where neighbor nodes of the root node (red) are divided into two subsets (blue and orange) according to their moving amplitudes.

Bodyparts S-T Graph
where the M SGG generates the skeleton sequence features from the keypoints matrix K i and the GaitP art extracts N part-based features from the silhouette sequence S i . Further details about the GaitPart can be found in Sec. 2.1. The skeleton-based MSGG module will be introduced in Sec. 3.2. The Compact Block [14] is applied to get the compact features k i for skeletons, abbreviated as CmpB in Eq. (1). The structure of the Compact Block is clearly illustrated in Fig. 2. The function F use n aims to extract specialized information from the compact skeleton sequence features k i for the n-th silhouette sequence part features s n i and obtains the proper fusion features f n i for gait identification. Further details about the F use n are illustrated in Sec. 3.3.

Multi-Scale Gait Graph Network
The proposed Multi-Scale Gait Graph (MSGG) network constructs a pyramid spatial-temporal graph on skeletons with semantics going from shallow to deep. The information can then be hierarchically aggregated by MSGG for gait recognition.
Pyramid Spatial-Temporal Graph Construction. As shown in Fig. 3 (a), the pyramid spatial-temporal graph consists of three subgraphs corresponding to three scales, namely the joints, the limbs, and the bodyparts spatial-temporal graph. (1) The joints spatial-temporal graph is constructed with the joints of skeletons as graph nodes, the natural connectivities in human bodies as spatial edges, and the connections of the same joints across the adjacent frames as temporal edges. (2) The limbs spatial-temporal graph is constructed on the joints spatial-temporal graph by pooling every two joints of a limb in the same frame into one node. The reason for this is that the two joints of a limb can represent a physically rigid body in which the same moving trend is shared. (3) The bodyparts spatial-temporal graph is constructed on the limbs spatial-temporal graph by pooling every two nodes of a body part in the same frame into one node. The higher-level semantic meaning is reached through grouping the nodes of limbs into corresponding body parts, i.e., torso, arms, and legs.
Subgraph Information Aggregation. Before diving into the information aggregation on the whole pyramid spatial-temporal graph, we first look at that within each subgraph, i.e., the joints, the limbs, or the bodyparts spatial-temporal graph. Given a skeleton sequence with T frames and N nodes per frame, the subgraph is denoted as G = (V, E). The node set V = {v ti | t = 1, 2, ..., T, i = 1, 2, ..., N } and the edge set .., N } contains inter-frame edges which connect the same nodes in consecutive frames and ∈ H} includes intra-frame edges which depict the natural connectivities in a human body based on H. H is a set of connected nodes within a human body defined by the corresponding subgraph in Fig. 3 (a). The information aggregation on G consists of two alternatively performed steps: (a) the spatial information aggregation on nodes in a single frame and (b) the temporal information aggregation on the same node across the adjacent frames, which are elaborated as the follows.
(a) Spatial Information Aggregation. We adopt the implementation of the graph convolution in ST-GCN [34] to aggregate the spatial information for each frame. Given the spatial graph G t = (V t , E t spatial ) and the input feature matrix f t in at the t-th frame, the spatial graph convolution is formulated as: where A and I are adjacency matrix and identity matrix of G t . The degree matrix Λ is calculated by Λ ii = j (A ij +I ij ). Nodes can aggregate information from neighbors with Eq. (4), where W is a trainable weight transform matrix. In essence, the above formula directly sums the features of a neighbor denotes the shortest path from v ti to v tj , as the output feature for the node v ti . To improve the expressiveness of the spatial graph convolution, we partition the neighbor set N (v ti ) of node v ti into a fixed K subsets and propagate the information for each subset separately. Here we define the mapping l ti : N (v ti ) → {0, 1, ..., K − 1} which maps a node in the neighbor set N (v ti ) to its subset label. The spatial graph convolution with K subsets is formulated as: k denotes the normalized adjacency matrix and W k denotes a trainable weight transform matrix for the k-th subset of each neighbor set on graph G t , respectively.
(a1 ) Partition Strategy. Given the formulation of graph convolution in Eq. (5), it is important to design a proper node partition strategy to implement the mapping function l ti . As shown in Fig. 1 (b), the joints with larger amplitudes of movement are more likely to retain the gait periodicity than that with smaller moving amplitudes from the analysis of the temporal changes in skeleton data. Therefore, we propose to partition the neighbor set N (v ti ) based on the moving amplitudes of each neighbor node v tj , formulated as: where the nodes with larger amplitudes of movement are regarded as Positive and the nodes with smaller moving amplitudes are regarded as Negative 2 , except for the current node v ti . We name this strategy as Gait temporal partitioning and demonstrate its superiority in Sec. 4.5 through the comparison with different partition strategies proposed in the ST-GCN [34]. Different strategies are clearly illustrated in Fig. 3 (b)-(e).
(a2 ) Edge Importance Weighting. To find out the contribution of different nodes in the k-th subset of the neighbor set N (v ti ), we add a learnable edge importance weight matrix W E for the spatial graph convolution. It is straightforward to implement the edge importance weighting by substituting the matrix (A k + I) in Eq. (5) with (A k + I) W E , where denotes the Hadamard product.
(b) Temporal Information Aggregation. The well-ordered temporal axis of each node enables the MSGG to simply aggregate the temporal information within adjacent Γ frames rooted at v ti as: where f t,i in denotes the input feature vector of node v ti . The learnable weight matrix W i Γ×1 is employed to aggregate the temporal information of adjacent Γ frames for node v ti .
Multi-Scale Gait Graph Network. The proposed Multi-Scale Gait Graph (MSGG) network is built on the pyramid spatial-temporal graph constructed in Sec. 3.2. Benefitting from the natural hierarchical structure defined by semantics, MSGG is able to exploit diverse multi-scale features and aggregate the information in a hierarchical way. As shown in Fig. 4, the proposed MSGG consists of 3 branches that are conducted on the joints, the limbs, and the bodyparts spatial-temporal subgraph respectively. In MSGG, there are 6 Cross-scale Spatial-Temporal (S-T) Blocks, and each block completes the spatial-temporal information aggregation within each subgraph and the message passing across subgraphs.
The detailed structure of the Cross-scale S-T Block is shown in the right half of Fig. 4. The spatial-temporal information aggregation on each subgraph S-T is short for spatial-temporal and SemP is short for semantic pooling. GAP denotes for the global pooling operation on the embeddings of all nodes. BN for Batch Normalization and FC for the Fully Connected Layer. S-Agg denotes for the spatial information aggregation defined by Eq. (5) and T-Agg denotes for the temporal information aggregation defined by Eq. (7). Res for the residual connection within a Cross-scale S-T Block is implemented by the execution of a spatial information aggregation (Eq. (5)) and a temporal information aggregation (Eq. (7)). To alleviate the problem of gradient vanishing, a residual connection is added to the spatial-temporal information aggregation except for the first Cross-scale S-T Block. Every time the spatial-temporal information aggregation has been done, the Cross-scale S-T Block will pass messages from the graph with lower semantic-level to the adjacent graph with higher semanticlevel, i.e., from the joints subgraph to the limbs subgraph and from the limbs subgraph to the bodyparts subgraph, denoted as the SemP in Fig. 4.
Semantic Pooling. We name the message passing between adjacent subgraphs as the Semantic Pooling (SemP). The goal of the SemP is to deliver the information from the graph with lower semantics to the graph with higher semantics. Given the mapping M between adjacent subgraphs, the message passing is formulated as: where f ta ′ in and f tb ′ in denote the feature vector of v ta and v tb in the joints (limbs) subgraph, and f ti in denotes the feature vector of v ti in the limbs (bodyparts) subgraph. Element ((a, b) → i) in M denotes that the node v ta and the node v tb in a lower semantic graph are defined to be mapped to the node v ti in the current graph. The mapping M between adjacent subgraphs is clearly illustrated in Fig. 3 (a). For simplicity, we use the average(·) function as the implementation of SemP.

Bimodal Fusion Network
The proposed Bimodal Fusion (BiFusion) network exploits complementary strengths of the two data modalities, i.e., silhouettes and skeletons, for gait recognition. As shown in Fig. 2, given N silhouette part features generated from the GaitPart module and the compact skeleton features extracted from the MSGG module followed by a Compact Block, the part-based bimodal fusion (the function F use n in Eq. (3)) is implemented with the feature concatenation followed by a fully connected layer. We concatenate the skeleton sequence features reduced by the Compact Block [14] after each part-based silhouette sequence features and employ the fully connected layer (FC) to get the bimodal fusion for each part. This way of feature-level fusion is expected to extract specialized information from the skeleton data modality for the corresponding part features captured by the silhouette data modality. Therefore, a more comprehensive representation for gait recognition is obtained.

Experiments
The skeleton data is required for the proposed Bimodal Fusion (BiFusion) network. Currently, most cross-view large open-source gait datasets such as OU-LP [45] and OU-ISIR Treadmill [46] do not provide the skeleton data or give the access to raw RGB frames. In this case, empirical experiments are conducted on two publicly available gait datasets: CASIA-B and OUMVLP. Both datasets are labeled with person identities. For each dataset, we evaluate the performance of MSGG among skeleton-based methods and compare the BiFusion network with previous state-of-the-art methods. Further ablation experiments are conducted on CASIA-B, which contains the skeleton data of high quality and considers about walkings with varieties. OUMVLP [48] is a large public gait dataset that released only the silhouette data at the beginning. Recently, the skeleton data of OUMVLP estimated by AlphaPose [49] and Openpose [22] have been released by An et al. [18], named as the OUMVLP-Pose dataset. Therefore, the OUMVLP is an opensource dataset that has released both the silhouette data [48] and the skeleton data [18]. It contains 10307 subjects, 14 views ([0 • , 90 • ] and [180 • , 270 • ] at an interval of 15 • ) per subject, and 2 walking sequences (#00-01) per view. The division of the training set and the testing set provided in OUMVLP [48] is quite different from that in OUMVLP-Pose [18]. For the comparison with previous SOTA methods, main experiments are conducted under the division provided in OUMVLP [48]. The 10307 subjects are divided into two disjoint groups: 5153 training and 5154 testing subjects. For evaluation, sequences #01 are kept in the gallery and sequences #00 are regarded as the probe.

Implementation Details
All models are implemented with PyTorch [50] and trained with NVIDIA Titan-V GPUs.
Input The silhouettes are pre-processed into the resolution of 64×64 using the methods described in [11]. Both the Openpose [22] and the HRNet [23] are applied in CASIA-B for pose estimation. For OUMVLP-Pose [18], we conduct experiments on the released AlphaPose dataset. As shown in Fig. 3 (a), 12 keypoints of the limbs and torso are used in this work. The number of subjects, the number of sequences per subject, and the number of frames per sequence in a mini-batch are set to (8,16,30) for CASIA-B, (32,16,30) for OUMVLP silhouettes, and (32,16,18) for OUMVLP skeletons.
Network We use the settings in GaitPart [12] for the silhouette module of our Bimodal Fusion network. There are 6 Cross-scale Spatial-Temporal Blocks in the proposed Multi-Scale Gait Graph (MSGG) network. We set the number of channels in the first two blocks, the second two blocks, and the third two blocks as (16, 32,  Loss The cross-entropy loss and Batch All (BA + ) triplet loss [51] are applied to train the network. The margin threshold m for triplet loss is set to 0.2. The triplet loss L sil tp is employed for pretraining the GaitPart module. And the loss L MSGG for pretraining the MSGG module is computed as: L MSGG = αL ske tp1 + βL ske tp2 + γL ske tp + L ske ce (9) where L ske tp1 , L ske tp2 , and L ske tp are triplet losses calculated at the joints, the limbs, and the bodyparts branches respectively. L ske ce denotes the crossentropy loss added after F C at the bodyparts branch. The α, β, and γ are loss weights of the joints, the limbs, and the bodyparts layer respectively. The α, β, and γ are set to 3, 2, and 1 so that the model gives top priority to the underlying information. The total loss for the global training is computed as: Optimizer The silhouette-based GaitPart module is pretrained as in [12]. The SGD optimizer with momentum is adopted for MSGG pretraining and global training. In the pretraining of the MSGG, the learning rate is set to 0.1 and will be scaled to its 1/10 per 25K iterations for CASIA-B (per 75K iterations for OUMVLP) three times until convergence. In global training, the learning rate for the GaitPart module and the MSGG module is set to 1e-4, and for the rest is set to 0.1. The learning rate will be scaled to its 1/10 per 2K iterations for CASIA-B (per 4K iterations for OUMVLP) four times until convergence. We use momentum = 0.9 and weight decay = 5e-4 for the optimization. It is worth noting that all the experiments in this paper did not use any additional data other than the current dataset.
Testing Given a query Q, the goal is to retrieve all the samples with the same identity in gallery set G. The Q is fed into the proposed BiFusion network to generate multiple part-based features {F 1 Q , F 2 Q , ..., F N Q }. And the same process is applied on each sample G in gallery G to obtain multiple partbased features {F 1 G , F 2 G , ..., F N G }. We measure the similarity between Q and G by calculating the averaged Euclidean distance as 1

CASIA-B
In the testing phase of CASIA-B, the probe sequences are grouped into three subsets, i.e., NM, BG, and CL. The evaluation is performed on each subset separately. All the results are averaged on gallery views excluding the identical-view cases. Table 1 shows the performance comparison on CASIA-B for both the MSGG module and the BiFusion network. As listed in the first block of different probes, we compare the MSGG with PoseGait [17] and GaitGraph [20], where only the estimated skeleton data is taken as input. Although the Gait-Graph performs better at few views in BG and CL, mean accuracies at different probes show the superiority of the proposed MSGG module over other skeleton-based methods under the same 2D pose estimation method (3D Pose used in PoseGait is based on Openpose). Moreover, with the high-quality skeleton data provided by HRNet [23], MSGG obtains impressive results (NM-93.0%, BG-78.1%, CL-68.3%) on CASIA-B for skeleton-based gait recognition. The second and the third blocks of different probes in Table 1 show the performance comparison on CASIA-B for our BiFusion network. Taking advantage of the well-preserved body structure information in skeleton data, the BiFusion network reaches new state-of-the-art performance on CASIA-B (NM-98.7%, BG-96.0%, CL-92.1%). Under the most challenging condition of walking in different clothes, the proposed method improves the rank-1 accuracy on GaitGL [13] by 8.5%. This improvement shows the great potential of utilizing the natural advantages of skeletons to obtain the robustness to cloth changing for gait recognition. OUMVLP The performance comparison on OUMVLP is shown in Table 2. Since the division provided in OUMVLP [48] is not consistent with that in OUMVLP-Pose [18], we conduct the experiment on ST-GCN (baseline) for the comparison with the proposed MSGG network. As shown in Table 2, the MSGG achieves better results under all the probe views, which demonstrates its effectiveness for the skeleton-based gait recognition.
We have noticed that there is a huge performance gap of the proposed MSGG performed on CASIA-B and OUMVLP-Pose. The possible reasons for Table 1 The rank-1 accuracy (%) on CAISA-B across different views, excluding the identical-view cases. Based on the walking condition, probe sequences are grouped into three subsets, i.e., NM, BG, and CL. The 3D Pose [52] takes the 2D poses estimated by Openpose [22]  this phenomenon can be summarized into two aspects. Firstly, considering the huge gaps in the rank-1 accuracies of the proposed MSGG performed on the skeleton data predicted by HRNet [23] compared with that on the skeleton data predicted by Openpose [22] (i.e., NM+8.8%, BG+11.5%, and CL+12.4% in Table 1), the quality of the predicted skeleton data greatly influence the final recognition results. The OUMVLP-Pose used in Table 2 is predicted by Alpha-Pose (OUMVLP-Pose provides the skeleton data predicted by AlphaPose [49]  and Openpose [22]; the reason to choose the skeleton data of AlphaPose is due to its better recognition results for both ST-GCN and MSGG compared with that of Openpose). The poor quality of the skeleton data in OUMVLP-Pose may cause the poor performance of the proposed MSGG in Table 2. Secondly, the small number of frames (roughly averaged at 25) in a skeleton sequence in OUMVLP-Pose may lead to poor performance too. In order to retain most of the data during training, the frame number of a skeleton sequence in a batch is set to 18, which is less than the frame number of a complete gait cycle. Furthermore, the above phenomenon is consistent with the performance gap of the ST-GCN [34] performed on CASIA-B and OUMVLP-Pose (i.e., NM-85.4%, BG-64.2%, and 59.5% for the ST-GCN on CASIA-B and 33.0% for the ST-GCN on OUMVLP-Pose). Furthermore, the proposed BiFusion network improves the mean accuracy on its silhouette module by 1.2%. This is less compared to the improvements in CASIA-B. Considering that the major improvements in CASIA-B are made on CL, the OUMVLP only contains walkings in normal and this may lead to less improvement. Moreover, the poor performance of the AlphaPose [49] and the small number of frames of a sequence (roughly averaged at 25) in OUMVLP-Pose may bring negative effects.

Comparison with the Collaborative Network
In this section, we provide a performance comparison with the Collaborative Network [25] which also combines silhouettes and skeletons but uses additional RGB images and utilizes the skeleton data differently. Specifically, the Collaborative Network uses the skeleton to locate local features on RGB frames while the proposed BiFusion network fully exploits the discriminative gait patterns contained in skeletons. The part-based silhouette features are concatenated to the skeleton-based RGB features in the Collaborative Network and the multi-scale skeleton features in the BiFusion network, respectively. The Collaborative Network conducts experiments on the CASIA-B dataset and provides only the accuracies of CL and BG since it is intended for solving the cloth-changing problem. Under the setting of training with the first 74 subjects and testing with the last 50 subjects, the accuracies of CL and BG for the Collaborative Network are 95.3% and 90.6%, which are lower than

Ablation Study
In this section, we conduct the ablation study to analyze the behaviors of MSGG and BiFusion. The experiments are mainly conducted on CASIA-B which contains the skeleton data of high quality (estimated by HRNet) and covers different walking conditions (NM-normal walking, BG-walking with bags, CL-walking in different clothes). The experimental settings are basically the same as those in Sec. 3 and we report the rank-1 accuracy averaged on all views excluding the identical-view cases for simplicity. Impact of the node partition strategy The first 4 rows in Table 3 compare the performance of different node partition strategies, where three of them are directly taken from the ST-GCN [34]. The proposed Gait temporal partitioning strategy improves the accuracy on CASIA-B by at least +0.3% for NM, +0.3% for BG, and +4.0% for CL.
Impact of the pyramid structure The last 5 rows in Table 3 show the effectiveness of the proposed pyramid structure. In MSGG, there are three branches conducted on three spatial-temporal subgraphs respectively, corresponding to three different scales. The experimental results of the first branch (Joints), the first two branches (Joints+Limbs), and the whole MSGG (Joints+Limbs+Bodyparts) are listed in lines 6, 5, and 4 respectively. It can be seen that the accuracies are constantly improved with the increasing number of branches for both NM (+3.8%) and BG (+5.9%). We have noticed that the accuracies of CL for the first branch (Joints) and the whole MSGG (Joints+Limbs+Bodyparts) are comparable. The accuracy of CL is calculated under the conditions of taking normal walkings as the gallery and taking walkings with different clothes as the probe. The original differences of predicted skeletons across clothes (shown in Fig. 5) are one possible reason for this phenomenon. Since the multi-scale architecture design may bring error accumulation and could not handle this problem well, the gap between estimated skeletons across clothes needs further exploration.
Secondly, the results in the 7 th row are the performance of the network with three joints branches. Except that the three branches are conducted on the joints spatial-temporal subgraph, the experimental settings of the 7 th row are consistent with that of the 4 th row. Therefore, the comparison of the 4 th row and the 7 th row demonstrates the effectiveness of the proposed multiscale skeleton structure. Moreover, we conduct the experiment that turns off the message passing across different scales, i.e., removes the Semantic Pooling operation in the Cross-scale Spatial-Temporal Block, and concatenates the features of different scales (branches) for recognition. Comparing the results in the 4 th row with that in the last row, the cross-scale message passing in MSGG improves the rank-1 accuracy by +2.1% for NM, +5.3% for BG, and +9.7% for CL.
Impact of the bimodal fusion The third block of different probes in Table 1 compares the mean accuracies of the BiFusion with that of its silhouette module (GaitPart). The effectiveness of utilizing the complementary strengths in different modalities for gait recognition is empirically studied. Compared with the silhouette-based GaitPart module, the Bimodal Fusion network improves the rank-1 accuracy by +2.6% for NM, +4.6% for BG, and +12.6% for CL.

Conclusion
In this work, the inherent hierarchical semantics of body joints in a skeleton is leveraged to design a novel Multi-Scale Gait Graph (MSGG) network for capturing intrinsic discrimination of the skeleton data. Different from previous multimodal methods that just employ the skeleton as a locator to assist the local feature extraction on silhouettes or RGB frames, we propose a simple yet effective Bimodal Fusion network that integrates crucial discriminative information retained in both the silhouette and the skeleton for gait identification. Extensive experiments on CASIA-B and OUMVLP demonstrate both the superiority of the proposed MSGG network among skeleton-based methods and the effectiveness of the bimodal fusion for gait recognition.
The flexibility of the GCN-based gait recognition opens up many possible directions for future works on skeleton data, e.g., automatical node partitioning and hierarchy constructing. Furthermore, the combination of features extracted from skeletons and silhouettes shows significant improvements in recognizing gait. It is expected to open up a new research hotspot of mining intrinsic discrimination of different data modalities for gait identification. The fusion of different data modalities and the way to reach a more comprehensive representation of gait remain to be further studied.

Declarations Funding
No funding was received to assist with the preparation of this manuscript.