Machine vision
Machine vision (MV) is the application of computer vision to industry and manufacturing. Whereas computer vision is the general discipline of making computers see (understand what is perceived visually), machine vision, being an engineering discipline, is interested in digital input/output devices and computer networks to control other manufacturing equipment such as robotic arms and equipment to eject defective products. Machine Vision is a subfield of engineering that is related to computer science, optics, mechanical engineering, and industrial automation. One of the most common applications of Machine Vision is the inspection of manufactured goods such as semiconductor chips, automobiles, food and pharmaceuticals. Just as human inspectors working on assembly lines visually inspect parts to judge the quality of workmanship, so machine vision systems use digital cameras, smart cameras and image processing software to perform similar inspections.
Machine vision systems are programmed to perform narrowly defined tasks such as counting objects on a conveyor, reading serial numbers, and searching for surface defects. Manufacturers favour machine vision systems for visual inspections that require high-speed, high-magnification, 24-hour operation, and/or repeatability of measurements. Frequently these tasks extend roles traditionally occupied by human beings whose degree of failure is classically high through distraction, illness and circumstance. However, humans may display finer perception over the short period and greater flexibility in classification and adaptation to new defects and quality assurance policies.
Computers do not 'see' in the same way that human beings are able to. Cameras are not equivalent to human optics and while people can rely on inference systems and assumptions, computing devices must 'see' by examining individual pixels of images, processing them and attempting to develop conclusions with the assistance of knowledge bases and features such as pattern recognition engines. Although some machine vision algorithms have been developed to mimic human visual perception, a number of unique processing methods have been developed to process images and identify relevant image features in an effective and consistent manner. Machine vision and computer vision systems are capable of processing images consistently, but computer-based image processing systems are typically designed to perform single, repetitive tasks, and despite significant improvements in the field, no machine vision or computer vision system can yet match some capabilities of human vision in terms of image comprehension, tolerance to lighting variations and image degradation, parts' variability etc.
Components of a machine vision system
While machine vision is best defined as a process of applying computer vision to industrial application, it is useful to list commonly utilized hardware and software components. A typical machine vision solution will include several of the following components...
- One or more digital or analog cameras (black-and-white or color) with suitable optics for acquiring images
- Camera interface for making the images available for processing. For analog cameras, this includes digitization of the images. When this interface is a separate hardware device it is called a "frame grabber"
- A processor (often a PC or embedded processor, such as a DSP)
- Machine Vision Software which provides the tools to develop the application-specific software program
- Input/Output hardware (e.g. digital I/O) or communication links (e.g. network connection or RS-232) to report results
- A Smart Camera, a single device which includes all of the above items.
- Lenses to focus the desired field of view onto the image sensor.
- Suitable, often very specialized, light sources (LED illuminators, fluorescent or halogen lamps etc.)
- An application-specific software program to process images and detect relevant features.
- A synchronizing sensor for part detection (often an optical or magnetic sensor) to trigger image acquisition and processing.
- Some form of actuators used to sort or reject defective parts.
The sync sensor determines when a part (often moving on a conveyor) is in position to be inspected. The sensor triggers the camera to take a picture of the part as it passes beneath the camera and often synchronizes a lighting pulse to freeze a sharp image. The lighting used to illuminate the part is designed to highlight features of interest and obscure or minimize the appearance of features that are not of interest (such as shadows or reflections). LED panels of suitable sizes and arrangement are often used to this purpose.
The camera's image is captured by the framegrabber or by computer memory in PC based systems where no framegrabber is utilized. A framegrabber is a digitizing device (within a smart camera or as a separate computer card) that converts the output of the camera to digital format (typically a two dimensional array of numbers, corresponding to the luminous intensity level of the corresponding point in the field of view, called pixel) and places the image in computer memory so that it may be processed by the machine vision software.
The software will typically take several steps to process an image. Often the image is first manipulated to reduce noise or to convert many shades of gray to a simple combination of black and white (binarization). Following the initial simplification, the software will count, measure, and/or identify objects, dimensions, defects or other features in the image. As a final step, the software passes or fails the part according to programmed criteria. If a part fails, the software may signal a mechanical device to reject the part; alternately, the system may stop the production line and warn a human worker to fix the problem that caused the failure.
Though most machine vision systems rely on "black-and-white" (gray scale) cameras, the use of colour cameras is becoming more common. It is also increasingly common for Machine Vision systems to include digital camera equipment for direct connection rather than a camera and separate framegrabber, which reduces cost and simplifies the system.
"Smart" cameras with built-in embedded processors are capturing an increasing share of the machine vision market. The use of an embedded (and often very optimized) processor eliminates the need for a framegrabber card and external computer, thus reducing cost and complexity of the system while providing dedicated processing power to each camera.
Smart cameras are typically less expensive than systems comprising a camera and a board and/or external computer, while the increasing power of embedded processors and DSPs is often providing comparable or higher performance and capabilities than conventional PC-based systems.
Processing methods
Commercial and open source machine vision software packages typically include a number of different image processing techniques such as the following:
- Pixel counting: counts the number of light or dark pixels
- Thresholding: converts an image with gray tones to simply black and white
- Segmentation: used to locate and/or count parts
- Blob discovery & manipulation: inspecting an image for discrete blobs of connected pixels (e.g. a black hole in a grey object) as image landmarks. These blobs frequently represent optical targets for machining, robotic capture, or manufacturing failure.
- Recognition-by-components: extracting geons from visual input
- Robust pattern recognition: location of an object that may be rotated, partially hidden by another object, or varying in size
- Barcode reading: decoding of 1D and 2D codes designed to be read or scanned by machines
- Optical character recognition: automated reading of text such as serial numbers
- Gauging: measurement of object dimensions in inches or millimeters
- Edge detection: finding object edges
- Template matching: finding, matching, and/or counting specific patterns
- Neural Net Processing: weighted and self-training multi-variable decision making [1]
In most cases, a machine vision system will use a sequential combination of these processing techniques to perform a complete inspection. E.g. A system that reads a barcode may also check a surface for scratches or tampering and measure the length and width of a machined component.
Applications of machine vision
The applications of machine vision (MV) are diverse, covering areas of endeavour including, but not limited to:
- Large-scale industrial manufacture
- Short-run unique object manufacture
- Safety systems in industrial environments
- Inspection of pre-manufactured objects (e.g. quality control, failure investigation)
- Visual stock control and management systems (counting, barcode reading, store interfaces for digital systems)
- Control of automated guided vehicles (AGVs)
- Quality control and refinement of food products
- Retail automation
Machine vision systems are widely used in semiconductor fabrication; indeed, without machine vision, yields for computer chips would be significantly reduced. Machine vision systems inspect silicon wafers, processor chips, and subcomponents such as resistors and capacitors.
In the automotive industry, machine vision systems are used to guide industrial robots, gauge the fit of stamped metal components, and inspect the surface of the painted vehicle, weld seams, engine blocks and many other components for defects.
Though machine vision techniques were developed for the visible spectrum, the same processing techniques may be applied to images captured using imagers sensitive to other forms of spectra such as infrared light or x-ray emissions.
Related fields
Machine vision refers to the engineering of automated imaging systems in industry and manufacturing, and as such is related to a wide range of computer science disciplines: computer vision, equipment control, databases, network systems, interfacing and machine learning.
One should not confuse machine vision and computer vision. Computer vision is more general (in the solution of visual problems), whereas machine vision is an engineering discipline mainly concerned with industrial problems.
References
- ^ Turek, Fred. "Introduction to Neural Net Machine Vision". Vision Systems Design Magazine. Retrieved July 23, 2010.
See also
- Augmented reality
- Barcode
- Computer vision
- Digital image processing
- Frame grabber
- Household robot
- Image processing
- Industrial robot
- Machine vision glossary
- Machine vision optical filters
- Medical imaging
- Morphological image processing
- Optical character recognition
- Pattern recognition
- Robotic mapping
- Smart camera
- Video Analytics
- Mobile manipulator
- OpenCV
Further reading
- E. R. Davies (2004). Machine Vision : Theory, Algorithms, Practicalities. Morgan Kaufmann.
- Batchelor B.G. and Whelan P.F. (1997). Intelligent Vision Systems for Industry. Springer-Verlag. ISBN 3-540-19969-1.. Online PDF version [1]
- Demant C., Streicher-Abel B. and Waszkewitz P. (1999). Industrial Image Processing: Visual Quality Control in Manufacturing. Springer-Verlag. ISBN 3-540-66410-6.
- Gonzales R. C. and Wintz P. A. (2001). Digital Image Processing. Longman Higher Education. ISBN 978-0201110265.
- Pham D.T. and Alcock R.J. (2003). Smart Inspection Systems: Techniques and Applications of Intelligent Vision. Academic Press. ISBN 0-12-554157-0.
- Berthold K.P. Horn (1986). Robot Vision. MIT Press. ISBN 0-262-08159-8.