Describing Objects by their Attributes
Describing Objects by their Attributes
Ali Farhadi, Ian Endres, Derek Hoiem, David Forsyth Computer Science Department
University of Illinois at Urbana-Champaign
{afarhad2,iendres2,dhoiem,daf}@uiuc.edu
Abstract
We propose to shift the goal of recognition from naming to describing. Doing so allows us not only to name familiar objects, but also: to report unusual aspects of a familiar object ("spotty dog", not just "dog"); to say something about unfamiliar objects ("hairy and four-legged", not just "unknown"); and to learn how to recognize new objects with few or no visual examples. Rather than focusing on identity assignment, we make inferring attributes the core problem of recognition. These attributes can be semantic ("spotty") or discriminative ("dogs have it but sheep do not"). Learning attributes presents a major new challenge: generalization across object categories, not just across instances within a category. In this paper, we also introduce a novel feature selection method for learning attributes that generalize well across categories. We support our claims by thorough evaluation that provides insights into the limitations of the standard recognition paradigm of naming and demonstrates the new abilities provided by our attributebased framework.
1. Introduction
We want to develop computer vision algorithms that go beyond naming and infer the properties or attributes of objects. The capacity to infer attributes allows us to describe, compare, and more easily categorize objects. Importantly, when faced with a new kind of object, we can still say something about it (e.g., "furry with four legs") even though we cannot identify it. We can also say what is unusual about a particular object (e.g, "dog with spots") and learn to recognize objects from description alone.
In this paper, we show that our attribute-centric approach to object recognition allows us to do a better job in the traditional naming task and provides many new abilities. We focus on learning object attributes, which can be semantic or not. Semantic attributes describe parts ("has nose"), shape ("cylindrical"), and materials ("furry"). They can be learned from annotations and allow us to describe objects and to identify them based on textual descriptions. But they are not always sufficient for differentiating between object categories. For instance, it is difficult to describe the difference between cats and dogs, even though there are
Naming
Aeroplane
Description Unusual attributes
Unknown Has Wheel Has Wood
Bird No Head No Beak
Motorbike Unexpected attributes Has Cloth
Has Horn Has leg Has Head Has Wool
Textual description
Figure 1: Our attribute based approach allows us not only to effectively recognize object categories, but also to describe unknown object categories, report atypical attributes of known classes, and even learn models of new object categories from pure textual description.
many visual dissimilarities. Therefore, we also learn nonsemantic attributes that correspond to splits in the visual feature space. These can be learned by defining auxiliary tasks, such as to differentiate between cars and motorbikes using texture.
When learning the attributes, we want to be able to generalize to new types of objects. Generalizing both within categories and across categories is extremely challenging, and we believe that studying this problem will lead to new insights that are broadly applicable in computer vision. Training attribute classifiers in the traditional way (use all features to classify whether an object has an attribute) leads to poor generalization for some attributes across categories. This is because irrelevant features (such as color when learning shape) are often correlated with attributes for some sets of objects but not others. Instead, we propose to first select features that can predict attributes within an object class and use only those to train the attribute classifier.
1
For instance, to learn a "spots" detector, we would select features that can distinguish between dogs with and without spots, cats with and without spots, horses with and without spots, and so on. We then use only these selected features to train a single spot detector for all objects.
A key goal is to describe objects and to learn from descriptions. Two objects with the same name (e.g., "car") may have differences in materials or shapes, and we would like to be able to recognize and comment on those differences. Further, we may encounter new types of objects. Even though we can't name them, we would like to be able to say something about them. Finally, we would like to learn about new objects quickly, sometimes purely from a textual description. These are important tools for humans, and we are the first to develop them in computer vision at the object category level.
We have developed new annotations and datasets to test our ability to describe, compare, and categorize objects. In particular, using Amazon's Mechanical Turk [21], we obtained 64 attribute labels for each of the twenty objects in the PASCAL VOC 2008 [4] trainval set of roughly 12,000 instances. We also downloaded images using Yahoo! image search for twelve new types of objects and labeled them with attributes in a similar manner. To better focus on description, we perform experiments on objects that have been localized (with a bounding box) but not identified. Thus, we deal with the question "What is this?", but not "Where is this?" We want to show that our attribute-based approach allows us to effectively categorize objects, describe known and new objects, and learn to categorize new types of objects. We are particularly interested in the question of how well we can generalize to new types of objects, something that has not been extensively studied in past work.
Our experiments demonstrate that our attribute-based approach to recognition has several benefits. First, we can effectively categories objects. The advantage is particularly strong when few training examples are available, likely because attributes can be shared across categories and provide a compact but discriminative representation. Our tests also indicate that selecting features provide large gains in learning from textual description and reporting unusual attributes of objects. Surprisingly, we found that we can classify objects from a purely textual description as accurately as if we trained from several examples. These experimental results are extremely encouraging and indicate that attribute-based recognition is an important area for further study.
2. Background
Our notion of attributes comes from the literature on concepts and categories (reviewed in [15]). While research on "basic level" categories [19] indicates that people tend to use the same name to refer to objects (e.g., "look at that cat" instead of "look at that Persian longhair" or "look at that mammal"), there is much evidence [13] that category formation and assignment depends on what attributes we know and on our current goal. A cat in different contexts could be a "pet", "pest", or "predator." The fluid nature of object categorization makes attribute learning essential.
For this reason, we make attribute learning the center of our framework, allowing us to go beyond basic level naming. We do not, however, attempt to resolve the long-standing debate between exemplar and prototype models; instead we experiment with a variety of classifiers. In this, we differ from Malisiewicz and Efros [14] who eschew categorization altogether, treating recognition as a problem of finding the most similar exemplar object (but without trying to say how that object is similar). Our model is also different from approaches like [24] because our attributes are more general than just textures.
Space does not allow a comprehensive review of current work on object recognition. The main contrast is that our work involves a form of generalization that is novel to the literature -- we want our system to make useful statements about objects whose name it does not happen to know. This means that we must use an intermediate representation with known semantics (our attributes). It also means that we must ensure that we can predict attributes correctly for categories that were not used in training (section 4).
Ferrari and Zisserman [9] learn to localize simple color and texture attributes from loose annotations provided by image search. By contrast, we learn a broad set of complex attributes (shape, materials, parts) in a fully supervised manner and are concerned with generalization to new types of objects. We do not explicitly learn to localize attributes, but in some cases our feature selection method provides good localization as a side effect. Extensive work has been done in parts models for object recognition, but the emphasis is on localizing objects, usually with latent parts (e.g., [8, 20, 7]) learned for individual object categories. We differ from these approaches because of the explicit semantics of our attributes. We define explicit parts that can be shared across categories.Several researchers [2, 18, 12, 1, 22, 17] have shown that sharing features across multiple tasks or categories can lead to increased performance, especially when training data is limited. Our semantic attributes have a further advantage: they can be used to verbally describe new types of objects and to learn from textual description (without any visual examples).
3. Attributes and Features
We believe inferring attributes of objects is the key problem in recognition. These attributes can be semantic attributes like parts, shapes, and materials. Semantic attributes may not be always enough to distinguish all the categories of objects. For this reason we use discriminative attributes as well. These discriminative attributes take the form of comparisons borrowed from [5, 6],"cats and dogs have it but sheep and horses don't".
Objects share attributes. Thus, by using predicted attributes as features, one can get a more compact and more discriminative feature space. Learning both semantic and discriminative attributes open doors to some new visual functions. We can not only recognize objects using predicted attributes as features, but also describe unfamiliar objects. Furthermore, these attribute classifiers can report
Feature extraction
Feature Selection
Attribute Predictions
Attribute Classifiers
Category Models
Bird
Has Beak, Has Eye, Has foot, Has Feather
Figure 2: This figure summarizes our approach. We first extract base features. We then select features that are beneficial in learning attribute classifiers. We learn attribute classifiers using selected features. To learn object categories we use predicted attributes as features. Using attribute classifiers, we can do more than simple recognition. For instance, we can describe unknown classes, report atypical attributes, and learn new categories from very few examples.
the absence of typical attributes for objects, as well as presence of atypical attributes. Finally, we can learn models for new object classes using few examples. We can even learn new categories with no visual examples, using textual descriptions instead.
3.1. Base Features
The broad variety of attributes requires a feature representation to describe several visual aspects. We use color and texture, which are good for materials; visual words, which are useful for parts; and edges which are useful for shapes. We call these base features.
We use a bag of words style feature for each of these four feature types. Texture descriptors [23] are computed for each pixel, and quantized to the nearest 256 kmeans centers. The texture descriptor is extracted with a texton filterbank. Visual words are constructed with an HOG spatial pyramid, using 8x8 blocks, a 4 pixel step size, and 2 scales per octave. HOG descriptors are quantized to 1000 kmeans centers. Edges are found using a standard canny edge detector and their orientations are quantized into 8 unsigned bins. Finally, color descriptors are densely sampled for each pixel, and quantized to the nearest 128 kmeans centers. The color descriptor consists of the LAB values.
Having quantized these values, local texture, HOG, edge, and color descriptors inside the bounding box are binned into individual histograms. To represent shapes and locations, we also generate histograms for each feature type for each cell in a grid of three vertical and two horizontal blocks. This allows for coarse localization of attributes such as wheels which tend to appear at the bottom of the object. These seven histograms are stacked together resulting in a 9751 dimensional feature, which we refer to as the base features.
3.2. Semantic Attributes
We use three main types of semantic attribute. Shape attributes refer to 2D and 3D properties such as "is 2D boxy", "is 3D boxy","is cylindrical", etc. Part attributes identify
parts that are visible, such as "has head", "has leg", "has arm", "has wheel", "has wing", "has window". Material attributes describe what an object is made of, including "has wood", "is furry", "has glass", "is shiny".
3.3. Discriminative Attributes
We do not yet have a comprehensive set of visual attributes. This means that, for example, instances of both cats and dogs can share all semantic attributes in our list. In fact, a Naive Bayes classifier trained on our ground truth attributes in Pascal can distinguish classes with only 74% accuracy. To solve this problem, we introduce auxiliary discriminative attributes. These new attributes take the form of random comparisons introduced in [6]. Each comparison splits a portion of the data into two partitions. We form these splits by randomly selecting one to five classes or attributes for each side. Instances not belonging to the selected classes or attributes are not considered. For example, a split would assign "cat" to one side and "dog" to the other side, while we don't care where "motorbike" falls. Each split is further defined by a subset of base features, such as texture or color, to use for learning. For example, we might use texture to distinguish between "cats" and "dogs". We then use a linear SVM to learn tens of thousands of these splits and pick those that can be well predicted using the validation data. In our implementation we used 1000 discriminative attributes.
4. Learning to Recognize Semantic Attributes
We want to accurately classify attributes for new types of objects. We also want our attribute classifiers to reflect the correct semantics of attributes. Simply learning classifiers by fitting them to all base features often fails to generalize the semantics of the attributes correctly (section 6.3).
4.1. Across Category Generalization by Within Category Prediction
Learning a "wheel" classifier on a dataset of cars, motorbikes, buses, and trains is difficult because all examples of wheels in this dataset are surrounded by "metallic" surfaces. The wheel classifier might learn "metallic" instead of "wheel". If so, when we test it on a new dataset that happens to have wooden "carriage" examples, it will fail miserably, because there are not that many metallic surfaces around the wheel. What is happening is that the classifier is learning to predict a correlated attribute rather than the one we wish it to learn. This problem is made worse by using bounding boxes,instead of accurate segmentations. This is because some properties of nearby objects are likely to cooccur with object attributes. This behavior is not necessarily undesirable, but can cause significant problems if we must rely on the semantics of the attribute predictions. This is a major issue, because it results from training and testing on datasets with different correlation statistics, something we will always have to do because datasets will always be small compared to the complexity of the world.
Feature Selection: The standard strategy for dealing with generalization issues is to control variance by selecting a subset of features that can generalize well. However, conventional feature selection criteria will not apply to our problem because they are still confused by semantically irrelevant correlations -- our "wheel" classifier does generalize well to cars, etc. (but not to carriages).
We use a novel feature selection criterion that decorrelates attribute predictions. Our criterion focuses on within category prediction ability. For example, if we want to learn a "wheel" classifier, we select features that perform well at distinguishing examples of cars with "wheels" and cars without "wheels". By doing so, we help the classifier avoid being confused about "metallic", as both types of example for this "wheel" classifier have "metallic" surfaces. We select the features using an L1-regularized logistic regression (because it assigns non-zero weights to a small subset of features [16]) trained for each attribute within each class, then pool examples over all classes and train using the selected features. For example, we first select features that are good at distinguishing cars with and without "wheel" by fitting an L1-regularized logistic regression to those examples. We then use the same procedure to select features that are good at separating motorbikes with and without wheels, buses with and without wheels, and trains with and without wheels. We then pool all those selected features and learn the "wheel" classifier over all classes using those selected features.
To test whether our feature selection decorrelate predicted attributes, we can look at changes in correlation across datasets. Throughout the paper we refer to features that we select by the procedure explained above as selected features and working with all features as whole features. For example, the correlation between ground-truth "wheel" and "metallic" in the a-Pascal dataset (section 5) is 0.71, and in the a-Yahoo dataset is 0.17. We train on the a-Pascal dataset with whole features and with selected features. In testing on the a-Yahoo dataset (section 5), the correlation between predictions by the "wheel" and "metallic" classifiers trained on whole features is 0.56 (i.e. predictions are biased to be correlated). When we do feature selection this correlation falls to 0.28, this shows that classifiers trained on selected features are less susceptible to biases in the dataset.
5. Datasets
We have built new datasets for exploring the object description problem. Our method for learning semantic attributes requires a ground truth labeling for each training example, but we must create our own, since no dataset exists with annotations for a wide variety of attributes which describe many object types. We collect our attribute annotations for each of twenty object classes in a standard object recognition dataset, PASCAL VOC 2008. We also collect the same annotations for a new set of images, called a-Yahoo. Labeling objects with their attributes can often be an ambiguous task. This can be demonstrated by imperfect inter-annotator agreement among "experts" (authors) and Amazon Turk annotators. The agreement among experts
Area Under ROC Curve
Occluded Round
Furn. Arm Furn. Back
2D Boxy Wood Plastic Clear
Furn. Seat Rein
Furn. Leg Vert Cyl Cloth Engine Exhaust Torso
Handlebars Taillight Wing Leg Shiny
Foot/Shoe Ear Tail
Head Glass
Eye Headlight 3D Boxy
Snout Horiz Cyl
Wheel Metal Side mirror Door Row Wind Furry Window
Area Under ROC Curve All Classes
1 Whole Feature Selected Feature
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
Figure 3: Attribute prediction for attribute classifiers trained on a-Pascal and tested on a-Pascal, comparing whole with selected features. We don't expect the feature selection to help in this case because we observe same classes during training and testing. This means that the correlation statistics are not changing during training and testing.
is 84.3%, between experts and Amazon Turk annotators is 81.4%, and among Amazon Turk annotators is 84.1%. Using Amazon Turk annotations, we are not biasing the attribute labels toward our own idea of attributes.
a-Pascal: The Pascal VOC 2008 dataset was created for classification and detection of visual object classes in variety of natural poses, viewpoints, and orientations. These objects classes cluster nicely, "animals", "vehicles", and "things". The object classes are: people, bird, cat, cow, dog, horse, sheep aeroplane, bicycle, boat, bus, car, motorbike, train, bottle, chair, dining table, potted plant, sofa, and tv/monitor. The number of objects from each category ranges from 150 to 1000, along with over 5000 instances of people. We collect annotations for semantic attributes for each object using Amazon's Mechanical Turk. We made a list of 64 attributes to describe Pascal objects. We do not claim to have attributes that exhaustively describe each class.
a-Yahoo: To supplement the a-Pascal dataset, we collect images for twelve additional object classes from the Yahoo image search, which we call the a-Yahoo set; these images are also labelled with attributes. The classes in a-Yahoo set are selected to have objects similar to a-Pascal, while having different correlations between the attributes selected on a-Pascal. For example, compare a-Yahoo's "wolf" category to a-Pascal's "dog"; a-Yahoo's "centaur" to a-Pascal's "people" and "horses". This allows us to evaluate the attribute predictors' generalization abilities. Objects in this set are: wolf, zebra, goat, donkey, monkey, statue of people, centaur, bag, building, jet ski, carriage, and mug.
These datasets are available at . uiuc.edu/attributes/.
6. Experiments and Results
First we show how well we can assign attributes and use them to describe objects. We then examine the performance of using the attribute based representation in the traditional naming task and demonstrate new capabilities offered by this representation: learning from very few visual examples and learning from pure textual description. Finally we show
Area Under ROC Curve Area Under ROC Curve
Area Under ROC Curve, Leave One Out in Pascal
1
1
Whole Feature
Area Under ROC Curve in Yahoo
0.9
Selected Feature
Whole Feature
0.9
Selected Feature
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
Rein Cloth Furn. Seat Plastic Furn. Arm Occluded Round Wing Handlebars Torso 2D Boxy Vert Cyl Furn. Back
Leg Wood Foot/Shoe Exhaust Glass Shiny
Ear Head Furn. Leg
Tail 3D Boxy
Eye Furry Headlight Taillight Wheel Snout Side mirror Door Horiz Cyl Metal Window Row Wind Engine Clear Feather Wing Handlebars Leather Clear Cloth Occluded Wool Round Horn Rein Engine Wood
Text Skin 2D Boxy Saddle Vert Cyl Window Metal Arm Exhaust Hand Hair Shiny Horiz Cyl Door Face Nose Row Wind Plastic Mouth 3D Boxy Wheel Headlight Tail Taillight
Furry Glass Foot/Shoe Snout
Leg Ear Head Torso Side mirror Eye
Figure 4: Attribute prediction for across category protocols. On the left is Leave-one-class-out case for Pascal and on the right is attribute prediction for Yahoo set. Only attributes relevant to these tasks are displayed. Classes are different during training and testing, thus we have across category generalization issues. Some attributes on the left, like "engine", "snout", and "furry", generalize well, some do not. Feature selection helps considerably for those attributes, like "taillight", "cloth", and "rein" that have problem generalizing across classes. Similar to leave one class out case, learning attributes on Pascal08 train set and testing them on Yahoo set involves across category generalization, right plot. We can, in fact, predict attributes for new classes fairly reliably. Some attributes, like "wing", "door", "headlight", and "taillight", do not generalize well. Feature selection improves generalization on those attributes. Toward the high end of this curve, where good classifiers sit, feature selection improves prediction of attribute with generalization issues and produce similar results for attributes without generalization issues. For better visualization purposes we sorted the plots based on selected features' area under ROC curve values.
benefits of our novel feature selection method compared to using whole features.
6.1. Describing Objects
Assigning attributes: There are two main protocols for attribute prediction: "within category" predictions, where train and test instances are drawn from the same set of classes, and "across category" predictions where train and test instances are drawn from different sets of classes. We do across category experiments using a leave-one-class-out approach, or a new set of classes on a new dataset. We train attributes in a-Pascal and test them in a-Yahoo. We measure our performance in attribute predictions by the area under the ROC curve, mainly because it is invariant to class priors. We can predict attributes for the within category protocol with the area under the curve of 0.834 (Figure 3).
Figure 4 shows that we can predict attributes fairly reliably for across category protocols. The plot on the left shows the leave-one-class-out case on a-Pascal and the plot on the right shows the same curve for a-Yahoo set.
Figure 5 depicts 12 typical images from a-Yahoo set with a subset of positively predicted attributes. These attribute classifiers are learned on a-Pascal train set and tested on aYahoo images. Attributes written in red, with red crosses, are wrong predictions.
Unusual attributes: People tend to make statements about unexpected aspects of known objects ([11], p101). An advantage of an attribute based representation is we can easily reproduce this behavior. The ground truth attributes specify which attributes are typical for each class. If a reliable attribute classifier predicts one of these typical attributes is absent, we report that it is not visible in the image. Figure 6 shows some of these typical attributes which are not visible in the image. For example, it is worth reporting when we do not see the "wing" an aeroplane is expected to have. To qualitatively evaluate this task we re-
'is 3D Boxy' 'has Hand' 'has Head' 'has Head'
'is Vert Cylinder' 'has Arm' 'has Hair' 'has Torso'
'has Window' X'has Screen' 'has Face' 'has Arm' 'has Row Wind' 'has Plastic' X'hasSaddle' 'has Leg' X'has Headlight' 'is Shiny' 'has Skin' X'has Wood'
'has Head' 'has Ear' 'has Snout' 'has Nose' 'has Mouth'
'has Head' X'has Furniture Back'
'has Ear'
X'has Horn'
'has Snout' X'has Screen'
'has Mouth' 'has Plastic'
'has Leg'
'is Shiny'
' is 3D Boxy' 'has Wheel' 'has Window 'is Round' ' 'has Torso'
'has Tail' 'has Snout' 'has Leg'
X 'has Text' X'has Plastic'
'has Head' 'has Ear' 'has Snout' 'has Leg' 'has Cloth'
'is Horizontal Cylinder'
X'has Beak' X'has Wing' X'has Side mirror'
'has Metal'
'has Head' 'has Snout' 'has Horn' 'has Torso'
X'has Arm'
Figure 5: This figure shows randomly selected positively predicted at-
tributes for 12 typical images from 12 categories in Yahoo set. Attribute
classifiers are learned on Pascal train set and tested on Yahoo set. We ran-
domly select 5 predicted attributes from the list of 64 attributes available in
the dataset. Bounding boxes around the objects are provided by the dataset
and we are only looking inside the bounding boxes to predict attributes.
Wrong predictions are written in red and marked with red crosses.
Aeroplane
Car
Boat
Aeroplane
Motorbike
Car
No "wing" No "window" No "sail" No "jet engine" No "side mirror" No "door"
Bicycle No "wheel"
Sheep
Train
Sofa
No "wool" No "window" No "wood"
Bird No "tail"
Bird
Bus
No "leg" No "door"
Figure 6: Reporting the absence of typical attributes. For example, we expect to see "Wing"in an aeroplane. It is worth reporting if we see a picture of an aeroplane for which the wing is not visible or a picture of a bird for which the tail is not visible.
Bird "Leaf"
Bus "face"
Motorbike "cloth"
DiningTable
People
"skin"
"Furn. back"
Aeroplane "beak"
People "label"
Sofa "wheel"
Bike "Horn"
Monitor window"
Figure 7: Reporting the presence of atypical attributes. For example, we
don't expect to observe "skin" on a dining table. Notice that, if we have
access to information about object semantics, observing "leaf" in an image
of a bird might eventually yield "The bird is in a tree". Sometimes our
attribute classifiers are confused by some misleading visual similarities,
like predicting "Horn" from the visually similar handle bar of a road bike.
ported 752 expected attributes over the whole dataset which are not visible in the images. 68.2% of these reports are correct when compared to our manual labeling of those reports (Figure 6). On the other hand, if a reliable attribute classifier predicts an attribute which is not expected to be in the predicted class, we can report that, too (Figure 7). For example, birds don't have a "leaf", and if we see one we should report it. To quantitatively evaluate this prediction we evaluate 951 of those predictions by hand; 47.3% are correct. There are two important consequences. First, because birds never have leaves, we may be able to exploit knowledge of object semantics to reason that, in this case, the bird is in a tree. Second, because we can localize features used to predict attributes, we can show what caused the unexpected attribute to be predicted (Figure 8). For example, we can sometimes tell where the "metal" is in a pic-
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- most mysterious objects ever discovered
- unexplained objects found on earth
- hidden objects free games no time limit
- 10 unexplained objects on earth
- describing objects by their attributes
- describing objects speech therapy
- python sort list of objects by attribute
- describing objects esl
- describing objects worksheet pdf
- describing objects activities
- javascript sort array of objects by field
- find people by their phone number