Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Proposal for Thesis Research in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy

Title: The Effect of Sensor Noise on Planar Object Recognition

Submitted by: Karen B. Sarachik
Rm. 703  (Signature of author)

MIT AI Lab

545 Technology Square Cambridge, MA 02139

Date of Submission: September 30, 1992

Expected Date of Completion: September, 1993

Laboratory where thesis will be done: Artificial Intelligence Laboratory

Brief Statement of the Problem:

Several methods exist for recognizing 2D or 3D objects from their 2D images, but any system implementer knows that it one thing to design an algorithm, and quite a different thing to actually achieve the performance that the algorithm promises. It is a relatively new phenomenon in vision to try to gauge the effect of sensor error on any particular method.

I have done an error analysis of a specific technique, called geometric hashing, in the domain of 2D object recogition. The result of the work so far has been to explicitly demonstrate the connection between input sensor error (modeled as 2D Gaussian noise) and confidence of the output of the hashing method. For the thesis I intend to do a similar analysis for a different method in the same domain, and show how a recognition system could improve performance by choosing the output of one or the other method, depending on its knowledge of the input noise characteristics of each module.

1 Introduction

For my thesis work I plan to investigate how the presence of noise affects the performance of a small class of visual recognition algorithms, and how to use this information to predict these algorithm’s threshholds and optimal performance. To explain exactly how this work fits into the general problem of recognition, it is useful to abstract the recognition problem as a process of recovering a set of original parameters about a source. In this abstraction, there is some sort of information exchange between the source and the observer, the information might be corrupted in some fashion, the observer receives some subset of the information with added noise, and finally, processes the observed information in one or several stages to settle upon a hypothesis about the parameters of interest.

For example, in the case of message transmission, the parameters of interest are the message itself, the noise is introduced by the channel, and the observer tries to recover the original transmitted message. In sonar based distance measurement, the parameter of interest is the free distance along a particular direction from a source, the information is the reflected sonar beam, and the perceived information is the time delay between sending and receiving the beam. The observer then processes this information to come up with a hypothesis about the free space along the particular direction.

In model based vision, the parameters of interest are the presence or absence of a model in a scene, and its pose in three dimensional space. The information is the light which is reflected from a source by the objects in the scene, and the perceived information is the light which enters the lens of a camera. The information goes through several processing stages to get transformed into a two dimensional array of brightness values representing an image, and then through several more steps to come to a hypothesis about the presence and pose of any particular model.

There is a large body of work which deals with the problem of recovering an original signal which has been corrupted by a noisy channel, a field which was pioneered by Shannon in his formulation of information theory. In the domain of robotics and vision, recovering such a signal (recognition) is complicated by the fact that there are often many sophisticated modules between the perceived information to the conclusion, each of which transforms the original information in some complicated way. Many of the processing modules which make up the recognition system are designed such that the image, in the mathematical sense, of a particular point through the system is understood, and the decision criteria of each module are based on the location of the point’s image. However, if one were to look at the point as a probability distribution, which is a common representation of a signal plus noise, the image of the entire distribution is not taken into account.

In the figure of our hypothetical system we are trying to recognize the letters ’A’ and ’B’ in an image. Processing an unnoisy image of an ’A’ maps the sensory input to the point labeled ’A’ in the interpretation space, so our recognition criterion is simply: does the input point map to the interpretation point ’A’? According to this criterion, we would say the input is a picture of a ’B’. However if we consider the possibility that the information we received is somehow noisy and that our source might just have easily produced information along an entire range of values, then the image of the set of possible points maps to a region in interpretation space which is consistent with both the ’A’ and ’B’ hypotheses.

Failure to take into account the effect of noise on a module can lead to both positive and negative errors when these effects are large. What I am trying to do in my work is to study how the noise is transformed through a system from module to module and in so doing, understand what sort of performance and confidence levels one can expect from the output of any of the modules taken separately or together, and how to set the inevitable decision criteria that many modules use.

The motivating factor for this problem formulation arose during my master’s work in which I designed a system which, based on a narrow sequence of information transformations, attempted to map the dimensions of an enclosing room from a small amount of sensory input. The design was straightforward, however in implementing the system it became apparent that the system was not very robust, the reason being that every step depended on the output of the previous step and assumed error-free information. This assumption led to a system with unpredictable behavior because the manner in which an error input to a module was magnified by that module were not analyzed. Difference in lighting conditions, the effect of automatic gain control, errors in stereo correspondence, and assumptions of distance away from viewed objects, all led to errors which caused catastrophic failures. In addition, many of the threshholds internal to each module were set using heuristics whose applicability under different conditions were assumed but not explicity known.

Thus I became interested in the questions: given noisy information input to a processing module, how much “information” can really be extracted from it? How well can one “fine tune” the module? How sure can we be that the module has given us a good answer? When is the noise too high to ever be able to get a good answer? For instance, does automatic gain control introduce so much noise into our image that doing stereo correspondence based on gradient strength is a useless technique? And many more.

System robustness in not by any means a new problem in any area of engineering. In the area of robotics and vision specifically, some notable techniques of addressing the problem include:

• Multisensor integration and system redundancy [?], [?]. In this approach, redundancy is built into the system by incorporating into it several different sensors or processing modules for same feature. Each sensor or module has a weighting attached to its output which is related to its assumed reliability. The confidence of any reading is based on some sort of heuristic such as, “If your light meter isn’t registering, then anything your vision module says probably isn’t of much use”.

• Minimizing the effect of error by not making any module too complex. This approach is evident in the approach of Rod Brooks. The assumption is that the effect of setting any one module’s threshhold will be easily understood. This is certainly true if one looks at the effect of this threshhold on the output of this module alone. However, the effect at the systemwide level, which consists of many interacting modules, may not always be clear.

• Take many readings and use the average as the ’true’ value. This is mere common sense, but it does assume that the noise of the system has mean 0.

These methods attempt to make the system robust by minimizing the input noise to the system, not tracing the image of the noise through a system. My work is quite different in approach; instead of concentrating on eliminating noise, I’m interested in understanding the effects of noise by attempting to characterize the input distributions to a module and understand how the distributions are transformed by the module, and what confidence the output has. In this way one can build a module whose effect on the system is understood.

For instance, if one can characterize the input distribution to a module, perform the error analysis and then show that the output of such a module under these conditions has only a confidence of 50%, this will effect a system into which one would put this module. For instance, a multisensor integration scheme might use the information to assign weights to this module’s output. Alternatively, if one could show that a 10% reduction in error to this module would result in an output with 85% confidence, then one might concentrate on eliminating the noise bottleneck at this point in the system.

