{'fraction_non_alphanumeric': 0.029389807866095633, 'fraction_numerical': 0.014066244941259675, 'mean_word_length': 4.998585906198445, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 1, '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}}
Multi-Modality Fusion based on Consensus-Voting and 3D Convolution for Isolated Gesture Recognition

Recently, the popularity of depth-sensors such as Kinect has made depth videos easily available while its advantages have not been fully exploited. This paper investigates, for gesture recognition, to explore the spatial and temporal information complementarily embedded in RGB and depth sequences. We propose a convolutional twostream consensus voting network (2SCVN) which explicitly models both the short-term and long-term structure of the RGB sequences. To alleviate distractions from background, a 3d depth-saliency ConvNet stream (3DDSN) is aggregated in parallel to identify subtle motion characteristics. These two components in an unified framework significantly improve the recognition accuracy. On the challenging Chalearn IsoGD benchmark, our proposed method outperforms the first place on the leader-board by a large margin (10.29%) while also achieving the best result on RGBD-HuDaAct dataset (96.74%). Both quantitative experiments and qualitative analysis shows the effectiveness of our proposed framework and codes will be released to facilitate future research.


Introduction
Vision based gesutre recognition has drawn much attention from both the academic and industrial community for its widespread applications, such as human computer interaction and sign language translation and so on. Many methods have been proposed over the last few years [23,14,13,36], which can be classified mainly into two categories: continuous gesture recognition and isolated gesture recognition. The former can be converted to the latter once continous gestures are segmented into seperate ones. * Joint first author † Corresponding author In this paper, we focus on isolated gesture recognition, especially for RGB-D video sequence, an area that has recently come into popularity due to the advancement and availability of depth-sensors such as Kinect. Although a significant amount of efforts have been made in the area of video recognition [17,42,37] for RGB modality, the complementary advantages inherently embedded in RGB-D sequences have largely been ignored. As shown in Fig.1, depth sequence contains structural information from the depth channel and are more capable of dealing with noises from background, clothing, skin color and other external factors, thereby concentrating on the salient regions i.e. gestures. As were pointed out in recent works such as [43,24,34], depth cues could act as important supplement to the original RGB sequence, particularly for datasets that contain subtle inter-class variations. Besides depth information, we also include saliency for inspection. In fact, an impressive performance gain brought about by these two modalities as explained in Section 4 further consolidates our observation.
Our main motivations are: 1) how to reduce estimation variance when it comes to the decision of classifying videos of comprehensive inter-and-intra class vairations; 2) how to design a general and effective framework that is able to take advantage of different modalities.
For the first problem, we notice that unlike other video recognition tasks such as action recognition, which contains relatively rich contextual information of body correlations and interactions, the task of gesture recognition usually involves only the motion of hands and arms. In other words, existing gesture recognition methods [14,13,23] which deal with a limited number of gestures can make very "biased" estimations when it comes to classifiying gesture datasets that involve comprehensive inter-and-intra class variations. Second, current main-stream approaches such as [25,5] usually deal with short-term motions, possibly missing important information from actions that span over a relatively long time. For example, some gestures such as "OK" or number signals involve only motions of a short period while gesticulations denoting forced landing, diving signals or slow motions require temporal modeling of a relatively long sequence.
To solve the aforementioned issue, we propose a novel two stream network (2SCVN) based on the idea of consensus voting adapted from [25,38,7]. It first takes frames sampled from different segments of the sequence according to uniform distribution and stacks their corresponding optical flow fields as input. Compared to dense sampling or pre-defined sampling interval which may be highly redundant, this leads to less computations and ensures that videos which are short or those which involve multiple stages can be completely covered fairly well. These frames are then combined to cover more diversity before being fed into the spatial and temporal streams of 2SCVN for video level predictions. Finally, these predictions are aggregated to reduce estimation variance.
For the second problem, we realize that as human motions are in essense three-dimensional, the information loss in the depth channel could cause degradations to the discriminative capability of feature representation. On the other hand, saliency helps eliminate ambiguity from possible distractions of color camera. To the best of our knowledge, we are the first to perform investigations that highlight spatial and temporal combinations from these two modalities, based on which 3D depth-saliency (3DDSN) fusion scheme is proposed. Eventually, predictions from both 2SCVN and 3DDSN are taken into consideration as the final score. What's worth noticing is that our proposed approach also works surprisingly well for other tasks of video recognition (See Table 3), demonstrating the effectiveness and generalization ability of our framework.
The proposed framework is shown in Fig.2 Figure 3. 2SCVN is based on the idea of consensus voting, where its spatial and temporal stream sample RGB images and its stacked optical flow fields from different segments of a sequence according to a uniform distribution. Consensus from these frames as well as their augmented counterparts are taken as "votes" for the predictions.
from backgrounds, noises and other external factors.
4. Our approach performs particularly well not only for RGB-D gesture recognition but also for human daily action recognition, achieving the best results on ChaLearn IsoGD [36] and RGBD-HuDaAct [18] benchmarks.
The remainder of this paper is organized as follows: Section 2 is an review of related works. Our unified framework is illustrated in Section 3 and validated in Section 4 respectively. Section 5 concludes the paper.

