Automatic Discovery, Association Estimation and Learning of Semantic Attributes for a Thousand Categories
Attribute-based recognition models, due to their impressive performance and their ability to generalize well on novel categories, have been widely adopted for many computer vision applications. However, usually both the attribute vocabulary and the class-attribute associations have to be provided manually by domain experts or large number of annotators. This is very costly and not necessarily optimal regarding recognition performance, and most importantly, it limits the applicability of attribute-based models to large scale data sets. To tackle this problem, we propose an end-to-end unsupervised attribute learning approach. We utilize online text corpora to automatically discover a salient and discriminative vocabulary that correlates well with the human concept of semantic attributes. Moreover, we propose a deep convolutional model to optimize class-attribute associations with a linguistic prior that accounts for noise and missing data in text. In a thorough evaluation on ImageNet, we demonstrate that our model is able to efficiently discover and learn semantic attributes at a large scale. Furthermore, we demonstrate that our model outperforms the state-of-the-art in zero-shot learning on three data sets: ImageNet, Animals with Attributes and aPascal/aYahoo. Finally, we enable attribute-based learning on ImageNet and will share the attributes and associations for future research.
Semantic attributes, being both machine detectable and human understandable, lend themselves to various applications in vision and language domain [?]. By creating an intermediate layer of semantics that cross the boundaries of object categories, they also show impressive performance in transfer learning [?] and domain adaptation [?]. However, attribute annotations for object categories are usually obtained manually by tens of annotators [?] or domain experts [?]. Moreover, the attribute vocabulary itself requires careful engineering. It should be shared across the categories but at the same time be discriminative, interpretable and visually detectable.
This is clearly a major obstacle for attribute-based approaches to scale to large number of classes. The cost associated in providing such annotations is prohibitive which limits the available attribute data sets either in the number of classes, attributes or images. Additionally, this non-trivial and expensive work is needed again when moving across data sets or expanding the current set with new categories.
We aim in this work to circumvent this need for human intervention. Our goal is to automatically mine attributes vocabulary and find their associations to objects in a large scale setting. We achieve this by utilizing the large text corpora available in the web. Online encyclopedias represent a rich source of information which encode the collective human knowledge over various concepts and categories. It is an active and comprehensive knowledge source that keeps growing at impressive rates [?]. Fig. shows a snippet of an article describing the animal category Wombat. One can easily observe that numerous distinctive attributes for this category about its shape, taxonomy and habitat already appear in the introduction of the article.
Recently, This valuable and massive source of knowledge attracted a lot of interest in the vision community. One can identify two main perspectives in that direction. The first, learns word embeddings of the object categories from text using powerful models from natural language processing [?]. It then adapts a deep neural model for embedding prediction and zero-shot learning based on visual data [?]. Differently, the second perspective follows a domain adaptation approach between language and vision. It directly predicts classifier weights for unseen classes based on an embedding of the category textual description [?]. While we tap to a similar knowledge source to bridge the gap between language and vision, in contrast to these approaches, our objective is to automatically discover an explicit set of semantic attributes that is compact, discriminative and best describes the categories in our data.
The main contributions of our work are as follows:
While attribute-based visual recognition gained a continuous rise in popularity in computer vision, collecting attribute annotations proved to be very expensive. Consequently, this clearly limits the scalability of attribute-based approaches to large number of categories. Most available attribute data sets [?] are limited in terms of the number of attributes, categories or images. In a recent effort to collect a larger attribute data set, [?] proposed a cost effective labeling approach where they collected annotations of 196 attributes for 29 categories and 84 thousand images with annotation cost of more than $30,000. Differently, in this work, we circumvent the need of user supervision to define and annotate attributes. We propose an unsupervised end-to-end approach to automatically mine and learn semantic attributes for thousands of categories.
There were few attempts in the literature to automatically obtain an attribute vocabulary. [?] mine attributes by crawling the WordNet [?] ontology. Specifically, they track the “has-part” relations in WordNet to extract “part” attributes. On the other hand, [?] use the top ranked images returned by web search engines queried with a certain vocabulary to estimate the “visualness” of words. [?] samples pairs of (image, description) from the Internet to automatically find a set of visual attributes. Similarly, [?] uses both image-based textual descriptions as well as a set of image tags provided by users in social media to identify the attribute vocabulary. Different from previous work, our approach does not require images aligned with textual descriptions or tags. Furthermore, we do not rely on a predefined ontology such as WordNet or target only a specific type of attributes like “parts”. Instead, we use textual description at the category level in form of encyclopedia entries to extract a salient and diverse set of attributes.
In a different direction, other approaches focused on predicting the class-attribute associations automatically. [?] estimate the associations strength from web-based co-occurrence statistics. However, web-based hit counts estimations are noisy since it does not take into consideration the context or the specific relation sought between the category and the attribute. [?] uses WordNet hierarchy to transfer the attribute associations of an unseen class from its parent in the ontology. Recently, [?] proposes to predict attribute associations using semantic relations in a tensor factorization approach. However, both [?] and [?] assume the availability of training associations. Here, we propose a deep model to estimate the class-attribute associations from scratch. Our model takes advantage of an initial linguistic prior over the associations from textual description and improves the estimations in a joint optimization framework of object and attributes predictions.
Semantic attributes – with their ability to be shared across categories – have shown impressive performance in tasks like ZSL. However, due to their limited scalability, there is an increasing interest in conducting ZSL by tapping to an alternative knowledge source, for example by exploiting lexical hierarchies to transfer visual models between the categories [?] or learning a hierarchical embedding [?]. A different direction leverage powerful word embeddings [?] to establish the semantic link between seen and unseen categories [?]. More closely to our work are the ones from [?] and [?]. These approaches use article embeddings to directly predict the classifier weights of the novel category in a domain adaption framework. However, most of the unsupervised ZSL approaches do not result in good discriminative classifiers when compared to their attribute-based counterpart [?]. We show in the evaluation, that our unsupervised deep attribute model can predict novel categories with high accuracy and it outperforms state-of-the-art in unsupervised ZSL with a significant margin.
3Discovering and Learning Attributes
We propose an end-to-end approach for large scale attribute-based visual recognition. Starting with a set of articles describing the object categories, our approach consists of three main steps: 1) We automatically analyze the articles in order to extract an attribute vocabulary with the most salient and discriminative words to describe these categories. Then, 2) we optimize the class-attribute associations using visual data by a novel deep convolutional model with a linguistic prior and joint optimization of class and attribute predictions. Finally, 3) we train a deep neural model for large scale attribute classification.
3.1Semantic attribute discovery
Let be a set of text documents describing all object categories in the dataset. For notation simplicity, we assume , there is one document for each category. Let be the dictionary of words learned from . Then, our goal is to select a subset vocabulary that best describes :
where is a set function that captures the desired properties of the subset , and is the size of the vocabulary.
Ideally, words in should: 1) discriminate well between the object categories; 2) describe diverse aspects of the categories rather than focusing only on one or few properties (e.g. only colors or parts); and 3) represent salient semantic concepts understandable by humans. Next, we describe how we capture these different criteria of in our objective function (Fig. ).
Let be a text-based embedding ( is based on tfidf) learned over the document set such that captures the word importance in document . We construct an undirected fully connected graph . Each node represents a category . Each edge has a weight that captures how well words in discriminate one class from the others. Additionally, each node has a self loop with a weight . To capture the discriminative power of a set , we employ the entropy rate of a random walk on graph as defined by [?].
In summary, let be the sum of incident weights of node and the total sum of weights in the graph is . The transition probability among the nodes is set to:
Note that is a set function and the transition probabilities will change when the selected set changes. The incident weights for each node in the graph are kept constant because of the self loops weight , and the stationary distribution for the random walk is defined as , where . Then the entropy rate of a random walk on is:
The maximization of demands the maximization of the discrimination among all pairs of classes.
Another desired property of a good set of attributes is that it describes various aspects of the categories. That is, we want to encourage diversity among the selected words to reduce the bias towards a specific set of classes and to mine a vocabulary that describes all categories equally well. In order to promote diversity, we first uncover the latent semantic structure among the categories. We leverage here the unsupervised probabilistic topic models (LDA [?]) to discover underlying themes in the documents.
Let be a set of topics learned from documents and dictionary . We define the diversity objective criteria as:
encourages topic diversity in since adding words that belong to a previously chosen topic will have diminishing gain because of the square root function. It also accounts for word importance for the topic since adding a word with higher results in a higher gain. Moreover, by encouraging diversity also discourages redundancy. A word and its synonyms are more likely to belong to the same topic, hence they are less likely to be chosen together. That is, favors a diverse, less redundant and representative set of words.
An important aspect of semantic attributes is that they represent salient words with relatively clear semantic concepts, “leg”, “yellow” and “transparent”. Whereas words like “become”, “allow” and “various” belong to the background language structure, hence they are usually ambiguous and carry less or no semantics by themselves. Capturing word saliency directly is hard due to word polysemy and since word importance depends on the context. Therefore, we propose to capture this property using the learned underlying topic structure among the documents as a proxy.
One can estimate the significance of a topic by comparing its distribution over the words and documents to junk topics prototypes [?]. A junk topic is one that has uniform distribution over words (it doesn’t capture any specific theme) or over documents (it captures the common theme of all documents). By measuring the distance (KL divergence) of the discovered topics to these junk prototypes, we can obtain a ranking of the topics regarding their significance.
|Rank||Top Words in Topic|
|1||instrument play music sound pitch note musical reed player violin make tone range octave bass family key band fiddle hole|
|2||spaniel english welsh cocker springer show cardigan field pembroke work dock type small sussex average come line variety would century|
|3||missile target system wing guide flight use force parachute engine know projectile rocket air lift guidance kinetic anti weapon shuttle|
|198||call include allow many time upper consist long much several little last low reach second slow half make follow suitable|
|199||use make allow would prevent work take give open cause come reduce keep provide way protect help less leave property|
|200||use century become modern early world work time begin develop could history new war late development introduce part include today|
Table shows the highest and lowest ranked topics over a set of documents using topic significance analysis model from [?]. One can see that the top ranked topics revolve around specific themes like “music”, “dogs” and “military”, while the lowest ranked topics have no theme in particular and are related to the background structure of the language or the documents domain.
Let be the set of lowest ranked topics. We define a saliency cost function as:
where controls the contribution of the insignificance score of a word to the cost function. favors salient words which will have a cost close to 1 while it punishes junk words which have a higher probability to appear in junk topics.
We formulate the vocabulary selection problem in a submodular knapsack framework [?]. A set function is submodular if it satisfies the decreasing marginal gain condition [?] : . In other words, the benefit of adding a new element to the set is higher if it happens earlier. All the previous functions , and satisfy the marginal gain condition and are submodular
where is the budget and a hyper-parameters controlling the contribution of .
is submodular since it is a linear combination of submodular functions [?]. Submodular functions can be optimized robustly with a guaranteed solution to be near optimal [?]. We adopt a lazy greedy algorithm [?]. We start with an empty set , then we incremently add elements to with maximum gain according to using lazy evaluations.
3.2Association optimization with a linguistic prior
In the previous step, we have selected the best attribute vocabulary that describes the different categories in our data set. Having this set of words, we get an initial estimate of the class-attribute association matrix (Fig. ) using the text-based embedding learned over .
However, this association matrix may contain some noise since does not capture context, and not all relations for a certain category are necessarily represented in the respective text documents. Usually, simple and obvious attributes of a class are omitted from text if they are not interesting enough to mention from the perspective of the author. For example, while most animals have attributes like “head”, “leg” or “skin” these are not always mentioned in text when describing the animal unless there is something special about it. Moreover, is a bag of words representation, it does not capture the context of the attributes in text. This results in a negative relation like “a tiger does not live in ocean” being captured as a positive association between “tiger” and “ocean” since relies only on the presence of the word in the description.
We propose to improve the initial associations obtained from language by grounding it to visual data using a deep convolutional network model. The network is trained to predict both attributes and categories while at the same time constraining the weights of the last layer to the initially estimated associations (see Fig. ). Note that this architecture resembles the direct attribute prediction model DAP [?] where the object class is estimated based on the predicted attributes. We define the training loss function as:
where and are the cross entropy loss of predicting the object category and the binary attributes of sample , respectively. is an entry-wise regularization term over the weights of the last fully connected layer based on the initial association matrix .
Note that, by using the linguistic prior we force the network to preserve the semantic link between linguistic and visual data. This prevents the network from finding arbitrarily data-driven associations that can not be estimated anymore from textual description. At the same time, by controlling we allow for small modification to the associations when there is a strong visual signal supporting change to account for noise and missing information in .
We adopt an AlexNet-like architecture [?] for the joint deep model. That is, we have 5 convolutional layers followed by two fully connected layers and a Sigmoid activation function for attribute prediction, then another fully connected layer with softmax activation for category classification. At the end of the joint optimization, we get the new binary association matrix of classes and attributes by thresholding the weights of the last layer . The optimized associations redefine the positive and negative label assignments for each attribute which were intially based on .
3.3Deep attribute model
Finally, given the optimized associations from the previous step, we train a deep model for attribute prediction (Fig. ). The network has a similar architecture as the one we used for the joint optimization. However, we remove the last layer for the category prediction and add a new fully connected layer before the attribute prediction layer. That is, the network is made of 5 convolutional layers followed by three fully connected layers. The last attribute prediction layer is followed by a Sigmoid activation function. We use the cross entropy loss to train the network for binary attribute prediction.
Given an image , we estimate the corresponding object category using the direct attribute prediction model (DAP) [?]. We adopt a summation formulation rather than the probabilistic one [?] since it’s more efficient [?], especially in our large scale case. That is, for a class , the estimated prediction score of to appear in image as:
where is the prediction score of attribute in image , are the attributes of class , and the classification scores are normalized to have a zero mean and unit standard deviation. We use the same formulation for classifying unseen categories in zero-shot learning. However, in this case the associations of the novel class are estimated directly from the textual description.
In this section, we provide a thorough evaluation of our model in selecting a set of good attributes, association optimization and predicting semantic attributes. Furthermore, we evaluate our deep attribute model in zero-shot learning and its generalization properties across data sets.
Through our experiments, we use the ILSVRC2012 dataset from ImageNet [?]. It contains categories and more than million images. We collect articles for each synset in the data set by querying the Wikipedia API with the different terms in each synset. This results in 1100 articles with around 80500 unique words. All document are preprocessed to remove non alphabetic characters, and words are lower cased and stemmed. To avoid bias toward lengthy articles for some categories, we truncate the articles length to a maximum of 500 words. We extract a tfidf (term frequencyinverse document frequency) embedding for each document in the set. The tfidf measures the importance of a word in a document by accounting for how often this word appears in the document and how frequent it appears in all other documents. We use the normalized tf and logarithmic idf scores [?]. For each synset, we average the embedding over all its documents to get its final representation.
For the attribute discovery, we learn a set of 200 topics using the Latent Dirichlet Allocation model [?]. We empirically set , and the maximum number of attributes to discover . We set the hyperparameters and for the joint deep model such that the initial losses from the three terms are of similar magnitudes. For the final deep attribute model, we initialize the weights of the convolutional layer from the previous network trained for the joint optimization. All networks are trained using Adam [?] for stochastic optimization with an initial learning rate of 0.001 and a weight decay of 5e-4.
4.1Selecting the attribute vocabulary
We evaluate the quality of the selected attribute vocabulary from two perspectives: 1) the performance of the attribute embedding in capturing object similarity and 2) the vocabulary saliency.
A good attribute representation of categories should capture the similarity among the classes. That is, categories that are visually similar should share most of their attributes and have similar embeddings. To capture the quality of the attribute embedding, we rank the classes based on their similarity in the attribute embedding space. We use the normalized discounted cumulative gain (nDCG) [?] to compare among the different methods:
Such that is the relevance of the ranked sample, and the ideal rank score is that for the rank of the classes for each category based on their distances in the ImageNet hierarchy.
As baselines, we consider several common feature selection methods: 1) max-Relevance and min-Redundancy (mRmR) [?]; 2) Multi-Cluster Feature Selection (MCFS) [?]; 3) Local Learning-based Clustering method (LLC-fs) [?]; 4) Minimum Correlation (MinCorr) which selects words that have the least correlation with the rest of the vocabulary.
Fig. shows the ranking quality of all the baselines and our approach up to position K=10 in the ranking list. Our approach outperforms all baselines and produces an embedding that captures the within category similarities. We also consider different variants of our approach by removing some of the optimization terms from Eq. . Each of the terms used in our submodular optimization contributes positively to the quality of the attribute embedding.
|Model||Relevance (%)||Junk (%)||Saliency (%)|
Here, we explore how the selected vocabulary correlates with human understanding of salient semantic attributes. To that end, we pick synsets that are uniformly distributed in the ImageNet hierarchy. For each category, we select random words from the dictionary with positive tfidf scores for that class. We asked annotators to classify the association between each class and its words into categories: 1) positive: such as “The horse has a tail”; 2) negative: like “The dolphin does not walk”; 3) unknown: when the annotator does not have the knowledge to decide the type; 4) junk: when the word itself does not carry a clear concept to define an association. The majority of the annotators agree on of the labels. The labels are distributed as ( positive, negative, unknown and junk). Out of the 4 categories, we are interested in the positive and junk categories since they describe the semantic saliency of the words. The negative and unknown types do not deliver much information about the semantics since a word having a negative association might have a positive one with other classes while the unknown reflects the lack of knowledge of the annotator. We obtain the probability of a word from the annotation vocabulary to engage in a positive association or being junk by marginalizing over all annotators and object classes. We then define the weighted relevance of the selected words as: , and similarly for the junk score. The final saliency score of is then defined as the average of both: .
Table shows the performance of our approach and the baselines from the previous section. While some of the baselines performed relatively well in getting a good attribute embedding, large portions of the selected words by these methods do not carry a clear semantic concept. Our approach has a much higher relevance score while at the same time the lowest junk score among all baselines. This indicates that the set of attributes discovered by our method correlates well with the human concept of semantic attributes.
|w/o Linguistic Prior||55.2||22.4||30.4||19.0|
|w/ Linguistic Prior||60.3||28.9||45.2||39.5|
|w/o Association Opt.||74.8||64.1||51.4||48.3|
|w/ Association Opt.||76.9||68.2||55.9||54.2|
Having selected a set of salient attributes, we evaluate here the performance of our model in predicting these attributes in images. Table shows the attribute prediction accuracy and average precision (AP). It also reports the object Top1 classification accuracy and the AP based on the predicted attributes and when using the DAP model (Eq. ).
In the first section of Table , it is interesting to see that regularizing the weights of the last fc layer with the language prior improves the performance of attribute predictions by 5% in accuracy and 6% in AP. At the same time, it results in a boost in object classification Top1 accuracy by 15%. These results show that side information obtained from language has a significant impact on the performance of the deep model. Additionally, the unregularized network learns quite different associations between classes and attributes than those in . Only 13% of the positive associations in this case are shared with those learned from the textual description. This indicates that the semantic link between the attributes and the classes is lost in this model. In contrast, the regularized model preserves the semantics and retains more than 93% of the positive associations in . Finally, training the deep attribute model with the optimized associations results in a better model compared to a one trained directly using . This indicates that our joint model managed to account for some of the noise and missing data in . The deep attribute model trained with has higher attribute and object prediction performance. Moreover, our deep attribute model achieves 75% Top5 object classification accuracy, by predicting objects through the semantic attribute layer. This is an impressive performance of the attribute model since it almost matches the performance of a deep model with the same architecture trained directly for object classification (80% accuracy).
Fig. shows the performance of the individual attributes. Around 80% of the attributes can be predicted with an average precision better than 0.6.
|Model||Split||200 labels||1000 labels|
|Rohrbach et al.||A||34.8||-|
|Ours - BT||A||48.0||20.2|
|Mensink et al.||B||35.7||1.9|
|Ours - BT||B||49.0||20.0|
|Ours (w/o assoc. opt.)||C||45.8||14.8|
An important feature of semantic attributes is their ability to form a shared knowledge layer which can be transfered to unseen classes. We evaluate here the performance of our discovered attributes in classifying unseen classes (zero-shot learning). While there is no standard zero-shot split in ImageNet, there are two common splits used in the literature and defined over the ILSVRC2010 classes, split A from [?] and B from [?]. Both of them, split the classes into 800 seen and 200 unseen categories. We train our model as before while this time we use only the 800 seen classes of the respective split and we test on the remaining unseen classes.
Table shows the Top5 accuracy of our model over the two splits (A & B). Our deep attribute model outperforms the state-of-the-art by 11% on split A and by 5% on split B. Furthermore, we analyze the bias of our model toward seen classes similar to [?]. In this test setup, both the seen and unseen labels are considered as candidates when predicting the object category. Our model achieves 15% accuracy on split A & B and shows much less bias compared to state of the art with 6% improvement. Additionally, if we assume the availability of test data as a batch (Ours-BT), we can get a better estimation of the mean and standard deviation for classifiers scores in Eq. . This results in additional improvement of performance by 3%.
Since in the zero-shot settings, we optimize the associations using only data from the seen categories, we analyze in the last section of Table (split C) the performance of our model with and without association optimization. Here again, we find that the association optimization did not result in a biased performance towards the seen classes, rather it improved the model performance. Overall, we see that optimizing the associations is beneficial in both within and across category prediction.
|SJE||G + H||60.1||-|
|Xian||W + G + H||66.2||-|
|Ours (binary assoc.)||T||77.3||57.6|
|Ours (continous assoc.)||T||79.7||57.5|
To compare the performance of our model that we learned in ImageNet with a manually selected attribute vocabulary, we evaluate our deep attribute model on two public data sets: 1) Animals with Attributes (AwA) [?]: which has 50 animal classes split into 40 seen and 10 unseen categories with 84 predefined semantic attributes. 2) aPascal/aYahoo (aPY) [?]: which has 32 classes split into 20 seen and 12 unseen with 64 semantic attributes. We collect articles for each of the unseen categories to extract their associations to our discovered attribute vocabulary. We consider both using the raw continuous associations (tfidf values) and binary associations. We test our model on the unseen categories on both data sets without any fine tuning of the trained deep model (off-the-shelf).
From Table we see that our model outperforms all unsupervised zero-shot approaches. Compared to methods from [?] that used similar type of side information as ours, we have up to 13% improvement. Moreover, our model outperforms a DAP model based on the manually defined attribute vocabulary and using image embeddings from an AlexNet model [?] or even from GoogLeNet [?]. This demonstrates the impressive generalization properties of our model across data sets.
Here, we explore the effect of the article length on the prediction performance. We vary the length of the considered section of the articles from 100 to 1000 words. Then we extract the associations of the unseen classes in AwA and aPY from the truncated articles.
Fig. shows the performance of the model in this case. We notice that the optimal length of the article increases in correlation with the granularity of the categories in the data set. For AwA which contains only animal classes, in average longer articles (400 to 600 words) are needed to sufficiently extract discriminant associations. In contrast, categories in aPY are easier to separate with shorter articles (200 words). Moreover, we see that most of the important attributes are mentioned quite early in the article, with performance degrading when we consider relatively long articles (more than 800 words). In both data sets, we see that continuous associations outperform their binary counterpart in predicting the categories in most cases.
Using our model, we have discovered and learned 1636 semantic attributes describing 1360 categories with more than 1.2 million images from ImageNet (ILSVRC2010 & ILSVRC2012). This amounts to roughly 2 million class-attribute associations. In average, each attribute is shared between 29 categories, and each category has about 33 active attributes. Some of the most shared attributes (with more than 100 categories) are water, black, red, breed, tail, metal, coat, device, hunt, plastic, yellow and hair. Some of the least shared attributes (with less than 10 categories) are cassette, cowboy, pumpkin, sweater, convertible, ballistic, hump, axe, drilling, laundry, cash and quilt.
We propose a novel end-to-end approach to discover and learn attributes at a large scale form textual descriptions. Our model discovers a salient, diverse and discriminative set of attribute vocabulary that correlates well with human understanding of semantic attributes. Moreover, in order to account for noise and missing data in the text corpora, we propose to use a linguistic prior in a joint deep model to optimize the class-attribute associations. In an evaluation on ImageNet, we show that our deep attribute model is able to learn and predict semantic attributes with high accuracy for a thousand categories. Our model outperforms the state-of-the-art in unsupervised zero-shot learning and it generalizes well across data sets.
- more details in supplementary