What is Machine Vision?
Written by Meng Liu on June 25, 2022
There are many definitions of what machine vision is, however, personal preference is the one from Wikipedia.
„Machine vision (MV) is the technology and methods used to provide imaging based automatic inspection and analysis for such applications as automatic inspection, process control, and robot guidance, usually in industry. Machine vision refers to many technologies, software and hardware products, integrated systems, actions, methods and expertise. Machine vision as a systems engineering discipline can be considered distinct from computer vision, a form of computer science.“
It captures the highly interdisciplinary nature of the subject and emphasizes the engineering perspective.
What is the difference between machine vision and computer vision?
To the best knowledge, there is no clear agreement across academia and industrial sectors. In some cases, the terms are loosely used interchangeably to describe a technology that involves reasoning from images that have been captured by a camera. However, like expressing through a language, professionals can feel the difference when referring to one or the other.
Here is a non-exhausted list that compares the core difference between machine vision and computer vision. Note that some of the aspects may subject to personal knowledge limitations.
|Machine Vision||Computer Vision|
|Discipline||Systems engineering||Computer science|
|Aim to||Solve specific domain problems||Mimic human perception capability|
|Mostly used in/along with||Automation industry||Academia & research labs|
|Relationship to AI
|As partially sub-field of AI||As a sub-field of AI|
|Procedure||From object understanding, hardware selection to data acquisition and data processing (see the next section)||Normally starts from algorithm development|
|Algorithm types||Mainly classical rule-based with a small portion (gradually increasing) of machine learning/deep learning||More widely relying on machine learning/deep learning|
What are the core components of Machine Vision?
The following diagram shows a typical process of machine vision. Depending on the targeted industrial types and applications complexity, the process might need some modifications.
Starting from understanding the target object and/or environment, the data acquisition process is the most critical part of a machine vision task. In order to acquire high quality data which has strong enough contrast between features and their backgrounds, a significant amount of time and effort may be used to observe the object in its environment. And the components selection is usually iterative even though a machine vision engineer believes that every detail of the object is carved in the brain. In other words, typical off-the-shelf products cannot meet the requirement immediately. Eventually, it will end up by combining standard products or even landing on the free land of customization. During the selection process, rigorous testing and validation of components/sub-systems are normally required to ensure successful system integration.
Until now, no big investment in image analysis has been put in place, even though in every step of a component selection, a machine vision engineer always keeps the algorithm possibilities in mind. My favorite surrealist artist Salvator Dalí describes the phenomenon very well. The sentence is usually used to express the difficulty of image analysis algorithms by machine vision professionals.
„It is either easy or impossible.“
To be specific, all the effort put into the data acquisition part is to ensure the data quality. If the algorithms can hardly develop a certain given batch of data, it usually means the data acquisition has failed. The failure can originate from vary sources: low contrast between features and backgrounds, inconsistent variations against controllable environmental changes, insufficient representative samples, and hardware components degradation etc. The goal of a machine vision engineer is to reduce the algorithm development effort to the minimum by ensuring all the potential failures are addressed technically.
As image analysis is usually the one exposed the most, and relatively well understood by the public, a detailed description is omitted.
After analyzing the collected data, a decision is typically made depending on the application. For quality inspection, it means marking or removing the bad ones; for warehouse automation, it means tagging, packing, or redirecting the products, etc.
How to become a machine vision engineer?
A machine vision engineer can come from various backgrounds. Anyone who has knowledge of system engineering, software development, or optical physics can work as a machine vision engineer with certain training and experience.
The core of the profession, like all other engineer positions, is to think systematically, reason logically and find practical solution(s) for a valid problem. A machine vision engineer will involve in and collaborate with other teams members from the very beginning of a vision project till the end.
Last but not least, a system should be treated like a system. Keep the big picture, and work on carefully dissected components.