In the next section I present an analysis done in this vein with respect to a specific domain, namely, recognition of planar objects in three dimensional space using geometric hashing.

2 Error Analysis of Geometric Hashing

In this section we look at the effectiveness of geometric hashing using a Gaussian model for the sensor error. We compare the results using this error model to previous work in which a bounded uniform distribution for sensor error is assumed [?], and show that given a fixed probability of false negatives in both schemes, the Gaussian error model results in a lower probability of false positives.

In this problem, our input is an image of a 2D object with an associated 3D pose. Assuming orthographic projection, we can represent the image location [u_{i}, v_{i}, 1]^{T} of each model point [x_{i}, y_{i}, 1]^{T} with a simple linear transformation:

[ \begin{matrix}u_{i} \\ v_{i} \\ 1 \end{matrix} ] = [ \begin{matrix}a & b & t_{x} \\ c & d & t_{y} \\ 0 & 0 & 1 \end{matrix} ] [ \begin{matrix}x_{i} \\ y_{i} \\ 1 \end{matrix} ]

where the upper left of the transformation matrix is a 2 × 2 non-singular matrix, and [t_{x}, t_{y}]^{T} is the translation vector.

It is a fact that if a point has coordinates X⃗ with respect to a given basis, then a linear transformation on the entire space leaves the coordinates of the point unchanged with respect to the transformed coordinates of the basis. The coordinates of X⃗ with respect to the basis are called affine coordinates, and it is their invariance under linear operations which is utilized in the geometric hashing technique, outlined below.

3 Restatement of the Geometric Hashing Algorithm

First we look at the the geometric hashing algorithm assuming exact measurements. The algorithm consists of two stages, a model preprocessing stage and a recognition stage. During the preprocessing stage, all models are entered into a hashing table in the following way:

(1) for every ordered model triplet B_{i} = (m_{0}, m_{1}, m_{2})

(a) for every other model point m_{j}

(i) find coordinates m_{j} = (α_{j}, β_{j}) with respect to basis B_{i} (ii) enter basis B_{i} at location (α_{j}, β_{j}) in the hash table.

The running time for this stage is O(m^{4}). At recognition time:

(2) for every unordered image triplet (i_{0}, i_{1}, i_{2})

(a) for every other image point i_{j}

(i) find coordinates i_{j} = (α_{j}, β_{j}) with respect to basis (i_{0}, i_{1}, i_{2})

(ii) Index into the hash table at location (α_{j}, β_{j}) and increment a histogram count for all bases found there.

(b) If the weight of the vote for any basis B is sufficiently high, stop and output the correspondence between triple (i_{0}, i_{1}, i_{2}) and basis B as a correct hypothesis.

Note that we need to order the points either at the preprocessing stage or at recognition time, but not both (or there would be a sixfold redundancy of correspondences). We choose to order the points at the preprocessing stage and enter every model point with respect to a single unordered basis set 6 times, once for every ordering of the basis set. This makes the table 6 times denser, but then at recognition time we need only to choose an unordered image triple and impose a single arbitrary ordering upon it. This way, when we use the remaining image points to index into the hash table, we vote for the ordering of the model basis set as well as model basis set itself.

The termination condition is exactly the issue we investigate in this paper. The worst case running time of the recognition stage is O(n^{4}), leading to a total runtime of O(m^{4} + n^{4}).

4 Modifications to the Algorithm in the Presence of Error

The geometric hashing algorithm is a more sophisticated version of a “generate and test” method, in which a hypothesis is a model pose implied by a size 3 correspondence of image to model points, and the test is the number of additional projected model points which align with the image. A straight “generate and test” algorithm would take time O(m^{4}n^{4}), since there are O(m^{3}n^{3}) correspondences, and for each one of these, every model point has to be tested against every image point for a possible match.

The geometric hashing algorithm does the same thing, but cuts down the running time by taking advantage of the invariance of a point’s coordinates with respect to a fixed basis under any affine transformation. Since a size 3 correspondence between a 2D model and image is expressible as an affine transformation, a given point will have the same affine coordinates with respect to a fixed basis no matter what set of image points this basis is set to correspond to. This is what allows the decoupling of the model search space and the image search space into two parallel phases (m^{4} +n^{4}) instead of sequential (m^{4} · n^{4}).

The assumption of circularly distributed error in the measured location of image points gives rise to a circular disk of possible image locations for any projected fourth point arising from a size 3 correspondence. In contrast, the corresponding possible hash table locations for the fourth point is ellipsoid in shape. Because of this complication we choose to test our analysis using the analogous generate and test method, keeping in mind that the results we find will be valid for both methods.

For the modified algorithm, instead of incrementing a histogram count for every eligible basis by 1, we increment the basis count by a number between 0 and 1 according to some “goodness” criterion, which in our case is a function of the distance of the point from its expected location. Because of this, we must look at the density function of the accumulated values for correct and incorrect hypotheses, instead of the discrete probability of a particular vote. We will use the term “weight of a hypothesis” to denote this concept.

5 Overview

The key difference between the evaluation of data using the Gaussian error model as opposed to the bounded uniform error model is that in the uniform case, any point falling inside an error disk contributes a full vote for the model basis giving rise to that disk, whereas in the Gaussian case, the vote is weighted by the point’s proximity to the center of the error disk.

The main claim of the paper is supported by the argument whose steps are as follows:

• A 2D circular Gaussian distribution is a reasonable model for sensor error, as opposed to a model assuming bounded uniform distribution [?].

• Using this Gaussian distribution, the following is true: given a correspondence between 3 image points and 3 model points (referred to as a hypothesis for the rest of the article), and assuming a fixed standard deviation σ_{0} for the sensed error of the image points, the location of a fourth model point with affine coordinates (α, β) (with respect to the 3 image basis points) will also have a 2D circular normal distribution with standard deviation σ_{e}:

σ_{e} = σ_{0}((1 − α − β)^{2} + α^{2} + β^{2} + 1)^{1/2}

Note that the possible distance of a fourth model point from its predicted location is now unbounded. In our scheme we will pick a cutoff search distance of 2σ_{e}, which will imply a probability of false negative identification of 13.5%.

• As in [?], we find the distribution of σ_{e} for a random model subject to some configuration constraints to limit instabilities:

f(σ_{e}) = (\frac{1}{bσ_{e}})^{2}

where b = 0.58.

• Next, we modify the geometric hashing recognition algorithm to use this distribution to assign weights to points found within the error disk, as opposed to a single 1/0 vote. Though there are many possible evaluation criteria which we could pick, in the following analysis we use the weighting scheme:

