To computers, all images are simply two dimensional arrays of numbers. To these arrays, machine vision systems apply specialized functions that produce numerical measurements as intermediate or final results. Some examples of vision functions include:
- edge detectors
- blob operators
- pattern matching
- character recognition
- barcode readers
- data matrix readers
Many vision functions produce measurement values such as part dimensions that must be validated against manufacturing specifications. Also, some vision functions produce a numerical score which indicates the strength or confidence with which a part, defect, or character was detected. Vision systems compare these dimensions and scores against fixed limit values so that the manufacturing system can automatically identify and reject bad parts.
Vision systems compare dimensions and scores against fixed limit values so that the manufacturing system can automatically identify and reject bad parts.
One of the important steps in the implementation of most machine vision systems is the setting of these limit values.
Although sometimes the exact values of these limits may not be critical, in other cases the fine tuning of these values can have a dramatic impact.
One of the important steps in the implementation of most machine vision systems is the setting of these limit values. Although sometimes the exact values of these limits may not be critical, in other cases the fine tuning of these values can have a dramatic impact on the quality, yield, and throughput of the manufacturing process. Fortunately, in these more challenging circumstances statistical process control concepts can be applied to identify the optimal limit values for the manufacturing process.
Normal Process Variation
It is astronomically unlikely that any two machine vision images will ever be exactly the same. Some of the sources of image variation include:
- imager noise
- minor lighting variations
- minor surface finish and geometry variations between parts
- minor variations in the exact position of parts
Because of these and other causes, the machine vision measurement values of a good part will never be exactly the same. This is called normal process variation. If a histogram of a vision measurement is plotted for a large number of good parts then in most cases the distribution will be in the form of a normal Gaussian “bell-shaped” curve. This distribution can be statistically characterized by just measuring a small number (~25) of representative good parts and calculating the mean value and standard deviation.
In statistical process control it is standard practice to calculate upper and lower limits that are three standard deviations (three sigma) above or below the mean value. For a normally distributed process, the probability of a good part measurement outside of this range is approximately one in 1,000. For more demanding applications, six sigma limits are sometimes applied, resulting in a probability of one in a million that a good part will be rejected (See Figure 1).
Bad parts, hopefully, will have a very different distribution. A major design objective of vision systems is to ensure that measurement values for bad parts fall outside of the distribution curve for good parts. If one vision measurement alone is not sufficient to reliably distinguish good parts from bad parts then it may be necessary for a vision system to look at several different types of measurement values and, plotting these in multi-dimensional space, identify the best division between clusters of good and bad parts.
When setting limit values for defective parts, the first steps are to:
- collect measurement values from a representative collection of 25 or more good and bad parts
- calculate the mean value and standard deviation for the good and bad parts
Using these statistics, you are in a position to determine the optimal limit values. Considerations to be taken into account are the cost of your customers receiving a bad part and the cost to your manufacturing process of a good part that is rejected.
For applications where this quality metric is critical to the customer (such as medical products) and the manufacturing cost of a reject is low, limit values can be calculated directly from the statistics for good parts. All parts not within n-sigma of the mean value of good parts will be rejected.
For applications where this quality metric is not very significant for the end customer and the manufacturing cost of a reject is very high, limit values can be calculated directly from statistics for bad parts. All parts within n-sigma for the mean value of bad parts will be rejected, assuming that all bad parts are clustered in one normal distribution.
In other cases, it may be optimal to calculate a limit value that is mid-way between the good and bad distributions, or situate the limit at the largest sigma value for both good and bad parts.
Where there is significant overlap between the good and bad distributions, it could be necessary to use one of the sigma limits from the bad part distribution to make sure that bad parts are not accepted, while using the good part sigma limit on the opposite side from the bad parts (see Figure 2).
When measuring parts, normal variation for this measurement process results in a certain amount of measurement error. Where there are specification limits for the dimensions of a part, this measurement error should be taken into account when setting limits for the measured dimensions.
The measurement error of the vision system can be calculated by re-measuring several parts, many times each, and calculating the standard deviation for each part. The measurement error can be estimated as the average value of those standard deviations.
The measurement error can then be multiplied by a sigma multiplier (3 sigma = 1 part in 1,000), and applied to either tighten up or loosen the dimensional specification limits, depending upon the consequence of a passed out-of-spec part and the cost of a rejected in-spec part (see Figure 3).