Industry Insights
Artificial Intelligence in Machine Vision
POSTED 06/07/2004 | By: Dr. Robert Alcock, Metropolis Informatics S.A.
Devices using Artificial Intelligence are increasingly becoming part of our everyday lives. A search of recent technology news items on BBC News Online reveals articles on subjects such as ‘‘smart homes’‘, ‘‘smart shopping baskets’‘, ‘‘smart sofas’‘, ‘‘smart pens’‘ and even ‘‘robot care bears’‘. In the field of Machine Vision, some companies have exploited AI techniques although many possibilities still remain untapped. This article aims to give an overview of what the main artificial intelligence techniques are and how some of these techniques have been employed in commercial Machine Vision systems.
Artificial Intelligence (AI) involves the development of computer programs that mimic some form of natural intelligence. Some of the most common AI techniques are:
- expert systems;
- fuzzy logic;
- inductive learning;
- neural networks;
- genetic algorithms and
- swarm intelligence.
ARTIFICIAL INTELLIGENCE TECHNIQUES
One of the most mature ideas in AI is that of expert systems. Expert systems are computer programs that embody knowledge about a narrow domain for solving problems related to that domain. For example, the expert system MYCIN has been used for medical diagnosis, just as a doctor diagnoses patients’ health problems. An expert system usually comprises two main elements: a knowledge base and a method of reasoning about the knowledge it contains. In many cases, the knowledge base contains several IF-THEN rules and so such systems are also called rule-based systems.
Fuzzy logic reflects the qualitative and inexact nature of human reasoning and can enable systems to be more resilient. Unlike standard logic, the precise value of a variable is replaced by a linguistic description, for example the word ‘‘hot’‘ instead of an absolute temperature value. Knowledge in a system using fuzzy logic can be expressed as qualitative statements or fuzzy rules. One of the most famous applications of fuzzy logic is in the detection of load size in washing machines.
Inductive learning is an automatic technique for knowledge acquisition. It involves the extraction of knowledge in the form of rules or an equivalent decision tree. Inductive learning is part of the field of machine learning and uses mathematical analysis of a given data set to generate its knowledge. For example, the inductive learning system ID3 creates a decision tree from a data set by calculating entropy values for each of the attributes in a data set and determines which attributes and attribute values can most effectively be used for dividing the data set into classes.
Neural networks are an area of AI that has been applied in many commercial products. Neural networks are computational models of the brain that have a learning ability and a parallel-distributed architecture. Like inductive learning programs, neural networks can learn domain knowledge from examples. However, they do not archive the acquired knowledge in an explicit form such as rules or decision trees but normally in the form of weighted connections. Neural networks can provide good answers to problems even though they cannot provide an explanation of why they gave a particular answer. Neural network models usually assume that computation is distributed over several simple units called neurons that are interconnected and operate in parallel. The most popular neural network is the Multi-Layer Perceptron, which consists of neurons arranged into a series of layers.
A genetic algorithm is an optimisation tool that searches for the solution to a problem in a very large defined search space. An illustrative example of an optimisation problem is the travelling salesman problem. In this problem, a salesman needs to visit a number of cities in the shortest possible distance. As all the cities are known, all possible route combinations are also known. Thus, the problem is one of searching through all the possible routes for the optimum route. A fast search technique is required and genetic algorithms are currently one of the most popular techniques for these kinds of problems. Genetic algorithms are computer programs that are based on the theory of natural selection, where the fittest animals survive and reproduce. Similarly, a genetic algorithm combines solutions to create new ones and only keeps the best solutions in each generation.
A recent research area in artificial intelligence is swarm intelligence. This involves studying and simulating certain aspects of insect colonies. For example, it can be seen that ants or bees work together in a colony, creating a system that is greater than the sum of its parts. The aim of swarm intelligence systems is to mimic the behavior patterns of large groups of insects to produce smart solutions to problems.
ARTIFICIAL INTELLIGENCE IN MACHINE VISION
Recently, artificial intelligence techniques have been incorporated into several commercial Machine Vision systems. This section describes some of the practical applications of artificial intelligence in Machine Vision.
The Pulnix ZiCAM is a smart camera that does not need programming but is simply presented good and bad parts and learns how to differentiate them using a hardware neural network. ZiCAM contains a recognition engine that extracts 64 features including the histogram, profiles and pixel samples. These features are passed to the neural network, which has 74 outputs. So instead of giving just a pass or fail output, ZiCAM can be trained to separate products into up to 74 classes.
Smart Search is adaptive pattern-locating software, provided by Coreco Imaging as part of their Sherlock and MVTools vision packages. It contains a training wizard that is based on artificial intelligence to facilitate system set-up. The developer need only provide good and bad examples of the object to be inspected and then Smart Search learns the characteristics of that object automatically.
The NeuroCheck Compact is a smart camera that can be programmed using a mouse. The system contains the Neurocheck package that is able to compute a number of object features from regions of interest in an image. These features are then passed to the classification module, which determines the type of the region being inspected.
The Sightech Eyebot learns part form and features using a combination of fuzzy logic and neural networks, known as Neuro-Ram. The Eyebot is available in two formats, the Shape Eyebot and the Spectrum Eyebot. The Shape Eyebot recognises the shape of objects that are placed in front of the camera and can then detect any which deviate from the learned shape. The Spectrum Eyebot learns the colour of objects that are shown to it. The output of the system can be an integer from 0 to 99 that indicates the status of the product.
Inventions Ltd. incorporates many artificial intelligence techniques into their ILIB software. ILIB contains pattern recognition, statistical, fuzzy logic and neural network tools. The neural network functionality of ILIB is provided by a Multi-Layer Perceptron neural network with many configurable parameters, including learning rate, momentum, number of neurons, number of layers and activation functions. ILIB also contains pattern recognition techniques, such as minimum distance and K-nearest neighbour classification. Additionally, the distributions of feature vectors can be analysed by many statistical techniques such as ANOVA. The software also incorporates fuzzy logic classification functions and genetic imaging. In genetic imaging, the user provides the system with the original image and the image that is desired from image processing. Then, ILIB uses genetic algorithms to derive the convolution filter or sequence of filters required to convert the original image to the target one.
The software of Braintech Inc. employs a wide range of artificial intelligence techniques, such as neural networks, fuzzy logic, natural language processing, qualitative maths and genetic algorithms. The software has been employed for inspection tasks such as mould number recognition, brake shoe identification and positioning of cylinder heads for the automotive industry.
The Common Vision Blox tool MANTO by Stemmer Imaging GmbH is based on research in artificial intelligence, particularly work on the statistical theory of learning. It is able to cope with high degrees of image noise and is recommended for application in the food industry or for security technology.
THE FUTURE
Machine Vision Online articles by Dr. David Wright (formerly Vice President of Strategic Research at Braintech Inc.) and Gary Wagner (formerly President of Imaging Technology at Coreco Imaging) are very positive about the exploitation of AI in Machine Vision. David Wright stated, ‘‘Artificial Intelligence-based analysis in vision offers unprecedented flexibility and exploitability in industry’‘. Gary Wagner highlighted two important points for the widespread acceptance of Machine Vision. First, algorithms need to be adaptive so that they can be easily tailored to new products. Second, systems should become more intuitive so that a dedicated engineer is not needed to program and maintain them. For both of these objectives, artificial intelligence was recommended as the solution.
As can be seen from the examples given in this article, the trend of employing AI in Machine Vision has already started as systems are now available that employ AI to facilitate configuration as well as movement from one task to another. It is expected that this trend will continue to gain momentum.
ABOUT THE AUTHOR
Robert Alcock completed a PhD in Machine Vision at Cardiff University in 1996. Subsequently, he worked as a Senior Research Associate at the Cardiff Manufacturing Engineering Centre and as a visiting researcher at Aristotle University of Thessaloniki (delab.csd.auth.gr). Since 2000, he has been employed by Metropolis Informatics S.A. and has worked on Machine Vision projects in the USA and Europe. He is co-author of the book ‘‘Smart Inspection Systems: Techniques and Applications of Intelligent Vision’‘ published by Elsevier Science.