v = \frac{1}{2πσ_{e}^{2}} e^{− \frac{d^{2}}{2σ^{2}_{e}}}

where d =distance from the point’s hypothesized to actual location. This is the value of the 2D Gaussian density function whose center is at the hypothesized location.

• Define random variables V_{H} = the weight that a model point’s projection contributes to its supporting basis, and V\overline{H} = the weight that a random image point contributes to a given basis. To demonstrate what this means, we look at the simpler bounded uniform error case in which the distribution of V_{H} is:

f(V_{H} = v) = \{ \begin{matrix}(1 − c) & v = 1 \\ c & v = 0 \\ 0 & otherwise \end{matrix}

i.e., the probability that a fourth model point will contribute a weight of 1 to a correct hypothesis is 1 − c, where c is the probability of occlusion. A more complicated expression was derived in [?] for V\overline{H}.

In the Gaussian error scheme with a cutoff distance of 2σ_{e} these distributions are:

f(V_{H} = v) = \{ \begin{matrix}c + e^{−2}(1 − c) & v=0 \\ \frac{2π}{b^{2}} (s_{2} − \frac{1}{e\sqrt{2πv}})(1 − c) & ℓ_{1} < v ≤ ℓ_{2} \\ \frac{2π}{b^{2}} \frac{e−1}{e\sqrt{2πv}} (1 − c) & ℓ_{2} < v ≤ ℓ_{3} \\ \frac{2π}{b^{2}} (\frac{1}{\sqrt{2πv}} − s_{1})(1 − c) & ℓ_{3} < v ≤ ℓ_{4} \\ 0 & otherwise \end{matrix}

f(V\overline{H} = v) = \{ \begin{matrix}1 − \frac{4π(s_{2}−s_{1})}{R^{2}b^{2}} & v=0 \\ \frac{2π}{R^{2}b^{2}v} (s_{2} − \frac{1}{e\sqrt{2πv}}) & ℓ_{1} < v ≤ ℓ_{2} \\ \frac{2π}{R^{2}b^{2}v} \frac{e−1}{e\sqrt{2πv}} & ℓ_{2} < v ≤ ℓ_{3} \\ \frac{2π}{R^{2}b^{2}v} (\frac{1}{\sqrt{2πv}} − s_{1}) & ℓ_{3} < v ≤ ℓ_{4} \\ 0 & otherwise \end{matrix}

ℓ_{1} = \frac{1}{2πs_{2}^{2}e^{2}}
ℓ_{2} = \frac{1}{2πs_{2}^{2}}
ℓ_{3} = \frac{1}{2πs_{1}^{2}e^{2}}
ℓ_{4} = \frac{1}{2πs_{1}^{2}}

and s_{1}, s_{2} are the minimum and maximum allowable values for σ_{e}, respectively.

• For a model of size m and a correct hypothesis, the weight of the total vote for this hypothesis is the sum of weights over all m − 3 other projected model points. We will call this random variable W_{H_{m}} = V_{H_{1}} + V_{H_{2}} + … + V_{H_{m−3}}, which (assuming independence of the random variables V_{H_{i}}) follows the distribution:

f(W_{H_{m}} = v) = f(V_{H_{1}}) ⊗ f(V_{H_{2}}) ⊗ … ⊗ f(V_{H_{m−3}})

We will use the central limit theorem to avoid actually having to compute this distribution. An incorrect hypothesis is calculated differently: For a single point in an image with m projected model points, the distribution is:

f(V_{\overline{H}_{m}}) = \{ \begin{matrix}1 − (m − 3)\frac{4π}{R^{2}b^{2}} [s_{2} − s_{1}] & v=0 \\ (m − 3)\frac{2π}{R^{2}b^{2}v} [s_{2} − \frac{1}{e\sqrt{2πv}}] & ℓ_{1} < v ≤ ℓ_{2} \\ (m − 3)\frac{2π}{R^{2}b^{2}v} [\frac{e−1}{e\sqrt{2πv}}] & ℓ_{2} < v ≤ ℓ_{3} \\ (m − 3)\frac{2π}{R^{2}b^{2}v} [\frac{1}{\sqrt{2πv}} − s_{1}] & ℓ_{3} < v ≤ ℓ_{4} \\ 0 & otherwise \end{matrix}

Dropping n points convolves this distribution with itself n − 3 times:

f(W_{\overline{H}_{m,n}} = v) = f(V_{\overline{H}_{m,1}}) ⊗ … ⊗ f(V_{\overline{H}_{m,n−3}})

• A random image gives rise only to incorrect hypotheses. The problem of deciding whether a model of size m is present in an image of size n now becomes the problem of distinguishing whether a particular accumulation of weights for a hypothesis could arise from such a distribution. In particular, the probability of a positive identification for an incorrect hypothesis (false positive) in an image with n points is:

P (W_{\overline{H}_{m,n}} > θ) = 1 − ∫_{0}^{θ} f(W_{\overline{H}_{m,n}} = v)dv = b

Similarly, the probability of a false negative upon testing a single correct hypothesis (correspondence) is:

P (W_{H_{m}} < θ) = ∫_{0}^{θ} f(W_{H_{m}} = v)dv = a

where θ is the threshold above which we decide that our hypothesis is correct. Also, we can amplify or decrease our chances of making a mistake by repeated samplings.

• We can now make a direct comparison to the uniform case: we will accept an image basis if it contributes ≥ θ to any model basis. This is analogous to the probability of collision in the hash table for any model basis, as was derived in [?], and is found in our model by sampling the previous distribution \binom{m}{3} × 6 times: for a fixed sensor (image) basis:

P (false positive) = P (any incorrect hypothesis yields weight > θ)
= 1 − P (all incorrect hypotheses yield weight < θ)
= 1 − (1 − b)^{\binom{m}{3}6}

While the probability of a false negative for a correct image basis is simply a. We compare the two models by graphing the false versus true positives at different threshhold values for each curve. The results are shown in a later section.

The following sections show the derivation of these distributions, and the results of the analysis both analytically and empirically.

6 Deriving the Projected Gaussian Distribution

The two dimensional Gaussian probability density of a random variable a⃗ with 0 covariance is denoted as:

f(a⃗ = (x, y)) = \frac{1}{2πσ_{x}σ_{y}} e^{− \frac{x^{2}}{2σ^{2}_{x}} + \frac{y^{2}}{2σ^{2}_{y}}}

= (\frac{1}{\sqrt{2π}σ_{x}} e^{− \frac{x^{2}}{2σ^{2}_{x}}})(\frac{1}{\sqrt{2π}σ_{y}} e^{− \frac{y^{2}}{2σ^{2}_{y}}})
= f(a_{x} = x)f(a_{y} = y)

Note that the two components are independent. Therefore the probability density of the sum of two random variables with 2D Gaussian distribution and 0 covariance is:

f(a⃗ + b⃗ = (x, y)) = f(a_{x} + b_{x} = x, a_{y} + b_{y} = y)

Convolution in each dimension yields:

= \frac{1}{\sqrt{2π(σ_{ax}^{2} + σ_{bx}^{2})}}e^{−_{\frac{x^{2}}{2(σ{2 \atop ax}+σ{2 \atop bx})}}} \frac{1}{\sqrt{2π(σ_{ay}^{2} + σ_{by}^{2})}}e^{− \frac{y^{2}}{2(σ{2 \atop ay}+σ{2 \atop by})}}

Multiplying by a scalar yields:

f(ca⃗ = (x, y)) = f(a_{x} = \frac{x}{c}, a_{y} = \frac{y}{c})

= \frac{1}{\sqrt{2π}(cσ_{x})}e^{− \frac{x^{2}}{2(cσx)^{2}}} \frac{1}{\sqrt{2π}(cσ_{y})}e^{− \frac{y^{2}}{2(cσy)^{2}}}

Therefore, assuming e⃗_{i}, i ≤ 3 to have 2D Gaussian distributions with σ_{ix} = σ_{jy}, i, j ≤ 3, then the distribution of the vector:

(1 − α − β)e⃗_{1} + αe⃗_{2} + βe⃗_{3} + e⃗_{0}

is a 2D Gaussian with covariance 0 and standard deviation:

σ((1 − α − β)^{2} + α^{2} + β^{2} + 1)^{1/2}

in both the x and y direction.

We choose our error disk to have radius 2σ_{e}, so we will find an image feature arising from a model point 86.5% of the time (this is demonstrated in a later section). Note that this expression is always smaller than its analogous expression for disk radius in the uniform bounded error model:

Figure 1: The distribution of σ for m = 25.

ϵ[| 1 − α − β | + | α | + | β | +1]

because of the triangle inequality. Here, ϵ = 2σ.

7 Determining the Distribution for σ_{e}

As in [?], we empirically estimate the distribution for σ_{e} by generating a random model of size 25, then for each ordered triple of model points as basis, we increment a histogram for the value of σ_{e} = f(α, β) for all the other model points with respect to that basis.

The model is constrained such that the maximum distance between any two model points is not greater than 10 times the minimum distance, and in the basis selection, no basis is chosen such that the angle ϕ between the two axes is 0 ≤| ψ |≤ \frac{π}{16} or \frac{15}{16}π ≤ ψ ≤ \frac{17}{16}π.

The trial was repeated 10 times and the results were similar; a typical normalized histogram is shown in figure 1. σ_{e} ranges between the limits s_{1} = 2.875 and s_{2} = 120 and roughly fits the curve f(σ_{e}) = (bσ_{e})^{−2}, b = 0.58, shown superimposed on the empirical distribution. The integral of the analytic expression thus defined = 1.009.

8 Derivation of the Single Point Distributions

In this section we show the derivation of the distributions f(V_{H} = v) and f(V\overline{H} = v). We begin with the former.

8.1 Deriving f(V_{H})

Given a correct hypothesis and and in the absence of occlusion, the location of a projected model point can be modeled as a vector d⃗ centered at the predicted location with Gaussian distribution (expressed in polar coordinates)

f(d⃗ = (r, θ)) = \frac{1}{2πσ_{e}^{2}} e^{− \frac{r^{2}}{2σ^{2}_{e}}}

We now choose an evaluation function g(d⃗), and we want to find its density, i.e., we want f(v = g(d⃗)), where the distribution of d⃗ is as stated. As mentioned earlier, we chose the evaluation function

g(d⃗ = (r, θ)) = \frac{1}{2πσ_{e}^{2}} e^{− \frac{r^{2}}{2σ^{2}_{e}}}

Since the evaluation function g is a really function of r alone, we need to know the density function of r. To find this, we integrate f(r, θ) over θ:

f(r) = ∫_{0}^{2π} f(r, θ)rdθ = \frac{r}{σ_{e}^{2}} e^{\frac{−r^{2}}{2σ^{2}_{e}}}

Next, we want to find the density of the weight function v = g(r). The change of variables formula for a monotonically decreasing function is:

dens(g(r) = v) = \frac{−f(g^{−1}(v))}{g′(g^{−1}(v))}

Doing the math, we get:

g(r) = \frac{1}{2πσ_{e}^{2}} e^{− \frac{r^{2}}{2σ^{2}_{e}}}
g′(r) = −\frac{r}{σ_{e}^{2}} g(r)
f(r) = \frac{r}{σ_{e}^{2}} e^{\frac{−r^{2}}{2σ^{2}_{e}}}
= 2πrg(r)
f(g^{−1}(v)) = 2πg^{−1}(v)g(g^{−1}(v))
= 2πvg^{−1}(v)
g′(g^{−1}(v)) = −\frac{g^{−1}(v)}{σ_{e}^{2}}g(g^{−1}(v))
= −\frac{g^{−1}(v)}{σ_{e}^{2}}v
⟹ f(v = g(r)) = \frac{−f(g^{−1}(v))}{g′(g^{−1}(v))}
= 2πvg^{−1}(v)\frac{σ_{e}^{2}}{vg^{−1}(v)}
= 2πσ_{e}^{2}

However, since we only search out to a radius of 2σ_{e}, the effective distribution is:

f(V_{H} = v) = \{ \begin{matrix}∫_{v=g(∞)}^{v=g(2σ_{e})} 2πσ_{e}^{2}dv = e^{−2} & v = 0 \\ 2πσ_{e}^{2} & \frac{1}{2πσ_{e}^{2}e^{2}} ≤ v ≤ \frac{1}{2πσ_{e}^{2}} \\ 0 & otherwise \end{matrix}

i.e., we will miss a good point e^{−2} = 13.5% of the time. This expression correctly integrates to 1. Now, note that we have this expression for a fixed σ_{e}, i.e., we actually have derived f(v = g(r) | σ_{e}). We need to integrate this expression over all values of σ_{e}, that is:

f(V_{H} = v) = ∫ f(V_{H} = v | Σ = σ)f(Σ = σ)dσ
= ∫ (2πσ^{2})(bσ)^{−2}dσ
= \frac{2π}{b^{2}} ∫ dσ

There are two things to take into consideration when calculating the limits for this expression: first, the possible values of σ range from s_{1} = 2.875 to s_{2} = 120. Second, we note that for a particular value v, the only values for σ such that g(d⃗ | σ) could equal v are in the range (\frac{1}{\sqrt{2πv}e}, \frac{1}{\sqrt{2πv}}). Therefore the lower bound on the integral is σ = max(s_{1}, \frac{1}{\sqrt{2πv}e}), and the upper bound is σ = min(\frac{1}{\sqrt{2πv}} , s_{2}). We split this integral into 3 regions, and deal with the case where v = 0 separately. Integrating, we get:

f(V_{H} = v) = \{ \begin{matrix}e^{−2} & v=0 \\ \frac{2π}{b^{2}} (s_{2} − \frac{1}{e\sqrt{2πv}}) & ℓ_{1} < v ≤ ℓ_{2} \\ \frac{2π}{b^{2}} \frac{e−1}{e\sqrt{2πv}} & ℓ_{2} < v ≤ ℓ_{3} \\ \frac{2π}{b^{2}} (\frac{1}{\sqrt{2πv}} − s_{1}) & ℓ_{3} < v ≤ ℓ_{4} \\ 0 & otherwise \end{matrix}

ℓ_{1} = \frac{1}{2πs_{2}^{2}e^{2}}
ℓ_{2} = \frac{1}{2πs_{2}^{2}}
ℓ_{3} = \frac{1}{2πs_{1}^{2}e^{2}}
ℓ_{4} = \frac{1}{2πs_{1}^{2}}

8.1.1 Adding Occlusion

It is easy to add occlusion into this distribution by considering an independent process whose probability of occluding any given point is c. Therefore, the above distribution is multiplied by another factor:

f_{c}(V_{H} = v) = \{ \begin{matrix}f(V_{H} = 0)(1 − c) + c & v = 0 \\ f(V_{H} = v)c & otherwise \end{matrix}

We will use the distribution f, not f_{c}, in the rest of the paper, and will reconsider the rate of occlusion only in the context of calculating false negatives in a later section.

8.2 Deriving f(V\overline{H})

We do the same derivation for the distribution f(V\overline{H}). Given a hypothesis and a random point, we calculate the distribution as follows: let event A = “point falls in hypothesized error disk”. This is the area of the error disk over the size of the image R^{2}, i.e.,

P (A | σ_{e}) = \frac{4πσ_{e}^{2}}{R^{2}}
P (\overline{A} | σ_{e}) = \frac{R^{2} − 4πσ_{e}^{2}}{R^{2}}

Now we calculate the probability that a point which is uniformly distributed inside a disk of radius 2σ_{e} contributes value v for an incorrect hypothesis, using the evaluation function defined in the previous section. As before, we must express a uniform distribution in polar coordinates and then integrate over θ to get the distribution in terms of r alone, since the evaluation function g is a function of r:

f(r, θ) = \frac{1}{π(2σ_{e})^{2}}
f(r) = ∫_{0}^{2π} \frac{1}{π(2σ_{e})^{2}} rdθ
= \frac{r}{2σ^{2}}

As before, we calculate the density of (v = g(r) | A ∧ σ_{e}) with the new distribution for r:

g(r) = \frac{1}{2πσ_{e}^{2}} e^{− \frac{r^{2}}{2σ^{2}_{e}}}
g′(r) = −\frac{r}{σ_{e}^{2}} g(r)
f(r) = \frac{r}{2σ_{e}^{2}}
f(g^{−1}(v)) = \frac{g^{−1}(v)}{2σ_{e}^{2}}
g′(g^{−1}(v)) = −\frac{g^{−1}(v)}{σ_{e}^{2}}v
⟹ f(v = g(r) | A) = \frac{−f(g^{−1}(v))}{g′(g^{−1}(v))}
= \frac{1}{2}v^{−1}

Therefore, the density function of v for a fixed σ_{e} is:

f(V\overline{H} = v | σ_{e}) = \{ \begin{matrix}P (\overline{A} | σ_{e}) = \frac{R^{2}−4πσ_{e}^{2}}{R^{2}} & v = 0 \\ f(v | A ∧ σ_{e})P (A | σ_{e}) = \frac{2πσ_{e}^{2}}{R^{2}v} & \frac{1}{2πσ_{e}^{2}e^{2}} ≤ v ≤ \frac{1}{2πσ_{e}^{2}} \\ 0 & otherwise \end{matrix}

Again, this expression correctly integrates to 1. As before, we need to integrate this expression over all values of σ_{e}:

f(V\overline{H} = v) = ∫ f(V_{H} = v | Σ = σ)f(Σ = σ)dσ
= ∫ (\frac{2πσ^{2}}{R^{2}v})(bσ)^{−2}dσ
= \frac{2π}{b^{2}R^{2}v} ∫ dσ

Dealing with v = 0 as a separate case, and with the same upper and lower bounds as in the previous case. Integrating yields:

f(V\overline{H} = v) = \{ \begin{matrix}1 − \frac{4π(s_{2}−s_{1})}{R^{2}b^{2}} & v=0 \\ \frac{2π}{R^{2}b^{2}v} (s_{2} − \frac{1}{e\sqrt{2πv}}) & ℓ_{1} < v ≤ ℓ_{2} \\ \frac{2π}{R^{2}b^{2}v} \frac{e−1}{e\sqrt{2πv}} & ℓ_{2} < v ≤ ℓ_{3} \\ \frac{2π}{R^{2}b^{2}v} (\frac{1}{\sqrt{2πv}} − s_{1}) & ℓ_{3} < v ≤ ℓ_{4} \\ 0 & otherwise \end{matrix}

ℓ_{1} = \frac{1}{2πs_{2}^{2}e^{2}}
ℓ_{2} = \frac{1}{2πs_{2}^{2}}
ℓ_{3} = \frac{1}{2πs_{1}^{2}e^{2}}
ℓ_{4} = \frac{1}{2πs_{1}^{2}}

We ran an experiment to test the analysis of this section, and the results are shown in Figure 2. Both graphs show a normalized histogram of the results of a 15, 000 independent trials. There is a good correspondence between predicted and actual results.

9 Finding the Weight Density of a Model in an Image

The next step is to find the weight density of a correct and incorrect hypothesis using these distributions. For a model of size m and an image of size n, a correct hypothesis should have weight density

f(W_{H_{m}} = v) = f_{c}(V_{H_{1}}) ⊗ f_{c}(V_{H_{2}}) ⊗ … ⊗ f_{c}(V_{H_{m−3}})

assuming that each point contributes weight to its supporting basis independently of any other. In order to avoid convolving the distributions from the previous section, we find the expected value and the standard deviation of the distributions and invoke the central limit theorem to claim that the combined weight of a correct hypothesis of a size m model in a size n image with should roughly follow the distribution:

N(mE_{H}, mσ_{H}^{2})

in which Figure 2: Distributions, f(v), with and without model

14

E_{H}(v) = ∫_{0}^{0} vf_{c}(v)dv + ∫_{ℓ_{1}}^{ℓ_{2}} vf_{c}(v)dv + ∫_{ℓ_{2}}^{ℓ_{3}} vf_{c}(v)dv + ∫_{ℓ_{3}}^{ℓ_{4}} vf_{c}(v)dv
= 0 + (1 − c)\frac{3e^{4} − 4e^{3} + 1}{12πb^{2}s_{2}^{3}e^{4}} + (1 − c) (\frac{e − 1}{3πb^{2}e}) [\frac{1}{s_{1}^{3}e^{3}} − \frac{1}{s_{2}^{3}} ] + (1 − c)\frac{e^{4} − 4e + 3}{12πb^{2}s_{1}^{3}e^{4}}
= (1 − c)3.26 × 10^{−4}
E_{H}(v^{2}) = ∫_{0}^{0} v^{2}f_{c}(v)dv + ∫_{ℓ_{1}}^{ℓ_{2}} v^{2}f_{c}(v)dv + ∫_{ℓ_{2}}^{ℓ_{3}} v^{2}f_{c}(v)dv + ∫_{ℓ_{3}}^{ℓ_{4}} v^{2}f_{c}(v)dv
= 0 + (1 − c)\frac{5e^{6} − 6e^{5} + 1}{60π^{2}b^{2}s_{2}^{5}e^{6}} + (1 − c) (\frac{e − 1}{10π^{2}b^{2}e}) [\frac{1}{s_{1}^{5}e^{5}} − \frac{1}{s_{2}^{5}} ] + (1 − c)\frac{e^{6} − 6e + 5}{60π^{2}b^{2}s_{1}^{5}e^{6}}
= (1 − c)2.55 × 10^{−5}
σ_{H}^{2} = E_{H}(v)^{2} − E_{H}(v^{2})
= ((1 − c)3.26 × 10^{−4})^{2} − (1 − c)2.55 × 10^{−5}
= 1.49 × 10^{−5} (for c = 0)

For an incorrect hypothesis we look at the problem in two steps. First we derive, as above, the mean and standard deviation of the process in which n = m = 4, i.e., a single random image point drops into a single error circle. From the distribution of f(V\overline{H}), we find:

E\overline{H}(v) = ∫_{0}^{0} vf(V\overline{H} = v)dv + ∫_{ℓ_{1}}^{ℓ_{2}} vf(V\overline{H} = v)dv + ∫_{ℓ_{2}}^{ℓ_{3}} vf(V\overline{H} = v)dv + ∫_{ℓ_{3}}^{ℓ_{4}} vf(V\overline{H} = v)dv
= 0 + \frac{(e − 1)^{2}}{R^{2}b^{2}e^{2}s_{2}} + \frac{2(e − 1)}{R^{2}b^{2}e} [\frac{1}{s_{1}e} + \frac{1}{s_{2}} ] + \frac{(e − 1)^{2}}{R^{2}b^{2}e^{2}s_{1}}
= 3.49 × 10^{−6}
E\overline{H}(v^{2}) = ∫_{0}^{0} v^{2}f(V\overline{H} = v)dv + ∫_{ℓ_{1}}^{ℓ_{2}} v^{2}f(V\overline{H} = v)dv + ∫_{ℓ_{2}}^{ℓ_{3}} v^{2}f(V\overline{H} = v)dv + ∫_{ℓ_{3}}^{ℓ_{4}} v^{2}f(V\overline{H} = v)dv
= 0 + \frac{3e^{4} − 4e^{3} + 1}{12πR^{2}b^{2}s_{2}^{3}e^{4}} + (\frac{e − 1}{3πR^{2}b^{2}e}) [\frac{1}{s_{1}^{3}e^{3}} − \frac{1}{s_{2}^{3}} ] + \frac{e^{4} − 4e + 3}{12πR^{2}b^{2}s_{1}^{3}e^{4}}
= 1.30 × 10^{−8}
σ2 ; \overline{H}(v) = E\overline{H}(v)^{2} − E\overline{H}(v^{2})
= 1.30 × 10^{−8}

for R = 500.

Now, consider a single random image point (i.e., n = 4; three for the hypothesis and one left over) dropped into an image where a model of size m > 4 is hypothesized to be. In this case the event that the random point will contribute weight v to this hypothesis is calculated as follows: Let event A_{i} = “point drops in the ith circle.” Then,

f(V_{\overline{H}_{m}} = v | v ≠ 0) = f(v ∧ A_{1}) + f(v ∧ A_{2}) + … + f(v ∧ A_{m−3})
= (m − 3)f(v ∧ A_{1})

Note that because we are assuming the circles are disjoint, we are overestimating the probability of the point falling in any circle. The actual rate of detection will be lower than our assumption, especially as the m grows large.

f(V_{\overline{H}_{m}}) = \{ \begin{matrix}1 − (m − 3)\frac{4π}{R^{2}b^{2}} [s_{2} − s_{1}] & v=0 \\ (m − 3)\frac{2π}{R^{2}b^{2}v} [s_{2} − \frac{1}{e\sqrt{2πv}}] & ℓ_{1} < v ≤ ℓ_{2} \\ (m − 3)\frac{2π}{R^{2}b^{2}v} [\frac{e−1}{e\sqrt{2πv}}] & ℓ_{2} < v ≤ ℓ_{3} \\ (m − 3)\frac{2π}{R^{2}b^{2}v} [\frac{1}{\sqrt{2πv}} − s_{1}] & ℓ_{3} < v ≤ ℓ_{4} \\ 0 & otherwise \end{matrix}

As m grows large, (1−(m−3)\frac{4π}{R^{2}b^{2}} [s_{2}−s_{1}]) < 0 so this expression is no longer a density function. This is the point at which the model covers so much of the image that a random point will always contribute to some incorrect hypothesis. Therefore, this analysis only applies to models for which which m < \frac{R^{2}b^{2}}{rπ[s_{2}−s_{1}]} + 3. For R = 500, m ≤ 60, and for R = 256, m ≤ 18.

The mean and standard deviation for one random point dropping into m − 3 random circles is:

E_{\overline{H}_{m}}(v) = ∫_{0}^{0} vf(V_{\overline{H}_{m}})dv + ∫_{ℓ_{1}}^{ℓ_{2}} vf(V_{\overline{H}_{m}})dv + ∫_{ℓ_{2}}^{ℓ_{3}} vf(V_{\overline{H}_{m}})dv + ∫_{ℓ_{3}}^{ℓ_{4}} vf(V_{\overline{H}_{m}})dv
= 0 + ∫_{ℓ_{1}}^{ℓ_{2}} v[(m − 3)f(V\overline{H})]dv + ∫_{ℓ_{2}}^{ℓ_{3}} v[(m − 3)f(V\overline{H})]dv + ∫_{ℓ_{3}}^{ℓ_{4}} v[(m − 3)f(V_{\overline{H}_{m}})]dv
= (m − 3) [∫_{ℓ_{1}}^{ℓ_{2}} vf(V\overline{H})dv + ∫_{ℓ_{2}}^{ℓ_{3}} vf(V\overline{H})dv + ∫_{ℓ_{3}}^{ℓ_{4}} vf(V\overline{H})dv]
= (m − 3)E\overline{H}(v)
E_{\overline{H}_{m}}(v^{2}) = ∫_{0}^{0} v^{2}f(V_{\overline{H}_{m}})dv + ∫_{ℓ_{1}}^{ℓ_{2}} v^{2}f(V_{\overline{H}_{m}})dv + ∫_{ℓ_{2}}^{ℓ_{3}} v^{2}f(V_{\overline{H}_{m}})dv + ∫_{ℓ_{3}}^{ℓ_{4}} v^{2}f(V_{\overline{H}_{m}})dv
= 0 + ∫_{ℓ_{1}}^{ℓ_{2}} v^{2}[(m − 3)f(V\overline{H})]dv + ∫_{ℓ_{2}}^{ℓ_{3}} v^{2}[(m − 3)f(V\overline{H})]dv + ∫_{ℓ_{3}}^{ℓ_{4}} v^{2}[(m − 3)f(V_{\overline{H}_{m}})]dv
= (m − 3) [∫_{ℓ_{1}}^{ℓ_{2}} v^{2}f(V\overline{H})dv + ∫_{ℓ_{2}}^{ℓ_{3}} v^{2}f(V\overline{H})dv + ∫_{ℓ_{3}}^{ℓ_{4}} v^{2}f(V\overline{H})dv]
= (m − 3)E\overline{H}(v^{2})
σ_{\overline{H}_{m}}^{2}(v) = E_{\overline{H}_{m}}(v)^{2} − E_{\overline{H}_{m}}(v^{2})
= (m − 3)^{2}E\overline{H}(v)^{2} − (m − 3)E\overline{H}(v^{2})

Dropping n points convolves this distribution with itself n − 3 times:

f(W_{\overline{H}_{m,n}} = v) = f(V_{\overline{H}_{m_{1}}} ) ⊗ … ⊗ f(V_{\overline{H}_{m_{n−3}}} )

And therefore the weight that an n-size random image contributes to an incorrectly hypothesized model of size m follows the distribution:

N((n − 3)E_{\overline{H}_{m}}, (n − 3)σ_{\overline{H}_{m}}^{2})

Note that this is the weight density of a single incorrect hypothesis. The means for both distributions were tested empirically from the same experiment as shown

in Figures 2. A table of values is given in figure 3.

Mean  Variance
With M  Predicted Empirical Pred/Emp Predicted  Emp  Pred/Emp
m-3=n-3=1  3.2574E-3 3.7156E-3  0.876  1.4883E-5 1.4380E-5  1.035
m-3=n-3=5  1.6287E-2 1.9860E-2  0.820  7.4415E-5 1.3944E-4  0.532
m-3=n-3=10 3.2574E-2 4.0926E-2  0.796  1.4883E-4 5.1346E-4  0.290
m-3=n-3=20 6.5147E-2 8.3265E-2  0.782  2.9766E-4 1.5543E-3  0.191
Mean  Variance
Without M  Predicted Empirical Pred/Emp Predicted  Emp  Pred/Emp
m-3=1,n-3=1 3.4905E-6 3.2672E-6  1.068  1.3017E-8 1.6757E-8  0.777
m-3=1,n-3=5 1.7452E-5 2.3562E-5  0.741  6.5086E-8 1.6520E-7  0.394
m-3=1,n-3=10 3.4905E-5 4.9344E-5  0.707  1.3017E-7 3.2191E-7  0.404
m-3=1,n-3=20 6.9809E-5 8.6947E-5  0.803  2.6034E-7 4.6661E-7  0.558
m-3=5,n-3=1 1.7452E-5 1.5938E-5  1.095  6.4843E-8 8.9322E-8  0.726
m-3=10,n-3=1 3.4905E-5 3.3353E-5  1.047  1.2908E-7 2.6706E-7  0.483
m-3=20,n-3=1 6.9809E-5 3.7706E-5  1.852  2.5572E-7 2.5121E-7  1.018

Figure 3:

10 Comparing Results to the Uniform Case

We compare the results of the previous section to the case of bounded uniform error by plotting the results as an ROC curve for different (m, n) pairs. An ROC curve (receiver operating characteristic) is a concept loosely borrowed from EE in which we plot P(Detection) vs P(False Alarm) for different numbers of model and image points and different threshold levels. A single ROC curve is formed by the (θ, P f, P d) triples associated with a fixed (m, n) pair.

For example, in figure 4 we show 4 different ROC curves for the Gaussian error model analysis; for all four curves m − 3 = 1, and from top to bottom we have n − 3 = 1, 10, 100, 1000. Though an ROC curve is a 3D entity, we display it projected along the θ = 0 plane and can easily find the associated θ value for any (P f, P d) pair.

When the threshhold is high there is a 0 probability of false negative, but a 0 probability of correct identification as well. As the threshhold goes down, the probabilities of both occurences go up until the threshhold is so low that both positive and false identification are certain. The goal is to pick a threshold such that we have a very high probability of identification and a low probability of false positives, i.e., we are interested in points above the diagonal x = y. Note that when n − 3 = 1, there exists a threshhold such that P d = .78 and P f = 0, However when n − 3 = 1000 there exists no threshhold such that even P d > P f.

The next examples show the predicted comparison of the gaussian model to the uniform model. Figure 5 shows the ROC curves for the Gaussian model and uniform models, m − 3 = 10,n − 3 = 10, 50, 100, 500, 1000, occlusion=0. We can see that in the case of no occlusion, both models predict good Pf vs Pd curves, though the uniform model will always better because there is no possibility of false negative for occlusion=0. We see that at n−3 = 500, the gaussian model breaks down while the uniform model still performs well. However, the moment we allow for any weakening of the no occlusion assumption, the uniform model breaks down rapidly. Figure 6 shows the same two plots, but for a more realistic assumption of occlusion = 0.25. Here was see the uniform case degrading

Figure 4: ROC curves for m − 3 = 1, and from top to bottom, n − 3 = 1, 10, 100, 1000

rapidly as clutter goes up, while the gaussian model still performs well for the same amount of clutter and occlusion.

Using this technique, we can predict threshholds for actual experiments whose results are shown in the next section.

11 Experiment

The predictions of the previous section were tested in the following experiment: to test an ROC curve for model size m, image size n, we run two sets of trials, one to test the probability of detection and one to test the probability of false alarm. For the former, a random model of size m consisting of point features was generated and projected into an image, with gaussian noise (σ = 2.5) added to both the x and y positional components of each point feature. Occlusion (c) is simulated by adding a c probability of not appearing in the resulting image for each point. Only correct correspondences are tested, and the weight of each of these correct hypotheses is found using the algorithm:

(a) for a correct hypothesis (m_{0} : i_{0}, m_{1} : i_{1}, m_{2} : i_{2})

for every other model point m_{j}

(i) find coordinates m_{j} = (α_{j}, β_{j}) with respect to basis (m_{0}, m_{1}, m_{2}), and from this, σ_{e} = f(α_{j}, β_{j}).

(ii) Project m_{j} into the image and find the minimum distance d between i_{j} and any

other image point such that d ≤ 2σ_{e}. Add v = \frac{1}{2πσ_{e}^{2}} e^{− \frac{d^{2}}{2σ^{2}_{e}}} to the supporting weight for this hypothesis.

(b) If the weight of the vote for this hypothesis is greater than some threshhold θ, stop and output this as a correct instance of the model.

For our experiment, we loop through thresholds from 0 to E_{H}(v), and for every threshold we run the above algorithm enough times to get 100 sample points. The result for m − 3 = 10, occlusion c = 0.25 are shown in figure 7.

Figure 5: Comparisons of uniform and Gaussian error models for m−3 = 10, n−3 = 10, 50, 100, 500, occlusion=0.

Figure 6: Comparisons of uniform and Gaussian error models for m−3 = 10, n−3 = 10, 50, 100, 500, occlusion=.25.

Figure 7: Comparison of predicted to empirical curve for probability of detection, m − 3 = 10, occlusion c = 0.25.

To test the probability of false alarm, we run the same experiment exactly, except we use random images which do not contain the model we are looking for. We loop through the same thresholds as in the previous case to get a set of (P f, P d) pairs for each threshold. The resulting P f curves are shown in 8 for n−3 = 10, 50, 100, occlusion c = 0.25. The ROC curves for the same parameters are shown alongside.

From the results we see that the predictions for the Pd curve are slightly lower than the empirical results, and that the predictions for the Pf curve are higher. The discrepancy in the latter curve can be tracked down to one of our original assumptions, namely, that the distribution f\overline{H} convolved with itself a sufficiently large number of times yields a Gaussian distribution. Apparently, for n − 3 = 100 the resulting distribution is not sufficiently Gaussian and the bulk of the area under the distribution still occurs very close to 0. Therefore, ∫ f(W_{\overline{H}_{m,n}}) goes to 1 almost immediately, and so 1 − ∫ f(W_{\overline{H}_{m,n}}) goes to 0 much faster than predicted.

Despite this discrepancy we still have what we want, for the underprediction of the Pf curve has the effect of placing a predicted (P f, P d) point over to the right of its actual location, and the overprediction serves to move it a little lower than its actual location. Therefore, any threshhold we pick by inspecting the predicted ROC curve will actually perform better than our prediction, and what we have achieved is reliable lower bound for the performance of our technique.

Figure 8: Comparison of predicted to empirical curve for probability of false alarm, and alongside, the implied ROC curve using the results of the previous figure. From top to bottom, n − 3 = 10, 50, 100.

12 Related Work and Directions for the PhD Research

The geometric hashing method was introduced by Lamdan, Schwartz and Wolfson in 1987. The first error analysis of the geometric hashing technique was done by Grimson, Huttenlocher and Jacobs, who showed that with even very small amounts of noise and spurious features, the technique had a very high probability of false positives. However, they assumed that the error was uniform and bounded, which is a worst-case scenario and places an upper bound on the error rate. As we have shown here, with a Gaussian error assumption we can do much better.

Costa, Haralick, and Shapiro demonstrated another error analysis [?] also based on a 2D Gaussian noise distribution associated with each point. Their analysis differs from this one technically in many respects, but the main focus of their work is specifically to make the geometric hashing method work as well as possible, not to analyze the effects of noise and to characterize under what conditions it will and will not prove effective.

In closing, there are several areas in this work which have not been discussed. First of all, it is important to point out that this is not a Bayesian technique since it makes no assumptions about the a priori presence or absence of the model we are looking for. However, if one did have such a distribution, it could easily be factored into the ROC formulation, as well as the cost associated with making a mistake in either direction.

There are several assumptions I have made in this work whose validity should be tested, for instance, the assumption that our sensor noise is Gaussian with mean 0. Also, there are times at which I assume that adding the sum of n equidistributed random variables produces a distribution which is Gaussian. In the limit this is true, but the question remains as to how large n should be for the assumption to be adequately close to reality. Also, the evaluation function I chose was somewhat arbitrary, and it would be interesting to show whether an optimal evaluation function exists and how to find it.

The probability distributions that I have assumed in this analysis have been the most random possible. Sometimes though, we may know something more about these distributions — for instance, the models we’re working with may all be rectangular, or possibly there are certain poses which are far more likely to occur (for instance, you would hardly ever expect to see an upside-down pyramid), or the noise is not Gaussian but rather skewed in some way. It would be interesting to investigate how we can incorporate the extra knowledge we have about the distributions into this analysis.

There are many areas of vision in which an analysis of this sort has not been done and would be useful — for instance, Hough transforms or stereo matching. My goal for this thesis however is to do an analysis in the same domain, namely, recognition of planar objects, but using line segments to do hypothesis formulation instead of point features. With the results of this analysis I plan to demonstrate the usefulness of the approach by building a small example of a multi-sensor fusion system consisting of three modules: a recognizer based on point features, a recognizer based on line segments, and a third module which conceptually sits above these two and is able to choose between the outputs of both modules, based on the characteristics of the input noise and their effect upon the certainty of each module’s outputs. Though I have not yet done preliminary tests, it is not unreasonable to assume the input noise to be dependent on environmental conditions such as lighting, distance between camera to the scene of interest, or other as yet unanticipated factors. I expect that changes in conditions will affect the noise of each module differently, and that given some other sensor to assess the environmental conditions (a light meter for example), the integrated system will be able to perform better than a system consisting of only one or the other module separately.

24