Visual Relationship Detection with Language Priors
Cewu Lu, Ranjay Krishna, Michael Bernstein, Li Fei-Fei
Introduction
While objects are the core building blocks of an image, it is often the relationships between objects that determine the holistic interpretation. For example, an image with a person and a bicycle might involve the man riding, pushing, or even falling off of the bicycle (Figure 1). Understanding this diversity of relationships is central to accurate image retrieval and to a richer semantic understanding of our visual world.
Visual relationships are a pair of localized objects connected via a predicate (Figure 2). We represent relationships as object1 - predicate - object2 In natural language processing , relationships are defined as subject - predicate - object. In this paper, we define them as object1 - predicate - object2 for simplicity.. Visual relationship detection involves detecting and localizing pairs of objects in an image and also classifying the predicate or interaction between each pair (Figure 2). While it poses similar challenges as object detection , one critical difference is that the size of the semantic space of possible relationships is much larger than that of objects. Since relationships are composed of two objects, there is a greater skew of rare relationships as object co-occurrence is infrequent in images. So, a fundamental challenge in visual relationship detection is learning from very few examples.
Visual Phrases studied visual relationship detection using a small set of 13 common relationships. Their model requires enough training examples for every possible object1 - predicate - object2 combination, which is difficult to collect owing to the infrequency of relationships. If we have objects and predicates, Visual Phrases would need to train unique detectors separately. We use the insight that while relationships (e.g. “person jumping over a fire hydrant”) might occur rarely in images, its objects (e.g. person and fire hydrant) and predicate (e.g. jumping over) independently appear more frequently. We propose a visual appearance module that learns the appearance of objects and predicates and fuses them together to jointly predict relationships. We show that our model only needs detectors to detect relationships.
Another key observation is that relationships are semantically related to each other. For example, a “person riding a horse” and a “person riding an elephant” are semantically similar because both elephant and horse are animals. Even if we haven’t seen many examples of “person riding an elephant”, we might be able to infer it from a “person riding a horse”. Word vector embeddings naturally lend themselves in linking such relationships because they capture semantic similarity in language (e.g. elephant and horse are cast close together in a word vector space). Therefore, we also propose a language module that uses pre-trained word vectors to cast relationships into a vector space where similar relationships are optimized to be close to each other. Using this embedding space, we can finetune the prediction scores of our relationships and even enable zero shot relationship detection.
In this paper, we propose a model that can learn to detect visual relationships by (1) (1) learning visual appearance models for its objects and predicates and (2) using the relationship embedding space learnt from language. We train our model by optimizing a bi-convex function. To benchmark the task of visual relationship detection, we introduce a new dataset that contains images with relationships. Existing datasets that contain relationships were designed for improving object detection or image retrieval and hence, don’t contain sufficient variety of relationships or predicate diversity per object category. Our model outperforms all previous models in visual relationship detection. We further study how our model can be used to perform zero shot visual relationship detection. Finally, we demonstrate that understanding relationships can improve image-based retrieval.
Related Work
Visual relationship prediction involves detecting the objects that occur in an image as well as understanding the interactions between them. There has been a series of work related to improving object detection by leveraging object co-occurrence statistics . Structured learning approaches have improved scene classification along with object detection using hierarchial contextual data from co-occurring objects . Unlike these methods, we study the context or relationships in which these objects co-occur.
Some previous work has attempted to learn spatial relationships between objects to improve segmentation . They attempted to learn four spatial relationships: “above”, “below”, “inside”, and “around” . While we believe that that learning spatial relationships is important, we also study non-spatial relationships such as pull (actions), taller than (comparative), etc.
There have been numerous efforts in human-object interaction and action recognition to learn discriminative models that distinguish between relationships where object1 is a human ( e.g. “playing violin” ). Visual relationship prediction is more general as object1 is not constrained to be a human and the predicate doesn’t have to be a verb.
Visual relationships are not a new concept. Some papers explicitly collected relationships in images and videos and helped models map these relationships from images to language. Relationships have also improved object localization . A meaning space of relationships have aided the cognitive task of mapping images to captions . Finally, they have been used to generate indoor images from sentences and to improve image search . In this paper, we formalize visual relationship prediction as a task onto itself and demonstrate further improvements in image retrieval.
The most recent attempt at relationship prediction has been in the form of visual phrases. Learning appearance models for visual phrases has shown to improve individual object detection, i.e. detecting “a person riding a horse” improves the detection and localization of “person” and “horse” . Unlike our model, all previous work has attempted to detect only a handful of visual relationships and do not scale because most relationships are infrequent. We propose a model that manages to scale and detect millions of types of relationships. Additionally, our model is able to detect unseen relationships.
Visual Relationship Dataset
Visual relationships put objects in context; they capture the different interactions between pairs of objects. These interactions (shown in Figure 3) might be verbs (e.g. wear), spatial (e.g. on top of), prepositions (e.g. with), comparative (e.g. taller than), actions (e.g. kick) or a preposition phrase (e.g. drive on). A dataset for visual relationship prediction is fundamentally different from a dataset for object detection. A relationship dataset should contain more than just objects localized in images; it should capture the rich variety of interactions between pairs of objects (predicates per object category). For example, a person can be associated with predicates such as ride, wear, kick etc. Additionally, the dataset should contain a large number of possible relationships types.
Existing datasets that contain relationships were designed to improve object detection or image retrieval . The Visual Phrases dataset focuses on 17 common relationship types. But, our goal is to understand the rich variety of infrequent relationships. On the other hand, even though the Scene Graph dataset has 23,190 relationship types Note that the Scene Graph dataset was collected using unconstrained language, resulting in multiple annotations for the same relationship (e.g. man - kick - ball and person - is kicking - soccer ball). Therefore, 23,190 is an inaccurate estimate of the number of unique relationship types in their dataset. We do not compare with the Visual Genome dataset because their relationships had not been released at the time this paper was written., it only has 2.3 predicates per object category. Detecting relationships on the Scene Graph dataset essentially boils down to object detection. Therefore, we designed a dataset specifically for benchmarking visual relationship prediction.
Our dataset (Table 1) contains 5000 images with 100 object categories and 70 predicates. In total, the dataset contains 37,993 relationships with 6,672 relationship types and 24.25 predicates per object category. Some example relationships are shown in Figure 3. The distribution of relationships in our dataset highlights the long tail of infrequent relationships (Figure 3(left)). We use 4000 images in our training set and test on the remaining 1000 images. 1,877 relationships occur in the test set but never occur in the training set.
Visual Relationship Prediction Model
The goal of our model is to detect visual relationships from an image. During training (Section 4.1), the input to our model is a fully supervised set of images with relationship annotations where the objects are localized as bounding boxes and labelled as object1 - predicate - object2. At test time (Section 4.2), our input is an image with no annotations. We predict multiple relationships and localize the objects in the image. Figure 4 illustrates a high level overview of our detection pipeline.
In this section, we describe how we train our visual appearance and language modules. Both the modules are combined together in our objective function.
While Visual Phrases learned a separate detector for every single relationship, we model the appearance of visual relationships by learning the individual appearances of its comprising objects and predicate. While relationships are infrequent in real world images, the objects and predicates can be learnt as they independently occur more frequently. Furthermore, we demonstrate that our model outperforms Visual Phrases’ detectors, showing that learning individual detectors outperforms learning detectors for relationships together (Table 2).
First, we train a convolutional neural network (CNN) (VGG net ) to classify each of our objects. Similarly, we train a second CNN (VGG net ) to classify each of our predicates using the union of the bounding boxes of the two participating objects in that relationship. Now, for each ground truth relationship where and are the object classes (with bounding boxes and ) and is the predicate class, we model (Figure 4) as:
where is the parameter set of . and are the parameters learnt to convert our CNN features to relationship likelihoods. represent the predicates in our dataset. and are the CNN likelihoods of categorizing box as object category and box as category . CNN is the predicate CNN features extracted from the union of the and boxes.
1.2 Language Module
One of our key observations is that relationships are semantically related to one another. For example, person - ride - horse is semantically similar to person - ride - elephant. Even if we have not seen any examples of person - ride - elephant, we should be able to infer it from similar relationships that occur more frequently (e.g. person - ride - horse). Our language module projects relationships into an embedding space where similar relationships are optimized to be close together. We first describe the function that projects a relationship to the vector space (Equation 2) and then explain how we train this function by enforcing similar relationships to be close together in a vector space (Equation 4) and by learning a likelihood prior on relationships (Equation 5).
First, we use pre-trained word vectors (word2vec) to cast the two objects in a relationship into an word embedding space . Next, we concatenate these two vectors together and transform it into the relationship vector space using a projection parameterized by , which we learn. This projection presents how two objects interact with each other. We denote as the function that converts a word to its dim. vector. The relationship projection function (shown in Figure 4) is defined as:
where is the word (in text) of the object category. is a 600 dim. vector and is a bias term. is the set of , where each row presents one of our K predicates.
We want to optimize the projection function such that it projects similar relationships closer to one another. For example, we want the distance between man - riding - horse to be close to man - riding - cow but farther from car - has - wheel. We formulate this by using a heuristic where the distance between two relationships is proportional to the word2vec distance between its component objects and predicate:
where is the sum of the cosine distances (in word2vec space ) between of the two objects and the predicates of the two relationships and . Now, to satisfy Eq 3, we randomly sample pairs of relationships () and minimize their variance:
where is a variance function. The sample number we use is K.
The output of our projection function should ideally indicate the likelihood of a visual relationship. For example, our model should not assign a high likelihood score to a relationship like dog - drive - car, which is unlikely to occur. We model this by enforcing that if occurs more frequently than in our training data, then it should have a higher likelihood of occurring again. We formulate this as a rank loss function:
While we only enforce this likelihood prior for the relationships that occur in our training data, the projection function generalizes it for all object1 - predicate - object2 combinations, even if they are not present in our training data. The operator here is to encourage correct ranking (with margin) . Minimizing this objective enforces that a relationship with a lower likelihood of occurring has a lower score.
1.3 Objective function
So far we have presented our visual appearance module () and the language module (). We combine them to maximize the rank of the ground truth relationship with bounding boxes and using the following rank loss function:
We use a ranking loss function to make it more likely for our model to choose the correct relationship. Given the large number of possible relationships, we find that a classification loss performs worse. Therefore, our final objective function combines Eq 6 with Eqs 4 and 5 as:
where and are hyper-parameters that were obtained though grid search to maximize performance on the validation set. Note that both Eqs 6 and 5 are convex functions. Eq 4 is a biqudratic function with respect to . So our objective function Eq 7 has a quadratic closed form. We perform stochastic gradient descent iteratively on Eqs 6 and 5. It converges in iterations.
2 Testing
At test time, we use RCNN to produce a set of candidate object proposals for every test image. Next, we use the parameters learnt from the visual appearance model () and the language module () to predict visual relationships () for every pair of RCNN object proposals using:
Experiments
We evaluate our model by detecting visual relationships from images. We show that our proposed method outperforms previous state-of-the-art methods on our dataset (Section 5.1) as well as on previous datasets (Section 5.3). We also measure how our model performs in zero-shot learning of visual relationships (Section 5.2). Finally, we demonstrate that understanding visual relationship can improve common computer vision tasks like content based image retrieval (Section 5.4).
Given an input image, our task is to extract a set of visual relationships object1 - predicate - object2 and localize the objects as bounding boxes in the image. We train our model using the 4000 training images and perform visual relationship prediction on the 1000 test images.
The evaluation metrics we report is recall @ 100 and recall @ 50 . Recall @ x computes the fraction of times the correct relationship is predicted in the top x confident relationship predictions. Since we have predicates and an average of objects per image, the total possible number of relationship predictions is , which implies that the random guess will result in a recall @ 100 of . We notice that mean average precision (mAP) is another widely used metric. However, mAP is a pessimistic evaluation metric because we can not exhaustively annotate all possible relationships in an image. Consider the case where our model predicts person - taller than - person. Even if the prediction is correct, mAP would penalize the prediction if we do not have that particular ground truth annotation.
Detecting a visual relationship involves classifying both the objects, predicting the predicate and localization both the objects. To study how our model performs on each of these tasks, we measure visual relationship prediction under the following conditions:
In predicate detection (Figure 5(left)), our input is an image and set of localized objects. The task is to predict a set of possible predicates between pairs of objects. This condition allows us to study how difficult it is to predict relationships without the limitations of object detection .
In phrase detection (Figure 5(middle)), our input is an image and our task is to output a label object1 - predicate - object2 and localize the entire relationship as one bounding box having at least overlap with ground truth box. This is the evaluation used in Visual Phrases .
In relationship detection (Figure 5(right)), our input is an image and our task is to output a set of object1 - predicate - object2 and localize both object1 and object2 in the image having at least overlap with their ground truth boxes simultaneously.
Comparison Models. We compare our method with some state-of-that-art approaches . We further perform ablation studies on our model, considering just the visual appearance and the language module, including the likelihood term (Eq 4) and embedding term (Eq 5) to study their contributions.
Visual phrases. Similar to Visual Phrases , we train deformable parts models for each of the relationships (e.g. “chair under table”) in our training set.
Joint CNN. We train a CNN model to predict the three components of a relationship together. Specifically, we train a () way classification model that learns to score the two objects (100 categories each) and predicate (70 categories). This model represents the Visual phrases
Visual appearance (Ours - V only). We only use the visual appearance module of our model described in Eq 6 by optimizing .
Likelihood of a relationship (Ours - L only). We only use the likelihood of a relationship described in Eq 5 by optimizing .
Visual appearance + naive frequency (Ours - V + naive FC ). One of the contributions of our model is the ability to use a language prior via our semantic projection function (Eq 2). Here, we replace with a function that maps a relationship to its frequency in our training data. Using this naive function, we hope to test the effectiveness of .
Visual appearance + Likelihood (Ours - V + L only). We use both the visual appearance module (Eq 6) and the likelihood term (Eq 5) by optimizing both and . The only part of our model missing is Eq 4, which projects similar relationships closer.
Visual appearance + likelihood + regularizer (Ours - V + L + Reg.). We use the visual appearance module and the likelihood term and add an regularizer on .
Full Model (Ours - V + L + K ). This is our full model. It contains the visual appearance module (Eq 6), the likelihood term (Eq 5) and the embedding term (Eq 4) from similar relationships.
Results. Visual Phrases and Joint CNN train an individual detector for every relationship. Since the space of all possible relationships is large (we have 6,672 relationship types in the training set), there is a shortage of training examples for infrequent relationships, causing both models to perform poorly on predicate, phrase and relationship detection (Table 2). (Ours - V only) can’t discriminative between similar relationships by itself resulting in R@100 for relationship detection. Similarly, (Ours - L only) always predicts the most frequent relationship person - wear - shirt and results in R@100, which is the percentage of the most frequent relationship in our testing data. These problems are remedied when both V and L are combined in (Ours - V + L only) with an increase of R@100 in on both phrase and relationship detection and more than increase in predicate detection. (V + Naive FC) is missing our relationship projection function , which learns the likelihood of a predicted relationship and performs worse than (Ours - V + L only) and (Ours - V + L + K). Also, we observe that (Ours - V + L + K) has an improvement in comparison to (Ours - V + L only) in predicate detection, demonstrating that the language module from similar relationships significantly helps improve visual relationship detection. Finally, (Ours - V + L + K) outperforms (Ours - V + L + Reg.) showcasing the is acting not only as a regularizer but is learning to preserve the distances between similar relationships.
By comparing the performance of all the models between relationship and predicate detection, we notice a drop in R@100. This drop in recall is largely because we have to localize two objects simultaneously, amplifying the object detection errors. Note that even when we have ground truth object proposals (in predicate detection), R@100 is still .
Qualitative Results. In Figure 6(a)(b)(c), Visual Phrase and Joint CNN incorrectly predict a common relationship: person - drive - car and car - next to - tree. These models tend to predict the most common relationship as they see a lot of them during training. In comparison, our model correctly predicts and localizes the objects in the image. Figure 6(d)(e)(f) compares the various components of our model. Without the relationship likelihood score, (Ours - V only) incorrectly classifies a wheel as a clock in (d) and mislabels the predicate in (e) and (f). Without any visual priors, (Ours - L only) always reports the most frequent relationship person - wear - shirt. (Ours - V + L) fixes (d) by correcting the visual model’s misclassification of the wheel as a clock. But it still does not predict the correct predicate for (e) and (f) because person - ride - elephant and hand - hold - phone rarely occur in our training set. However, our full model (Ours - V + L + K) leverages similar relationships it has seen before and is able to correctly detect the relationships in (e) and (f).
2 Zero-shot Learning
Owing to the long tail of relationships in real world images, it is difficult to build a dataset with every possible relationship. Therefore, a model that detects visual relationships should also be able to perform zero-shot prediction of relationships it has never seen before. Our model is able to leverage similar relationships it has already seen to detect unseen ones.
Setup. Our test set contains relationships that never occur in our training set (e.g. elephant - stand on - street). These unseen relationships can be inferred by our model using similar relationships (e.g. dog - stand on - street) from our training set. We report our results for detecting unseen relationships in Table 3 for predicate, phrase, and relationship detection.
Results. (Ours - V) achieves a low R@100 in predicate detection because visual appearances are not discriminative enough to predict unseen relationships. (Ours - L only) performs poorly in predicate detection ( R@100) because it automatically returns the most common predicate. By comparing (Ours - V + L+ K) and (Ours - V + L only), we find the use of K gains an improvement of since it utilizes similar relationships to enable zero shot predictions.
3 Visual Relationship Detection on Existing Dataset
Our goal in this paper is to understand the rich variety of infrequent relationships. Our comparisons in Section 3 show that existing datasets either do not have enough diveristy of predicates per object category or enough relationship types. Therefore, we introduced a new dataset (in Section 3) and tested our visual relationship detection model in Section 5.1 and Section 5.2. In this section, we run additional experiments on the existing visual phrases dataset to provide further benchmarks.
Setup. The visual phrase dataset contains 17 phrases (e.g. “dog jumping”). We evaluate the models (introduced in Section 5.1) for visual relationship detection on 12 of these phrases that can be represented as a object1 - predicate - object2 relationship. To study zero-shot learning, we remove two phrases (“person lying on sofa” and “person lying on beach”) from the training set, and attempt to recognize them in the testing set. We report mAP, R@50 and R@100.
Results. In Table 4 we see that our method is able to perform better than the existing Visual Phrases’ model even though the dataset is small and contains only relationships. We get a mAP of using our entire model as compared to a mAP of using Visual Phrases’ model. We also outperform the Joint CNN baseline, which achieves a mAP of . Considering that (Ours - V only) model performs similarly to the baselines, we believe that our full model’s improvements on this dataset are heavily influenced by the language priors. By learning to embed similar relationships close to each other, the language model’s aid can be thought of as being synonymous to the improvements achieved through training set augmentation. Finally, we see a similar improvements in zero shot learning.
4 Image based Retrieval
An important task in computer vision is image retrieval. An improved retrieval model should be able to infer the relationships between objects in images. We will demonstrate that the use of visual relationships can improve retrieval quality.
Setup. Recall that our test set contains images. Every query uses of these images and ranks the remaining . We use query images in our experiments. Two annotators were asked to rank image results for each of the queries. To avoid bias, we consider the results for a particular query as ground truth only if it was selected by both annotators. We evaluate performance using R@1, R@5 and R@10 and median rank . For comparison, we use three image descriptors that are commonly used in image retrieval: CNN , GIST and SIFT . We rank results for a query using the distance from the query image. Given a query image, our model predicts a set of visual relationships with a probability of respectively. Next, for every image in our test set, it predicts with a confidence of . We calculate a matching score between an image with the query as . We also compare our model with Visual Phrases’ detectors .
Results. SIFT and GIST descriptors perform poorly with a median rank of and (Table 5) because they simply measure structural similarity between images. CNN descriptors capture object-level information and performs better with a median rank of . Our method captures the visual relationships present in the query image, which is important for high quality image retrieval, improving with a median rank of . When queried using an image of a ”person riding a horse” (Figure 7), SIFT returns images that are visually similar but are not semantically relevant. CNN retrieves one image that contains a horse and one that contains both a man and a horse but neither of them capture the relationship: “person riding a horse”. Visual Phrases and our model are able to detect the relationship person - ride - horse and perform better.
Conclusion
We proposed a model to detect multiple visual relationships in a single image. Our model learned to detect thousands of relationships even when there were very few training examples. We learned the visual appearance of objects and predicates and combined them to predict relationships. To finetune our predictions, we utilized a language prior that mapped similar relationships together – outperforming previous state of the art on the visual phrases dataset as well as our dataset. We also demonstrated that our model can be used for zero shot learning of visual relationships. We introduced a new dataset with relationships that can be used for further benchmarking. Finally, by understanding visual relationships, our model improved content based image retrieval.
Supplementary Material
While we describe the theory and training procedure in the main text of this paper (Section 4.1), we include an algorithm box (Algorithm 1) to explain our training procedure in an alternate format.
2 Mean Average Precision on Visual Relationship Detection
As discussed in our paper, mean average precision (mAP) is a pessimistic evaluation metric for visual relationship detection because our dataset does not exhaustively annotate every possible relationship between two pairs of objects. For example, consider the case when our model predicts that a person - next to - bicycle when the ground truth annotation is person - push - bicycle. In such a case, the prediction is not incorrect but would be penalized by mAP. However, to facilitate future comparisons against our model using this dataset, we report the mAP scores in Table 6.
We see a similar trend in the mAP scores as we did with the recall @ 50 and recall @ 100 values. The Visual Phrases and Joint CNN baselines along with (Ours - L only) perform poorly on all three tasks: phrase, relationship and predicate detection. The visual only model (Ours - V only) improved upon these results by leveraging the visual appearances of objects to aid it’s predicate detection. Our complete model (Ours - V + L + K) achieves a mAP of on relationship predication since it is penalized for missing annotations. However, it still performs better than all the other ablated models. It also attains a mAP on predicate detection, demonstrating that our model learns to recognize predicates from one another.
3 Mean Average Precision on Zero-shot Learning
Similar to the previous section, we also include the mAP scores for zero shot learning in Table 7. Again, we see that the the inclusion of K() allows our model to levearage similar relationships to improve zero shot learning in all three experiments.
4 Human Evaluation on our Dataset
We ran an experiment to evaluate the human performance on our dataset. We randomly selecting 1000 pairs of objects from the dataset and then asked humans on Amazon Mechanical Turk to decide which of the predicates were correct for each pair. We found that humans managed a recall @ 50 and mAP. This demonstrates that while this task is easy for humans, Visual Relationship Detection is still a hard unsolved task.
. Our work is partially funded by an ONR MURI grant.