Object categorization from image search: Difference between revisions

Content deleted Content added
m Intra-class variability: Disambiguated, correctly capitalized term "PASCAL".
Bender the Bot (talk | contribs)
m Model: HTTP to HTTPS for Brown University
 
(29 intermediate revisions by 21 users not shown)
Line 1:
{{update|date=September 2019}}
In computer vision, the problem of '''object categorization from image search''' is the problem of training a [[Statistical classification|classifier]] to recognize categories of objects, using only the images retrieved automatically with an Internet search engine. Ideally, automatic image collection would allow classifiers to be trained with nothing but the category names as input. This problem is closely related to that of content-based image retrieval (CBIR), where the goal is to return better image search results rather than training a classifier for image recognition.
In [[computer vision]], '''object categorization from image search''' is the problem of training a [[Statistical classification|classifier]] to recognize categories of objects using only [[image search]], i.e., images retrieved automatically with an Internet [[search engine]]. Ideally, automatic image collection would allow classifiers to be trained with nothing but the category names as input. This problem is closely related to that of [[content-based image retrieval]] (CBIR), where the goal is to return better image search results rather than training a classifier for image recognition.
 
Traditionally, classifiers are trained using sets of images that are labeled by hand. Collecting such a set of images is often a very time-consuming and laborious process. The use of Internet search engines to automate the process of acquiring large sets of labeled images has been described as a potential way of greatly facilitating computer vision research.<ref name = "fergus">
{{cite conference
| last = Fergus
| first = R. |author2=Fei-Fei, L. |author3=Perona, P. |author4=Zisserman, A.
| first = R.
| title = Learning Object Categories from Google抯 Image Search
| coauthors = Fei-Fei, L.; Perona, P.; Zisserman,A.;
| book-title = Proc. IEEE International Conference on Computer Vision
| title = Learning Object Categories from Google抯 Image Search
| url = http://vision.cs.princeton.edu/documents/FergusFei-FeiPeronaZisserman_ICCV05.pdf
| booktitle = Proc. IEEE International Conference on Computer Vision
| year = 2005}}
| url = http://vision.cs.princeton.edu/documents/FergusFei-FeiPeronaZisserman_ICCV05.pdf
| year = 2005}}
</ref>
 