Related Work
In this section, we first introduce some works for gesture recognition deploying hand-crafted features, then we review works related to ours both in the field of gesture and action recognition that conduct research on different modalities and convolutional networks.
Many hand-crafted features have been proposed for video analysis in the area of gesture recognition [28,39,2,31,35]. For example, Wan et al [34] extracted a novel spatiotemporal feature named MFSK while [32] proposed to calculate SIFT-like descriptors on 3D gradient and motion spaces respectively for RGB-D video recognition. Dardas et al [2] recognized hand gestures via bag-of-words vector mapped from extracted keypoints using SIFT and a multiclass SVM was trained as gesture classifier.
Recently, the convolutinal neural networks [12] have been introduced to the field of gesture and action recognition due to its rich capacity for representation [13,19,14]. Additionally, the rapid emergence of depth-sensor has made it economically feasible to capture both color and depth videos, providing motion information as well as three-dimensional structual information. This significantly reduces motion ambiguity when projecting the three-dimensional motion onto the two-dimensional image plane [18,24,33]. For example, Molchanov et al [13] pro-poses to use depth and intensity data with 3D convolutional networks for gesture recognition. Nishida et al [19] proposes a multi-stream recurrent neural network that can be trained end to end without domain-specific hand engineering while [14] combines 3DCNN with RNN for online gesture detection and classification. Ohn-Bar et al [20] first detects a hand in the region of interaction and then combines RGB and depth descriptor for classification. Neverova et al [16] proposes a multi-modal architecture that operates at 3 temporal scales corresponding to dynamic poses for gesture localization.
In the camp of action recognition, Karpathy et al [10] extended CNNs into video classification on a large-scale dataset of 1 million videos (Sports-1M). Donahue et al. [5] embraced recurrent nerual networks to explicitly model the complex temporal dynamics. Tran et al. [30] proposed to simultaneously extract the spatio-temporal features with deep 3D Convolutional Neural Networks (3D-CNN) followed by a SVM classifier for classification. Simonyan et al. [25] designed an architecture that captures the complementary information on appearance and motion between frames. Based on which, Feichtenhofer et al. [7] studied several levels of granularity in feature abstraction to fuse spatial and temporal cues.

