Many machine-vision systems are required to perform pass/fail analyses. After determining the specific parameters associated with the products under inspection, system developers can use off-the-shelf machine-vision software to discern good parts from bad. In the simplest case, this may require determining whether the length or color of a product meets a particular tolerance. Should the measurement fall outside of an acceptable limit, the product will be rejected.
Determining which image-processing functions are useful in making such measurements is application specific. More complex machine-vision applications—for example, determining whether a pizza is fully cooked—may require an analysis of multiple data types such as 3-D height data and the color uniformity of the surface of the pie.
A number of off-the-shelf software packages allow measurements to be made; selecting the appropriate functions to use is a task for the system developer. Similarly, after specific image features are extracted, they must be classified so an optimum pass/fail decision can be made. Expert knowledge of algorithms and classifiers is typically required before the systems can be deployed.
To eliminate the need for this expert experience, Cyth Systems (www.cyth.com) has developed self-teaching software known as NeuralVision that is designed to allow machine builders with no previous image-processing experience to add vision to their systems. The system is trained by presenting the software with known good objects and ones that are defective. The characteristics of the object are first determined by extracting specific features from an image.
The NeuralVision software leverages image-processing algorithms developed by National Instruments (www.ni.com) in its Vision Development Module for LabVIEW to perform feature extraction. These algorithms include functions for image thresholding, edge detection, color analysis, and 3-D measurement. An understanding of these algorithms or which to deploy is not required since the NeuralVision software automatically applies multiple algorithms with different parameter settings to each image and multiple sub-sections of those images.
This process returns hundreds of thousands of values that may include thresholded binary values, color hue values, or the length of a particular feature within an image or sub-section of the image. These hundreds of thousands of feature values may be incomprehensible to a human operator but can be used by an image classifier to provide a single weighted value that categorizes the object.
The NeuralVision software incorporates an off-the-shelf neural network classifier and a support vector machine (SVM) for this purpose. Again, no programming of the neural network or SVM is required. In the training phase, multiple objects such as cheeses—good and bad, or of different classes—are presented to the system and classified as either good or bad by the operator (see figure). Then features within these images are automatically extracted and classified, and a single result determines whether a product either passes or fails inspection.
"The challenge of using neural networks is not an issue; it is a mature, well-understood technology," says Andy Long, CEO of Cyth Systems. "The challenge is implementing neural networks and machine vision. The end user does not want an 'intelligent' system, only to then be told that they still have to employ machine-vision specialists to get correct data into the neural network; they want the system to do this."