# Constellation model

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" 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.

## History

The idea for a "parts and structure" model was originally introduced by Fischler and Elschlager in 1973. 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. 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. 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. 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.

In the first step, a standard interest point detection method, such as Harris corner detection, is used to generate interest points. Image features 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 detectors 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,"
    $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}}$
where $N_{i}\,$ represents the number of parts of type $i\in \{1,\dots ,T\}$ 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 $x^{m}\,$. Suppose that the object will be composed of $F\,$ distinct foreground parts. For notational simplicity, we assume here that $F=T\,$, though the model can be generalized to $F>T\,$. A hypothesis $h\,$ is then defined as a set of indices, with $h_{i}=j\,$, indicating that point $x_{ij}\,$ is a foreground point in $X^{o}\,$. The generative probabilistic model is defined through the joint probability density $p(X^{o},x^{m},h)\,$.

### 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 are extensions of those described here.
To parametrize the joint probability density, Weber & Welling introduce the auxiliary variables $b\,$ and $n\,$, where $b\,$ is a binary vector encoding the presence/absence of parts in detection ($b_{i}=1\,$ if $h_{i}>0\,$, otherwise $b_{i}=0\,$), and $n\,$ is a vector where $n_{i}\,$ denotes the number of background candidates included in the $i^{th}$ row of $X^{o}\,$. Since $b\,$ and $n\,$ are completely determined by $h\,$ and the size of $X^{o}\,$, we have $p(X^{o},x^{m},h)=p(X^{o},x^{m},h,n,b)\,$. By decomposition,
    $p(X^{o},x^{m},h,n,b)=p(X^{o},x^{m}|h,n,b)p(h|n,b)p(n)p(b)\,$
The probability density over the number of background detections can be modeled by a Poisson distribution,
    $p(n)=\prod _{i=1}^{T}{\frac {1}{n_{i}!}}(M_{i})^{n_{i}}e^{-M_{i}}$
where $M_{i}\,$ is the average number of background detections of type $i\,$ per image.
Depending on the number of parts $F\,$, the probability $p(b)\,$ can be modeled either as an explicit table of length $2^{F}\,$, or, if $F\,$ is large, as $F\,$ independent probabilities, each governing the presence of an individual part.
The density $p(h|n,b)\,$ is modeled by
    $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}}$
where $H(b,n)\,$ denotes the set of all hypotheses consistent with $b\,$ and $n\,$, and $N_{f}\,$ denotes the total number of detections of parts of type $f\,$. This expresses the fact that all consistent hypotheses, of which there are $\textstyle \prod _{f=1}^{F}N_{f}^{b_{f}}$, are equally likely in the absence of information on part locations.
And finally,
    $p(X^{o},x^{m}|h,n)=p_{fg}(z)p_{bg}(x_{bg})\,$
where $z=(x^{o}x^{m})\,$ are the coordinates of all foreground detections, observed and missing, and $x_{bg}\,$ represents the coordinates of the background detections. Note that foreground detections are assumed to be independent of the background. $p_{fg}(z)\,$ is modeled as a joint Gaussian with mean $\mu \,$ and covariance $\Sigma \,$.

### Classification

The ultimate objective of this model is to classify images into classes "object present" (class $C_{1}\,$) and "object absent" (class $C_{0}\,$) given the observation $X^{o}\,$. 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
    ${\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})}}$
where $h_{0}\,$ 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
    $\Theta =\{\mu ,\Sigma ,p(b),M\}\,$
are estimated using expectation maximization. $\mu \,$ and $\Sigma \,$, we recall, are the mean and covariance of the joint Gaussian $p_{fg}(z)\,$, $p(b)\,$ is the probability distribution governing the binary presence/absence of parts, and $M\,$ is the mean number of background detections over part types.

### M-step

EM proceeds by maximizing the likelihood of the observed data,
    $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}$
with respect to the model parameters $\Theta \,$. Since this is difficult to achieve analytically, EM iteratively maximizes a sequence of cost functions,
    $Q({\tilde {\Theta }}|\Theta )=\sum _{i=1}^{I}E[\log p(X_{i}^{o},x_{i}^{m},h_{i}|{\tilde {\Theta }})]$