Two Stream Consensus Voting Network
As is pointed out in Introduction, the bottleneck for improving the performance of large-scale gesture recognition lies in: 1) comprehensive inter-and-intra class variations; 2) long-term modeling of motions from sequences of variable length. Here we base our method on top of mainstream approaches [25,7] and adopts an Consensus Voting Strategy to reduce estimation variance.
Consensus Voting Strategy: The structure of 2SCVN is illustrated in Fig.3. We formalize the operations by convolutional networks as F parameterized by θ: where an input snippet τ of sequential length m ≥ 1 with t channels of size h × w pixels is transformed into a vector f . Then, we apply softmax function g : l → l on top of vector f where the i th dimension indicates the probability of the snippet belonging to class i. Therefore, given an input video V of T snippets, we can calculate [p(c 1 |τ j ), p(c 2 |τ j )...p(c l |τ j )] T , the probability with respect to each category for snippet τ j . By stacking these predictions together, we get the following matrix: where each column is the class predictions of each snippet and each row being the class-specific predictions from T snippets. The aggregation function (voting) h : l×T → l then combines the predictions from each snippet along the horizontal axis to output the probability of the whole video V with respect to each class. Therefore, the predicted label for video V is Note that the choice of h is still an open question and is determined by each specific task, here we have tried out Max and Mean funciton in Section 4.2.
Using the prediction of video V for each class, we deploy the standard categorical cross-entropy loss to train our network: where l is the number of categories and y i the ground truth label concerning class i. Each network parameter with respect to the loss fuction is updated by stochastic gradient descent with a momentum µ = 0.9. Each parameter in the network θ ∈ ω is updated at every iteration step t by where λ is the learning rate, γ is the weight decay parameter and < δL/δθ> batch is the gradient of cost function L with respect to parameter θ averaged over the mini-batch. To prevent gradient explosion, we apply a soft gradient clipping operation η [21].
Implementations: We conducted experiments on Inception [29] with respect to the choice of ConvNet architecture due to its good balance between efficiency and accuracy. However, training deep networks is challenged by the risk of over-fitting as current datasets for video recognition are relatively small compared to other computer vision tasks such as image classification. A common practice is to initialize the weights with pre-trained models on Ima-geNet [4]. To further mitigate the problem, we also adopted batch-normalization [8] and dropout [27] layer for regularization. Data augmentation is also employed to cover the diversity and variability of training samples. Besides random cropping and horizontal flipping, we also adapted the scale-jittering cropping technique [26] to involve not only jittering of scales but also aspect ratios.
The optical flow fields are acquired using [40]. We use Caffe [9] to train our networks. The learning rate is set to 0.1 and decreases to its 1/10 for every 1500 iterations, lasting for over 20 epochs. It takes about 6 hours and 22 hours for training the spatial and temporal stream respectively on ChaLearn IsoGD with 2 TITANX GPUs.

3D Depth-Saliency Network
Network Architecture: We base our method on top of 3D convolutional kernel proposed by Tran et al [30] while getting rid of the orginal Linear SVM configuration to train in an end to end manner. Compared to previous deep architectures, 3D CNNs are capable of encoding the spaital and temporal information in the data without requiring additional temporal modeling. Fig. 4 shows the structure of 3DDSN.
Specifically, we propose to combine depth and saliency stream, based on the observation that depth incorporates 3dimensional structural information that RGB doesn't while saliency helps reduce the influence from backgrounds and other noises so as to focus on the salient regions, see Fig.1 for illustration. Each stream consists of eight 3D convolutional layers, each with a nonlinear Relu layer followed by five 3D Max Pooling layer. More formally, the 3D convolutional layer of the spatial-temporal CNN is defined as where x and y define the pixel position for a given frame F t . Then, nonlinearities are injected with Rectified linear unit, followd by the 3D pooling layer, defined as follows Let χ = {V 0 , V 1 , ..., V B } be a mini-batch of training samples and ω be the network's parameters. During training, we append a softmax prediction layer to the last fullyconnected layer and finetune back-propagation with negative log-likelihood to predict classes from individual video where p(c (i) |V (i) ) is the probability of class label c (i) given video V (i) as predicted by 3DCNN. Finally, the predictions from the depth and saliency stream are fused to give the eventual label.
Implementations: Saliency images are extracted using [1]. We first re-sampled each sequence to 32 frames using nearest neighbour interpolation by droping or repeating frames [15]. Given each frame F t , volumes are constructed using its surrouding 32 frames (F t−15:t+16 ) with the label being the gesture occuring at its central frame. The spatial-temporal kernel size is set to 3 × 3 × 3 in our experiments and the sacle of the pooling is set to 2 × 2 × 2 for all but the first layer. Addionally, the generalization ability of deep learning methods relies heavily on the data it trains on. In the specific task of gesture recognition, we observe that users might randomly choose their left or right hands while performing a gesture without changing the meaning, thus we adopt horizontal flipping as agumentation technique to incorporate this varaiability. The network is finetuned on sports-1M model with base learning rate of 0.0001 (decrease to its 1/10 every 5000 stepsize) for 100K iterations. It needs about 2 days to finetune and update parameters and takes about 8G graphic memory for each modality.

