|
|
Line 1: |
Line 1: |
| The '''constellation model''' is a probabilistic, [[generative model]] for category-level object recognition in [[computer vision]]. Like other [[part-based models]], the constellation model attempts to represent an object class by a set of ''N'' parts under mutual geometric constraints. Because it considers the geometric relationship between different parts, the constellation model differs significantly from appearance-only, or "[[bag-of-words model|bag-of-words]]" representation models, which explicitly disregard the location of image features.
| |
|
| |
|
| The problem of defining a generative model for object recognition is difficult. The task becomes significantly complicated by factors such as background clutter, occlusion, and variations in viewpoint, illumination, and scale. Ideally, we would like the particular representation we choose to be robust to as many of these factors as possible.
| |
|
| |
|
| In category-level recognition, the problem is even more challenging because of the fundamental problem of intra-class variation. Even if two objects belong to the same visual category, their appearances may be significantly different. However, for structured objects such as cars, bicycles, and people, separate instances of objects from the same category are subject to similar geometric constraints. For this reason, particular parts of an object such as the headlights or tires of a car still have consistent appearances and relative positions. The Constellation Model takes advantage of this fact by explicitly modeling the relative location, relative scale, and appearance of these parts for a particular object category. Model parameters are estimated using an [[unsupervised learning]] algorithm, meaning that the visual concept of an object class can be extracted from an unlabeled set of training images, even if that set contains "junk" images or instances of objects from multiple categories. It can also account for the absence of model parts due to appearance variability, occlusion, clutter, or detector error.
| | Tгaining correctly and eating correctly can іmρrove diet, and alѕo since plenty of information and facts out there you might not bear іn mind that cοսld seriously help. Сomply with this short article dirеctly and discover some finer factors about nutrition that you сould be lacking.<br><br>One particular excellent nutritіonal tip is usually to eat a good amount of vegetables and fruits day-to-day. Tɦe USDA says that no less than 9 portions a day of vеgetableѕ and fгuits is essential. This looks liҡe a ton, however its not dіfficult to ԁo. By way of example, add mօre orange fruit juice for your Ԁay-to-day morning meal regimen and use a tomato-dependent sauce while prepаring ѕpaghеtti.<br><br>Make healthier judgements grɑdually and don't try and hurry things. Transform is not something that you can pressսre to occur immediаtely. Don't discourage ߋneself fгom ingesting nicely by consսming fooԀs you know you will loathe. Steadily including healthy fօodѕ during thе period of several weeks wοrks equally well eventually.<br><br>All those ease food items іn your foоd store aisle have to be ɑverted, since theу are usually extremely packaged and consist of bad fats. Trans body fat is certainly a рoor iѕsue to consume it imρroves your lіkelihood of endurіng cardiovɑscսlar disease down the rօad. Trans fatty acidѕ harm you by lօwering HDL, your excellent bad cholesterol, [http://torontocartridge.com/uncategorized/vigrx-plus-japan-info-are-you-lacking-in-direction-with-regards-to-nutrients/ vigrx plus for sale philippines] raising LDL, your bad bad cholesterol.<br><br>Having oat meal for breakfast can supply үou with a great commеnce to the day. Oаt meal is filleɗ with cereals, thɑt are filling up, and will make ʏou feel complete right up until meal.<br><br>Eat different ҝinds of [http://Photobucket.com/images/healthy+proteins healthy proteins] during your few days. Pick species of fish and skinless fowl. Ovum are a good сompany of health proteins. Eating just one sіngle egg cell in the morning has no negative health ρroblems. A dаy a weеk, consume no meat. Alternatively, try usіng nuts, peas, and even seeds wіthin your meals.<br><br>Moderating үour meal plan will help you feel great during the day. Once you try to eat a lоt of, you might be providing the bodу with a lot of nutrients, causing you to gain pounds and sense not comfortable. This will obstruct tyρical entire body operations аnd will be harmfսl to the well being.<br><br>Allow your little ones to hеlp you sеlect hеaltҺy foods when food shopping. Allow them to pick the vegatables and fruits they'd prefer to try to eat, ɑnd they most likely will in fact consսme them. Little ones might even would likе to try oսt something totally new, like sparkling and brilliant foods that get their attеntion.<br><br>Yoս have to generally drіnk water during the day. It really [http://www.paraibanews.com/2014/05/04/vigrx-plus-side-effects-2010-this-data-will-show-you-the-best-way-to-try-to-eat-properly/ is vigrx plus safe for high blood pressure] sɑtisfactory to serve daіry or fгuit juice a couple of times every day, but drinking water continues to be the most suitable choicе. A continuing intake оf liquid oг milk products during the period of the time will wear down hunger and then maҡe peоple a lot less feeling hungry at mealtimes.<br><br>Minimize the quantity of sugar that yoս just try to eat per ԁay with your foօds. Too much sugars could cause health problems including diabetic issues to cardiac іѕsues. Some very nice options are Sweet-n-Lower or Տplenda to lower your glucose intake. You ƿoѕsibly will not even be capable of іnform anything is different.<br><br>Employing groսnd turkey instead of soil beef pгovides a lot of hеalth and fitness benefits nevertheless, folks typically Ԁislike the dryness. Utilizing a bit of added-virgin organic olive oil helps keep the meats moistеned and soft. The flavor could be mоre yummy and ƴou may eat less fat.<br><br>Considеr picking cooked items over frіed selections. Prepared dishes normally are healthier versions, and pߋsseѕs lowеr levels of carbs, natural oils аnd unhealthy calories. Probably, it will lead to you having considerably more vitality througҺоut the day from maintaining a healthy diet prepared food items.<br><br>Τhere are many food that they may be utilized in, either to improve flavour or peгhaps to be the highlighted component. These veggies really are a great supply of potassium and vitamin b folic acid, amongst other things.<br><br>Ϝresh fruits is a Ьetter choice for you than juice. Fresh fruits are full of all-natural sugar ɑnd have no added elements like fruit juiϲes typicallү do. Amazingly, fruit juice could even go beyond soda pop put іn suցar information. Ӎoreover, fresh and organic fruit giѵe tҺe human body micronutrients that ɑssist relieve chronic troubles.<br><br>New beets reallү arе ɑ great foods to incorporate in your diet, just be certain they aren't the ones that come from a can. Beets are very rich in fiber сontent and will help your gastrointestіnal tгact. A good idea would be to heavy steam beɑt vegеtables or place beetroοts in yоur salad.<br><br>Normal food products that are not very packaged normally are loɑded with nutrients. Highly procеssed meals іsn't good for you. Concentrɑte [http://Www.Danielasandoni.it/content/vigrx-plus-2-month-results-good-nutrients-doesnt-need-be-hard reviews on vigrx plus ingredients] eatіng more slim meat and fгesh produce. When you aге tempted to acquire rеfined food whilst food shopping, steer ϲlear of all those aisles.<br><br>1 suggestion that will help you to eat bеtter is to experience a time each day when you're gonna trƴ to eat ɑnd stick with it. Through the use of a plan, your body will quickly know that it will get sustenance with a certain timе on a daily bаѕis.<br><br>Allow yoursеlf permission to cheat somеtimes. Ƭhis enables you to truly feel а lot more liberty together with the diet and also аllows you to posseѕs a social interaction. Put іt using thiѕ method -- in caѕe your aunt asks you to a retirement lіѵing ƿarty, you ѡant to go and enjoy your ѕelf with ɑ cut of food аlong with a glass of mɑlbec.<br><br>Once you start making use of the earlіer mentioned recommendations in your daily life, you'll find it еasier to make wholesome alternatives and neνer havе to feel very mucҺ about it. After you receive the basic рrinciples, it гeceives simpler tߋ integrate good diet into your daіly routine. Great health for your neеds! |
| | |
| == History ==
| |
| | |
| The idea for a "parts and structure" model was originally introduced by Fischler and Elschlager in 1973.<ref>[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1672195 M. Fischler and R. Elschlager. ''The Representation and Matching of Pictoral Structures.'' (1973)]</ref> This model has since been built upon and extended in many directions. The Constellation Model, as introduced by Dr. Perona and his colleagues, was a probabilistic adaptation of this approach.
| |
| | |
| In the late '90s, Burl et al.<ref>
| |
| [ftp://vision.caltech.edu/pub/tech-reports-vision/IWAFGR95.ps.Z M. Burl, T. Leung, and P. Perona. ''Face Localization via Shape Statistics.'' (1995)]</ref><ref>[ftp://vision.caltech.edu/pub/tech-reports-vision/ICCV95-faces.ps.Z T. Leung, M. Burl, and P. Perona. ''Finding Faces in Cluttered Scenes Using Random Labeled Graph Matching.'' (1995)]</ref><ref>[ftp://vision.caltech.edu/pub/tech-reports-vision/CVPR96-recog.ps.gz M. Burl and P. Perona. ''Recognition of Planar Object Classes'' (1996)]</ref><ref>[http://www.vision.caltech.edu/publications/ECCV98-recog.pdf M. Burl, M. Weber, and P. Perona. ''A Probabilistic Approach to Object Recognition Using Local Photometry and Global Geometry'' (1998)]</ref> revisited the Fischler and Elschlager model for the purpose of face recognition. In their work, Burl et al. used manual selection of constellation parts in training images to construct a statistical model for a set of detectors and the relative locations at which they should be applied. In 2000, Weber et al. <ref>[http://www.vision.caltech.edu/publications/MarkusWeber-thesis.pdf M. Weber. ''Unsupervised Learning of Models for Object Recognition.'' PhD Thesis. (2000)]</ref><ref>[ftp://vision.caltech.edu/pub/tech-reports/FG00-recog.pdf M. Weber, W. Einhaeuser, M. Welling and P. Perona. ''Viewpoint-Invariant Learning and Detection of Human Heads.'' (2000)]</ref><ref name="weber_towards">[ftp://vision.caltech.edu/pub/tech-reports/CVPR00-recog.pdf M. Weber, M. Welling, and P. Perona. ''Towards Automatic Discovery of Object Categories.'' (2000)]</ref><ref name="weber_unsupervised">[ftp://vision.caltech.edu/pub/tech-reports/ECCV00-recog.pdf M. Weber, M. Welling and P. Perona. ''Unsupervised Learning of Models for Recognition.'' (2000)]</ref> made the significant step of training the model using a more unsupervised learning process, which precluded the necessity for tedious hand-labeling of parts. Their algorithm was particularly remarkable because it performed well even on cluttered and occluded image data. Fergus et al.<ref name="object_class_recognition">[ftp://vision.caltech.edu/pub/tech-reports/Fergus_CVPR03.pdf R. Fergus, P. Perona, and A. Zisserman. ''Object Class Recognition by Unsupervised Scale-Invariant Learning.'' (2003)]</ref><ref name="fergus_thesis">[http://cs.nyu.edu/~fergus/papers/fergus_thesis.pdf R. Fergus. ''Visual Object Category Recognition.'' PhD Thesis. (2005)]</ref> then improved upon this model by making the learning step fully unsupervised, having both shape and appearance learned simultaneously, and accounting explicitly for the relative scale of parts.
| |
| | |
| == The method of Weber and Welling et al.<ref name="weber_unsupervised" /> ==
| |
| | |
| In the first step, a standard [[interest point detection]] method, such as Harris [[corner detection]], is used to generate interest points. [[Image feature]]s generated from the vicinity of these points are then clustered using [[k-means]] or another appropriate algorithm. In this process of [[vector quantization]], one can think of the centroids of these clusters as being representative of the appearance of distinctive object parts. Appropriate [[feature detector]]s are then trained using these clusters, which can be used to obtain a set of candidate parts from images.
| |
| | |
| | |
| As a result of this process, each image can now be represented as a set of parts. Each part has a type, corresponding to one of the aforementioned appearance clusters, as well as a location in the image space.
| |
| | |
| === Basic generative model ===
| |
| | |
| Weber & Welling here introduce the concept of ''foreground'' and ''background''. ''Foreground'' parts correspond to an instance of a target object class, whereas ''background'' parts correspond to background clutter or false detections.
| |
| | |
| Let ''T'' be the number of different types of parts. The positions of all parts extracted from an image can then be represented in the following "matrix,"
| |
| | |
| :<math>
| |
| | |
| X^o =
| |
| \begin{pmatrix}
| |
| x_{11},x_{12},{\cdots} ,x_{1N_1} \\
| |
| x_{21},x_{22},{\cdots} ,x_{2N_2} \\
| |
| \vdots \\
| |
| x_{T1},x_{T2},{\cdots} ,x_{TN_T}
| |
| \end{pmatrix}
| |
| | |
| </math>
| |
| | |
| where <math>N_i\,</math> represents the number of parts of type <math>i \in \{1,\dots,T\}</math> observed in the image. The superscript ''o'' indicates that these positions are ''observable'', as opposed to ''missing''. The positions of unobserved object parts can be represented by the vector <math>x^m\,</math>. Suppose that the object will be composed of <math>F\,</math> distinct foreground parts. For notational simplicity, we assume here that <math>F = T\,</math>, though the model can be generalized to <math>F > T\,</math>. A ''hypothesis'' <math>h\,</math> is then defined as a set of indices, with <math>h_i = j\,</math>, indicating that point <math>x_{ij}\,</math> is a foreground point in <math>X^o\,</math>. The generative probabilistic model is defined through the joint probability density <math>p(X^o,x^m,h)\,</math>.
| |
| | |
| === Model details ===
| |
| | |
| The rest of this section summarizes the details of Weber & Welling's model for a single component model. The formulas for multiple component models<ref name="weber_towards" /> are extensions of those described here.
| |
| | |
| To parametrize the joint probability density, Weber & Welling introduce the auxiliary variables <math>b\,</math> and <math>n\,</math>, where <math>b\,</math> is a binary vector encoding the presence/absence of parts in detection (<math>b_i = 1\,</math> if <math>h_i > 0\,</math>, otherwise <math>b_i = 0\,</math>), and <math>n\,</math> is a vector where <math>n_i\,</math> denotes the number of ''background'' candidates included in the <math>i^{th}</math> row of <math>X^o\,</math>. Since <math>b\,</math> and <math>n\,</math> are completely determined by <math>h\,</math> and the size of <math>X^o\,</math>, we have <math>p(X^o,x^m,h) = p(X^o,x^m,h,n,b)\,</math>. By decomposition,
| |
| | |
| :<math>
| |
| p(X^o,x^m,h,n,b) = p(X^o,x^m|h,n,b)p(h|n,b)p(n)p(b)\,
| |
| </math>
| |
| | |
| The probability density over the number of background detections can be modeled by a [[Poisson distribution]],
| |
| | |
| :<math> | |
| p(n) = \prod_{i=1}^T \frac{1}{n_i!}(M_i)^{n_i}e^{-M_i}
| |
| </math>
| |
| | |
| where <math>M_i\,</math> is the average number of background detections of type <math>i\,</math> per image.
| |
| | |
| Depending on the number of parts <math>F\,</math>, the probability <math>p(b)\,</math> can be modeled either as an explicit table of length <math>2^F\,</math>, or, if <math>F\,</math> is large, as <math>F\,</math> independent probabilities, each governing the presence of an individual part.
| |
| | |
| The density <math>p(h|n,b)\,</math> is modeled by
| |
| | |
| :<math>
| |
| p(h|n,b) =
| |
| | |
| \begin{cases}
| |
| \frac{1}{ \textstyle \prod_{f=1}^F N_f^{b_f}}, & \mbox{if } h \in H(b,n) \\
| |
| 0, & \mbox{for other } h
| |
| \end{cases}
| |
| | |
| </math>
| |
| | |
| where <math>H(b,n)\,</math> denotes the set of all hypotheses consistent with <math>b\,</math> and <math>n\,</math>, and <math>N_f\,</math> denotes the total number of detections of parts of type <math>f\,</math>. This expresses the fact that all consistent hypotheses, of which there are <math>\textstyle \prod_{f=1}^F N_f^{b_f}</math>, are equally likely in the absence of information on part locations.
| |
| | |
| And finally,
| |
| | |
| :<math>
| |
| p(X^o,x^m|h,n) = p_{fg}(z)p_{bg}(x_{bg})\,
| |
| </math> | |
| | |
| where <math>z = (x^ox^m)\,</math> are the coordinates of all foreground detections, observed and missing, and <math>x_{bg}\,</math> represents the coordinates of the background detections. Note that foreground detections are assumed to be independent of the background. <math>p_{fg}(z)\,</math> is modeled as a joint Gaussian with mean <math>\mu\,</math> and covariance <math>\Sigma\,</math>.
| |
| | |
| === Classification ===
| |
| | |
| The ultimate objective of this model is to classify images into classes "object present" (class <math>C_1\,</math>) and "object absent" (class <math>C_0\,</math>) given the observation <math>X^o\,</math>. To accomplish this, Weber & Welling run part detectors from the learning step exhaustively over the image, examining different combinations of detections. If occlusion is considered, then combinations with missing detections are also permitted. The goal is then to select the class with maximum a posteriori probability, by considering the ratio
| |
| | |
| :<math>
| |
| \frac{p(C_1|X^o)}{p(C_0|X^o)} \propto \frac{\sum_h p(X^o,h|C_1)}{p(X^o,h_0|C_0)}
| |
| </math> | |
| | |
| where <math>h_0\,</math> denotes the null hypothesis, which explains all parts as background noise. In the numerator, the sum includes all hypotheses, including the null hypothesis, whereas in the denominator, the only hypothesis consistent with the absence of an object is the null hypothesis. In practice, some threshold can be defined such that, if the ratio exceeds that threshold, we then consider an instance of an object to be detected.
| |
| | |
| === Model learning ===
| |
| | |
| After the preliminary step of interest point detection, feature generation and clustering, we have a large set of candidate parts over the training images. To learn the model, Weber & Welling first perform a greedy search over possible model configurations, or equivalently, over potential subsets of the candidate parts. This is done in an iterative fashion, starting with random selection. At subsequent iterations, parts in the model are randomly substituted, the model parameters are estimated, and the performance is assessed. The process is complete when further model performance improvements are no longer possible.
| |
| | |
| At each iteration, the model parameters
| |
| | |
| :<math>
| |
| \Theta = \{\mu, \Sigma, p(b), M\}\,
| |
| </math> | |
| | |
| are estimated using [[expectation maximization]]. <math>\mu\,</math> and <math>\Sigma\,</math>, we recall, are the mean and covariance of the joint Gaussian <math>p_{fg}(z)\,</math>, <math>p(b)\,</math> is the probability distribution governing the binary presence/absence of parts, and <math>M\,</math> is the mean number of background detections over part types. | |
| | |
| === M-step ===
| |
| | |
| EM proceeds by maximizing the likelihood of the observed data,
| |
| | |
| :<math>
| |
| L(X^o|\Theta) = \sum_{i=1}^I \log \sum_{h_i} \int p(X_i^o,x_i^m,h_i|\Theta)dx_i^m
| |
| </math>
| |
| | |
| with respect to the model parameters <math>\Theta\,</math>. Since this is difficult to achieve analytically, EM iteratively maximizes a sequence of cost functions,
| |
| | |
| :<math>
| |
| Q(\tilde{\Theta}|\Theta) = \sum_{i=1}^I E[\log p(X_i^o,x_i^m,h_i|\tilde{\Theta})]
| |
| </math>
| |
| | |
| Taking the derivative of this with respect to the parameters and equating to zero produces the update rules:
| |
| | |
| :<math>
| |
| \tilde{\mu} = \frac{1}{I} \sum_{i=1}^I E[z_i]
| |
| </math> | |
| | |
| :<math>
| |
| \tilde{\Sigma} = \frac{1}{I} \sum_{i=1}^I E[z_iz_i^T] - \tilde{\mu}\tilde{\mu}^T
| |
| </math>
| |
| | |
| :<math>
| |
| \tilde{p}(\bar{b}) = \frac{1}{I} \sum_{i=1}^I E[\delta_{b,\bar{b}}]
| |
| </math>
| |
| | |
| :<math>
| |
| \tilde{M} = \frac{1}{I} \sum_{i=1}^I E[n_i]
| |
| </math>
| |
| | |
| === E-step ===
| |
| | |
| The update rules in the M-step are expressed in terms of [[sufficient statistics]], <math>E[z]\,</math>, <math>E[zz^T]\,</math>, <math>E[\delta_{b,\bar{b}}]\,</math> and <math>E[n]\,</math>, which are calculated in the E-step by considering the posterior density:
| |
| | |
| :<math>
| |
| p(h_i,x_i^m|X_i^o,\Theta) = \frac{p(h_i,x_i^m,X_i^o|\Theta)}{\textstyle \sum_{h_i \in H_b} \int p(h_i,x_i^m,X_i^o|\Theta) dx_i^m}
| |
| </math>
| |
| | |
| ==The method of Fergus et al.<ref name="object_class_recognition" />==
| |
| | |
| In Weber et al., shape and appearance models are constructed separately. Once the set of candidate parts had been selected, shape is learned independently of appearance. The innovation of Fergus et al. is to learn not only two, but three model parameters simultaneously: shape, appearance, and relative scale. Each of these parameters are represented by Gaussian densities.
| |
| | |
| === Feature representation ===
| |
| | |
| Whereas the preliminary step in the Weber et al. method is to search for the locations of interest points, Fergus et al. use the detector of Kadir and Brady<ref>[http://www.springerlink.com/content/t45n2g8543574026/fulltext.pdf T. Kadir and M. Brady. ''Saliency, scale and image description.'' (2001)]</ref> to find salient regions in the image over both location (center) and scale (radius). Thus, in addition to location information <math>X\,</math> this method also extracts associated scale information <math>S\,</math>. Fergus et al. then normalize the squares bounding these circular regions to 11 x 11 pixel patches, or equivalently, 121-dimensional vectors in the appearance space. These are then reduced to 10-15 dimensions by [[principal component analysis]], giving the appearance information <math>A\,</math>.
| |
| | |
| === Model structure ===
| |
| | |
| Given a particular object class model with parameters <math>\Theta\,</math>, we must decide whether or not a new image contains an instance of that class. This is accomplished by making a Bayesian decision,
| |
| | |
| :<math>
| |
| R = \frac{p(\mbox{Object}|X,S,A)}{p(\mbox{No object}|X,S,A)}
| |
| </math> | |
| | |
| :<math>
| |
| = \frac{p(X,S,A|\mbox{Object})p(\mbox{Object})}{p(X,S,A|\mbox{No object})p(\mbox{No object})}
| |
| </math>
| |
| | |
| :<math>
| |
| \approx \frac{p(X,S,A|\Theta)p(\mbox{Object})}{p(X,S,A|\Theta_{bg})p(\mbox{No object})}
| |
| </math>
| |
| | |
| where <math>\Theta_{bg}</math> is the background model. This ratio is compared to a threshold <math>T\,</math> to determine object presence/absence.
| |
| | |
| The likelihoods are factored as follows:
| |
| | |
| :<math>
| |
| p(X,S,A|\Theta) = \sum_{h \in H} p(X,S,A,h|\Theta) =
| |
| </math>
| |
| | |
| :<math>
| |
| \sum_{h \in H} \underbrace{ p(A|X,S,h,\Theta) }_{\mbox{Appearance}} \underbrace{ p(X|S,h,\Theta) }_{\mbox{Shape}} \underbrace{ p(S|h,\Theta) }_{\mbox{Rel. Scale}} \underbrace{ p(h|\Theta) }_{\mbox{Other}}
| |
| </math>
| |
| | |
| === Appearance ===
| |
| | |
| Each part <math>p\,</math> has an appearance modeled by a Gaussian density in the appearance space, with mean and covariance parameters <math>\Theta_p^{app} = \{c_p,V_p\}</math>, independent of other parts' densities. The background model has parameters <math>\Theta_{bg}^{app} = \{c_{bg},V_{bg}\}</math>. Fergus et al. assume that, given detected features, the position and appearance of those features are independent. Thus, <math>p(A|X,S,h,\Theta) = p(A|h,\Theta)\,</math>. The ratio of the appearance terms reduces to
| |
| | |
| :<math> | |
| \frac{p(A|X,S,h,\Theta)}{p(A|X,S,h,\Theta_{bg})} = \frac{p(A|h,\Theta)}{p(A|h,\Theta_{bg})}
| |
| </math>
| |
| | |
| :<math>
| |
| = \prod_{p=1}^P \left ( \frac{G(A(h_p)|c_p,V_p)}{G(A(h_p)|c_{bg},V_{bg})} \right )^{b_p}
| |
| </math>
| |
| | |
| Recall from Weber et al. that <math>h\,</math> is the hypothesis for the indices of foreground parts, and <math>b\,</math> is the binary vector giving the occlusion state of each part in the hypothesis.
| |
| | |
| === Shape ===
| |
| | |
| Shape is represented by a joint Gaussian density of part locations within a particular hypothesis, after those parts have been transformed into a scale-invariant space. This transformation precludes the need to perform an exhaustive search over scale. The Gaussian density has parameters <math>\Theta^{\mbox{shape}} = \{\mu,\Sigma\}\,</math>. The background model <math>\Theta_{bg}\,</math> is assumed to be a uniform distribution over the image, which has area <math>\alpha\,</math>. Letting <math>f\,</math> be the number of foreground parts,
| |
| | |
| :<math>
| |
| \frac{p(X|S,h,\Theta)}{p(X|S,h,\Theta_{bg})} = G(X(h)|\mu,\Sigma)\alpha^f
| |
| </math>
| |
| | |
| === Relative scale ===
| |
| | |
| The scale of each part <math>p\,</math> relative to a reference frame is modeled by a Gaussian density with parameters <math>\Theta^{\mbox{scale}} = \{t_p,U_p\}\,</math>. Each part is assumed to be independent of other parts. The background model <math>\Theta_{bg}\,</math> assumes a uniform distribution over scale, within a range <math>r\,</math>.
| |
| | |
| :<math>
| |
| \frac{p(S|h,\Theta)}{p(S|h,\Theta_{bg})} = \prod_{p=1}^P G(S(h_p)|t_p,U_p)^{d_p} r^f
| |
| </math>
| |
| | |
| === Occlusion and statistics of feature detection ===
| |
| | |
| :<math>
| |
| \frac{p(h|\Theta)}{p(h|\Theta_{bg})} = \frac{p_{\mbox{Poiss}}(n|M)}{p_{\mbox{Poiss}}(N|M)} \frac{1}{^nC_r(N,f)} p(b|\Theta)
| |
| </math>
| |
| | |
| The first term models the number of features detected using a [[Poisson distribution]], which has mean M. The second term serves as a "book-keeping" term for the hypothesis variable. The last term is a probability table for all possible occlusion patterns.
| |
| | |
| | |
| === Learning ===
| |
| | |
| The task of learning the model parameters <math>\Theta = \{\mu,\Sigma,c,V,M,p(b|\Theta),t,U\}\,</math> is accomplished by [[expectation maximization]]. This is carried out in a spirit similar to that of Weber et al. Details and formulas for the E-step and M-step can be seen in the literature.<ref name="fergus_thesis" />
| |
| | |
| == Performance ==
| |
| | |
| The Constellation Model as conceived by Fergus et al. achieves successful categorization rates consistently above 90% on large datasets of motorbikes, faces, airplanes, and spotted cats.<ref>[http://www.vision.caltech.edu/html-files/archive.html R. Fergus and P. Perona. Caltech Object Category datasets. http://www.vision.caltech.edu/html-files/archive.html (2003)]</ref> For each of these datasets, the Constellation Model is able to capture the "essence" of the object class in terms of appearance and/or shape. For example, face and motorbike datasets generate very tight shape models because objects in those categories have very well-defined structure, whereas spotted cats vary significantly in pose, but have a very distinctive spotted appearance. Thus, the model succeeds in both cases. It is important to note that the Constellation Model does not generally account for significant changes in orientation. Thus, if the model is trained on images of horizontal airplanes, it will not perform well on, for instance, images of vertically oriented planes unless the model is extended to account for this sort of rotation explicitly.
| |
| | |
| In terms of computational complexity, the Constellation Model is very expensive. If <math>N\,</math> is the number of feature detections in the image, and <math>P\,</math> the number of parts in the object model, then the hypothesis space <math>H\,</math> is <math>O(N^P)\,</math>. Because the computation of sufficient statistics in the E-step of [[expectation maximization]] necessitates evaluating the likelihood for every hypothesis, learning becomes a major bottleneck operation. For this reason, only values of <math>P \le 6</math> have been used in practical applications, and the number of feature detections <math>N\,</math> is usually kept within the range of about 20-30 per image.
| |
| | |
| == Variations ==
| |
| | |
| One variation that attempts to reduce complexity is the star model proposed by Fergus et al.<ref>[http://www.robots.ox.ac.uk/%7Efergus/papers/fergus_cvpr05.pdf R. Fergus, P. Perona, and A. Zisserman. ''A Sparse Object Category Model for Efficient Learning and Exhaustive Recognition.'' (2005)]</ref> The reduced dependencies of this model allows for learning in <math>O(N^2P)\,</math> time instead of <math>O(N^P)\,</math>. This allows for a greater number of model parts and image features to be used in training. Because the star model has fewer parameters, it is also better at avoiding the problem of over-fitting when trained on fewer images.
| |
| | |
| == References ==
| |
| | |
| {{reflist}}
| |
| | |
| == External links ==
| |
| * [http://courses.ece.uiuc.edu/ece598/ffl/lecture7_ConstellationModel_shortversion.pdf L. Fei-fei. ''Object categorization: the constellation models''. Lecture Slides. (2005)] (link not working)
| |
| | |
| == See also ==
| |
| | |
| * [[Part-based models]]
| |
| * [[One-shot learning]]
| |
| | |
| [[Category:Learning in computer vision]]
| |
| [[Category:Probabilistic models]]
| |