Spatio-Temporal Channel Correlation Networks for Action Classification

Spatio-Temporal Channel Correlation Networks for Action Classification


The work in this paper is driven by the question if spatio-temporal correlations are enough for 3D convolutional neural networks (CNN)? Most of the traditional 3D networks use local spatio-temporal features. We introduce a new block that models correlations between channels of a 3D CNN with respect to temporal and spatial features. This new block can be added as a residual unit to different parts of 3D CNNs. We name our novel block ’Spatio-Temporal Channel Correlation’ (STC). By embedding this block to the current state-of-the-art architectures such as ResNext and ResNet, we improved the performance by 2-3% on Kinetics dataset. Our experiments show that adding STC blocks to current state-of-the-art architectures outperforms the state-of-the-art methods on the HMDB51, UCF101 and Kinetics datasets. The other issue in training 3D CNNs is about training them from scratch with a huge labeled dataset to get a reasonable performance. So the knowledge learned in 2D CNNs is completely ignored. Another contribution in this work is a simple and effective technique to transfer knowledge from a pre-trained 2D CNN to a randomly initialized 3D CNN for a stable weight initialization. This allows us to significantly reduce the number of training samples for 3D CNNs. Thus, by fine-tuning this network, we beat the performance of generic and recent methods in 3D CNNs, which were trained on large video datasets, e.g. Sports-1M, and fine-tuned on the target datasets, e.g. HMDB51/UCF101. 1

1 Introduction

Compelling advantages of exploiting temporal rather than merely spatial cues for video classification have been shown lately [1, 2, 3]. In recent works, researchers have focused on improving modeling of spatio-temporal correlations. Like 2D CNNs, 3D CNNs try to learn local correlation along input channels. Therefore, 3D CNNs neglect the hidden information in between channels correlations in both directions: space and time, which limits the performance of these architectures. Another major problem in using 3D CNNs is training the video architectures calls for extra large labeled datasets. All of these issues negatively influence their computational cost and performance. To avoid these limitations, we propose (i) a new network architecture block that efficiently captures both spatial-channels and temporal-channels correlation information throughout network layers; and (ii) an effective supervision transfer that bridges the knowledge transfer between different architectures, such that training the networks from scratch is no longer needed.

Motivated by the above observations, we introduce the spatio-temporal channel correlation (STC) block. The aim of this block is considering the information of inter channels correlations over the spatial and temporal features simultaneously. For any set of transformation in the network (e.g. convolutional layers) a STC block can be used for performing spatio-temporal channel correlation feature learning.The STC block has two branches: a spatial correlation branch (SCB) and a temporal correlation branch (TCB). The SCB considers spatial channel-wise information while TCB considers the temporal channel-wise information. The input features are fed to SCB and TCB. In SCB a spatial global pooling operation is done to generate a representation of the global receptive field which plays two vital roles in network: (i) considering global correlations in by aggregating the global features over the input, (ii) providing a channel-wise descriptor for analyzing the between channels correlations. This channel-wise feature vector is then fed to two bottleneck fully connected layers which learn the dependencies between channels. The same procedure happens in TCB, however, for the first step a temporal global pooling is used instead of the spatial global pooling. Output features of these two branches are then combined and returned as the output of the STC block. These output features can be combined with the output features of the corresponding layer(s). By employing such features along-side traditional features available inside a 3D CNN, we enrich the representation capability of 3D CNNs. Therefore, the STC block equipped 3D CNNs are capable of learning channel wise dependencies which enables them to learn better representations of videos. We have added the STC block to the current state-of-the-art 3D CNN architectures such as 3D-ResNext and 3D-ResNet [4]. The STC block is inserted after each residual block of these networks.

As mentioned before, training 3D CNNs from scratch need a large labeled dataset. It has been shown that training 3D Convolution Networks  [2] from scratch takes two months [5] for them to learn a good feature representation from a large scale dataset like Sports-1M, which is then finetuned on target datasets to improve performance. Another major contribution of our work therefore is to achieve supervision transfer across architectures, thus avoiding the need to train 3D CNNs from scratch. Specifically, we show that a 2D CNN pre-trained on ImageNet can act as ’a teacher’ for supervision transfer to a randomly initialized 3D CNN for a stable weight initialization. In this way we avoid the excessive computational workload and training time. Through this transfer learning, we outperform the performance of generic 3D CNNs (C3D [2]) which was trained on Sports-1M and finetuned on the target datasets HMDB51 and UCF101.

The rest of the paper is organized as follows. In Section 2, we discuss related work. Section 3 describes our proposed approaches. The implementation details, experimental results and their analysis are presented in Section 4. Finally, conclusions are drawn in Section 5.