Experiments
To tap the full potential of our unified framework for RGB-D gesture recognition, we have explored extensively with various settings to examine how each component influences the final performance and experimented a number of good practices in terms of data augmentation, regularization and model fusion. We also visualize the confusion matrix, to give an intuitive analysis.

Datasets
RGB-D gesture recognition datasets suitable for evaluation of deep-learning based methods are very rare. Therefore, besides evaluations on ChaLearn IsoGD gesture recognition dataset [36], we also conducted experiments on RGBD-HuDaAct [18], one of the largest RGB-D action recognition datasets, where our proposed approach beat other methods, achieving state-of-the-art results.
Chalearn IsoGD: The CharLearn LAP RGB-D Isolated Gesture Dataset (IsoGD) contains 47933 RGB-D twomodality video sequences manually labeled into 249 categories, of which 35878 samples belong to the training set. Each RGB-D video represents one gesture instance, having 249 gesture labels performed by 21 different individuals. The IsoGD benchmark is one of the latest and largest RGB-D gesture recognition benchmarks and has a clear evaluation protocol, upon which the 2016 ChaLearn LAP Large-scale Isolated Gesture Recognition Challenge has been held [6]. For the following evaluations, we conduct our experiments and report our accuracies on this dataset if not specifically mentioned.
RGBD-HuDaAct: The RGBD-HuDaAct database aims to encourage research efforts on human activity recognition on multi-modality sensor combination and each video is synchronized with color and depth streams. It contains 1189 samples of 13 activity classes (including background videos which are added to the exsiting 12 classes) performed by 30 volunteers with rich intra-class variations for each activity representation.
In the following subsections, we follow the pipeline of Algorithm 1 for testing of our proposed approach.

Aggregation Function Discussion
In this subsection, we focus on discussions related to 2SCVN. As is mentioned in Section 3.1, aggregation function used for "voting" h is an open problem and is determined by a specific task. Here we empirically evaluted two kinds of functions, max and mean. Table 1 shows the accu-  From Table 1, we can draw the following conclusions: 1) The performance of temporal stream is higher compared to spatial stream, which is reasonable because the spatial stream only captures actions at a fixed frame while the temporal stream takes into consideration motions at different time steps; 2) In terms of "voting", max aggregation seems to be more effective than mean aggregation and we leave other aggregation approaches as future work for related fields; 3) Compared to each modality, the combination of spatial and temporal stream leads to improvement in performance.

Fusion Schemes
In this subsection, we focus on discussions related to 3DDSN and explored the following questions: 1) How do depth, saliency perform individually; 2) Whether feature fusion does better than score fusion; 3) Any need for pre-processing before fusion? We conduct experiments on the Chalearn IsoGD benchmark using the aforementioned network configuration for each stream and explored their combinations. Table 2. Accuracies of different modalities on ChaLearn IsoGD, "-" indicates that softmax is not used while"+" indicates vice-versa. D is short for Depth while S for saliency.

3DCNN
Depth We trained the mainstream 3D + SVM approach [30] as our baseline and used the same network architecture mentioned above, except that the spatial-temporal features from depth and saliency streams were concatenated to train the SVM classifier. The training of SVM takes about 6 hours and the accuracy on IsoGD [36] is 53.60%. Table 2 reports the highest accuracies on IsoGD benchmark of different modalities and their combinations according to the evaluation protocol. The following conclusions can be derived: 1) Depth seems to be the more effective and discriminative than saliency; 2) Although for one modality, whether or not using softmax to convert the output to range [0 − 1] yields the same accuracy, it generally reports higher accuracies for modality fusion without the "softmax" pre-processing. This is perhaps that the conversion reduces variance of features, thus abating the discriminative ability of model ensemble; 3) Compared with 3D + SVM baseline which employes feature-level fusion, score fusion seems to be more preferable, since features from different modalities may have very different distributions, therefore simple concatenation is not valid.

