Video captioning is the problem of generating textual descriptions based on video content. Some of its exciting applications include human-robot interaction, automated video content description and assisting the visually impaired by describing the content of movies to them. This task is particularly challenging for, as a description generation method, it should capture not only the objects, scenes, and activities present in the input video (i.e. address tasks such as video tagging, action recognition and object recognition), but it also needs to be capable of expressing how these objects, scenes, and activities relate to each other in a spatial and temporal fashion in a natural language sentence.
As shown in Wu et al. , two major approaches to video captioning exist: template-based language models and sequence learning-based models. The former class of methods detect words from the visual content (e.g. via object detection) to then generate the desired sentence using grammatical constraints such presence of a subject, verbs, object triplets, and so on. Interesting studies in this sense were conducted in [7, 19, 34]
. The latter class, instead, learn a probability distribution from the common space (set of feature vectors from video) of visual content to then flexibly generate the sentence without using a specific pattern or language template. Examples of this second category of approaches are[27, 35, 29].
1.1 Encoder-decoder frameworks
networks and Gated Recurrent Units (GRU), as well as of machine translation techniques such as , the dominant approach in video captioning is currently based on sequence learning using an encoder-decoder framework. In this models, the encoder represents an input video sequence as a fixed dimension feature vector, which is then fed to the decoder to generate the output sentence one word at a time. At each time step in the decoder, the current input (the word) and the previously generated hidden states of the output sequence are used to predict the next word and the hidden state.
One of the most severe drawbacks of such models, however, is that the
underlying feature space for the video content is static and does not change during the training process. More specifically,
an encoder (typically, a Convolutional Neural Network, CNN) is pre-trained on other datasets builit for different tasks, to be then used as feature extractor on the video-captioning datasets.
Although this makes some sense given the multi-task nature of the video captioning process illustrated above,
the resulting disjoint training process, in which the decoder is trained on the captioning task with static features as input, is inherently suboptimal.
Recent state-of-the-art methods [35, 16, 37] try to address this issue by capturing dynamic temporal correspondences between feature vectors corresponding to different video frames. However, these works do not address the basic fact that video captioning may well require the system to learn task-specific features that will necessarily differ from those learned for, e.g., (vaguely) related action classification, video tagging or object detection tasks for which the CNN was trained.
1.2 Our proposal: end-to-end training
Our view is that a decoder designed for the video captioning task should instead be able to learn task-specific features. As shown in Figure 1
(A), in current state of the art works the gradient is not updated during the learning of the encoder part. In addition, the CNN implementing the encoding is trained using a different loss function aimed at solving a different task.
We propose to address this problem by bringing forward the end-to-end training of both encoder and decoder as a whole, as shown in Figure 1(B). Our philosophy is inspired by the success of end-to-end trainable network architectures in image recognition , image segmentation , object detection  and image-captioning . In particular, the video generation TGANs-C model  is trained end-to-end by optimising three different kinds of losses: a video-level and a frame-level matching-aware loss to correct the label of real or synthetic videos/frames and to align video/frames with the most correct caption, respectively, and a temporal coherence loss to emphasise temporal consistency. In image captioning, Vinyals et al.  show how the training of the whole model achieves superior performance using just the negative log-likelihood loss. As an additional example, Faster R-CNN  region proposal-based CNN architectures achieved what was then state-of-the-art object detection accuracy at the PASCAL VOC challenges in both 2007 and 2012.
In our view it is simply imperative to extend end-to-end training to video captioning, given that the latter provides simple inference  and can handle complex problems best described by multiple losses . The reason such an approach was never explored for video captioning is, apparently, because of the amount of memory required to process video data for each batch. Also, batch sizes for video captioning can become very high (e.g. 512), making training prohibitive on a small number of GPUs.
In this paper we address this issue by accumulating gradients over multiple steps, to update parameters only after the required effective batch size is achieved. This approach is slower to train as compared to the separate training of the two components, because of the increase in the number of iterations required. A speed up in the training process can be obtained by initialising the weights of encoder and decoder from disjointly trained encoder-decoder models, leaving fine tuning to be conducted in a fully end-to-end fashion. Such a process is simple, and can be implemented in current deep learning platforms by just two lines of code.
To the best of our knowledge, our work presents the first End-to-End trainable framework (EtENet) for video captioning.
Our approach propagates the gradient from the last layer of the RNN Decoder to the first layer of the CNN encoder
as illustrated in Figure 1 (B).
Performance-wise, training our network architecture in the traditional, disjoint way produces comparable results to the current state-of-the-art, whereas our end-to-end training framework delivers significant performance improvements, setting a new and simple benchmark/baseline for the field of video captioning.
Summarising, we present the first end-to-end trainable framework for video captioning which:
can learn to encode video captioning-specific features;
accumulates the gradients to limit GPU memory consumption, and is therefore able to handle the large batch sizes required to train RNN based decoders;
uses a two-state training process to speed up training;
establishes a simple baseline for future works.
2 Related work
Inspired by the latest computer vision and machine translation techniques , recent efforts in the video captioning field follow the sequence learning approach. The common architecture, as mentioned, is an encoder-decoder framework  that uses either 2D or 3D CNNs to collect video features in a fixed-dimension vector, which is then fed to a Recurrent Neural Network to generate the desired output sentence, one word at a time.
The first notable work in this area was done by Venugopalan et al. .
They represented an entire video using a mean-pooled vector of all features generated from a CNN at frame level.
The resulting fixed-length feature vector, was fed to an LSTM for caption generation.
Although state-of-the-art results were achieved at the time, the temporal structure of the video was not well modelled in this framework.
Since then, alternative views have been supported on how to improve the visual model in the encoder-decoder pipeline. The same authors et al.  have later proposed a different method which exploits two-layer LSTMs as both encoder and decoder. In this setting, compared to the original pipeline , each frame is used as input at each time step for the encoder LSTM, which takes care of encoding the temporal structure of the video into a fixed size vector. This model, however, still leaves room for a better spatiotemporal feature representation of videos, as well as calling for improved links between the visual model and the language model.
To address this problem, 3D CNNs and attention models have been since introduced. Inspired by, Yao et al.  employ a temporal soft-attention model in which each output vector of the CNN encoder is weighted before contributing to each word’s prediction. The spatial component is extracted using the intermediate layers of a 3D CNN which is used in combination with the 2D CNN. On their part,  have proposed a spatiotemporal attention scheme which includes a paragraph generator and sentence generator. The paragraph generator is designed to pick up the sentence’s ordering, whereas the sentence generator focuses on specific visual elements from the encoder.
A distinct line of research has been brought forward by Pam and his team in  and subsequently in . The first work tries, in addition to using features from both 2D and 3D CNNs, to introduce a visual semantic embedding space for enforcing the relationship between the semantics of the entire sentence and the corresponding visual content. Multiple Instance Learning models have been used in  for detecting attributes to feed to a two-layer LSTM controlled by a transfer unit.
In the last two years, numerous relevant papers have been published. Similarly to ,
Zhang et al.  use a task-driven dynamic fusion across the LSTM to process the different data types.
The model adaptively chooses different fusion patterns according to task status.
Xu et al.  test on the MSR-VTT dataset a Multimodal Attention LSTM Network that fuses audio and video features before feeding the result to an LSTM multi-level attention mechanism.
In , the authors create a Semantic Compositional Network plugging into standard LSTM decoding the probabilities of tags extracted the frames, in addition to the usual video features, merged in a fixed-dimension vector.
Chen et al.  show that it is possible to get good results using just
6-8 frames. An LSTM encoder takes a sequence of visual features while a GRU decoder helps generate the sentence. The main idea of this interesting work is to use reinforcement learning, while a CNN is used to discriminate whether a frame must be encoded or not. A recent work by improves the performance of  and the entire architecture of the model by inserting a reconstruction layer on top that aims to replicate the video features, starting from the hidden state of the LSTM cell.
Unlike previous work, in which the weight of the encoder part are not changes, our study will focus on end-to-end training. This strategy, which has been proven successful in various fields of application, pushes the encoder towards better capturing the features which are actually crucial for caption generation. Our training process is divided in two stages: while in the first part only the decoder is trained, in the second stage the whole model is fine-tuned.
In this work in particular we use Inception-ResNet-v2 as an encoder and a modified version of Soft-Attention defined by . Nevertheless, the approach is general and can be applied to other architectures.
In this section, we describe the end-to-end trainable encoder-decoder architecture based approaches to video-captioning. A figure of our framework is shown in Figure 2. Section 3.1 explains the encoder based the Inception-ResNet-v2  architecture, followed by the decoder (§ 3.2), which is based on our Soft-Attention LSTM (SA-LSTM) design inspired by  and its improvements from by  in § 3.2.2 and initialization detail in § 3.2.3. Next, we explain how the training process in § 3.3 which divided further into three subsections. Firstly, gradient accumulation (§ 3.3.1) method used to achieves the desired high batch size for the training of decoder. Secondly, the two-stage training to speed up the training process in § 3.3. Lastly, normalised functions are described in § 3.3.3.
A common strategy 
is to use a 2D CNN pre-trained on the ImageNet dataset as an encoder. Typically, feature vectors are generated before the first fully-connected layer of the neural network, for each frame of the video. This is done as a preprocessing step, and many versions of 2D CNN were brought forward over the course of the years for video captioning.
For instance, Venugopalan et al. [27, 26] would use variants of AlexNet , 16 layer VGG  and GoogLeNet . Yao et al.  would also use GoogLeNet, in combination with a 3D CNN. Gan et al. , instead, preferred ResNet-152  whereas Wang et al.  used Inception-v4 .
Based on the observation by Wang et al.  that, by considering a deeper network, we are more likely to capture the high-level semantic information about the video, in this work we decided to use Inception-ResNet-v2  as the encoder, rather than other convolutional neural network architectures. The version used in our experiments is pre-trained on ImageNet, and is available in the
repository111https://github.com/Cadene/pre-trained-models.pytorch accessed on 11/06/2018.
Formally, given a video composed by a sequence of RGB images,
our encoder is a function mapping each frame to a feature vector using the average pooling stage after the
conv2d_7b layer of Inception-ResNet-v2.
We thus denote by
the output of the encoder, that will be later used by the decoder.
The work by Wang et al.  was instrumental to the performance exibited by the Soft-Attention model developed by Yao et al. .
Using Inception-v4 as decoder, SA-LSTM achieves good results compared to other, more complex system (such as, for instance, ).
For that reason our work builds on the version of Yao et al
. developed in Theano222https://github.com/yaoli/arctic-capgen-vid accessed on 11/06/2018
. With the advent of new frameworks such as TensorFlow and PyTorch, working with Theano as a base of our work would have been quite difficult. Thus, we decided to create our version of the decoder proposed in written using PyTorch.
Our SA-LSTM framework contemplates a number of variants to the original formulation, which are expained in detail below.
At a higher level, the SA-LSTM decoder takes as input vectors generated by the encoder, , together with the previous hidden state , memory cell and word . The output of the system is formed by: (i) the probability of the next word based on the previously observed words and on the feature vectors ; (ii) the current hidden state , and (iii) the current memory cell state . Namely:
The algorithm runs sequentially through the output sequence, predicting one word at a time.
Digging deeper into the SA-LSTM model, at time , the first step is to create a single vector from by applying the Soft-Attention mechanism to the whole encoder output. Firstly, for each vector a normalised score is computed:
where , , , , are all trainable variables and is the unnormalised score of vector at the time .
Secondly, a coefficient is computed to measure the importance of the final vector as a function of the previous hidden state, with additional parameters and :
is a sigmoid activation function. The final vector is computed as follows:
The output (6) of the Soft-Attention function is concatenated with the embedding at the previous time step,
and fed to a LSTM. Memory cell and hidden state are updated through the following equations:
The word prediction is a function of the concatenation of and and of the embedding of :
where denotes vector concatenation and all weight matrices
and bias vectorsare trainable network parameters.
3.2.2 Model improvements
We need to stress a number of differences with the original framework as formulated in : (i) in Equation (14), is not weighted; (ii) the LSTM machinery (from Equation (7) to (13)) is also different, and (iii) in Equation 5 a term was added. These changes are inspired by the original code repository by Yao et al. After publication of , the authors released new tests including the above suggestions for model improvement.
3.2.3 Initialization details
Our framework takes blocks of 16 RGB frames as input. Each frame is processed by the our version of Inception-ResNet-v2  up to the average pooling stage after the
conv2d_7b layer. Thus, the encoder output is composed by 16 vectors of 1536 elements each. As explained, the decoder takes as input , the previously observed words and the hidden and states. The first word of every prediction is the token
<SOS>, while and are respectively initialised as follows:
where , , , , are trainable variables and is the mean of all the vectors in .
The desired video caption is predicted word by word until
<EOS> is produced or after a maximum caption length is reached (set to 30 for MSVD and to 20 for MSR-VTT). The input is the same throughout each iteration.
We use 512 as the dimension of the LSTM hidden layer, 486 as embedding dimension for , while the cardinality of the word probability vector obviously depends of the size of the vocabulary being considered (12,000 for MSVD, 200,000 for MSR-VTT).
3.3 Training Process
3.3.1 Accumulate to Optimize
Recurrent networks require a large (e.g. 64 in ) batch size to converge to good local minima. As our SA-LSTM is based on a recurrent network architecture (LSTM), it also requires a large batch size for training
In our initial tests, when using a disjoint training setup similar to ’s, we noticed that increasing the batch size would indeed boost performance. Unfortunately, Inception-ResNet-v2 is very expensive in term of memory requirements, hence large batch sizes are difficult to implement. A single batch, for instance would use 5 GB (GigaByte) of GPU memory. The machine our tests were conducted on is equipped with 4 Nvidia P100 GPUs with 16 GB of memory each, allowing a maximum batch size of 12.
To overcome this problem, our training strategy is centred on accumulating gradients until the neural network has processed 512 examples. After that, the accumulated gradients are used to update the parameters of both encoder and decoder. The pseudocode for this process is provided in Algorithm 1. The standard training process is modified into one that accumulates gradients for size. As a result, the approach achieves an effective batch size equal to .
3.3.2 Two-stage Training
Stochastic optimisers require lots of parameter update iterations to identify a good local minima. Hence, our gradient accumulation strategy would be quite slow, as opposed to disjoint training in which GPU memory requirements are much lower, if naively implemented. To strike a balance between a closer to optimal but slower end-to-end training setup and a faster but less optimal disjoint training framework we adopt a two-stage training process.
In the first stage, we freeze the weights of the pre-trained encoder to start training the decoder. As the encoder’s weights are kept constant, this is equivalent to train a decoder on pre-computed features of the encoder. As a result, memory requirements are low, and the process is fast. Once the decoder reaches a reasonable performance on the validation set, the second stage of the training process starts.
In the second stage
, the whole network is trained end-to-end while freezing the batch normalisation layer of Inception-ResNet-v2. In both phases, SA-LSTM uses the real target outputs (i.e., the target words) as next input, rather than its own previous prediction.
Given the heterogeneity of the architecture, we use Adam  as an optimisation algorithm and different parameter values for encoder and decoder. For the former, inspired by , since the batch size is 512 and each example has 16 frames, we set the learning rate to and the weight decay to . The decoder is instead updated using as learning rate and
as weight decay. To avoid the vanishing and exploding gradient problems, typical of RNNs, we force the gradient to belong to the range.
3.3.3 Loss Function
where is the caption length, is the number of examples, and is the size of the feature vector .
The Doubly Stochastic Attention component of the loss can be seen as encouraging the model to pay equal attention to every frame over the course of the caption’s generation process.
Similarly to , we set to .
While BLEU and METEOR were created for machine translation tasks, ROUGE-L’s aim is to compare a machine-generated summary with the human-generated sentence. CIDEr is the only metric created for evaluating image descriptions that use human consensus.
BLEU. is a method for comparing two strings. It is based on a BiLingual Evaluation Understudy proposed by Papineni et al. 
in 2002. It is instrumental in assessing performance in machine translation tasks. The metric computes the n-gram word precision between a predicted sentence and one or more reference sentences. In the unigram case, it counts up the number of candidate sentence words which occur in any reference sentence and then divides by the total number of words in the candidate sentence. For our evaluation, we use the BLEU-4. It computes the four score with 1-gram, 2-gram, 3-gram and 4-gram and sums all results together using the geometric means.
METEOR. In 
Banerjee and Lavie exposed the main weaknesses of BLEU: it does not directly take recall into account and can count incorrect matches in the presence of common function words. In response, they create that a metric called METEOR (Metric for Evaluation of Translation with Explicit ORdering) computes the F-mean (combining the precision and recall via a harmonic-mean) weighted by a penalty factor that caters for unigram matching. Moreover, METEOR includes a vocabulary of synonyms that help map two synonym unigrams.
ROUGE-L. The Recall-Oriented Understudy for Gisting Evaluation measure was created by Lin , and focusses on automatically determining the quality of a summary. The metric counts the number of overlapping units such as n-gram, word sequences, and word pairs, between the computer-generated summary to be evaluated and the ideal summaries created by humans. The version commonly used to compare captioning is ROUGE-L, which applies the F-mean score to the longest common subsequence of unigrams between two sentences.
CIDEr. Vedantam et al. 
published the first metric focused on evaluating image descriptions is. The similarity is measured by cosine similarity. First, all the words mapped to their stem or root forms. Then, each sentence is represented as a set of n-grams (one to four) weighted using the TF-IDF. Finally, the cosine similarity is computed between the candidate sentence and the reference sentences for each n-gram. Similar to BLEU, the final score is calculated by combining the scores using uniform weights. The range of that metric is.
We evaluate our model and compare it with our competitors on two standard video captioning benchmarks. MSVD is one of the first video captioning datasets to include multi-category videos. MSR-VTT, on the other hand, is based on 20 categories and is of much larger scale than MSVD.
MSVD. The most popular dataset for video captioning systems evaluation is, arguably, the Microsoft Video Description Corpus (MSVD), also known as YoutubeClips . The dataset contains 1970 videos, each video depicting a single activity lasting about 6 to 25 seconds. The frame rate is in most cases 30 frames per second. Each video is associated with multiple descriptions in the English language, collected via Amazon Mechanical Turk, for a total of 70,028 natural language captions. As done in previous works , in our experiments we split the dataset into three parts: the first 1,200 videos for training, the following 100 videos for validation, and the remaining 670 videos for testing.
MSR-VTT. The MSR Video to Text  dataset is a recent large-scale benchmark for video captioning. 10K video clips from 20 categories were collected from a commercial video search engine (e.g., music, people, gaming, sports, and TV shows). Each of these videos was annotated with 20 sentences produced by 1327 Amazon Mechanical Turk workers, for a total number of captions of around 200K.
As prescribed in the original paper, we split videos by index number: 6,513 for training, 497 for validation and 2,990 for the test. The number of unique words present in the captions is close to 30K.
Following the usual pre-processing of Inception-ResNet-v2, height and width of each frame of the video are first resized to 314, to then use the central crop patch of 299x299 pixels of each frame. A normalisation of the pixel using mean and standard deviation of 0.5 is applied. Training, Validation and Test examples are subject to the same frame preprocessing steps. To save memory space, the images are saved as u-int8 while pixel normalisation is performed at each time instant.
Using all frames of a video is very time inefficient – as  shows, it is possible to create an efficient model using fewer frames. On the other hand, we do not apply any additional filtering to the frames, as we prefer to leave this task for the attention mechanism. In agreement with  and with our own findings, we decided to represent each video by 16 equally-spaced features.
As for the captions, we tokenise them by converting all words to lowercase and applying the
TreebankWordTokenizer class from the Natural Language Toolkit333https://www.nltk.org accessed on 11/06/2018 to split sentences into words. We also remove tokens that contain punctuation characters only. The tokens are generated by
TreebankWordTokenizer, which uses regular expressions to tokenise text as in the Penn Treebank444http://www.cis.upenn.edu/~treebank/tokenizer.sed accessed on 11/06/2018, thus adhering to English grammar while maintaining punctuation in the token.
Both datasets (§ 4.2) were preprocessed in the same way.
We conclude by discussing the experimental results generated by evaluating our end-to-end trainable framework (EtENet) on the datasets described in (§ 4.2).
5.1 State-of-the-art Comparision
Quantitatively, Tables 1 and 2 clearly show how our approach, both when using only step 1 of the training, and when applying both steps, matches or outperforms all the work done previously, except when measured using the BLEU metric.
In fact, as explained by Banerjee et al. , BLEU is a metric that has many weaknesses, e.g., the lack of explicit word-matching between translation and reference. In opposition, according to , CIDEr was specifically designed to evaluate automatic caption generation from visual sources. Hence, it makes more sense to stress the results under the CIDEr metric.
Indeed, our proposed EtENet outperforms all the existing state-of-the-art method across both the datasets (see Tables 1, 2) when performance is measured by CIDEr.
The substantial difference between our model and the others assessed confirms that EtENet succeeds in achieving excellent results without requiring an overly complex structure, e.g., the addition of new layers as in RecNet (row 11, Table 1), or the adoption of new learning mechanisms such as reinforcement learning as in PickNet (row 3, Table 2). Moreover, this shows how it is possible to obtain excellent results even when using roughly half the frames used in the original approach  and in others, including [32, 37, 29].
5.2 One vs Two Steps
Another consideration to make is that already after training step 1 (i.e., with frozen encoder, second last row in both Tables 1 and 2) our network is able to match the other state-of-the-art models while outperforming the original Soft-Attention (SA) work  (third row of Table 1). End-to-end training (last row in Tables 1, 2) further improves the performance across the board (i.e., across datasets and across different metrics), thanks to the additional fine tuning.
5.3 Qualitative results
From a qualitative point of view, Figure 3 reports both some positive and some negative examples. Generally, we can notice that the increase in accuracy achieved by the two-step training setting leads, in some cases, to a visible improvement of the generated sentences.
Much more extensively quantitative results are reported in the Supplementary Material.
In this paper, we proposed a simple end-to-end framework for video-captioning. To address the problem with the large amount of memory required to process video data for each batch, a gradient accumulation strategy was conceived. Our training procedure is articulated into two steps to speed up the training process, while still allowing end-to-end training. Our evaluation on standard benchmark datasets shows how our approach outperforms the state of the art using all the most commonly accepted metrics.
We believe we managed to set a new and straightforward benchmark/baseline for future work thanks to our simple end-to-end architecture, providing an opportunity to take research in the field forward starting from a more efficient training framework.
Our model is not exempt from drawbacks. Training a very deep a neural network end-to-end requires significant computational resources. Our proposed two-stage training process is a step towards an efficient training procedure suited to the task. This, however, leaves an opportunity to further improve training speed in future studies.
-  S. Banerjee and A. Lavie. Meteor: An automatic metric for mt evaluation with improved correlation with human judgements. ACLworkshop, pages 358–373, 2005.
-  D. L. Chen and W. B. Dolan. Collecting highly parallel data for paraphrase evaluation. ACL HLT, pages 190–200, 2011.
-  Y. Chen, S. Wang, W. Zhang, and Q. Huang. Less is more: Picking informative frames for video captioning. ECCV, pages 358–373, 2018.
-  K. Cho, B. van Merrienboer, C. Gulcehre, D. Bahdanau, F. Bougares, H. Schwenk, and Y. Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. EMNLP, 2014.
-  H. Fang, S. Gupta, F. Iandola, R. Srivastava, L. Deng, P.Dollar, J. Gao, X. He, M. Mitchell, J. C. Platt, C. L. Zitnick, and G. Zweig. From captions to visual concepts and back. CVPR, 2015.
-  Z. Gan, C. Gan, X. He, Y. Pu, K. Tran, J. Gao, L. Carin, and L. Deng. Semantic compositional networks for visual captioning. CVPR, 2017.
-  S. Guadarrama, N. Krishnamoorthy, G. Malkarnenkar, S. Venugopalan, R. Mooney, T. Darrell, and K. Saenko. Youtube2text: Recognizing and describing arbitrary activities using semantic hierarchies and zero-shot recognition. ICCV, pages 2712–2719, 2013.
-  K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. CVPR, 2016.
-  S. Hochreiter and J. J. J. Schmidhuber. Long short-term memory. Neural Computation, pages 1–15, 1997.
-  A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. NIPS, 2012.
-  C. Lin. Rouge: A package for automatic evaluation of summaries. ACLworkshop, 2004.
J. Long, E. Shelhamer, and T. Darrell.
Fully convolutional networks for semantic segmentation.
Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3431–3440, 2015.
-  P. Norvig. Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp, chapter 6, pages 195–200. Morgan Kaufmann, 1992.
-  Y. Pan, T. Mei, T. Yao, H. Li, , and Y. Rui. Jointly modeling embedding and translation to bridge video and language. CVPR, pages 4594–4602, 2016.
-  Y. Pan, Z. Qiu, T. Yao, H. Li, and T. Mei. To create what you tell: Generating videos from captions. ACM, 2017.
-  Y. Pan, T. Yao, H. Li, and T. Mei. Video captioning with transferred semantic attributes. CVPR, 2017.
-  K. Papineni, S. Roukos, T. Ward, and W. Zhu. Bleu: a 521 method for automatic evaluation of machine translation. ACL, pages 311–318, 2002.
-  S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. NIPS, 2015.
-  A. Rohrbach, M. Rohrbach, W. Qiu, A. Friedrich, M. Pinkal, and B. Schiele. Coherent multi-sentence video description with variable level of detail. GCPR, pages 184–195, 2014.
-  O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Karpathy, M. Bernstein, A. C. Berg, and L. Fei-Fei. Imagenet large scale visual recognition challenge. IJCV, 2015.
-  K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. CoRR, 2014.
-  I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural networks. NIPS, pages 3104–3104, 2014.
C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi.
Inception-v4, inception-resnet and the impact of residual connections on learning.AAAI, 2017.
-  C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. CVPR, 2015.
-  R. Vedantam, C. Lawrence, and D. Parikh. Cider: consensus- 535 based image description evaluation. CVPR, 2015.
-  S. Venugopalan, M. Rohrbach, J. Donahue, R. Mooney, T. Darrell, and K. Saenko. Sequence to sequence – video to text. ICCV, pages 4534–4542, 2015.
-  S. Venugopalan, H. Xu, J. Donahue, M. Rohrbach, R. Mooney, and K. Saenko. Translating videos to natural language using deep recurrent neural network. NAACL-HLT, pages 1494–1504, 2015.
-  O. Vinyals, A. Tosheva, S. Bengio, and D. Erhan. Show and tell: Lessons learned from the 2015 mscoco image captioning challenge. TPAMI, 2016.
-  B. Wang, L. Ma, W. Zhang, and W. Liu. Reconstruction network for video captioning. CVPR, pages 7622–7631, 2018.
-  Z. Wu, T. Yao, Y. Fu, and Y. Jiang. Deep learning for video classification and captioning. In S. Chang, editor, Frontiers of Multimedia Research, pages 3–29. ACM Books, 2018.
-  J. Xu, T. Mei, T. Yao, and Y. Rui. Msr-vtt: A large video description dataset for bridging video and language. CVPR, pages 5288–5296, 2016.
-  J. Xu, T. Yao, Y. Zhang, and T. Mei. Learning multimodal attention lstm networks for video captioning. ACM, 2017.
-  K. Xu, J. Ba, R. Kiros, K. Cho, A. Courville, R. Salakhutdinov, R. Zemel, and Y. Bengio. Show, attend and tell: Neural image caption generation with visual attention. ICML, 2015.
-  R. Xu, C. Xiong, W. Chen, and J. J. Corso. Jointly modeling deep video and compositional text to bridge vision and language in a unified framework. AAAI, pages 2346–2352, 2015.
-  L. Yao, A. Torabi, K. Cho, N. Ballas, C. Pal, H. Larochelle, and A. Courville. Describing videos by exploiting temporal structure. ICCV, pages 4507–4515, 2015.
-  H. Yu, J. Wang, Z. Huang, Y. Yang, and W. Xu. Video paragraph captioning using hierarchical recurrent neural networks. CVPR, pages 4584–4593, 2016.
-  X. Zhang, K. Gao, Y. Zhang, D. Zhang, J. Li, and Q. Tian. Task-driven dynamic fusion: Reducing ambiguity in video description. CVPR, pages 3713–3721, 2017.