Taking the derivative of this with respect to the parameters and equating to zero produces the update rules:
    ${\tilde {\mu }}={\frac {1}{I}}\sum _{i=1}^{I}E[z_{i}]$
    ${\tilde {\Sigma }}={\frac {1}{I}}\sum _{i=1}^{I}E[z_{i}z_{i}^{T}]-{\tilde {\mu }}{\tilde {\mu }}^{T}$
    ${\tilde {p}}({\bar {b}})={\frac {1}{I}}\sum _{i=1}^{I}E[\delta _{b,{\bar {b}}}]$
    ${\tilde {M}}={\frac {1}{I}}\sum _{i=1}^{I}E[n_{i}]$

### E-step

The update rules in the M-step are expressed in terms of sufficient statistics, $E[z]\,$, $E[zz^{T}]\,$, $E[\delta _{b,{\bar {b}}}]\,$ and $E[n]\,$, which are calculated in the E-step by considering the posterior density:
    $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}}}$

## The method of Fergus et al.

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 to find salient regions in the image over both location (center) and scale (radius). Thus, in addition to location information $X\,$ this method also extracts associated scale information $S\,$. 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 $A\,$.

### Model structure

Given a particular object class model with parameters $\Theta \,$, we must decide whether or not a new image contains an instance of that class. This is accomplished by making a Bayesian decision,
    $R={\frac {p({\mbox{Object}}|X,S,A)}{p({\mbox{No object}}|X,S,A)}}$
    $={\frac {p(X,S,A|{\mbox{Object}})p({\mbox{Object}})}{p(X,S,A|{\mbox{No object}})p({\mbox{No object}})}}$
    $\approx {\frac {p(X,S,A|\Theta )p({\mbox{Object}})}{p(X,S,A|\Theta _{bg})p({\mbox{No object}})}}$
where $\Theta _{bg}$ is the background model. This ratio is compared to a threshold $T\,$ to determine object presence/absence.
The likelihoods are factored as follows:
    $p(X,S,A|\Theta )=\sum _{h\in H}p(X,S,A,h|\Theta )=$
    $\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}}$

### Appearance

Each part $p\,$ has an appearance modeled by a Gaussian density in the appearance space, with mean and covariance parameters $\Theta _{p}^{app}=\{c_{p},V_{p}\}$, independent of other parts' densities. The background model has parameters $\Theta _{bg}^{app}=\{c_{bg},V_{bg}\}$. Fergus et al. assume that, given detected features, the position and appearance of those features are independent. Thus, $p(A|X,S,h,\Theta )=p(A|h,\Theta )\,$. The ratio of the appearance terms reduces to
    ${\frac {p(A|X,S,h,\Theta )}{p(A|X,S,h,\Theta _{bg})}}={\frac {p(A|h,\Theta )}{p(A|h,\Theta _{bg})}}$
    $=\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}}$
Recall from Weber et al. that $h\,$ is the hypothesis for the indices of foreground parts, and $b\,$ 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 $\Theta ^{\mbox{shape}}=\{\mu ,\Sigma \}\,$. The background model $\Theta _{bg}\,$ is assumed to be a uniform distribution over the image, which has area $\alpha \,$. Letting $f\,$ be the number of foreground parts,
    ${\frac {p(X|S,h,\Theta )}{p(X|S,h,\Theta _{bg})}}=G(X(h)|\mu ,\Sigma )\alpha ^{f}$

### Relative scale

The scale of each part $p\,$ relative to a reference frame is modeled by a Gaussian density with parameters $\Theta ^{\mbox{scale}}=\{t_{p},U_{p}\}\,$. Each part is assumed to be independent of other parts. The background model $\Theta _{bg}\,$ assumes a uniform distribution over scale, within a range $r\,$.
    ${\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}$

### Occlusion and statistics of feature detection

    ${\frac {p(h|\Theta )}{p(h|\Theta _{bg})}}={\frac {p_{\mbox{Poiss}}(n|M)}{p_{\mbox{Poiss}}(N|M)}}{\frac {1}{^{n}C_{r}(N,f)}}p(b|\Theta )$
The first factor models the number of features detected using a Poisson distribution, which has mean M. The second factor serves as a "book-keeping" factor for the hypothesis variable. The last factor is a probability table for all possible occlusion patterns.

### Learning

The task of learning the model parameters $\Theta =\{\mu ,\Sigma ,c,V,M,p(b|\Theta ),t,U\}\,$ 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.

## 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. 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 $N\,$ is the number of feature detections in the image, and $P\,$ the number of parts in the object model, then the hypothesis space $H\,$ is $O(N^{P})\,$. 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 $P\leq 6$ have been used in practical applications, and the number of feature detections $N\,$ 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. The reduced dependencies of this model allows for learning in $O(N^{2}P)\,$ time instead of $O(N^{P})\,$. 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.