A S O I V S A A T: Urvey N Ndustrial Ision Ystems, Pplications ND Ools
A S O I V S A A T: Urvey N Ndustrial Ision Ystems, Pplications ND Ools
A S O I V S A A T: Urvey N Ndustrial Ision Ystems, Pplications ND Ools
1
APPLICATIONS AND TOOLS
Elias N. Malamas,
ABSTRACT
The state of the art in machine vision inspection and a critical overview of real-world applications
are presented in this paper. Two independent ways to classify applications are proposed, one
according to the inspected features of the industrial product or process and the other according to
the inspection independent characteristics of the inspected product or process. The most
contemporary software and hardware tools for developing industrial vision systems are reviewed.
Finally, under the light of recent advances in image sensors, software and hardware technology,
important issues and directions for designing and developing industrial vision systems are
identified and discussed.
Keywords: Machine vision, automated visual inspection, image processing, image analysis.
1 INTRODUCTION
Machine vision provides innovative solutions in the direction of industrial automation [1]. A
plethora of industrial activities have benefited from the application of machine vision technology
on manufacturing processes. These activities include, among others, delicate electronics
component manufacturing [2], quality textile production [3], metal product finishing [4], glass
manufacturing [5], machine parts [6], printing products [7] and granite quality inspection [8],
integrated circuits manufacturing [9] and many others. Machine vision technology improves
1
This work was supported by project HIPER (BE97-5084) under programme BRIGHT-EURAM of the European
Union (EU).
2
Corresponding author.
productivity and quality management and provides a competitive advantage to industries that
employ this technology.
Network Interface
Image Processing
Hardware
Illumination
Camera(s)
Manufacturing Process
Control Systems
Robot(s), PLC(s), etc.
also known in advance. When the process is highly time-constrained or computationally intensive
and exceeds the processing capabilities of the main processor, application specific hardware (e.g.,
DSPs, ASICs, or FPGAs) is employed to alleviate the problem of processing speed. The results of
this processing can be used to:
Control a manufacturing process (e.g., for guiding robot arms placing components on
printed circuits, painting surfaces etc.).
Propagated to other external devices (e.g., through a network or other type of interface
like FireWire) for further processing (e.g., classification).
Characterize defects of faulty items and take actions for reporting and correcting these
faults and replacing or removing defective parts from the production line.
The requirements for the design and development of a successful machine vision system
vary depending on the application domain and are related to the tasks to be accomplished,
environment, speed etc. For example, in machine vision inspection applications, the system must
be able to differentiate between acceptable and unacceptable variations or defects in products,
while in other applications, the system must enable users to solve guidance and alignment tasks
or, measurement and assembly verification tasks.
There exists no industrial vision system capable of handling all tasks in every application
field. Only once the requirements of a particular application domain are specified, then
appropriate decisions for the design and development of the application can be taken. The first
problem to solve in automating a machine vision task is to understand what kind of information
the machine vision system is to retrieve and how this is translated into measurements or features
extracted from images. For example, it is important to specify in advance what defective means
in terms of measurements and rules and implement these tasks in software or hardware. Then, a
decision has to be made on the kind of measurements to be acquired (e.g., position or intensity
measurements) and on the exact location for obtaining the measurements.
For the system to be reliable, it must reduce escape rates (i.e., non-accepted cases
reported as accepted) and false alarms (i.e., accepted cases reported as non-accepted) as much
as possible. It is a responsibility of the processing and classification units to maintain system
reliability, but the effectiveness of classification depends also on the quality of the acquired
images. An industrial vision system must also be robust. Thus, it should adapt itself automatically
and achieve consistently high performance despite irregularities in illumination, marking or
3
background noise or unwanted reflections from the illumination system. Image restoration
may also be applied to improve image quality by correcting geometric distortions
introduced by the acquisition system (e.g., the camera).
3. Feature extraction: A set of known features, characteristic for the application domain, is
computed, probably with some consideration for non-overlapping or uncorrelated features
[12], so that better classification can be achieved. Examples of such features include size,
position, contour measurement via edge detection and linking, as well as and texture
measurements on regions. Such features can be computed and analyzed by statistical or
other computing techniques (e.g. neural networks or fuzzy systems). The set of computed
features forms the description of the input image.
4. Decision-making: Combining the feature variables into a smaller set of new feature
variables reduces the number of features. While the number of initial features may be
large, the underlying dimensionality of the data, or the intrinsic dimensionality, may be
quite small. The first step in decision making attempts to reduce the dimensionality of the
feature space to the intrinsic dimensionality of the problem. The reduced feature set is
processed further as to reach a decision. This decision, as well as the types of features and
measurements (the image descriptions) computed, depends on the application. For
example, in the case of visual inspection during production the system decides if the
produced parts meet some quality standards by matching a computed description with
some known model of the image (region or object) to be recognized. The decision (e.g.,
model matching) may involve processing with thresholds, statistical or soft classification.
At the last level of decision-making and model matching mentioned above, there are two
types of image (region or object) models that can be used namely, declarative and procedural.
Declarative models consist of constraints on the properties of pixels, objects or regions and on
their relationships. Procedural models are implicitly defined in terms of processes that recognize
the images. Both types of models can be fuzzy or probabilistic, involving probabilistic constraints
and probabilistic control of syntactic rules respectively. A special category of models is based on
neural networks.
Model-based approaches often require that descriptions (e.g., features) of the image at
different levels of specificity or detail be matched with one of possible many models of different
classes of images. This task can become very difficult and computationally intensive if the
models are complex and a large number of models must be considered. In a top-down approach
to model matching, a model might guide the generation of appropriate image descriptions rather
than first generating the description and then attempting to match it with a model. Another
alternative would be to combine top-down and bottom-up processes. The above control strategies
are simplified when one is dealing with two-dimensional images taken under controlled
conditions of good lighting and low noise, as it is usually the case in industrial vision
applications. Image descriptions and class models are easier to construct in this case and complex
model matching can be avoided. Model-based approaches to visual inspection tasks [13] have
been applied in a variety of application fields and many of them are reviewed in the following
sections.
Todays applications need environments that are developed in short time and are adjusted
to modifications of the manufacturing process. In addition, the system must be simple to operate
and maintain. The key here is to select an appropriate development environment providing
Graphical User Interfaces (GUIs) or other programming tools (see Section 3 of this survey).
Through GUIs and visual programming tools, even non-vision experts but authorized users like
e.g., manufacturing engineers, are allowed to interact with the application and specify sequences
of operations from pull-down menus offering access to large pools of tested algorithms.
Programming is easier in this case, since the algorithms are selected based on knowledge of what
they do and not on how they do it. The use of GUIs shifts the effort of application development to
the manufacturing engineer from the programmer expert, as in the earlier days of machine vision
systems. This feature not only results in faster and cheaper application developments, but also
allows addressing several applications with a single piece of re-configurable software (i.e., the
application development tool).
Industrial vision systems must be fast enough to meet the speed requirements of their
application environment. Speed depends on the task to be accomplished and may range from
milliseconds to seconds or minutes. As the demands of processing increase, special purpose
hardware is required to meet high-speed requirements. A cost saving feature of industrial vision
systems is their ability to meet the speed requirements of an application without the need of
special purpose hardware. PCs and workstations are nowadays fast enough so that this can be
achieved in many application domains, especially in those with less demanding run time
requirements [14, 15].
Advances in hardware technology in conjunction with the development of standard
processing platforms have made the production and maintenance of industrial automation
systems feasible at relatively low cost. Pentium PCs with Windows NT (Windows 2000, XP) or
UNIX based systems like Linux are considered the main alternatives with Windows being
preferred to achieve labor saving application development with maximum portability based on
ready-to-use software (e.g., commercially available software). Linux is becoming eventually a
standard especially in cases where customized or cost saving solutions are preferred. Linux is
sometimes offered as open-source freeware and appears to be the ideal solution in the case of
dedicated applications where independency on vendor specific software has to be achieved.
However the limited availability of application development tools (e.g., interfacing software) is a
serious drawback of Linux.
Dimensional
Structural
Foreign objects
Surface
Operational
Notice that, despite the inherent differences in the nature of the four categories of
inspection, they are all reduced to the action of confirmation of quality standards satisfaction,
which is, in most cases, a binary (yes/no) decision. Figure 2 illustrates this relationship.
T he inspection
Problem :
Q u ality V erification
Q u ality of
D im ensional
C haracteristics
Q u ality of
Su rface
C haracteristics
O perational
Q u ality
be independent on these types of features. The set of such features defines the so-called Degrees
of Freedom (DoFs) of the inspection process. Some of the most common DoFs met in the
industrial world are shown in Figure 3 and concern shape, geometrical dimensions, intensity,
texture, pose, etc. The DoFs of objects are strongly related to the variances of their characteristics
and are considered to be a measure of the flexibility of the vision system.
Object Degrees of Freedom (DOF):
Flexibility Characterization
Pose
Size
Shape
Colour
Texture
Illumination
QUALITY
INSPECTION
S
U
R
F
A
C
E
D
I
M
E
N
S
I
O
N
A
L
STRUCTURAL
OPERATIONAL
REFERENCE
APPLICATION
FIELD
DEGREES OF FREEDOM
(DOFS)
[24]
[25]
[26]
[27]
[28]
[9]
[29]
[8]
[30]
[31]
[32]
[3]
[17]
[33, 34]
[35]
[36]
[37]
[38]
[12]
[39]
[7]
[40]
[15]
[41]
[42, 43]
[44]
[45]
[18, 46]
[47]
[48]
[49]
[50]
[51]
[52]
[53]
[54]
[55]
[56]
[57]
Resistor orientation
Sheet width
Illumination/Rail-foot head position,
Illumination
Illumination/Skin
Distortion/Scale/Orientation/Position
Illumination
Texture
Illumination/Rotation of direction
Orientation
Pose
Translation/Rotation
Wood density
Scale/Intensity
Shape
Scale/Translation/Orientation
Orientation
Orientation/Position
Position/Orientation/Size
Thread position
Position
Shape/Texture
Scale/Orientation
Shape
Peripheral occlusion
Position/Orientation
Orientation/Scale
Maturity/Illumination/Occlusion
Shape/Size
Illumination/Shape
Automotive industry
Object assembly
Railroad parts inspection
Railroad parts inspection
Automotive industry
Automotive industry
PCB inspection
Laser butt joint welding
Wrist watch quality
Size/Shape/Pose
Orientation (limited)
Illumination/Shape
Illumination/Shape/Texture
Illumination/Position
Illumination/Position/Shape/Size
Illumination
Welding path Shape/Gap size/Beam position
Hands Shape/Size/Orientation/Distortion
10
the four types of inspection defined in the previous section, namely the inspection of dimensional
quality.
Various industries are involved in the development of vision systems for automated
measurement of dimensional quality. In packaging industry, the tasks vary from measurements of
the fill level in bottles, to sell by date inspection and to airbag canister inspection (e.g., online
gauging systems that measure height, concentricity and diameter of airbag canisters). In Ref.
[48], a vision-guided system for the automated supply of packaging machines with paper and foil
material is presented. The system enables the manipulator to locate the proper bobbin, depalletize
it and transfer it to the requesting machine. A similar application is addressed in [44] were, a
vision system is used to determine the correct position of pallets and recognize the arrangement
pattern of sacks on the pallets. The system enables a robot mechanism to grasp the sacks and pass
them along a rotating cutting disk.
A popular and demanding real-time application is the inspection and classification of
solder joints on Printed Circuit Boards (PCBs). A typical inspection system for this application
consists of a camera with appropriate illumination placed on top of the PCB conveyor system
[37]. Processing PCB images consists of two major stages: First a pre-processing is performed in
order to remove noise and make the tracking of solder joints on the image of the PCB easy. Then,
the solder joints are classified according to the types of defects. The usual classification is
concerned with the quantity of the solder paste placed on a joint. Four classes are defined, namely
good, excess solder, insufficient and no solder. Simulation results on geometric models of joints
have shown that efficient classification can be achieved only by an optimal feature selection, so
that the classes do not overlap [12]. Current research has shown that histogram-based techniques
[38] perform better than two and three-dimensional feature-based techniques [37], both in terms
of system and computational complexity. The major problem is that two-dimensional features
alone are insufficient for correct classification and an extra classifier is required to separate
overlapping classes. In Ref. [58], it is shown that a combination of histogram and 2D, 3D featurebased techniques can overcome the performance of other techniques relying only on topological
features. Many PCB inspection systems rely on neural networks for the design of classifiers that
can deal with both distribution (histogram) and topological features of defects.
An approach to the problem of cutting two-dimensional stock sheets is reported in [47]. A
machine vision system is employed to acquire images of irregularly shaped sheets. Then, a
genetic algorithm is applied to generate part layouts that satisfy the manufacturing constraints
11
(e.g., minimization of trim loses). This method is particularly useful for the leather and apparel
industries, were irregular parts are commonly used.
An automatic visual system for the location of spherical fruits on trees, under natural
conditions, is presented in [18]. The system utilizes a laser range finder that provides range and
attenuation data of the inspected fruit surface and shape analysis algorithms are employed to
process the acquired reflectance and range images to locate the fruit and, finally, to determine the
position of the fruit on the tree. Experimental results report 74% detection over green (low degree
of ripeness) fruits and 100% detection of visible fruits. In [46] the above system is embedded in
the AGRIBOT integrated robotic system, aimed at the automatic harvesting of fruits.
The problem of measuring line segments, a primary machine vision problem, is addressed
in [45]. A heuristic algorithm for line segment measurement is proposed and used to assess the
efficiency of a machine vision system in accurately measuring properties of line segments, such
as length, angle and straightness. A similar application concerns the detection of circular parts
with peripheral defects or irregularities [43]. A two-stage Hough transform is applied for the
detection of circular machine parts.
A model-based computer vision system for the estimation of poses of objects in industrial
environments, at near real-time rates, is presented in [15]. A demanding real time application is
the detection of high quality printed products [7]. This application deals with products with high
degree of resemblance, where minor differences among them makes the application very difficult
to cope with, considering its real-time nature. An original algorithm based on morphological
operations facilitates the detection of flaws at near-pixel resolution. The system is applied for the
inspection of banknotes, which is clearly a very delicate application, considering the requirements
in the validity of the produced printings.
An interesting application in this category deals with the inspection of screw threads for
compliance with manufacturing standards [39]. Edge detection algorithms (based on linear
interpolation to the sub-pixel resolution) are applied to detect regions of interest. Each such
region is matched with multiple models of threads, since the dimensions and positions of the
inspected threads are allowed to vary. The system has been tested on the production line and has
been shown to perform better than other competitive methods, such as manual measurement.
Active Shape Models as the basis of a generic object search technique are employed in [49]. The
approach is based on the identification of characteristic or landmark points (i.e., points that
exist in all aspects of the object) in images and on the recording of statistics concerning the
12
relationships between the positions of the landmark points in a set of training examples. The
effectiveness of the approach is demonstrated on inspection of automotive brake assemblies.
transform is applied. High frequency Fourier components corresponding to line patterns are
discriminated from low-frequency ones corresponding to defective regions. An alternative
approach for the inspection of randomly textured color images is presented in [8]. This method
considers both color and texture image properties and introduces a color similarity measure that
allows the application of the watershed transform. The problem of recovering depth information
for surface approximation of objects is examined in [29]. This is achieved using stereo image
pairs, a Scanning Electron Microscope (SEM) and involves computation of disparity estimates
utilizing a feature-based stereo algorithm.
The use of a finite-window robust sequential estimator for the detection and analysis of
corrosion in range images of gas pipelines is presented in [35]. Deviations from the robust surface
fit (which correspond to statistical outliers) represent potential areas of corrosion. The algorithm
estimates surface parameters over a finite sliding window. The technique is shown to be robust in
that it estimates the pipeline surface range function in the presence of noise, surface deviations
and changes in the underlying model. Despite the fact that the method exhibits real-time
execution capability, it fails to interpret correctly the combinations of high magnitude and high
frequency ripples with large patches of corrosion.
Surface inspection is also applied to the aluminium strip casting process. Infrared (IR)
temperature measurements (providing a measure of the distribution of surface temperature) are
used to evaluate the quality of aluminium sheets. A two level process for the inspection of
aluminium sheets is addressed in [25]. First, the system inspects both sides of an aluminium sheet
and captures images of potential defective areas. These images are then classified according to
defect type and stored for review by experts. In [9], machine vision is applied for the inspection
of wafer surfaces in Integrated Circuits (IC) production. A fuzzy membership function is used to
cope with the wide range of shape variations of the dimple defects.
Potential applications of surface quality inspection also include detection of damages on
railroad tracks [26], where on-board detection and classification of defects is performed in real
time. Exhaustive (100%) quality inspection of painting of metal film mini resistors is addressed
in [24], were detection of low quality products is achieved by the acquisition of a line pattern
image of a correctly painted resistor, which is compared with each acquired line pattern image.
Inspection of machined parts (e.g., circular oil seals) is reported in [8], where both surface and
dimensional qualities are verified. The centre of each circular seal is computed and the intensities
of its circumferential pixels are inspected.
14
In food industry, the inspection of the quality of goods is of primary interest. In [28], an
intelligent system for the detection of defects on chicken meat before packaging is presented. The
system relies on the analysis of chromatic content of chicken images, the extraction of potential
defective areas by morphological processing and their classification according to a predefined list
of defects.
system enables the detection of tie boundaries on rail line images. An adaptive edge detector
based on a modified Marr-Hildreth operator is employed to cope with the steep transitions in the
image resulting from wood grain. A stochastic model-based inspection algorithm (based on
Bayesian estimation) for the detection of assembly errors on rigid objects in presented in [50].
The image models describe the appearance of a complex three-dimensional object in a twodimensional monochrome image. This method is applied for verifying correct assembly in a gear
assembly line and a VHS cassette production line.
16
programming environments such as C and C++ allow for software components to be embedded
into a single system.
With the advent of new hardware for sensors, grabbers and computers, machine vision for
industrial inspection tackles even more sophisticated problems. High complexity algorithms can
nowadays be implemented for real time vision and new sensors (e.g., CMOS sensors) offering
high dynamic range allow for more reliable, flexible and faster image acquisition than traditional
CCD sensors, even under poor lighting conditions. At the same time, image-processing software
has become user friendly and powerful utilizing software libraries implementing some of the
most popular image processing and analysis algorithms. Most of these environments support
both, visual programming in combination with flexible GUI interfaces and traditional
programming. Both programming practices can be combined to facilitate application
development. Visual programming can be employed to accelerate applications prototyping
whereas the final application can be implemented and optimized using standard programming
methods and languages.
The current trend in industrial vision is to use commercial products instead of customized.
This reduces the effort and risk in developing new products and allows for immediate
exploitation of new hardware. When higher performance is needed, specialized DSP processors
can be used. The selection of the appropriate software tools is of crucial importance. A software
tool must have the following desirable features:
Ease of manipulation:
generation are typical features facilitating application development. Image functions must
be categorized by type and scope so that even a non-expert may choose the appropriate
function based mostly on what it does rather than on how it is done.
Dynamic range and frame-rate support: New types of sensors (e.g., CMOS sensors)
offer high dynamic range and faster image acquisition (e.g., 16 bits per pixel instead of 8
17
bits per pixel). Image software must support the processing of such high dynamic range
images at variable frame rates.
In the following, a survey of popular software and hardware products for image processing
and industrial inspection is presented. The tools of each category are discussed separately for ease
of presentation. This list is by no means complete. However, it presents either the most
commonly used or best-suited tools for industrial vision applications.
An image processing environment to be suitable for industrial inspection, must (at least)
contain algorithms for edge and line detection, image enhancement, illumination correction,
geometry transforms, Region of Interest (RoI) selection, object recognition, feature selection and
classification. Table 3 provides a review of some of the most popular image processing tools
offering the desired functionality. These tools offer adequate features and performance for several
applications involved in the industrial sector. In terms of combined software and hardware, there
are four alternatives: (I) IM-PCI with IPL of Sherloc32/MVTools, (II) MaxPCI with PC Image
Flow or WiT and (III) Matrox Genesis with Matrox Imaging Library and (IV) Philips Trimedia
VLIW processor board with Rhapsody.
Software Package
Library
Visual
Programming
Command
Line
Dedicated H/W
Available
Source
Code
Khoros
Yes
Yes
No
No
Yes
SCIL-Image
Yes
Yes
No
No
Yes
LeadTools
Yes
Yes
No
IPL Lib
Yes
Yes
No
Yes
No
Sherlock32 / MVTools
Yes
Yes
No
Yes
Yes
Image-Pro plus
Yes
Yes
No
No
No
OPTIMAS
Yes
Yes
No
No
No
WiT
Yes
Yes
Optional
Yes
No
PC Image Flow
Yes
Yes
Datacube
Yes
No
Yes
No
MMX
HALCON
Yes
Yes
No
No
No
VISION97
Yes
No
No
AdOculos
Yes
Yes
No
MIL
Yes
Yes
Matrox
Yes
No
Rhapsody
Yes
No
No
Yes
No
No
No
neurons during a training period based on examples, often with a known desired solution
(supervised training). After sufficient training, the neural network is able to relate the problem
data to the appropriate solution spaces, i.e. generate input/output relations, thus offering a viable
solution to a new problem through examples [60]. They are capable of handling a variety of
image classification tasks in industrial vision environments, ranging from simple gauging to
advanced classification problems, such as fault detection, optical character recognition, operation
prediction, engine monitoring and control etc. They can be used either as standalone techniques
(e.g., wood [33], seam [3], surface roughness [31] inspection) or in conjunction with other
methods (e.g., solder joint inspection) [37]. Neural networks have been applied in all classes of
quality inspection introduced in Section 2, namely dimensional quality [36-38], surface quality
[3, 31, 34], structural quality [51] and operational quality [57]. They are applicable in almost
every situation where a relationship between input and output parameters exists, even in cases
where this relationship is very complex and cannot be expressed or handled by mathematical or
other modelling means.
Table 4 summarizes the features of the most commonly used neural network tools.
Beyond general purpose and stand-alone tools, there exist library tools, such as the SPRLIB and
the ANNLIB (developed by the Delft University Technology at Netherlands) emphasizing on
image classification and pattern recognition applications. Almost all tools provide a plethora of
neural architectures, covering the most popular, as well as some less known. Some of them
provide the ability for user defined topologies as well.
20
Package
Name
New
Algorithms
Braimaker
Neuro
Solutions
Back-propagation
Offers user
defined
neural
topologies
and
components
G2
NeurOnLine
SPRLIB
ANNLIB
Types of NN
Can build
exotic
network
architectures
using the
same data
types
Recurrent
back propagation,
back propagation
through time
Industrial
Applications
Package
User
or
Interface
Library
Software Graphical
package
Summaries of Software Graphical
applications
package
included
ILIB
Neural
Connection
DataEngine,
v.i,ADL
Trajan 3.0
Allows
building of
hybrid
networks
Code
Generation
or DLL
C
C++ /DLL
Software Graphical
package object
oriented
C/C++
Libraries
C/C++
Libraries
Software Graphical
Package
Multilayer
Perceptron, RBF,
Kohonen,
Bayesian
Multilayer
Perceptron,
Kohonen, Feature
map, Fuzzy,
Kohonen network
Offers all of the
above
architectures and
training
algorithms
Software Graphical
Package
C++ / DLL
Software Graphical
Package
DLL
21
fuzzy set, say A, in a domain U is characterized by its membership function A that takes values
in the real interval 01. For each x U , A ( x ) expresses the degree of membership of this
value to the set A, where 1 denotes full membership and 0 denotes no membership at all. For
example a dimensional tolerance in length can define fuzzy sets small, medium and large
with respect to its values, as illustrated in Figure 4:
small
medium
large
length (nm)
0
60
90
120
lm ax
functionality. Neural Networks learning ability can be used to build membership functions and
rules to encode systems behavior. The learning techniques employed are mainly based on
multilayer feed forward networks with the back-propagation algorithm. Fuzzy systems offer their
users better in-sight of neural black box structures, by encoding structured information in the
form of rules and by offering tools for exploring this knowledge.
FNNs retain the basic properties and architectures of NNs and simply fuzzify some of
their elements. The system obtains increased flexibility in storing, recalling and associating
information. Not only binary but also continues values can be given as inputs, which highly
increases system robustness. Usually, fuzzified components result in higher training speed of
NNs. Fuzzy Logic also makes neural models understandable and this increases users flexibility.
There exist a large variety of Neuro-Fuzzy topologies in the literature, such as the Fuzzy
ARTMAP in [66], the MCFC for speech recognition in [67], the ASAFES2 network in [68] etc.
The most popular topology though is the ANFIS [69], which follows the general structure of
Neural-Fuzzy systems [70] and moreover has an extra layer to perform normalization of rules
firing strengths.
Recently, Genetic Algorithms (GAs) [71] have also been employed to deal with certain
tasks ns certain application domains. For example, an application of genetic algorithms in
industrial vision is pattern detection, which defers from pattern matching in the sense that the
item sought is not known in advance. The use of genetic algorithms has also been reported for the
classification of objects [41], the detection of circular objects [42], image segmentation [40] as
well as for the minimization of trim loses in cutting two-dimensional stock sheets [47] etc. Sugal
2.1 (TRAJAN Software Ltd.) and the Generator (NEW LIGHT INDUSTRIES Ltd.) are the two
packages that can simulate genetic algorithms for various purposes and provide complete control
over these algorithms. The main difference between them is that, Generator is designed to interact
with Excel while, Sugal is autonomous.
23
Software
Package
Mathematica
FIDE
TILShell/
FuzzyCLIPS
FCM
MatLab
DataEngine, V.i
lib
FuzzyTECH+N
euroFuzzy
Module
NeuFrame v.4
Requirements
Windows/Unix,
Mathematica S/W
DOS/Windows,
4MB RAM, 4MB
HD, >386
Windows, CLIPS
(for Fuzzy
CLIPS)
Windows
Windows, Unix,
Linux, HP,
Solaris, Matlab
S/W
Windows,
Labview(for the
V.i library),
Pentium, 64MB
RAM, 50MB HD
Windows
Windows
Code
Generation
Features*
Hardware Support
No
No
ANSI C/ Java/
MatLab/
Assembly
C code
C Code,
Assembly
FS only, Neurally
optimized description,
high complexity of fuzzy
systems
C code
DLL
C code,
Assembly, DLL
C, C++, Java,
MatLab
MC6805, MC68HC05,
MC68HC11, MC68HC16,
MC68HC33x
VY86C570 dedicated fuzzy
processor
NEC 17K/75X/ 78K0/78K3
and V
Panasonic MN1500,
68HC11, 8051, Inmos
Transputer T805
No
No
24
Board
TriMedia
(Philips)
IM-PCI
(Imaging
Technology)
MaxPCI
(Datacube)
PCI/C6600
(Texas
Instruments)
Genesis
(Matrox)
Mpact 2
(Chromatic)
Mamba
(Coreco)
TPE3 (AG
Electronics)
VigraVision
(Visicom)
Video Display
166 MHz
Image
Acquisition
Yes
Yes
Image
Processing
Library
Yes
ASIC
40 MHz
Optional
Optional
Yes
ASIC
40 MHz
Yes
Optional
Yes
DSP C6201
200 MHz
Optional
Optional
Yes
DSP C80
60 MHz
Yes
Yes
Yes
ASIC
125 MHz
Yes
Yes
Yes
Pentium II
466 MHz
No
Optional
Yes
PowerPC 7400
400 MHz
Optional
Optional
Yes
FPGA Xilinx
Virtex
Up to 300 MHz
Yes
Yes
Yes
Processing chip
Clock Speed
DSP TM-1300
than 100 Mhz). A software tool allows for building a configuration adapted to the specifications
of the application. For example, the synthesis can be targeted for area or for speed, the instruction
cache size and the register file size can be adapted accordingly etc. VHDL code is then produced
and can be synthesized in any technology.
Reconfigurability is another way of dealing with the limited applicability of ASICs.
Reconfigurable multiprocessor networks compromise the trade-off between the need for low
network diameter and the limited number of interconnection links among processors. In [72], an
ASIC architecture of this kind is presented. It enables the implementation of a variety of image
processing algorithms for low and intermediate level computer vision, such as FFT, edge
detection, template matching, Hough transform etc. The use of general purpose processing
elements implementing several image processing tasks on the same architecture, is another way
of dealing with the limitations of ASICs. Several approaches have been reported in the literature,
including [73], with on-chip photo detectors for early visual processing [74], and [75] for highlevel image processing.
3.2.2 DIGITAL SIGNAL PROCESSORS (DSPS)
An alternative is to use a chip instead of a processor core. Many different processor architectures
have being proposed. Each has its own advantages and disadvantages. The use of DSP boards for
the fast execution of image processing algorithms has been extensively used in industrial vision
applications with hard real-time constraints. Some popular DSP architectures are the TriMedia
Mediaprocessor by Philips Semiconductors [76], IM-PCI by Imaging Technology, MaxPCI by
Datacube, Texas Instruments (TI) TMS320Cxx Family, the Genesis Vision processor by Matrox
based on the TIs TMS320C80 DSP and on the PCI platform, the Mpact media processor by
Chromatic Research Inc. [77] etc.
3.2.3 GENERAL PURPOSE PROCESSORS
General-purpose processors develop faster than DSPs. They run at much higher frequencies than
their predecessors, approaching this way the performance of DSPs. Intel with the MMX and the
SIMD Instruction on the Pentium, AMD with the Athlon architecture and Motorola with the
Altivec on the PowerPC, propose new coprocessor architectures dedicated to intensive
computations on large sets of data, fitting well for image processing applications. The main
advantage of the general-purpose processors is of course the programming environment, allowing
the user to develop applications without having any knowledge of the inside architecture. On the
other hand, the power consumption and the size of these chips are often prohibitive, especially for
26
27
Processing Chip
Clock Speed
Description
Software Support
CNAPS server
Board
CNAPS
20MHz
NeuroChip PCI
SAND
50MHz
Siemens SYNAPSE
MA-16
50MHz
ZISC036
16MHz
8-bit NM6403
50MHz
Ni1000
NNP
8, 16bit MCS 96
0-20MHz
BrainMaker,
CNAPS-C, BuildNet,
CodeNet
NeuroLution
16 bit 68HC12
8MHz
40MHz
33MHz
12 MHz
10 MHz
60 MHz
IBM ZISC
RC Module
NeuroMatrix
Nestor Ni1000
AAC NNP
Intel 8XC196Kx
Motorola 68HC12
MCU
SGS-Thomson
WARP
FDG EZ-LAB
Rigel R-535J
National
NeuFuz/COP8
Philips L-Neuro
SYNAPSE S/W
S/W Development
Tools
C++ compiler,
assembler, debugger
NestorACCESS
NNP S/W
Any C code
generating S/W
(FuzzyTECH,
TilShell, FCM)
FuzzyTECH, FCM
(HC-11ver.)
FuzzyStudio v3.0
FID
FLASH
NeuFuz 4
Several
4. FUTURE DIRECTIONS
The major trade-off in industrial vision is that, for a vision system to be viable, it should satisfy
increasingly demanding performance criteria against budget constraints on behalf of the end user
[78]. There are three technological trends that enable the alleviation of this gap: (a) Rapid
development in semiconductor technology along with development of multipurpose mainstream
Operating Systems, (b) Improvements in Human-Computer Interfaces, and (c) Advances in solid
state imaging sensors.
thus industrial applications must be flexible enough to adjust to new production methods. These
requirements call for multipurpose hardware and mainstream Operating Systems (OS), so that
fast image processing can be achieved with moderate cost. The industrial OS standard in
contemporary vision systems is UNIX, since it is the most popular platform for image processing.
However, Windows NT seems to be a challenge, while a wide range of inexpensive statisticalanalysis and standard image manipulation applications is available for this platform. A problem
that arises in heavy-duty real-time applications is that a single system cant handle the data
streams of several hundred Mbytes per second. Systems integrators have addressed the challenges
of constantly accelerating process speeds, increasing optical solutions, and more complex
classification criteria in the industrial area with specialized hardware, frame grabbers, DSPs, or
even arrays of RISC systems working in parallel.
Referring to semiconductor technology, the advances in the field have allowed for the
integration of image processing and feature extraction algorithms onto silicon. More specifically,
they enable hardware implementation of algorithms that are essential to industrial vision (e.g.
contour extraction, color inspection, morphology, etc.), but are time consuming if implemented
on software run from a host computer. The trends of this integration are in the form of either an
ASIC system running as a specialized processor and supervised by the host, or a co-processor
embedded in the architecture of the host (e.g. the MMX technology imported in PC-compatible
systems). It is clear that the latter is the optimum solution in terms of cost for most applications,
except some demanding real-time cases where a network of ASIC-boards is used to cope with
processing demands [7, 25].
29
Interfacing the industrial vision system with the human operator is very important for the
end user. This interface should enable any operator to efficiently adjust the parameters of the
system and handle some low-level problems occurring during inspection, without having to call
the software supplier. Windows-style tools (such as the ones described in Section 3) for PC-based
applications are the common case for contemporary systems. Along with the simplification of
software interfaces, the use of hardware interfaces especially for on-line intervention, such as the
mouse or the light pen, have also contributed to the acceptance of machine vision in the industrial
field [80].
30
Technology@
Model
Resolution
(Array Size)
ROI* Processing
Capability
On-Chip Processing
Consumption
Pixel Size
Dynamic Range&
Data Bits
Data Rate
Full Frame Rate
CCD@
DALSA CA-D8-0512W1
CID@
CIDTEC RACID810/8112
CMOS@
VLSI Vision VV55003
512x512
512x512
648x484
No
Yes
Yes
No
6.750W
10m
54dB
8
25MHz
77fps+ (max)
Yes
11/22mW
20m
57.5dB
8
10-20MHz
30-70fps+
Yes
< 125mW
7.5m
57dB
10
20-30MHz
30fps+
its signal threshold. CCD sensors are better because they have less on-chip circuitry, which
reduces the noise and increases the sensitivity of the sensor. c) Uniformity, indicating the
consistency of response for different pixels under identical illumination conditions. Circuitry
variations affect the uniformity of pixels on an image sensor. CMOS sensors are more sensitive to
these variations because of the more additional circuitry on sensor. Newer CMOS devices have
added feedback to the amplifiers to compensate these variations, but this only works well under
illuminated conditions. CCD has better uniformity because the lack of any amplification in the
sensor itself. d) Speed of operation, with CMOS sensors operating faster because most of the
circuitry is on board. Thus, the signals communicate less distance and dont have to be piped to
other chips on the printed circuit board. CCD imagers still operate adequately fast for most
applications, but anticipated demanding applications will consider CMOS sensors instead. e)
Reliability, in which respect CMOS sensors are superior to CCDs because of the high level of
integration contained on the chip. More integration means less external connections that are
susceptible to corrosion and other problems associated with solder joints in harsh environments.
Overall, CCDs offer superior image performance and flexibility at the expense of system size.
CMOS imagers offer more integration, lower power dissipation, and smaller system size at the
expense of image quality and flexibility. For next-generation applications, CMOS evolves in
order to get around the lowquality problem. Improvements are incorporated by the use of
microlenses, which are small lenses manufactured directly above the pixel to focus the light
towards the active portion, and the minimization of the space circuitry in the CMOS pixel.
On-chip A/D conversion and signal processing have been enabled from the advances in
semiconductor technology, thus eliminating the need for separated chips. The trend is to move
from the imaging sensor to the image processing sensor, with on-chip capabilities for image
processing algorithms such as low-pass filtering [94], velocity measuring [83], edge detection,
smoothing [73] etc. Although CCD is a mature technology that is commonly used in industrial
vision applications, the potential of the alternative technologies (CID and CMOS) is very high,
considering their on-chip intelligent and autonomous post-processing.
Many applications in industrial vision require stand-alone operation, which means that
there is a need for intelligent cameras providing fast processing capabilities inside the camera.
The major challenge in this direction is to maintain an easy-to-program feature by providing the
end-user with commercial image processing libraries. The integration of a general-purpose
processor or a DSP inside the camera offers such features, since compiling tools are widely
available for these kinds of architectures. Unfortunately, even when using instruction-level
32
parallelism like in VLIW processors, the performance achieved is often not sufficient to handle
the amount of data generated by high resolution and dynamic-range cameras. One
complementary approach is to add a coprocessor exploiting data-level parallelism, i.e. capable of
performing the same operation on several different data. The combination of the two approaches
(i.e. intelligent camera and coprocessor) should result in very powerful systems able to offer
flexible programming facilities together with increased performance for most of the algorithms
included in image processing libraries.
5 CONCLUSIONS
The state of the art in machine vision inspection research and technology is presented. The
cardinal factors affecting the development of automated inspection systems are discussed and
related to the literature in the field. Contemporary applications of machine vision in the industry
are also reviewed and classified according to (a) Their measured parameters (i.e., dimensions,
surface, assembly and operation) and (b) The systems Degrees of Freedom. Tools and
techniques either dedicated to specific application requirements or targeted towards a wider
variety of applications with similar requirements are presented. This review covers a wide range
of software and hardware products including integrated image processing software packages,
image processing libraries, neural network, fuzzy, neuro-fuzzy tools, genetic algorithms as well
as hardware tools. The paper concludes with a critical perspective and a summary of future
directions in the field, as they are determined by the increasing performance criteria imposed to
the industrial vision technology and the restricted end-user budget. Trends on technological fields
affecting industrial vision, including semiconductor technology, human-computer interfacing and
imaging sensors, are also emphasized.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
E. R. Davies, Automated Visual Inspection, in Machine Vision, vol. Chapter 19, 2nd
Edition ed: Academic Press, 1998, pp. 471-502.
J. L. C. Sanz and D. Petkovic, Machine Vision Algorithm for Automated Inspection of
Thin-Film Disk Heads, IEEE Trans. on PAMI, vol. 10, pp. 830-848, 1988.
C. Bahlmann, G. Heidemann, and H. Ritter, Artificial Neural Networks for Automated
Quality Control of Textile Seams, Pattern Recognition, vol. 32, pp. 1049-1060, 1999.
J. W. Tucker, Inside Beverage Can Inspection: An Application from Start to Finish,
presented at Proc. of the Vision '89 Conference, 1989.
A. R. Novini, Fundamentals of Machine Vision Inspection in Metal Container Glass
Manufacturing, presented at Vision '90 Conference, 1990.
J. Ker and K. Kengskool, An Efficient Method for Inspecting Machine Parts by a
Fixtureless Machine Vision System, presented at Vision '90 Conference, 1990.
33
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
T. Torres, J. M. Sebastian, R. Aracil, L. M. Jimenez, and O. Reinoso, Automated RealTime Visual Inspection System for High-Resolution Superimposed Printings, Image and
Vision Computing, vol. 16, pp. 947-958, 1998.
L. Shafarenko, M. Petrou, and J. Kittler, Automatic Watershed Segmentation of
Randomly Textured Color Images, IEEE Trans. on Image Processing, vol. 6, pp. 15301543, 1997.
H. Li and J. C. Lin, Using Fuzzy Logic to Detect Dimple Defects of Polisted Wafer
Surfaces, IEEE Transactions on Industry Applications, vol. 30, pp. 1530-1543, 1994.
A. Mital, M. Govindaraju, and B. Subramani, A Comparison between Manual and
Hybrid Methods in Parts Inspection, Integrated Manufacturing Systems, vol. 9, pp. 344349, 1998.
P. Kopardekar, A. Mital, and S. Anand, Manual, Hybrid and Automated Inspection
Literature and Current Research, Integrated Manufacturing Systems, vol. 4, pp. 18-29,
1993.
O. Oyeleye and E. A. Lehtihet, A Classification Algorithm and Optimal Feature
Selection Methodology for Automated Solder Joint Inspection, Journal of
Manufacturing Systems, vol. 17, pp. 251-262, 1998.
C. Taylor, J. Graham, and D. Cooper, System Architectures for nteractive KnowledgeBased Image Interpretation, Philosophical Transactions of the Royal Society of London
(A) Mathematical and Physical Sciences, vol. 324, pp. 457-465, 1988.
P. Baglietto, M. Maresca, M. Migliardi, and N. Zingirian, Image Processing on HighPerformance RISC Systems, Proceedings of the IEEE, vol. 84, pp. 917-930, 1996.
M. Magee and S. Seida, An Industrial Model-Based Computer Vision System, Journal
of Manufacturing Systems, vol. 14, pp. 169-186, 1995.
M. Moganti, F. Ercal, C. H. Dagli, and S. Tsunekawa, Automatic PCB Inspection
Algorithms: A Survey, Computer Vision and Image Understanding, vol. 63, pp. 287313, 1996.
S. M. Bhandarkar, T. D. Faust, and M. Tang, CATALOG: A System for Detection and
Rendering of Internal Log Defects Using Computer Tomography, Machine Vision and
Applications, vol. 11, pp. 171-190, 1999.
A. R. Jimenez, A. K. Jain, R. Ceres, and J. L. Pons, Automatic Fruit Recognition: A
Survey and New Results Using Range/Attenuation Images, Pattern Recognition, vol. 32,
pp. 1719-1736, 1999.
R. T. Chin and C. A. Harlow, Automated Visual Inspection: A Survey, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 6, pp. 557-573, 1982.
R. T. Chin, Automated Visual Inspection: 1981 to 1987, Computer Vision Graphics
Image Processing, vol. 41, pp. 346-381, 1988.
T. S. Newman and A. K. Jain, A Survey of Automated Visual Inspection, Computer
Vision and Image Understanding, vol. 61, pp. 231-262, 1995.
B. C. Eduardo, Review of Automated Visual Inspection 1983 to 1993-Part I:
Conventional Approaches, SPIE-Intelligent Robots and Computer Vision XII, vol. 2055,
pp. 128-158, 1993.
B. C. Eduardo, Review of Automated Visual Inspection 1983-1993-Part II: Approaches
to Intelligent Systems, SPIE-Intelligent Robots and Computer Vision XII, vol. 2055, pp.
159-172, 1993.
J. M. R. Sanches and M. S. Piedade, An Automatic Visual Inspection System of the
Quality of Painting of Metal Film Mini Resistors, presented at International Conference
on Signal Processing Applications and Technology (ICSPAT'97), 1997.
W. Miller, J. Jaskot, B. McCoy, and E. Schiller, A Distributed System for 100%
Inspection of Aluminum Sheet Products, presented at International Conference on
Signal Processing Applications and Technology (ICSPAT'96), 1996.
34
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
35
[46]
[47]
[48]
[49]
[50]
[51]
[52]
[53]
[54]
[55]
[56]
[57]
[58]
[59]
[60]
[61]
[62]
[63]
[64]
A. R. Jimenez, R. Ceres, and J. L. Pons, A Vision System Based on a Laser RangeFinder Applied to Robotic Fruit Harvesting, Machine Vision and Applications, vol. 11,
pp. 321-329, 2000.
S. Anard, C. McCord, and R. Sharma, An Integrated Machine Vision Based System for
Solving the Nonconvex Cutting Stock Problem Using Genetic Algorithms, Journal of
Manufacturing Systems, vol. 18, pp. 396-414, 1999.
H. K. Tonshoff, C. Soehner, and G. Isensee, Vision-Guided Tripod Material Transport
System for the Packaging Industry, Robotics and Computer-Integrated Manufacturing,
vol. 13, pp. 1-7, 1997.
J. J. Hunter, J. Graham, and C. J. Taylor, User Programmable Visual Inspection, Image
and Vision Computing, vol. 13, pp. 623-628, 1995.
D. Tretter, C. A. Bouman, K. W. Khawaja, and A. A. Maciejewski, A Multiscale
Stochastic Image Model for Automated Inspection, IEEE Trans. on Image Processing,
vol. 4, pp. 1641-1654, 1995.
I. Khandogin, A. Kummert, and D. Maiwald, DSP Algorithms for the Automatic
Inspection of Fixing Devices of Railroad Lines, presented at International Conference on
Signal Processing Applications and Technology (ICSPAT'98), 1998.
J. Velten, A. Kummert, and D. Maiwald, Real Time Railroad Tie Inspection
Implemented On DSP And FPGA Boards, presented at International Conference on
Signal Processing Applications and Technology (ICSPAT '99), 1999.
K. H. Kim, Y. W. Kim, and S. W. Suh, Automatic Visual Inspection System to Detect
Wrongly Attached Components, presented at International Conferernce on Signal
Processing Applications and Technology (ICSPAT'98), 1998.
Y. K. Chung, K. H. Kim, and H. B. Kim, Extracting of Line Features for Automatic
Inspection of Vehicle Doors, presented at International Conference on Signal Processing
Applications and Technology (ICSPAT), 1997.
T. F. Cootes, G. J. Page, C. B. Jackson, and C. J. Taylor, Statistical Grey-Level Models
for Object Location and Identification, Image and Video Computing, vol. 14, pp. 553540, 1996.
J. Y. Jeng, T. F. Mau, and S. M. Leu, Gap Inspection and Alignment Using a Vision
Technique for Laser Butt Joint Welding, International Journal of Advanced
Manufacturing Technology, vol. 16, pp. 212-216, 2000.
M. Moreira, E. Fiesler, and G. Pante, Image Classification for the Quality Control of
Watches, Journal of Intelligent and Fuzzy Systems, vol. 7, pp. 151-158, 1999.
S. Jagannathan, D. Seebaluck, and J. D. Jenness, Intelligent Inspection of Wave Soldered
Joints, Journal of Manufacturing Systems, vol. 11, pp. 137-143, 1992.
S. Haykin, Neural Networks: Prentice-Hall, 1999.
N. K. Bose and P. Liang, Neural Network Fundamentals with Graphs, Algorithms, and
Applications: McGraw-Hill, 1996.
J. Chang, G. Han, J. M. Valverde, N. C. Griswold, J. F. Duque-Carrillo, and S. E., Cork
Quality Classification System using a Unified Image Processing and Fuzzy-Neural
Network Methodology, IEEE Transactions on Neural Networks, vol. 8, pp. 964-973,
1997.
T. Sarkodie-Gyan, C. W. Lam, D. Hong, and A. W. Campbell, An Efficient Object
Recognition Scheme for a Prototype Component Inspection, Mechatronics, vol. 7, pp.
185-197, 1997.
Y. H. Chen, Computer Vision for General Purpose Visual Inspection: a Fuzzy Logic
Approach, Optics and Lasers in Engineering, vol. 22, pp. 181-192, 1995.
J. C. Bezdek, J. Keller, R. Krisnapuram, and N. R. Pal, Fuzzy Models and Algorithms for
Pattern Recognition and Image Processing: Kluwer, 1999.
36
[65]
[66]
[67]
[68]
[69]
[70]
[71]
[72]
[73]
[74]
[75]
[76]
[77]
[78]
[79]
[80]
[81]
[82]
[83]
[84]
[85]
37
[86]
[87]
[88]
[89]
[90]
[91]
[92]
[93]
[94]
38