We present a model that generates natural language descriptions of images and their regions. Our approach leverages datasets of images and their sentence descriptions to learn about the inter-modal correspondences between language and visual data. Our alignment model is based on a novel combination of Convolutional Neural Networks over image regions, bidirectional Recurrent Neural Networks over sentences, and a structured objective that aligns the two modalities through a multimodal embedding. We then describe a Multimodal Recurrent Neural Network architecture that uses the inferred alignments to learn to generate novel descriptions of image regions. We demonstrate that our alignment model produces state of the art results in retrieval experiments on Flickr8K, Flickr30K and MSCOCO datasets. We then show that the generated descriptions significantly outperform retrieval baselines on both full images and on a new dataset of region-level annotations.READ FULL TEXT VIEW PDF
A quick glance at an image is sufficient for a human to point out and describe an immense amount of details about the visual scene . However, this remarkable ability has proven to be an elusive task for our visual recognition models. The majority of previous work in visual recognition has focused on labeling images with a fixed set of visual categories and great progress has been achieved in these endeavors [45, 11]. However, while closed vocabularies of visual concepts constitute a convenient modeling assumption, they are vastly restrictive when compared to the enormous amount of rich descriptions that a human can compose.
Some pioneering approaches that address the challenge of generating image descriptions have been developed [29, 13]. However, these models often rely on hard-coded visual concepts and sentence templates, which imposes limits on their variety. Moreover, the focus of these works has been on reducing complex visual scenes into a single sentence, which we consider to be an unnecessary restriction.
In this work, we strive to take a step towards the goal of generating dense descriptions of images (Figure 1). The primary challenge towards this goal is in the design of a model that is rich enough to simultaneously reason about contents of images and their representation in the domain of natural language. Additionally, the model should be free of assumptions about specific hard-coded templates, rules or categories and instead rely on learning from the training data. The second, practical challenge is that datasets of image captions are available in large quantities on the internet [21, 58, 37], but these descriptions multiplex mentions of several entities whose locations in the images are unknown.
Our core insight is that we can leverage these large image-sentence datasets by treating the sentences as weak labels, in which contiguous segments of words correspond to some particular, but unknown location in the image. Our approach is to infer these alignments and use them to learn a generative model of descriptions. Concretely, our contributions are twofold:
We develop a deep neural network model that infers the latent alignment between segments of sentences and the region of the image that they describe. Our model associates the two modalities through a common, multimodal embedding space and a structured objective. We validate the effectiveness of this approach on image-sentence retrieval experiments in which we surpass the state-of-the-art.
We introduce a multimodal Recurrent Neural Network architecture that takes an input image and generates its description in text. Our experiments show that the generated sentences significantly outperform retrieval-based baselines, and produce sensible qualitative predictions. We then train the model on the inferred correspondences and evaluate its performance on a new dataset of region-level annotations.
We make code, data and annotations publicly available. 111cs.stanford.edu/people/karpathy/deepimagesent
Dense image annotations. Our work shares the high-level goal of densely annotating the contents of images with many works before us. Barnard et al.  and Socher et al.  studied the multimodal correspondence between words and images to annotate segments of images. Several works [34, 18, 15, 33]
studied the problem of holistic scene understanding in which the scene type, objects and their spatial support in the image is inferred. However, the focus of these works is on correctly labeling scenes, objects and regions with a fixed set of categories, while our focus is on richer and higher-level descriptions of regions.
Generating descriptions. The task of describing images with sentences has also been explored. A number of approaches pose the task as a retrieval problem, where the most compatible annotation in the training set is transferred to a test image [21, 49, 13, 43, 23], or where training annotations are broken up and stitched together [30, 35, 31]. Several approaches generate image captions based on fixed templates that are filled based on the content of the image [19, 29, 13, 55, 56, 9, 1] or generative grammars [42, 57], but this approach limits the variety of possible outputs. Most closely related to us, Kiros et al. 
developed a log-bilinear model that can generate full sentence descriptions for images, but their model uses a fixed window context while our Recurrent Neural Network (RNN) model conditions the probability distribution over the next word in a sentence on all previously generated words. Multiple closely related preprints appeared on Arxiv during the submission of this work, some of which also use RNNs to generate image descriptions[38, 54, 8, 25, 12, 5]. Our RNN is simpler than most of these approaches but also suffers in performance. We quantify this comparison in our experiments.
Grounding natural language in images. A number of approaches have been developed for grounding text in the visual domain [27, 39, 60, 36]. Our approach is inspired by Frome et al.  who associate words and images through a semantic embedding. More closely related is the work of Karpathy et al. , who decompose images and sentences into fragments and infer their inter-modal alignment using a ranking objective. In contrast to their model which is based on grounding dependency tree relations, our model aligns contiguous segments of sentences which are more meaningful, interpretable, and not fixed in length.
Neural networks in visual and language domains. Multiple approaches have been developed for representing images and words in higher-level representations. On the image side, Convolutional Neural Networks (CNNs) [32, 28] have recently emerged as a powerful class of models for image classification and object detection 
. On the sentence side, our work takes advantage of pretrained word vectors[41, 22, 3] to obtain low-dimensional representations of words. Finally, Recurrent Neural Networks have been previously used in language modeling [40, 50], but we additionally condition these models on images.
Overview. The ultimate goal of our model is to generate descriptions of image regions. During training, the input to our model is a set of images and their corresponding sentence descriptions (Figure 2). We first present a model that aligns sentence snippets to the visual regions that they describe through a multimodal embedding. We then treat these correspondences as training data for a second, multimodal Recurrent Neural Network model that learns to generate the snippets.
Our alignment model assumes an input dataset of images and their sentence descriptions. Our key insight is that sentences written by people make frequent references to some particular, but unknown location in the image. For example, in Figure 2, the words “Tabby cat is leaning” refer to the cat, the words “wooden table” refer to the table, etc. We would like to infer these latent correspondences, with the eventual goal of later learning to generate these snippets from image regions. We build on the approach of Karpathy et al. , who learn to ground dependency tree relations to image regions with a ranking objective. Our contribution is in the use of bidirectional recurrent neural network to compute word representations in the sentence, dispensing of the need to compute dependency trees and allowing unbounded interactions of words and their context in the sentence. We also substantially simplify their objective and show that both modifications improve ranking performance.
We first describe neural networks that map words and image regions into a common, multimodal embedding. Then we introduce our novel objective, which learns the embedding representations so that semantically similar concepts across the two modalities occupy nearby regions of the space.
to detect objects in every image with a Region Convolutional Neural Network (RCNN). The CNN is pre-trained on ImageNet
and finetuned on the 200 classes of the ImageNet Detection Challenge. Following Karpathy et al. , we use the top 19 detected locations in addition to the whole image and compute the representations based on the pixels inside each bounding box as follows:
where transforms the pixels inside bounding box
into 4096-dimensional activations of the fully connected layer immediately before the classifier. The CNN parameterscontain approximately 60 million parameters. The matrix has dimensions , where is the size of the multimodal embedding space ( ranges from 1000-1600 in our experiments). Every image is thus represented as a set of -dimensional vectors .
To establish the inter-modal relationships, we would like to represent the words in the sentence in the same -dimensional embedding space that the image regions occupy. The simplest approach might be to project every individual word directly into this embedding. However, this approach does not consider any ordering and word context information in the sentence. An extension to this idea is to use word bigrams, or dependency tree relations as previously proposed . However, this still imposes an arbitrary maximum size of the context window and requires the use of Dependency Tree Parsers that might be trained on unrelated text corpora.
To address these concerns, we propose to use a Bidirectional Recurrent Neural Network (BRNN)  to compute the word representations. The BRNN takes a sequence of words (encoded in a 1-of-k representation) and transforms each one into an -dimensional vector. However, the representation of each word is enriched by a variably-sized context around that word. Using the index to denote the position of a word in a sentence, the precise form of the BRNN is as follows:
Here, is an indicator column vector that has a single one at the index of the -th word in a word vocabulary. The weights specify a word embedding matrix that we initialize with 300-dimensional word2vec  weights and keep fixed due to overfitting concerns. However, in practice we find little change in final performance when these vectors are trained, even from random initialization. Note that the BRNN consists of two independent streams of processing, one moving left to right () and the other right to left () (see Figure 3 for diagram). The final -dimensional representation for the -th word is a function of both the word at that location and also its surrounding context in the sentence. Technically, every is a function of all words in the entire sentence, but our empirical finding is that the final word representations () align most strongly to the visual concept of the word at that location ().
We have described the transformations that map every image and sentence into a set of vectors in a common -dimensional space. Since the supervision is at the level of entire images and sentences, our strategy is to formulate an image-sentence score as a function of the individual region-word scores. Intuitively, a sentence-image pair should have a high matching score if its words have a confident support in the image. The model of Karpathy et a.  interprets the dot product between the -th region and -th word as a measure of similarity and use it to define the score between image and sentence as:
Here, is the set of image fragments in image and is the set of sentence fragments in sentence . The indices
range over the images and sentences in the training set. Together with their additional Multiple Instance Learning objective, this score carries the interpretation that a sentence fragment aligns to a subset of the image regions whenever the dot product is positive. We found that the following reformulation simplifies the model and alleviates the need for additional objectives and their hyperparameters:
Here, every word aligns to the single best image region. As we show in the experiments, this simplified model also leads to improvements in the final ranking performance. Assuming that denotes a corresponding image and sentence pair, the final max-margin, structured loss remains:
This objective encourages aligned image-sentences pairs to have a higher score than misaligned pairs, by a margin.
Consider an image from the training set and its corresponding sentence. We can interpret the quantity
as the unnormalized log probability of the-th word describing any of the bounding boxes in the image. However, since we are ultimately interested in generating snippets of text instead of single words, we would like to align extended, contiguous sequences of words to a single bounding box. Note that the naïve solution that assigns each word independently to the highest-scoring region is insufficient because it leads to words getting scattered inconsistently to different regions.
To address this issue, we treat the true alignments as latent variables in a Markov Random Field (MRF) where the binary interactions between neighboring words encourage an alignment to the same region. Concretely, given a sentence with words and an image with bounding boxes, we introduce the latent alignment variables for and formulate an MRF in a chain structure along the sentence as follows:
is a hyperparameter that controls the affinity towards longer word phrases. This parameter allows us to interpolate between single-word alignments () and aligning the entire sentence to a single, maximally scoring region when is large. We minimize the energy to find the best alignments a using dynamic programming. The output of this process is a set of image regions annotated with segments of text. We now describe an approach for generating novel phrases based on these correspondences.
In this section we assume an input set of images and their textual descriptions. These could be full images and their sentence descriptions, or regions and text snippets, as inferred in the previous section. The key challenge is in the design of a model that can predict a variable-sized sequence of outputs given an image. In previously developed language models based on Recurrent Neural Networks (RNNs) [40, 50, 10], this is achieved by defining a probability distribution of the next word in a sequence given the current word and context from previous time steps. We explore a simple but effective extension that additionally conditions the generative process on the content of an input image. More formally, during training our Multimodal RNN takes the image pixels and a sequence of input vectors . It then computes a sequence of hidden states and a sequence of outputs by iterating the following recurrence relation for to :
In the equations above, and are learnable parameters, and is the last layer of a CNN. The output vector holds the (unnormalized) log probabilities of words in the dictionary and one additional dimension for a special END token. Note that we provide the image context vector to the RNN only at the first iteration, which we found to work better than at each time step. In practice we also found that it can help to also pass both
through the activation function. A typical size of the hidden layer of the RNN is 512 neurons.
RNN training. The RNN is trained to combine a word (), the previous context () to predict the next word (). We condition the RNN’s predictions on the image information () via bias interactions on the first step. The training proceeds as follows (refer to Figure 4): We set , to a special START vector, and the desired label as the first word in the sequence. Analogously, we set to the word vector of the first word and expect the network to predict the second word, etc. Finally, on the last step when represents the last word, the target label is set to a special END token. The cost function is to maximize the log probability assigned to the target labels (i.e. Softmax classifier).
RNN at test time. To predict a sentence, we compute the image representation , set , to the START vector and compute the distribution over the first word . We sample a word from the distribution (or pick the argmax), set its embedding vector as , and repeat this process until the END token is generated. In practice we found that beam search (e.g. beam size 7) can improve results.
We use SGD with mini-batches of 100 image-sentence pairs and momentum of 0.9 to optimize the alignment model. We cross-validate the learning rate and the weight decay. We also use dropout regularization in all layers except in the recurrent layers 
and clip gradients elementwise at 5 (important). The generative RNN is more difficult to optimize, party due to the word frequency disparity between rare words and common words (e.g. ”a” or the END token). We achieved the best results using RMSprop, which is an adaptive step size method that scales the update of each weight by a running average of its gradient norm.
|Image Annotation||Image Search|
|Model||R@1||R@5||R@10||Med r||R@1||R@5||R@10||Med r|
|SDT-RNN (Socher et al. )||9.6||29.8||41.1||16||8.9||29.8||41.1||16|
|Kiros et al. ||14.8||39.2||50.9||10||11.8||34.0||46.3||13|
|Mao et al. ||18.4||40.2||50.9||10||12.6||31.2||41.5||16|
|Donahue et al. ||17.5||40.3||50.8||9||-||-||-||-|
|DeFrag (Karpathy et al. )||14.2||37.7||51.3||10||10.2||30.8||44.2||14|
|Our implementation of DeFrag ||19.2||44.5||58.0||6.0||12.9||35.4||47.5||10.8|
|Our model: DepTree edges||20.0||46.6||59.4||5.4||15.0||36.5||48.2||10.4|
|Our model: BRNN||22.2||48.2||61.4||4.8||15.2||37.7||50.5||9.2|
|Vinyals et al.  (more powerful CNN)||23||-||63||5||17||-||57||8|
|Our model: 1K test images||38.4||69.9||80.5||1.0||27.4||60.2||74.8||3.0|
|Our model: 5K test images||16.5||39.2||52.0||9.0||10.7||29.6||42.2||14.0|
is the median rank (low is good). In the results for our models, we take the top 5 validation set models, evaluate each independently on the test set and then report the average performance. The standard deviations on the recall values range from approximately 0.5 to 1.0.
Datasets. We use the Flickr8K , Flickr30K  and MSCOCO  datasets in our experiments. These datasets contain 8,000, 31,000 and 123,000 images respectively and each is annotated with 5 sentences using Amazon Mechanical Turk. For Flickr8K and Flickr30K, we use 1,000 images for validation, 1,000 for testing and the rest for training (consistent with [21, 24]). For MSCOCO we use 5,000 images for both validation and testing.
Data Preprocessing. We convert all sentences to lowercase, discard non-alphanumeric characters. We filter words to those that occur at least 5 times in the training set, which results in 2538, 7414, and 8791 words for Flickr8k, Flickr30K, and MSCOCO datasets respectively.
We first investigate the quality of the inferred text and image alignments with ranking experiments. We consider a withheld set of images and sentences and retrieve items in one modality given a query from the other by sorting based on the image-sentence score (Section 3.1.3). We report the median rank of the closest ground truth result in the list and Recall@K, which measures the fraction of times a correct item was found among the top K results. The result of these experiments can be found in Table 1, and example retrievals in Figure 5. We now highlight some of the takeaways.
Our full model outperforms previous work. First, our full model (“Our model: BRNN”) outperforms Socher et al.  who trained with a similar loss but used a single image representation and a Recursive Neural Network over the sentence. A similar loss was adopted by Kiros et al. , who use an LSTM  to encode sentences. We list their performance with a CNN that is equivalent in power (AlexNet ) to the one used in this work, though similar to  they outperform our model with a more powerful CNN (VGGNet , GoogLeNet ). “DeFrag” are the results reported by Karpathy et al. . Since we use different word vectors, dropout for regularization and different cross-validation ranges and larger embedding sizes, we re-implemented their loss for a fair comparison (“Our implementation of DeFrag”). Compared to other work that uses AlexNets, our full model shows consistent improvement.
Our simpler cost function improves performance. We strive to better understand the source of our performance. First, we removed the BRNN and used dependency tree relations exactly as described in Karpathy et al.  (“Our model: DepTree edges”). The only difference between this model and “Our reimplementation of DeFrag” is the new, simpler cost function introduced in Section 3.1.3. We see that our formulation shows consistent improvements.
BRNN outperforms dependency tree relations. Furthermore, when we replace the dependency tree relations with the BRNN we observe additional performance improvements. Since the dependency relations were shown to work better than single words and bigrams , this suggests that the BRNN is taking advantage of contexts longer than two words. Furthermore, our method does not rely on extracting a Dependency Tree and instead uses the raw words directly.
MSCOCO results for future comparisons. We are not aware of other published ranking results on MSCOCO. Therefore, we report results on a subset of 1,000 images and the full set of 5,000 test images for future comparisons. Note that the 5000 images numbers are lower since Recall@K is a function of test set size.
Qualitative. As can be seen from example groundings in Figure 5, the model discovers interpretable visual-semantic correspondences, even for small or relatively rare objects such as an “accordion”. These would be likely missed by models that only reason about full images.
Learned region and word vector magnitudes. An appealing feature of our model is that it learns to modulate the magnitude of the region and word embeddings. Due to their inner product interaction, we observe that representations of visually discriminative words such as “kayaking, pumpkins“ have embedding vectors with higher magnitudes, which in turn translates to a higher influence on the image-sentence score. Conversely, stop words such as “now, simply, actually, but” are mapped near the origin, which reduces their influence. See more analysis in supplementary material.
|Mao et al. ||58||28||23||—||55||24||20||—||—||—||—||—||—||—|
|Google NIC ||63||41||27||—||66.3||42.3||27.7||18.3||66.6||46.1||32.9||24.6||—||—|
|MS Research ||—||—||—||—||—||—||—||—||—||—||—||21.1||20.7||—|
|Chen and Zitnick ||—||—||—||14.1||—||—||—||12.6||—||—||—||19.0||20.4||—|
is BLEU score that uses up to n-grams. High is good in all columns. For future comparisons, our METEOR/CIDEr Flickr8K scores are 16.7/31.8 and the Flickr30K scores are 15.3/24.7.
We now evaluate the ability of our RNN model to describe images and regions. We first trained our Multimodal RNN to generate sentences on full images with the goal of verifying that the model is rich enough to support the mapping from image data to sequences of words. For these full image experiments we use the more powerful VGGNet image features . We report the BLEU , METEOR  and CIDEr  scores computed with the coco-caption code  222https://github.com/tylin/coco-caption. Each method evaluates a candidate sentence by measuring how well it matches a set of five reference sentences written by humans.
Qualitative. The model generates sensible descriptions of images (see Figure 6), although we consider the last two images failure cases. The first prediction “man in black shirt is playing a guitar” does not appear in the training set. However, there are 20 occurrences of “man in black shirt” and 60 occurrences of “is paying guitar”, which the model may have composed to describe the first image. In general, we find that a relatively large portion of generated sentences (60% with beam size 7) can be found in the training data. This fraction decreases with lower beam size; For instance, with beam size 1 this falls to 25%, but the performance also deteriorates (e.g. from 0.66 to 0.61 CIDEr).
Multimodal RNN outperforms retrieval baseline. Our first comparison is to a nearest neighbor retrieval baseline. Here, we annotate each test image with a sentence of the most similar training set image as determined by L2 norm over VGGNet  fc7 features. Table 2 shows that the Multimodal RNN confidently outperforms this retrieval method. Hence, even with 113,000 train set images in MSCOCO the retrieval approach is inadequate. Additionally, the RNN takes only a fraction of a second to evaluate per image.
Comparison to other work. Several related models have been proposed in Arxiv preprints since the original submission of this work. We also include these in Table 2 for comparison. Most similar to our model is Vinyals et al. . Unlike this work where the image information is communicated through a bias term on the first step, they incorporate it as a first word, they use a more powerful but more complex sequence learner (LSTM ), a different CNN (GoogLeNet ), and report results of a model ensemble. Donahue et al.  use a 2-layer factored LSTM (similar in structure to the RNN in Mao et al. ). Both models appear to work worse than ours, but this is likely in large part due to their use of the less powerful AlexNet  features. Compared to these approaches, our model prioritizes simplicity and speed at a slight cost in performance.
We now train the Multimodal RNN on the correspondences between image regions and snippets of text, as inferred by the alignment model. To support the evaluation, we used Amazon Mechanical Turk (AMT) to collect a new dataset of region-level annotations that we only use at test time. The labeling interface displayed a single image and asked annotators (we used nine per image) to draw five bounding boxes and annotate each with text. In total, we collected 9,000 text snippets for 200 images in our MSCOCO test split (i.e. 45 snippets per image). The snippets have an average length of 2.3 words. Example annotations include “sports car”, “elderly couple sitting”, “construction site”, “three dogs on leashes”, “chocolate cake”. We noticed that asking annotators for grounded text snippets induces language statistics different from those in full image captions. Our region annotations are more comprehensive and feature elements of scenes that would rarely be considered salient enough to be included in a single sentence sentence about the full image, such as “heating vent”, “belt buckle”, and “chimney”.
Qualitative. We show example region model predictions in Figure 7. To reiterate the difficulty of the task, consider for example the phrase “table with wine glasses” that is generated on the image on the right in Figure 7. This phrase only occurs in the training set 30 times. Each time it may have a different appearance and each time it may occupy a few (or none) of our object bounding boxes. To generate this string for the region, the model had to first correctly learn to ground the string and then also learn to generate it.
Region model outperforms full frame model and ranking baseline. Similar to the full image description task, we evaluate this data as a prediction task from a 2D array of pixels (one image region) to a sequence of words and record the BLEU score. The ranking baseline retrieves training sentence substrings most compatible with each region as judged by the BRNN model. Table 3 shows that the region RNN model produces descriptions most consistent with our collected data. Note that the fullframe model was trained only on full images, so feeding it smaller image regions deteriorates its performance. However, its sentences are also longer than the region model sentences, which likely negatively impacts the BLEU score. The sentence length is non-trivial to control for with an RNN, but we note that the region model also outperforms the fullframe model on all other metrics: CIDEr 61.6/20.3, METEOR 15.8/13.3, ROUGE 35.1/21.0 for region/fullframe respectively.
|RNN: Fullframe model||14.2||6.0||2.2||0.0|
|RNN: Region level model||35.2||23.0||16.1||14.8|
Although our results are encouraging, the Multimodal RNN model is subject to multiple limitations. First, the model can only generate a description of one input array of pixels at a fixed resolution. A more sensible approach might be to use multiple saccades around the image to identify all entities, their mutual interactions and wider context before generating a description. Additionally, the RNN receives the image information only through additive bias interactions, which are known to be less expressive than more complicated multiplicative interactions [50, 20]. Lastly, our approach consists of two separate models. Going directly from an image-sentence dataset to region-level annotations as part of a single model trained end-to-end remains an open problem.
We introduced a model that generates natural language descriptions of image regions based on weak labels in form of a dataset of images and sentences, and with very few hard-coded assumptions. Our approach features a novel ranking model that aligned parts of visual and language modalities through a common, multimodal embedding. We showed that this model provides state of the art performance on image-sentence ranking experiments. Second, we described a Multimodal Recurrent Neural Network architecture that generates descriptions of visual data. We evaluated its performance on both fullframe and region-level experiments and showed that in both cases the Multimodal RNN outperforms retrieval baselines.
We thank Justin Johnson and Jon Krause for helpful comments and discussions. We gratefully acknowledge the support of NVIDIA Corporation with the donation of the GPUs used for this research. This research is partially supported by an ONR MURI grant, and NSF ISS-1115313.
Innovations in Machine Learning. Springer, 2006.
International Journal of Computer Vision, 88(2):303–338, June 2010.
Framing image description as a ranking task: data, models and evaluation metrics.
Journal of Artificial Intelligence Research, 2013.
Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on, pages 2036–2043. IEEE, 2009.
An appealing feature of our alignment model is that it learns to modulate the importance of words and regions by scaling the magnitude of their corresponding embedding vectors. To see this, recall that we compute the image-sentence similarity between image and sentence as follows:
Disciminative words. As a result of this formulation, we observe that representations of visually discriminative words such as “kayaking, pumpkins“ tend to have higher magnitude in the embedding space, which translates to a higher influence on the final image-sentence scores due to the inner product. Conversely, the model learns to map stop words such as “now, simply, actually, but” near the origin, which reduces their influence. Table 4 show the top 40 words with highest and lowest magnitudes .
Disciminative regions. Similarly, image regions that contain discriminative entities are assigned vectors of higher magnitudes by our model. This can be be interpreted as a measure of visual saliency, since these regions would produced large scores if their textual description was present in a corresponding sentence. We show the regions with high magnitudes in Figure 8. Notice the common occurrence of often described regions such as balls, bikes, helmets.
Learned appearance of text snippets. We can query our alignment model with a piece of text and retrieve individual image regions that have the highest score with that snippet. We show examples of such queries in Figure 9 and Figure 10. Notice that the model is sensitive to compound words and modifiers. For example, “red bus” and “yellow bus” give very different results. Similarly, “bird flying in the sky” and “bird on a tree branch” give different results. Additionally, it can be seen that the quality of the results deteriorates for less frequently occurring concepts, such as “roof” or “straw hat”. However, we emphasize that the model learned these visual appearances of text snippets from raw data of full images and sentences, without any explicit correspondences.
Additional alignment visualizations. See additional examples of inferred alignments between image regions and words in Figure 11. Note that one limitation of our model is that it does not explicitly handle or support counting. For instance, the last example we show contains the phrase “three people”. These words should align to the three people in the image, but our model puts the bounding box around two of the people. In doing so, the model may be taking advantage of the BRNN structure to modify the “people” vector to preferentially align to regions that contain multiple people. However, this is still unsatisfying because such spurious detections only exist as a result of an error in the RCNN inference process, which presumably failed to localize the individual people.
Web demo. We have published a web demo that displays our alignments for all images in the test set 333http://cs.stanford.edu/people/karpathy/deepimagesent/rankingdemo/.
Additional Flickr8K experiments. We omitted ranking experiment results from our paper due to space constraints, but these can be found in Table 5
Counting. We experimented with losses that perform probabilistic inference in the forward pass that explicitly tried to localize exactly three distinct people in the image. However, this worked poorly because while the RCNN is good at finding people, it is not very good at localizing them. For instance, a single person can easily yield multiple detections (the head, the torso, or the full body, for example). We were not able to come up with a simple approach to collapsing these into a single detection (non-maxim suppression by itself was not sufficient in our experiments). Note that this ambiguity is partly an artifact of the training data. For example, torsos of people can often be labeled alone if the body is occluded. We are therefore lead to believe that this additional modeling step is highly non-trivial and a worthy subject of future work.
Plug and play use of Natural Language Processing toolkits.
Before adopting the BRNN approach, we also tried to use Natural Language Processing toolkits to process the input sentences into graphs of noun phrases and their binary relations. For instance, in the sentence“a brown dog is chasing a young child”, the toolkit would infer that there are two noun phrases (“a brown dog”, “young child”), joined by a binary relationship of “chasing”. We then developed a CRF that inferred the grounding of these noun phrases to the detection bounding boxes in the image with a unary appearance model and a spatial binary model. However, this endeavor proved fruitless. First, performing CRF-like inference during the forward pass of a Neural Network proved to be extremely slow. Second, we found that there is surprisingly little information in the relative spatial positions between bounding boxes. For instance, almost any two bounding boxes in the image could correspond to the action of “chasing” due to huge amount of possibly camera views of a scene. Hence, we were unable to extract enough signal from the binary relations in the coordinate system of the image and suspect that more complex 3-dimensional reasoning may be required. Lastly, we found that NLP tools (when used out of the box) introduce a large amount of mistakes in the extracted parse trees, dependency trees and parts of speech tags. We tried to fix these with complex rules and exceptions, but ultimately decided to abandon the idea. We believe that part of the problem is that these tools are usually trained on different text corpora (e.g. news articles), so image captions are outside of their domain of competence. In our experience, adopting the BRNN model instead of this approach provided immediate performance improvements and produced significant reductions in code complexity.
Additional examples of generated captions on the full image level can be found in Figure 12 (and our website). The model often gets the right gist of the scene, but sometimes guesses specific fine-grained words incorrectly. We expect that reasoning not only the global level of the image but also on the level of objects will significantly improve these results. We find the last example (“woman in bikini is jumping over hurdle”) to be especially illuminating. This sentence does not occur in the training data. Our general qualitative impression of the model is that it learns certain templates, e.g. “<noun>in <noun>is <verb>in <noun>”, and then fills these in based on textures in the image. In this particular case, the volleyball net has the visual appearance of a hurdle, which may have caused the model to insert it as a noun (along with the woman) into one of its learned sentence templates.
Additional examples of region annotations can be found in Figure 13. Note that we annotate regions based on the content of each image region alone, which can cause erroneous predictions when not enough context is available in the bounding box (e.g. a generated description that says “container” detected on the back of a dog’s head in the image on the right, in the second row). We found that one effective way of using the contextual information and improving the predictions is to concatenate the fullframe feature CNN vector to the vector of the region of interest, giving 8192-dimensional input vector the to RNN. However, we chose to omit these experiments in our paper to preserve the simplicity of the mode, and because we believe that cleaner and more principled approaches to this challenge can be developed.
There are a few tricks needed to get the Multimodal RNN to train efficiently. We found that clipping the gradients (we only experimented with simple per-element clipping) at an appropriate value consistently gave better results and helped on the validation data. As mentioned in our paper, we experimented with SGD, SGD+Momentum, Adadelta, Adagrad, but found RMSProp to give best results. However, some SGD checkpoints usually also converged to nearby validation performance vicinity. Moreover, the distribution of the words in English language are highly non-uniform. Therefore, the model spends the first few iterations mostly learning the biases for the Softmax classifier such that it is predicting every word at random with the appropriate dataset frequency. We found that we could obtain faster convergence early in the training (and nicer loss curves) by explicitly initializing the biases of all words in the dictionary (in the Softmax classifier) to log probability of their occurrence in the training data. Therefore, with small weights and biases set appropriately the model right away predicts word at random according to their chance distribution. After submission of our original paper we performed additional experiments with comparing an RNN to an LSTM and found that LSTMs consistently produced better results, but took longer to train. Lastly, we initially used word2vec vectors as our word representations , but found that it was sufficient to train these vectors from random initialization without changes in the final performance. Moreover, we found that the word2vec vectors have some unappealing properties when used in multimodal language-visual tasks. For example, all colors (e.g. red, blue, green) are clustered nearby in the word2vec representation because they are relatively interchangeable in most language contexts. However, their visual instantiations are very different.
|Image Annotation||Image Search|
|Model||R@1||R@5||R@10||Med r||R@1||R@5||R@10||Med r|
|DeViSE (Frome et al. )||4.5||18.1||29.2||26||6.7||21.9||32.7||25|
|SDT-RNN (Socher et al. )||9.6||29.8||41.1||16||8.9||29.8||41.1||16|
|Kiros et al. ||13.5||36.2||45.7||13||10.4||31.0||43.7||14|
|Mao et al. ||14.5||37.2||48.5||11||11.5||31.0||42.4||15|
|DeFrag (Karpathy et al. )||12.6||32.9||44.0||14||9.7||29.6||42.5||15|
|Our implementation of DeFrag ||13.8||35.8||48.2||10.4||9.5||28.2||40.3||15.6|
|Our model: DepTree edges||14.8||37.9||50.0||9.4||11.6||31.4||43.8||13.2|
|Our model: BRNN||16.5||40.6||54.2||7.6||11.8||32.1||44.7||12.4|