How does depth matter?
Besides recognition accuracies, to get a full appreciation of the potential from depth information, we compared RGB and RGB + Depth model trained using the architecture mentioned in Section 3.2 and counted the changes after fusing the depth into rgb stream and depth bring changes to "Correct" and "Error".
A big "Correct/Error" means that depth brings positive/negative effect on RGB stream while zero means depth has no effect on the final prediction of that class. As shown in Fig.5, RGB stream works well in the range of 110 − 140, however there are some class ranges such as 90 to 100, we have seen a huge improvement in terms of correct changes brought about by depth stream. The higher the green line ("Correct"), the more samples which have originally been predicted wrong are now correct. As the height of the green line is generally higher than that of red line, it confirms that depth indeed provides important supplementary infor-  mation to RGB stream. Note that as the RGB stream of 3DDSN performs worse than that of 2SCVN, therefore this stream is not adopted in our final framework. From Classes such as 9 in RGB stream ( Fig.6(a)) are not misclassified while there exist some confusions in RGB-Flow ( Fig.6(b)). On the other hand, classes such as 11 which are confused in RGB stream perform relatively well in RGB-Flow. Thus, the spatial and temporal information actually supplements each other.

Visualization of Confusion Matrix
The confusion matrix of Depth and Saliency stream from 3DDSN on ChaLearn IsoGD are shown in Fig.6(c) and Fig.6(d) respectively. Fig.6(e) shows the confusion matrix of our proposed approach after modality fusion, which is obviously better than seperate streams. Note that we only displayed the first 20 categories due to page size and the whole confusion matrix are available in supplementary materials.

Qualitative Results
Example recognition results are shown in Fig.8 where the prediction distribution together with its confidence is displayed. We also show the ground-truth and top-3 predicted labels of each recognition result. As can be seen from the figure, our proposed approach correctly recognizes most of the gestures and attains pretty good accuracy even under challenging scenarios. However, the forth video in the first row is mis-classified because the first prediction (4th video) is very similar to ground-truth (3rd video).

Comparison with State of the Art
We compare our proposed approach with competitors ranking top on the leaderboard of ChaLearn IsoGD benchmark [6,36] and state-of-the-art results on RGB-HuDaAct [18] datasets. We also tested each modality of our proposed framework as well as their combinations. Final results are summarized in Table 3.
On ChaLearn IsoGD, hand-crafted features such as MFSK [34] as well as its variant which combines DeepID feature [36] scores relatively low compared to deep learning based methods such as AMRL [22] which incorporates three representations DDI, DDNI and DDMNI based on bidirectional rank pooling and ICT [41] which trains a twostream RNN for RGB and depth stream respectively.
2SCVN-RGB achieves an accuracy of 45.65% which is pretty good considering that it only uses one modalitity and that it only encodes static information. 2SCVN-Flow ac-  Figure 8. Qualitative recognition results of our proposed approach on ChaLearn IsoGD (1st row) and RGB-D HuDaAct (2nd row) benchmarks. Bars colored blue indicate ground truths while green indicate correct and red wrong. The length of the bar represents confidence.
quires a huge gain in performance as it captures motion information through stacked optical flow fields, which is reasonable because the accuracy of video recognition relies on the extent of understanding of the whole sequence. This is also what motivates us to explore consensus voting, a strategy that models the long term structure of the whole sequence to reduce estimation variance. The accuracy of 2SCVN-Fusion is further boosted as it combines the merits from spatial (2SCVN-RGB) and temporal stream (2SCVN-Flow). The performance of 3DDSN-Depth and 3DDSN-Sal are really impressive as they all score high compared to competing algorithms, due to rich representation capability of 3D convolution. Finally, although 2SCVN-Fusion scores rather high, the performance gain brought about 3DDSN after integration is still remarkable (over 6%). This is in accordance with our observation that depth and saliency is supplementary to RGB modality. As can seen from Table 3, our proposed approach outperforms other competing algorithms by a large margin with over 10% and 15% accuracy on ChaLearn IsoGD and RGB-D HuDaAct respectively.

Conclusions and Future Work
In this paper, we have proposed a multi-modality framework for RGB-D gesture recognition that achieves superior recognition accuracies. Specifically, 2SCVN based on the strategy of consensus voting is employed to model long term video structure and reduce estimation variance while 3DDSN composed of depth and saliency streams are aggregated in parellel to capture embedded information supplementary to RGB modality. 3D-RGB stream is not adopted as it is inferior to 2SCVN. We also notice the possibility of employing 2SCVN on other modalities such as depth, depth-flow or saliency and we leave it as future work. Extensive experiments show the effectiveness of our framework and codes would be realsed to facilitate future research.