The Hough transform is well known as a method of determining the parameters of one or more straight lines which pass through a set of points. The lines have parameters and p, and any points on them must satisfy
However, this equation can also be interpretted as a constraint on the parameters to ensure the line passes through the point . Any line passing through must have parameters which lie on the sinusoid in parameter space determined by the equation above. The Hough approach involves creating an accumulator array in the space. For every point we increment the bins in the array lying on the corresponding sinusoid. We then scan through the array to find the bins with the most entries, which give the parameters of lines through the original points. If suitable noise models are considered when bins are incremented then the distribution of hits in the array about the best entries gives the distribution of parameter values [1] [7].
This is a special case of a general Hough approach. In the general case we have a set of N observation vectors, , some of which are assumed to satisfy a model equation of the form , where a specify some model parameters which we would like to determine. Each observation, , imposes a constraint on the parameters a, forcing them to lie on a particular surface in the parameter space. Thus we can determine optimal parameters and their distributions by incrementing the bins of accumulator array which lie under each such surface.
This approach is particularly useful for problems with many observations which are not from the true model, and where there may be multiple instances of the desired model (each leads to a different peak in the accumulator array).