2 Related Work

Video Classification with and without CNNs: Video classification and understanding has been studied for decades. Several techniques have been proposed to come up with efficient spatio-temporal feature representations that capture the appearance and motion propagation across frames in videos, such as HOG3D [6], SIFT3D [7], HOF [8], ESURF [9], MBH [10], iDTs [11], and more. These were all hand-engineered. Among these, iDTs yielded the best performance, at the expense of being computationally expensive and lacking scalability to capture semantic concepts. It is noteworthy that recently several other techniques [12] have been proposed that also try to model the temporal structure in an efficient way.

Using deep learning, the community went beyond hand-engineered representations and learned the spatio-temporal representations in an end-to-end manner. These methods operate on 2D (frame-level) or 3D (video-level) information. In the 2D setting, CNN-based features of individual frames are modeled via LSTMs/RNNs to capture long-term temporal dependencies [13, 3], or via feature aggregation and encoding using Bilinear models [1], VLAD [14], Fisher encoding [15] etc. Recently, several temporal architectures have been proposed for video classification, where the input to the network consists of either RGB video clips or stacked optical-flow frames. The filters and pooling kernels for these architectures are 3D (x, y, time). The most intuitive are 3D convolutions ([3] where the kernel temporal depth corresponds to the number of frames used as input, and is the kernel spatial size. Simonyan et al. [16] proposed a two-stream network, cohorts of RGB and flow CNNs. In their flow stream CNNs, the 3D convolution has set to 10. Tran et al. [2] explored 3D CNNs with filter kernel of size . Tran et al. in [5] extended the ResNet architecture with 3D convolutions. Feichtenhofer et al. [17] propose 3D pooling. Sun et al. [18] decomposed the 3D convolutions into 2D spatial and 1D temporal convolutions. Carreira et al. [19] proposed converting a pre-trained 2D Inception-V1 [20] architecture to 3D by inflating all the filters and pooling kernels with an additional temporal dimension . They achieve this by repeating the weights of 2D filters times for weight initialization of 3D filters. All these architectures neglect the channel wise information throughout the whole architecture. To the best of our knowledge, our STC block is the first 3D block that integrates channel wise information over 3D networks’ layers.

Transfer Learning: Finetuning or specializing the learned feature representations of a pre-trained network trained on another dataset to a target dataset is commonly referred to as transfer learning. Recently, several works have shown that transferring knowledge within or across modalities (e.g. RGBRGB [21] vs. RGBDepth [22], RGBOptical-Flow [22, 23], RGBSound [24], Near-InfraredRGB [25]) is effective, and leads to significant improvements in performance. They typically amount to jointly learning representations in a shared feature space. Our work differs substantially in scope and technical approach. Our goal is to transfer supervision across architectures (i.e. 2D3D CNNs), not necessarily limited to transferring information between RGB models only, as our solution can be easily adopted across modalities too.

3 Proposed Method

Our approach with the newly proposed neural block, STC, is to capture different and new descriptor and information in deep CNNs from videos. The spatio-temporal channel correlation block is meant to extract relations between different channels in the different layers of 3D CNNs. The STC block considers these relations in space and time dimensions. In addition, as another major contribution of our work, we show knowledge transfer between cross architectures (i.e. 2D3D CNNs), thus avoiding the need to train 3D CNNs from scratch. Details about the transfer learning is given in Section 3.2.

Figure 1: STC-ResNet. Our STC block is applied to the 3D ResNet. The 3D network uses video clips as input. The 3D feature-maps from the clips are densely propagated throughout the network. The STC operates on the different levels of feature maps in the network to extract spatial and temporal channel relations as new source of information. The output of the network is a video-level prediction.

3.1 Spatio-Temporal Channel Correlation (STC) Block

STC is a computational block which can be added to any 3D CNN architecture. Therefore, we have added our STC block to the ResNet and ResNext 3D CNNs introduced by [4]. After each convolutional block in ResNet and ResNext the STC blocks are inserted to enrich the feature representation. As it was mentioned previously, this new block is exploiting both spatial and temporal information by considering the filters correlation in both spatial and temporal dimension. As input to the STC block, we consider feature maps coming from previous convolution layers.

The STC block has a dual path structure which represents different level of concept and information. Each of these paths have different modules; channel or filter information embedding and capturing dependencies. To implement we inspired by Squeeze-and-Excitation [26] method and used global average pooling (spatial and temporal) following with two bottleneck fully connected layers and sigmoid activation. In contrast to [26], the STC block has two branches or in other word is dual path; one considering pure channel-wise information and the other takes temporal channel-wise information. Since we are solving video classification, it makes sense to extract more meaningful representations in both spatial and temporal approaches. The STC is capturing channel dependencies information based on this theory. In the following we describe both branches and their contribution to the known 3D architectures like 3D-ResNet [4].

Notation. The output feature-maps of the 3D convolutions and pooling kernels at the layer extracted for an input video is a tensor where , , and are the height, width, temporal depth and number of channels of the feature maps, resp. The 3D convolution and pooling kernels are of size (), where is the temporal depth and is the spatial size of the kernels.

Temporal Correlation Branch (TCB): In this path the feature map will be squeezed by both spatial and temporal dimensions to extract channel descriptors. If we consider as the input to STC, the output of the first stage, which is a global spatio-temporal pooling is:


To obtain the filters non-linear relations, we apply two fully connected layers. The feature dimension is reduced in the first FC layer to (r is reduction ratio) and is increased again to by the second FC layer. Since we used global spatial-temporal pooling over all dimensions of receptive fields, in the next operation, channel-wise information will be extracted. Right after the sigmoid function, the output of the temporal branch () will be calculated by rescaling using vector. So , output of bottleneck layers, and , the branch output, are calculated as this way:


is the parameter set for the bottleneck layers, including , which are FC layers parameters respectively. is the symbol of fully-connected functions to calculate the .

Spatial Correlation Branch (SCB): The main difference in this branch against the temporal branch is in the aggregation method. The spatial branch shrinks the channel-wise information with respect to the temporal dimension and does global spatial pooling on the input feature map. Therefore this branch is considering the temporal-channel information extraction to enrich the representation in each layer. The calculation of the first operation of the branch comes as following:


After the pooling layer, we obtain which is a vector with size of . Afterward, there are the fully connected layers to extract the temporal based channel relations. In this branch the first FC layer size is . and second FC size is . Here is the computation description:


which and . By considering both of the branches, the final output of the block () is computed by averaging over the and . In the case of 3D ResNet or ResNext, this output will be added to the residual layer to have the final output of the Convolution (Conv) blocks.

Layers Output Size 3D-ResNet101 3D STC-ResNet101 3D STC-ResNext101
3D Convolution conv, stride 2
3D Pooling max pool, stride 1

avg pool
Layer 400D softmax

Table 1: 3D ResNet vs. STC-ResNet and STC-ResNext. All the proposed architectures incorporate 3D filters and pooling kernels. Each convolution layer shown in the table corresponds the composite sequence BN-ReLU-Conv operations.

3.2 Knowledge Transfer

In this section, we describe our method for transferring knowledge between architectures, i.e. pre-trained 2D CNNs to 3D CNNs. Therefore we bypass the need to train the 3D CNNs from scratch with supervision or training with large datasets.

Figure 2: Architecture for knowledge transfer from a pre-trained 2D CNN to a 3D CNN. The 2D network operates on RGB frames, and the 3D network operates on video clips for the same time stamp. The 2D CNN acts as a teacher for knowledge transfer to the 3D CNN, by teaching the 3D CNN to learn mid-level feature representation by solving an image-video correspondence task. The model parameters of the 2D CNN are frozen, while the task is to effectively learn the model parameters of the 3D CNN only.

Lets assume is a pre-trained 2D CNN which has learned a rich representation from labeled images dataset, while being a 3D CNN which is randomly initialized using [27] and we want to transfer the knowledge of the representation from to for a stable weight initialization. This allows us to avoid training from scratch, which has million more parameters, and would require heavy computational workload and training time of months [5]. In the current setup, acts as a teacher for knowledge transfer to the architecture.

Intuitively, our method uses correspondence between frames and video clips available by the virtue of them appearing together at the same time. Given a pair of frames and video clip for the same time stamp, the visual information in both frames and video are same. We leverage this for learning mid-level feature representations by an image-video correspondence task between the 2D and 3D CNN architecture, as depicted in Figure 2. We use 2D ResNet  [28] pre-trained on ImageNet [29] as , and STC-ResNet network as . The 2D ResNet CNN has 4 convolution blocks and one fully connected layer at the end, while our 3D architecture has 4 3D-convolution blocks with an STC block and we add a fully-connected layer after the last block. We concatenate the last layers of both architectures, and connect them with the 2048-dimensional fc layer which is in turn connected to two fully connected layers with 512 and 128 sizes (fc1 , fc2) and to the final binary classifier layer. We use a binary matching classifier: given frames and a video clip, decide whether the pairs belong to each other or not. For a given pair, frames are fed sequentially into the network and we average the last 2D fc features over the frames, resulting into 1024-D feature representation. In parallel the video clip is fed to the network , and we extract the 3D fc features (1024-D), and concatenate them, which is then passed to the fully connected layers for classification. For training, we use a binary classification loss.

During the training, the model parameters of are frozen, while the task is to effectively learn the model parameters of without any additional supervision than correspondences between frames and video. The pairs belonging to the same time stamp from the same video are positive pairs, while the pairs coming from two different videos by randomly sampling frames and video clips from two different videos is a negative pair. Note that, during back-propagation, only the model parameters for are updated, i.e., transferring the knowledge from to . In our experiments we show that a stable weight initialization of is achieved, and when fine-tuned on the target dataset, allows the model to adapt quickly to the target dataset, thus avoiding training the model from scratch with improved performance. We also show that by using our proposed knowledge transfer method, 3D CNNs can be trained directly on small datasets like UCF101 and achieve a better performance than training from scratch.

Since our transfer learning is unsupervised and there is no need of video label, we have applied on a collection of unlabeled videos. Further, our experiments in Section 4 demonstrate that our proposed transfer learning of STC-ResNext outperforms the generic 3D CNNs by a significant margin which was trained on large video dataset, Sports-1M [30] and finetuned on the target datasets, HMDB51/UCF101.

4 Experiments

In this section, we first introduce the datasets and implementation details of our proposed approach. Afterwards, we demonstrate an extensive study on the architecture of the proposed STC-ResNet and STC-ResNext which are 3D CNNs, and then the configurations for input data. Following, we evaluate and compare our proposed methods with the baselines and other state-of-the-art methods. Finally, we compare our transfer learning: CNN performance with generic state-of-the-art 3D CNN methods. For the ablation study of architecture and configurations of input data, we report the accuracy of split 1 on UCF101.

4.1 HMDB51, UCF101, and Kinetics Datasets

We evaluate our proposed method on three challenging video datasets with human actions, namely HMDB51 [31], UCF101 [32], and Kinetics [19]. Table 2 shows the details of the datasets. For all of these datasets, we use the standard training/testing splits and protocols provided as the original evaluation scheme. For HMDB51 and UCF101, we report the average accuracy over the three splits and for Kinetics, we report the performance on the validation and test set.

Kinetics: Kinetics is a new challenging human action recognition dataset introduced by [19], which contains 400 action classes. There are two versions of this dataset: untrimmed and trimmed. The untrimmed videos contain the whole video in which the activity is included in a short period of it. However, the trimmed videos contain the activity part only. We evaluate our models on the trimmed version. We use the whole training videos for training our models from scratch. Our results for both the STC-ResNet101 and STC-ResNext101 models are reported in the Table 8.

UCF101: For evaluating our STC-Nets architectures, we first trained them on the Kinetics dataset, and then fine-tuned them on the UCF101. Furthermore, we also evaluate our models by training them from scratch on UCF101 using randomly initialized weights to be able to investigate the effect of pre-training on a huge dataset, such as Kinetics.

HMDB51: Same as UCF101 evaluation we fine-tune the models on HMDB51, which were pre-trained from scratch on Kinetics. Similarly, also we evaluate our models by training them from scratch on HMDB51 using randomly initialized weights.

Data-set # Clips # Videos # Classes
HMDB51 [31] 6,766 3,312 51
UCF101 [32] 13,320 2,500 101
Kinetics [19] 306,245 306,245 400
Table 2: Details of the datasets used for evaluation. The ‘Clips’ shows the total number of short video clips extracted from the ‘Videos’ available in the dataset.

4.2 Implementation Details

We use the PyTorch framework for 3D CNNs implementation and all the networks are trained on 8 Tesla P100 NVIDIA GPUs. Here, we describe the implementation details of our two schemes, 3D CNNs and knowledge transfer from 2D to 3D CNNs for stable weight initialization.


STC-Nets. We train our STC-Nets (STC-ResNet/ResNext) from scratch on Kinetics. Our STC-Net operates on a stack of 16/32 RGB frames. We resize the video to 122px when smaller, and then randomly apply 5 crops (and their horizontal flips) of size . For the network weight initialization, we adopt the same technique proposed in [27]. For the network training, we use SGD, Nesterov momentum of 0.9, weight decay of and batch size of 128. The initial learning rate is set to 0.1, and reduced by a factor of 10x manually when the validation loss is saturated. The maximum number of epochs for the whole Kinetics dataset is set to 200. Batch normalization also has been applied. Also the reduction parameter in STC blocks, is set to 4.


For video prediction, we decompose each video into non-overlapping clips of 16/32 frames. The STC-Net is applied over the video clips by taking a center-crop, and finally we average the predictions over all of the clips to make a video-level prediction.

Knowledge Transfer: CNNs. We employ 2D ResNet and ResNext architectures, pre-trained on ImageNet [29],while the 3D CNN is our STC-ResNet and 3D-ResNet network. To the 2D CNN, 16 RGB frames are fed as input. The input RGB images are randomly cropped to the size , and then mean-subtracted for the network training. To supervise transfer to the STC-ResNet, we replace the previous classification layer of 2D CNN with a -way softmax layer to distinguish between positive and negative pairs. We use stochastic gradient descent (SGD) with mini-batch size of 32 with a fixed weight decay of and Nesterov momentum of 0.9. For network training, we start with learning rate set to 0.1 and decrease it by a factor of 10 every 30 epochs. The maximum number of epochs is set to 150.

4.3 Ablation Study on Architecture Design

To evaluate our STC block on 3D CNNs model, we conducted an architecture study and evaluated different configurations. For this work, we mainly focused on 3D versions for ResNet and ResNext with different input size and depth. Our choice is based on the recently presented nice performance of these networks in video classification [4].

Model Depth:

We first analyze the impact of the architecture depth with 3D-ResNet and 3D-ResNext and we have done a series of evaluations on the network-size, and temporal-depth of input data to the network with the new STC block. For the architecture study, the model weights were initialized using [27].

We employ three different sizes of 3D STC-ResNet; 18, 50, 101 with STC blocks. Evaluations results of these 3D STC-ResNet models are reported in the Table 3. As it can be observed, by adding small overhead of STC blocks, STC-Nets can achieve reasonable performance even in smaller version of ResNet, since our STC-ResNet50 is comparable with regular ResNet101.

Model Depth Accuracy %
3D-ResNet 101 46.7
STC-ResNet 18 42.8
STC-ResNet 50 46.2
STC-ResNet 101 47.9
Table 3: Evaluation results of 3D STC-ResNet model with network sizes of 18, 50, and 101 on UCF101 split 1. All models were trained from scratch.

Temporal depth of series of input frames plays a key role in activity recognition tasks. Therefore, we have reported the performance of our 3D STC-ResNet with different configuration of temporal depths in the Table 4. Our evaluation shows the fact that longer clips as input will yield better performance, and similarly also presented the same fact in [4, 19].

Temporal Depth Accuracy %
16 45.6
32 47.9
Table 4: Evaluation results of 3D STC-ResNet model with temporal depths of 16 and 32 on UCF101 split 1. All models were trained from scratch.


We also have studied the impact of the TCB and SCB branches in our STC-Nets. Since each of them consider different concepts in the branch, we evaluated the performance in three settings: SCB only, TCB only, and SCB-TCB combination (STC). In the Table 5, the importance of the channel correlation branches is shown. As it is shown, incorporating both branches to capture different descriptors is performing better than single cases.

Channel Correlation Branch Accuracy %
SCB 46.1
TCB 47.2
TCB + SCB 47.9
Table 5: Performance comparison using different channel correlation blocks (TCB vs SCB).

Frame Sampling Rate:

Finding right configuration of input-frames which are fed to the CNNs for capturing the appearance and temporal information plays a very critical role in temporal CNNs. For this reason, we investigated frame sampling rate for the input stream. The STC-ResNet101 has been used for ablation study on frame sampling rate for training and testing phase. We evaluate the model by varying the temporal stride of the input frames in the following set {1, 2 ,4, 16}. Table 6 presents the accuracy of STC-ResNet101 trained on inputs with different sampling rates. The best results are obtained with sampling rate of 2, which we also used for other 3D CNNs in the rest of the experiments: STC-ResNet101 and 3D-ResNet101.

Input Stride 1 2 4 16
Accuracy % 44.6% 47.9% 46.8% 40.3%
Table 6: Evaluation results of different frame sampling rates for STC-ResNet101 model. Trained and tested on UCF101 split 1.

4.4 Knowledge Transfer

To apply our proposed supervision transfer, we have tested 2D ResNet and ResNext as basic pre-trained model on ImageNet, while 3D-ResNet and our STC-ResNet with randomly initialized using [27], as target 3D CNNs. We show that, a stable weight initialization via transfer learning is possible for 3D CNN architecture, which can be used as a good starting model for training on small datasets like UCF101.

Here, we explain the training phase for STC-ResNet (see Fig. 2) case which is similar to the other networks. To train, we have negative and positive video clip pairs to feed to the networks. Given a pair of 16 frames, video clips for the same time stamp will go through the 2D ResNet and STC-ResNet. For the 2D network whose model weights are frozen, we do average pooling on the last layer with size of 1024. So, pooled frame features from 2D network are concatenated with clip feature from 3D network (), and passed to 2 fully connected layers afterward. The fully connected layer sizes are 512, 128. The binary classifier distinguishes between correspondence of negative and positive clip pairs. The STC-ResNet network is trained via back-propagation through the network, and the 3D kernels are learned.

3D CNNs Transfer FT-Transfer
3D-ResNet 82.1 84.6
3D-ResNext 83.1 86.9
STC-ResNet 83.2 86.5
STC-ResNext 84.7 88.2
Table 7: Transfer learning results for 3D CNNs by 2D CNNs. Both of the results are on UCF101 split1. First column shows the performance of transfered network finetuned directly on UCF101. The second column is finetuned transfered network first on the half of Kinetics dataset and then on UCF101.

Another important aspect of proposing this transfer learning for 3D CNNs is finding a cheaper way to train 3D CNNs when availability of large datasets is at scarce. After pre-training our 3D CNNs by described transfer learning, we can use a fraction of a big dataset (e.g. Kinetics) to train the model and still achieve a good performance in fine-tuning on UCF101. In other words, this knowledge transfer reduces the need for more labeled data and very large datasets. To perform transfer learning, we use approx. 500K unlabeled videos from YouTube8m dataset [33]. Since the transfer learning pipeline for 3D CNNs have been tested with three different deep architectures (3D-ResNet, 3D-ResNext and STC-Nets), we clearly show the generalization capacity of our method in deep architectures, which can be easily adopted for other deep networks and tasks which use the similar architectures. Table 7 shows the results, we can observe that via transfer learning we achieve better performance in comparison to training the network from scratch.

Method Top1-Val Top5-Val
DenseNet3D 59.5 -
Inception3D 58.9 -
C3D* [4] 55.6 -
3D ResNet101 [4] 62.8 83.9
3D ResNext101 [4] 65.1 85.7
RGB-I3D [19] 68.4 88
STC-ResNet101 64.1 85.2
STC-ResNext101 66.2 86.5
STC-ResNext101 32f 68.7 88.5
Table 8: Comparison results of our models with other state-of-the-art methods on Kinetics dataset. * denotes the pre-trained version of C3D on the Sports-1M.

4.5 Comparison with the state-of-the-art

Finally, after exploring and studying on STC-Net architectures and the configuration of input-data and architecture, we compare our STC-ResNet and STC-ResNext with the state-of-the-art methods by pre-training on Kinetics and finetuning on all three splits of the UCF101 and HMDB51 datasets. For the UCF101 and HMDB51, we report the average accuracy over all three splits. The results for supervision transfer technique experiments were reported in the previous part of experiments.

Table 8 shows the result on Kinetics dataset for STC-Nets compared with state-of-the-art methods. C3D [2] employs batch normalization after each convolutional and fully connected layers (C3D w/ BN), and RGB-I3D which is without pretraining on the ImageNet (RGB-I3D w/o ImageNet) [19]. The STC-ResNet achieves higher accuracies than 3D ResNet101, Sports-1M pre-trained C3D and C3D w/ BN which is trained from scratch. However, RGB-I3D achieved competitive performance which might be the result of usage of longer video clips than ours (64 vs. 32), Although we trained our own version of Inception3D same as I3D [19],but achieved different results due to difference experimental setup. As mentioned earlier, due to high memory usage of 3D models we had to limit our model space search and it was not possible to checkout the longer input video clips. Moreover, [19] used larger number of mini-batches by engaging a large number of 64 GPUs that they have used, which plays a vital role in batch normalization and consequently training procedure.

Method UCF101 HMDB51
DT+MVSM [34] 83.5 55.9
iDT+FV [35] 85.9 57.2
C3D [2] 82.3 56.8
Conv Fusion [17] 82.6 56.8
Two Stream [16] 88.6
TDD+FV [36] 90.3 63.2
TSN-RGB [37] 85.7
P3D [38] 88.6
Inception3D 87.2 56.9
I3D [19] 95.6 74.8
3D ResNet 101 88.9 61.7
3D ResNet 101-Transfered Knowledge 91.3 64.2
3D ResNext 101 90.7 63.8

STC-ResNet 101
90.1 62.6
STC-ResNext 101 92.3 65.4
STC-ResNet 101-Transfered Knowledge 92.6 66.1
STC-ResNet 101 (64 frames) 93.7 66.8
STC-ResNext 101 (32 frames) 95.8 72.6
Table 9: Accuracy (%) performance comparison of STC-Nets (STC-ResNet/ResNext) with state-of-the-art methods over all three splits of UCF101 and HMDB51.

Table 9 shows the results on UCF101 and HMDB51 datasets for comparison of STC-Nets with other RGB based action recognition methods. Our STC-ResNext101 models outperform the 3D-ResNet [5], Inception3D and C3D [2] on both UCF101 and HMDB51 by 95.8% and 72.6% respectively. As mentioned before we trained Inception3D, a similar architecture to the I3D [19] (without using ImageNet) on Kinetics and fine-tuned it on UCF101 and HMDB51 to be able to have a more fair comparison. As shown in the Table 9, STC-ResNext performs better than 3D-ResNext by almost 2% on UCF101. Furthermore, STC-ResNext and STC-ResNet achieve the best performance among the methods using only RGB input on UCF101 and HMDB51. Moreover it should be noted that, the reported result of RGB-I3D [19] pre-trained on ImageNet and Kinetics by Carreira et al. [19] has close and comparable result to ours on both UCF101 and HMDB51, this might be due to difference in usage of higher input resolution and larger mini-batch sizes by using 64 GPUs . Furthermore, we note that the state-of-the-art CNNs [19, 37] use expensive optical-flow maps in addition to RGB input-frames, as in I3D which obtains a performance of 98% on UCF101 and 80% on HMDB51. Because of such a high computation needs, we are not able to run the similar experiments, but as it can be concluded from Table 9, our best RGB model has superior performance than the other RGB based models.

Note that, in our work we have not used dense optical-flow maps, and still achieving comparable performance to the state-of-the-art methods [37]. This shows the effectiveness of our STC-Nets to exploit temporal information and spatio-temporal channel correlation in deep CNNs for video clips. This calls for efficient methods like ours instead of computing the expensive optical-flow information (beforehand) which is very computationally demanding, and also difficult to obtain for large scale datasets.

5 Conclusion

In this work, we introduce a new ‘Spatio-Temporal Channel Correlation’ (STC) block that models correlation between the channels of a 3D CNN. We clearly show the benefit of exploiting spatio-temporal channel correlations features using STC block. We equipped 3D-ResNet and 3D-ResNext with our STC block and improved the accuracies by 2-3% on Kinetics dataset. We name our architecture as STC-Nets. Our STC blocks are added as a residual unit to other parts of networks and learned in an end-to-end learning. The STC feature-maps model the feature interaction in a more expressive and efficient way without an undesired loss of information throughout the network. Our STC-Nets are evaluated on three challenging action recognition datasets, namely HMDB51, UCF101, and Kinetics. STC-Nets architecture achieves state-of-the-art performance on HMDB51, UCF101 and comparable results on Kinetics , in comparison to other temporal deep neural network models. Even though, our STC block has the potential to generalize to any other 3D architecture too. Further, we show the benefit of transfer learning between cross architectures, specifically supervision transfer from 2D to 3D CNNs. This provides a valuable and stable weight initialization for 3D CNNs instead of training it from scratch and this also avoids the computational costs. However, our transfer learning approach is not limited to transfer supervision between RGB models only, as our solution can be easily adopted across modalities too.


  1. Ali Diba and Mohsen Fayyaz contributed equally to this work. Mohsen Fayyaz contributed to this work while he was at Sensifai.


  1. Diba, A., Sharma, V., Van Gool, L.: Deep temporal linear encoding networks. In: CVPR. (2017)
  2. Tran, D., Bourdev, L., Fergus, R., Torresani, L., Paluri, M.: Learning spatiotemporal features with 3d convolutional networks. In: ICCV. (2015)
  3. Yue-Hei Ng, J., Hausknecht, M., Vijayanarasimhan, S., Vinyals, O., Monga, R., Toderici, G.: Beyond short snippets: Deep networks for video classification. In: CVPR. (2015)
  4. Hara, K., Kataoka, H., Satoh, Y.: Can spatiotemporal 3d cnns retrace the history of 2d cnns and imagenet? In: CVPR. (2018)
  5. Tran, D., Ray, J., Shou, Z., Chang, S.F., Paluri, M.: Convnet architecture search for spatiotemporal feature learning. arXiv:1708.05038 (2017)
  6. Klaser, A., Marszałek, M., Schmid, C.: A spatio-temporal descriptor based on 3d-gradients. In: BMVC. (2008)
  7. Scovanner, P., Ali, S., Shah, M.: A 3-dimensional sift descriptor and its application to action recognition. In: ACM’MM. (2007)
  8. Laptev, I., Marszalek, M., Schmid, C., Rozenfeld, B.: Learning realistic human actions from movies. In: CVPR. (2008)
  9. Willems, G., Tuytelaars, T., Van Gool, L.: An efficient dense and scale-invariant spatio-temporal interest point detector. In: ECCV. (2008)
  10. Dalal, N., Triggs, B., Schmid, C.: Human detection using oriented histograms of flow and appearance. In: ECCV. (2006)
  11. Wang, H., Schmid, C.: Action recognition with improved trajectories. In: ICCV. (2013)
  12. Fernando, B., Gavves, E., Oramas, J.M., Ghodrati, A., Tuytelaars, T.: Modeling video evolution for action recognition. In: CVPR. (2015)
  13. Donahue, J., Anne Hendricks, L., Guadarrama, S., Rohrbach, M., Venugopalan, S., Saenko, K., Darrell, T.: Long-term recurrent convolutional networks for visual recognition and description. In: CVPR. (2015)
  14. Girdhar, R., Ramanan, D., Gupta, A., Sivic, J., Russell, B.: Actionvlad: Learning spatio-temporal aggregation for action classification. In: CVPR. (2017)
  15. Tang, P., Wang, X., Shi, B., Bai, X., Liu, W., Tu, Z.: Deep fishernet for object classification. arXiv:1608.00182 (2016)
  16. Simonyan, K., Zisserman, A.: Two-stream convolutional networks for action recognition in videos. In: NIPS. (2014)
  17. Feichtenhofer, C., Pinz, A., Zisserman, A.: Convolutional two-stream network fusion for video action recognition. In: CVPR. (2016)
  18. Sun, L., Jia, K., Yeung, D.Y., Shi, B.E.: Human action recognition using factorized spatio-temporal convolutional networks. In: ICCV. (2015)
  19. Carreira, J., Zisserman, A.: Quo vadis, action recognition? a new model and the kinetics dataset. In: CVPR. (2017)
  20. Ioffe, S., Szegedy, C.: Batch normalization: Accelerating deep network training by reducing internal covariate shift. In: ICML. (2015)
  21. Hinton, G., Vinyals, O., Dean, J.: Distilling the knowledge in a neural network. arXiv:1503.02531 (2015)
  22. Gupta, S., Hoffman, J., Malik, J.: Cross modal distillation for supervision transfer. In: CVPR. (2016)
  23. Diba, A., Pazandeh, A.M., Van Gool, L.: Efficient two-stream motion and appearance 3d cnns for video classification. In: ECCV Workshops. (2016)
  24. Arandjelović, R., Zisserman, A.: Look, listen and learn. ICCV (2017)
  25. Limmer, M., Lensch, H.P.: Infrared colorization using deep convolutional neural networks. In: ICMLA. (2016)
  26. Hu, J., Shen, L., Sun, G.: Squeeze-and-excitation networks. arXiv preprint arXiv:1709.01507 (2017)
  27. He, K., Zhang, X., Ren, S., Sun, J.: Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In: ICCV. (2015)
  28. He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: CVPR. (2016)
  29. Deng, J., Dong, W., Socher, R., Li, L.J., Li, K., Fei-Fei, L.: Imagenet: A large-scale hierarchical image database. In: CVPR. (2009)
  30. Karpathy, A., Toderici, G., Shetty, S., Leung, T., Sukthankar, R., Fei-Fei, L.: Large-scale video classification with convolutional neural networks. In: CVPR. (2014)
  31. Kuehne, H., Jhuang, H., Stiefelhagen, R., Serre, T.: Hmdb51: A large video database for human motion recognition. In: High Performance Computing in Science and Engineering. (2013)
  32. Soomro, K., Zamir, A.R., Shah, M.: Ucf101: A dataset of 101 human actions classes from videos in the wild. arXiv:1212.0402 (2012)
  33. Abu-El-Haija, S., Kothari, N., Lee, J., Natsev, P., Toderici, G., Varadarajan, B., Vijayanarasimhan, S.: Youtube-8m: A large-scale video classification benchmark. arXiv:1609.08675 (2016)
  34. Cai, Z., Wang, L., Peng, X., Qiao, Y.: Multi-view super vector for action recognition. In: CVPR. (2014)
  35. Wang, H., Schmid, C.: Action recognition with improved trajectories. In: ICCV. (2013)
  36. Wang, L., Qiao, Y., Tang, X.: Action recognition with trajectory-pooled deep-convolutional descriptors. In: CVPR. (2015)
  37. Wang, L., Xiong, Y., Wang, Z., Qiao, Y., Lin, D., Tang, X., Van Gool, L.: Temporal segment networks: Towards good practices for deep action recognition. In: ECCV. (2016)
  38. Qiu, Z., Yao, T., Mei, T.: Learning spatio-temporal representation with pseudo-3d residual networks. In: 2017 IEEE International Conference on Computer Vision (ICCV). (2017)
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description