328
4. How to process a vectorial image
The amount of data produced by the Colour &3D camera is 4 times larger than that of a normal b/w camera.
Industrial surface inspection, which always fights with the amount of data to be processed per unit of time can
hardly tolerate an increase in processing time by a factor of 4. Is there a fast scheme of processing available?
We propose to expand our Colour Brain concept to this new camera. Instead of processing a stored "vectorial"
image,i.e. an image with pixels carrying a feature vector, we transform that image in video-rate into a class
label image by using a trainable LUT pointed at by the feature vector ( Fig.5 ).
40 Mbyte/sec
8 Bit 5 Mbyte/sec
rm >
A E p» class label image
V(x) :
Colour&3D
trainable LUT classifier
Fig. 5 Data reduction by pixel-wise classification of the vectorial "Colour&3D" image with a trainable
look-up table. The LUT contains the feature vector clusters of the different objects in a scene to be
segmented and are set-up under supervised training.
First , the LUT has to be trained to recognize given objects characterized by a given distribution of colours and
heights. Imagine as a practical application the sorting of plastic bottles by colour and size of diameter .We
present to the system a collection of typical samples representing class #1 ( clear white , thick) and class #2
( green, thin ) . The RAM LUT is set to zero before starting the training and is used as an auto-increment
4-dimensional histogram processor. Every pixel of the training sample points to a location of the RAM which is
incremented by 1. At the end of the training for class #1, the RAM contains a cluster of entries, each representing
the frequency of occurence of a feature vector from the pixels of the class #1 object. We binarize that 4-
dimensional histogramm with a threshold to cancel out very rare occurences due to noise. All the memory cells
having a frequency higher then the threshold are marked with a class code ,.#1%, the label of that class. We have
shown in / 1/ that it is a good idea to fill holes in the cluster and to smooth it’s shape prior to thresholding.
The same learning procedure is repeated for class #2 objects .The LUT now contains two clusters labelled as #1
and #2.
After the learning has been performed for all classes, the labelled RAM is turned into a LUT and ready for
pixel-wise classification. By coding the class labels with an 1-out of- n code, we obtain at the output of the LUT
a stack of binary class label images ( f.i. we can classify into the 4 different classes object#1, object#2, learned
background, unknown objects with just 4 bits). This stack of 4 binary images can be furher analyzed by blob
analysis procedures to build regions etc. Coding into a non-redundant 4 bit code such as the natural dual-code
would allow a classifier to be built which can be trained for the recognition of 24-16 different classes
simultanously.
This pixel-wise classification is executed in real-time by a quite simple LUT hardware. The produced stack of
M binary images is again readily processed by simple hardware such as run-length coder and blob forming
processors or by software-based binary image processing algorithms.
IAPRS, Vol. 30, Part 5W1, ISPRS Intercommission Workshop “From Pixels to Sequences”, Zurich, March 22-24 1995