ORCEA

Object Recognition by continuous evidence assimilation

What is ORCEA?

Object detection is usually done by breaking the task into a series of simple ones and integrating them into a cascade of steps, where each step regroups and classifies object to be processed by the next ones. ORCEA is a novel object detection method that renders unnecessary most of those steps, by projecting primitives (edge elements, color patches etc.) directly onto the model parameters space and calculating the object parameters probability distribution accordingly. ORCEA requires no case-specific algorithms or heuristics, just a geometric model of the object and a statistical definition of how the object parameters vary.

How does it work?

ORCEA relies on a novel mathematical model for the detection process itself. It sees detection as a stationary Markov process process, where evidence (edge elements, color patches etc.) are added constantly, in random order and of random type, and the system maintains an updated state - which consists of the object parameters probability distribution for the evidence processed so far. It is a major difference comparing to ordinary approaches, where evidence must be bulk-processed, usually in specific order. ORCEA uses GMM (Gaussian mixture model) to represent and update object parameters probability distribution.

In the training stage ORCEA builds the conditional distribution functions required to reflect the influence of any new evidence on the object parameters distribution. Any evidence type can be used, and any model property, structural or not, can be used, as will be shown in the demo cases. In this work the training is done using synthetic evidence from synthetic models. In the future, when testing on real-world images, the training evidence will be detected in the images.

A full description will be published in later stages of the project; I hope to eventually make it an open-source project.

What makes ORCEA different?

The root difference between ORCEA and other detection techniques can be described as follows:

This has the following consequences:
Ambiguity is preserved:
- ORCEA maintains a PDF (probability distribution function) over the object parameter space, therefor it can succesfully cope with ambiguous situations resulting from partial information, where other methods usually need to take decisions about how to continue.
Continuity:
- ORCEA PDF is updated on each new evidence; therefor other algorithms can consult it continuously. This is useful for real-time scanners, robotics, active vision, autonmous cars and more.
Input variability:
- ORCEA can process evidence of various types in random order; most other techniques require a set of same-type evidence to process as bulk; classifiers require a strictly-defined feature vector.
Dimensional flexibility:
- ORCEA uses GMM (Gaussian mixture model) to represent the PDF and other evidence-related distributions. This allows for easy extension of parameter space dimensionality , without severe performance impact. Most methods will make major effort to avoid high dimensionality, even in the cost of accuracy.

How was it tested so far?

A set of synthetic test cases was used to validate the model mathematics and debug its implementation. Four models were used: upright rectangle, 4X4 checkerboard, distorted 4X4 checkerboard, and a spiral sector:

upright rectangle 4X4 checkerboard distorted 4X4 grid spiral sector

These model were selected to address various detection aspects:

1) Upright rectangle is defined by its center, width, height, and edge width. It has detectable internal pattern / color. At high quality input, detecting UR looks trivial; it is enough to analyze the evidence projection on the X and Y axis. It becomes more challenging as the quality decreases...

2) 4X4 checkerboard is defined by its center, width, angle, and edge width. It has an internal pattern of alternating color.

3) Distorted 4X4 checkerboard is similar to the 4X4 checkerboard above, with additional barrel distortion, which changes the polar coordinates \(\{R, \theta\}\) of each point to \(\{R_d, \theta\}\): $$ R_d = (1+\frac{L_0}{L_f})*\frac{R}{1 + R/L_f} $$ where \(L_f\) is an unknown distortion parameter; the smaller it is, the stronger is the distortion. \(L_0\) is a known constant using for stretching the resulting image; here it was set to 1/4 the image width. Detecting the object requires detection of \(L_f\) as well.

4) Spiral sector is a sector of a logarithmic spiral, defined by its center, orientation \(\theta_0\), starting radius \(R_0\), angular span \(\Theta\), and growth exponent \(b\). Its polar coordinates relative to its center are given by:. $$ r(\alpha) = R_0 * e^{b(\alpha- \theta_0)} $$ $$ \theta_0 <= \alpha <= \Theta + \theta_0 $$ The object has detectable internal pattern / color.

Test scheme:

For each case, a variety of objects was created programatically, using a wide range of parameters. Each object was used to programmatically create two sets of evidence - edge elements and area elements, with variable amounts of noise, scatter and occlusion; noise are evidence uncorrelated to the object, scatter is the inaccuracy of object evidence, and occlusion are missing evidence.

This test policy, of creating the evidence programatically instead of detecting it in images, is necessary to avoid dependency on edge detection specifics or any other preprocessing steps, and focuses the test on ORCEA unique contribution.

The images below demonstrate how edge elements and area elements are visualized in this work:

Theoretic object Edge elements Area elements (2 classes)

Test results

General note:

Tests were conducted using various levels of noise, scatter and occlusion. The Detection rates for meduim and low quality input were > 98% and > 95% respetively; the more interesting tests are the ones using low quality input, as they stretch ORCEA ability to its limits. Where possible, quality was degraded radically in order to find at what conditions detection goes below 80%.


Upright rectangle

High quality example:
There is little noise and scatter; ORCEA requires only 25 evidence to converge
Medium quality (more noise and scatter):
Takes ~45 steps to converge, with some fluctuations starting around step 30
Low quality:
Convergeance starts after 180 steps
Unusable edge elements, high quality area elements:
Massive noise, edge elements nearly useless. Takes 350 steps to achieve convergeance.
In this case area elements contribute more to detection than edge elements

A link to full test results will be added.


4X4 checkerboard

High quality example:
There is little noise and scatter; ORCEA requires only 45 pieces of evidence to converge
Low quality sample:
Takes ~90 steps to converge
No edge elements (beside noise):
Slow convergeance that starts only after 140 steps.
No edge elements (beside massive noise):
Massive noise edge elements. Convergeance only towards the end.
In this case area elements contribute more to detection than edge elements
Massive noise of area elements:
Massive noise area elements throw ORCEA off-balance until step 169, where enough edge elements were accumulated. In this case ORCEA sucseeds to ignore the massive area elements noise .

A link to full test results will be added.


Spiral sector

Low quality input:
Example with low-quality evidence
Low quality edge element:
Example with only low-quality edge elements

Distorted 4X4 checkerboard

Coming soon...