== Challenges ==
===Unrelated images===
One problem with using Internet image search results as a training set for a classifier is the high percentage of unrelated images within the results. It has been estimated that, when a search engine such as Google images is queried with the name of an object category (such as airplane?, up to 85% of the returned images are unrelated to the category<ref name = "fergus"/>.
 
=== Unrelated images ===
===Intra-class variability===
One problem with using Internet image search results as a training set for a classifier is the high percentage of unrelated images within the results. It has been estimated that, when a search engine such as Google images is queried with the name of an object category (such as ''airplane''), up to 85% of the returned images are unrelated to the category.<ref name = "fergus"/>
 
=== Intra-class variability ===
Another challenge posed by using Internet image search results as training sets for classifiers is that there is a high amount of variability within object categories, when compared with categories found in hand-labeled datasets such as [[Caltech 101]] and [[Pascal (programming language)|Pascal]]. Images of objects can vary widely in a number of important factors, such as scale, pose, lighting, number of objects, and amount of occlusion.
 
== pLSA approach ==
In a 2005 paper by Fergus et al.,<ref name = "fergus"/>, [[pLSA]] (probabilistic latent semantic analysis) and extensions of this model were applied to the problem of object categorization from image search. pLSA was originally developed for [[document classification]], but has since been applied to [[computer vision]]. It makes the assumption that images are documents that fit the [[bag of words model]].
 
=== Model ===
Just as text documents are made up of words, each of which may be repeated within the document and across documents, images can be modeled as combinations of ''visual words''. Just as the entire set of text words are defined by a dictionary, the entire set of visual words is defined in a ''codeword dictionary''.
 
Line 29 ⟶ 30:
<math>\displaystyle P(w|d) = \sum_{z=1}^Z P(w|z)P(z|d)</math>
 
An important assumption made in this model is that <math>\displaystyle w</math> and <math>\displaystyle d</math> are conditionally independent given <math>\displaystyle z</math>. Given a topic, the probability of a certain word appearing as part of that topic is independent of the rest of the image.<ref name = "hofmann">{{cite conference
| first = Thomas
| last = Hofmann
| title = Probabilistic Latent Semantic Analysis
|book-title booktitle = Uncertainty in Artificial Intelligence
| year = 1999
|url | url = httphttps://www.cs.brown.edu/~th/papers/Hofmann-UAI99.pdf}}</ref>
|url-status = dead
|archive-url = https://web.archive.org/web/20070710083034/http://www.cs.brown.edu/~th/papers/Hofmann-UAI99.pdf
|archive-date = 2007-07-10
}}</ref>
 
Training this model involves finding <math>\displaystyle P(w|z)</math> and <math>\displaystyle P(z|d)</math> that maximizes the likelihood of the observed words in each document. To do this, the [[expectation maximization]] algorithm is used, with the following [[objective function]]:
Line 41 ⟶ 46:
<math>\displaystyle L = \prod_{d=1}^D \prod_{w=1}^W P(w|d)^{n(w|d)}</math>
 
=== Application ===
 
====ABS-pLSA====
==== ABS-pLSA ====
Absolute position pLSA (ABS-pLSA) attaches ___location information to each visual word by localizing it to one of X 揵ins?in the image. Here, <math>\displaystyle x</math> represents which of the bins the visual word falls into. The new equation is:
 
Line 48 ⟶ 54:
 
<math>\displaystyle P(w,x|z)</math> and <math>\displaystyle P(d)</math> can be solved for in a manner similar to the original pLSA problem, using the [[Expectation Maximization|EM algorithm]]
 
<!-- Missing image removed: [[Image:Abs plsa graphical model.jpg|frame|A [[graphical model]] representing ABS-pLSA<ref name = "fergus"/>]] -->
 
A problem with this model is that it is not translation or scale invariant. Since the positions of the visual words are absolute, changing the size of the object in the image or moving it would have a significant impact on the spatial distribution of the visual words into different bins.
 
==== TSI-pLSA ====
Translation and scale invariant pLSA (TSI-pLSA). This model extends pLSA by adding another latent variable, which describes the spatial ___location of the target object in an image. Now, the position <math>\displaystyle x</math> of a visual word is given relative to this object ___location, rather than as an absolute position in the image. The new equation is:
 
<math>\displaystyle P(w,x|d) = \sum_{z=1}^Z \sum_{c=1}^C P(w,x|c,z)P(c)P(z|d)</math>
 
[[Image:Tsi plsa graphical model.jpg|frame|A [[graphical model]] representing TSI-pLSA<ref name = "fergus"/>]]
 
Again, the parameters <math>\displaystyle P(w,x|c,z)</math> and <math>\displaystyle P(d)</math> can be solved using the [[Expectation Maximization|EM algorithm]]. <math>\displaystyle P(c)</math> can be assumed to be a uniform distribution.
 
=== Implementation ===
 
====Selecting words====
==== Selecting words ====
Words in an image were selected using 4 different feature detectors<ref name = "fergus"/>:
Words in an image were selected using 4 different feature detectors:<ref name = "fergus"/>
*[[Kadir brady saliency detector]]
* [[Corner detection|Multi-scaleKadir–Brady Harrissaliency detector]]
* [[Corner detection|Multi-scale Harris detector]]
*[[Difference of Gaussians]]
* [[Difference of Gaussians]]
*Edge based operator, described in the study
* Edge based operator, described in the study
Using these 4 detectors, approximately 700 features were detected per image. These features were then encoded as [[SIFT|Scale-invariant feature transform]] descriptors, and vector quantized to match one of 350 words contained in a codebook. The codebook was precomputed from features extracted from a large number of images spanning numerous object categories.
Using these 4 detectors, approximately 700 features were detected per image. These features were then encoded as [[Scale-invariant feature transform]] descriptors, and vector quantized to match one of 350 words contained in a codebook. The codebook was precomputed from features extracted from a large number of images spanning numerous object categories.
 
==== Possible object locations ====
One important question in the TSI-pLSA model is how to determine the values that the random variable <math>\displaystyle C</math> can take on. It is a 4-vector, whose components describe the object抯 centroid as well as x and y scales that define a bounding box around the object, so the space of possible values it can take on is enormous. To limit the number of possible object locations to a reasonable number, normal pLSA is first carried out on the set of images, and for each topic a [[Gaussian mixture model]] is fit over the visual words, weighted by <math>\displaystyle P(w|z)</math>. Up to <math>\displaystyle K</math> Gaussians are tried (allowing for multiple instances of an object in a single image), where <math>\displaystyle K</math> is a constant.
 
=== Performance ===
The authors of the Fergus et al. paper compared performance of the three pLSA algorithms (pLSA, ABS-pLSA, and TSI-pLSA) on handpicked datasets and images returned from Google searches. Performance was measured as the error rate when classifying images in a test set as either containing the image or containing only background.
 
As expected, training directly on Google data gives higher error rates than training on prepared data.?<ref name = "fergus"/> In about half of the object categories tested do ABS-pLSA and TSI-pLSA perform significantly better than regular pLSA, and in only 2 categories out of 7 does TSI-pLSA perform better than the other two models.
 
== OPTIMOL ==
[[Image:Tsi plsa results.jpg|frame|Examples of watches from the prepared dataset using TSI-pLSA, with visual words highlighted corresponding to 4 most common in the dictionary<ref name = "fergus"/>]]
 
==OPTIMOL==
OPTIMOL (automatic Online Picture collection via Incremental MOdel Learning) approaches the problem of learning object categories from online image searches by addressing model learning and searching simultaneously. OPTIMOL is an iterative model that updates its model of the target object category while concurrently retrieving more relevant images.<ref name = "li">
{{cite conference
| last = Li
| first = Li-Jia |author2=Wang, Gang |author3=Fei-Fei, Li
| title = OPTIMOL: automatic Online Picture collection via Incremental MOdel Learning
| coauthors = Wang, Gang; Fei-Fei, Li;
| book-title = Proc. IEEE Conference on Computer Vision and Pattern Recognition
| title = OPTIMOL: automatic Online Picture collection via Incremental MOdel Learning
| year = 2007
| booktitle = Proc. IEEE Conference on Computer Vision and Pattern Recognition
| url = http://vision.cs.princeton.edu/documents/LiWangFei-Fei_CVPR2007.pdf}}
| year = 2007
| url = http://vision.cs.princeton.edu/documents/LiWangFei-Fei_CVPR2007.pdf}}
</ref>
 
=== General framework ===
OPTIMOL was presented as a general iterative framework that is independent of the specific model used for category learning. The algorithm is as follows:
 
* '''Download''' a large set of images from the Internet by searching for a keyword
* '''Initialize''' the dataset with seed images
* '''While''' more images needed in the dataset:
** '''Learn''' the model with most recently added dataset images
** '''Classify''' downloaded images using the updated model
** '''Add''' accepted images to the dataset
 
Note that only the most recently added images are used in each round of learning. This allows the algorithm to run on an arbitrarily large number of input images.
 
=== Model ===
The two categories (target object and background) are modeled as Hierarchical Dirichlet processes (HDPs). As in the pLSA approach, it is assumed that the images can be described with the [[bag of words model]]. HDP models the distributions of an unspecified number of topics across images in a category, and across categories. The distribution of topics among images in a single category is modeled as a [[Dirichlet process]] (a type of [[Non-parametric statistics|non-parametric]] [[probability distribution]]). To allow the sharing of topics across classes, each of these Dirichlet processes is modeled as a sample from another 損arent?Dirichlet process. HDP was first described by Teh et al. in 2005.<ref name = "teh">
{{cite journal
| last = Teh
| first = Yw |author2=Jordan, MI |author3=Beal, MJ |author4=Blei, David
| first = YW
| title = Hierarchical Dirichlet Processes
| coauthors = Jordan, MI; Beal, MJ; Blei,David
| journal = Journal of the American Statistical Association
| title = Hierarchical Dirichlet Processes
| year = 2006
| journal = Journal of the American Statistical Association
| url = http://www.cs.berkeley.edu/~jordan/papers/hdp.pdf
| year = 2006
| doi = 10.1198/016214506000000302
| url = http://www.cs.berkeley.edu/~jordan/papers/hdp.pdf
| volume = 101
| doi = 10.1198/016214506000000302
| volumeissue = 101476
| pagespage = 1566
| citeseerx = 10.1.1.5.9094 | s2cid = 7934949 }}
}}
</ref>
 
=== Implementation ===
<!-- Missing image removed: [[Image:Hdp graphical model.jpg|frame|A [[graphical model]] representing HDP<ref name = "teh"/>]] -->
 
===Implementation= Initialization ====
====Initialization====
The dataset must be initialized, or seeded with an original batch of images which serve as good exemplars of the object category to be learned. These can be gathered automatically, using the first page or so of images returned by the search engine (which tend to be better than the subsequent images). Alternatively, the initial images can be gathered by hand.
 
==== Model learning ====
To learn the various parameters of the HDP in an incremental manner, [[Gibbs sampling]] is used over the latent variables. It is carried out after each new set of images is incorporated into the dataset. Gibbs sampling involves repeatedly sampling from a set of [[random variables]] in order to approximate their distributions. Sampling involves generating a value for the random variable in question, based on the state of the other random variables on which it is dependent. Given sufficient samples, a reasonable approximation of the value can be achieved.
 
==== Classification ====
At each iteration, <math>\displaystyle P(z|c)</math> and <math>\displaystyle P(x|z,c)</math> can be obtained from model learned after the previous round of Gibbs sampling, where <math>\displaystyle z</math> is a topic, <math>\displaystyle c</math> is a category, and <math>\displaystyle x</math> is a single visual word. The likelihood of an image being in a certain class, then, is:
 
Line 137 ⟶ 136:
This is computed for each new candidate image per iteration. The image is classified as belonging to the category with the highest likelihood.
 
==== Addition to the dataset and "cache set" ====
In order to qualify for incorporation into the dataset, however, an image must satisfy a stronger condition:
 
Line 146 ⟶ 145:
Once an image is accepted by meeting the above criterion and incorporated into the dataset, however, it needs to meet another criterion before it is incorporated into the 揷ache set敆the set of images to be used for training. This set is intended to be a diverse subset of the set of accepted images. If the model were trained on all accepted images, it might become more and more highly specialized, only accepting images very similar to previous ones.
 
=== Performance ===
Performance of the OPTIMOL method is defined by three factors:
 
* ''Ability to collect images'': OPTIMOL, it is found, can automatically collect large numbers of good images from the web. The size of the OPTIMOL-retrieved image sets surpass that of large human-labeled image sets for the same categories, such as those found in [[Caltech 101]].
* ''Classification accuracy'': Classification accuracy was compared to the accuracy displayed by the classifier yielded by the pLSA methods discussed earlier. It was discovered that OPTIMOL achieved slightly higher accuracy, obtaining 74.8% accuracy on 7 object categories, as compared to 72.0%.
* ''Comparison with batch learning'': An important question to address is whether OPTIMOL's incremental learning gives it an advantage over traditional batch learning methods, when everything else about the model is held constant. When the classifier learns incrementally, by selecting the next images based on what it learned from the previous ones, three important results are observed:
** Incremental learning allows OPTIMOL to collect a better dataset
** Incremental learning allows OPTIMOL to learn faster (by discarding irrelevant images)
** Incremental learning does not negatively affect the [[ROC curve]] of the classifier; in fact, incremental learning yielded an improvement
 
== Object categorization in content-based image retrieval ==
*''Classification accuracy'': Classification accuracy was compared to the accuracy displayed by the classifier yielded by the pLSA methods discussed earlier. It was discovered that OPTIMOL achieved slightly higher accuracy, obtaining 74.8% accuracy on 7 object categories, as compared to 72.0%.
 
*''Comparison with batch learning'': An important question to address is whether OPTIMOL's incremental learning gives it an advantage over traditional batch learning methods, when everything else about the model is held constant. When the classifier learns incrementally, by selecting the next images based on what it learned from the previous ones, three important results are observed:
**Incremental learning allows OPTIMOL to collect a better dataset
**Incremental learning allows OPTIMOL to learn faster (by discarding irrelevant images)
**Incremental learning does not negatively affect the [[ROC curve]] of the classifier; in fact, incremental learning yielded an improvement
 
==Object categorization in content-based image retrieval==
Typically, image searches only make use of text associated with images. The problem of [[content-based image retrieval]] is that of improving search results by taking into account visual information contained in the images themselves. Several CBIR methods make use of classifiers trained on image search results, to refine the search. In other words, object categorization from image search is one component of the system. OPTIMOL, for example, uses a classifier trained on images collected during previous iterations to select additional images for the returned dataset.
 
Examples of CBIR methods that model object categories from image search are:
* Fergus et al., 2004 <ref>
{{cite conference
| last = Fergus
| first = R. |author2=Perona, P. |author3=Zisserman, A.
| title = A visual category filter for Google images
| coauthors = Perona,P.; Zisserman,A.;
| book-title = AProc. visual8th categoryEuropean filterConf. foron GoogleComputer imagesVision
| year = 2004
| booktitle = Proc. 8th European Conf. on Computer Vision
| url = http://www.robots.ox.ac.uk/~fergus/papers/Fergus_ECCV4.pdf
| year = 2004
| url = http://www.robots.ox.ac.uk/~fergus/papers/Fergus_ECCV4.pdf
}}</ref>
* Berg and Forsyth, 2006 <ref>
{{cite conference
| last = Berg
| first = T.
| coauthors author2= Forsyth, D.
| title = Animals on the web
| booktitlebook-title = Proc. Computer Vision and Pattern Recognition
| year = 2006
| doi = 10.1109/CVPR.2006.57
| url = http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1640929
}}</ref>
* Yanai and Barnard, 2006 <ref>
{{cite conference
| last = Yanai
| first = K
| coauthors author2= Barnard, K.
| title = Probabilistic web image gathering
| booktitlebook-title = ACM SIGMM workshop on Multimedia information retrivalretrieval
| year = 2005
| url = http://portal.acm.org/citation.cfm?id=1101838
}}</ref>
 
==References==
== References ==
<references/>
 
==External linksSee also ==
* [[Probabilistic latent semantic analysis]]
{{Empty section|date=July 2010}}
* [[Latent Dirichlet allocation]]
==See also==
* [[Machine learning]]
*[[Probabilistic latent semantic analysis]]
* [[LatentBag of Dirichletwords allocationmodel]]
* [[Content-based image retrieval]]
*[[Machine learning]]
*[[Bag of words model]]
*[[Content-based image retrieval]]
 
[[Category:Object recognition and categorization]]
[[Category:Image search]]