What is Machine Vision? - #1
There are many definitions of machine vision. However, my 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, 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.
Thanks for reading The Learner's Week! Subscribe for free to receive a weekly new piece of learning.
What is the difference between machine vision and computer vision?
To the best knowledge, no clear agreement exists across academia and industrial sectors. In some cases, the terms are loosely used interchangeably to describe a technology involving reasoning from images captured by a camera. However, like expressing through a language, professionals can feel the difference when referring to one or the other.
A non-exhausted list compares the core difference between machine vision and computer vision. Note that some of the aspects may be subject to personal knowledge limitations.
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 application complexity, the process might need some modifications.
Starting from understanding the target object and/or environment, data acquisition is the most critical part of a machine vision task. To acquire high-quality data with a 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 component selection is usually iterative, even though a machine vision engineer believes every detail of the object is carved in the brain. It means that typical off-the-shelf products cannot meet the requirement immediately. Eventually, it can end up by combining standard products or even landing on the free land of customization. During selection, rigorous testing and validation of components/sub-systems are normally required to ensure successful system integration.
Until now, no significant investment in image analysis has been put in place, even though a machine vision engineer keeps the algorithm possibilities in mind at every component selection step. My favorite surrealist artist Salvator Dali 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.
Specifically, all the effort put into the Data Acquisition part is to ensure the data quality. If the algorithms are difficult to develop and give a certain batch of data, it usually means the Data Acquisition has failed. The failure can originate from various sources: low contrast between features and backgrounds, inconsistent variations against controllable environmental changes, insufficient representative samples, 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.
Image analysis is usually the most exposed and relatively extensively done by the practitioner. We will explore it at another time for the sake of simplicity. One of the most important rules is to define the golden reference before coding any piece.
After analyzing the collected data, typically, a decision is made depending on the application. Quality inspection means a mark 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 knows system engineering, software development, or optical physics can be a machine vision engineer with specific training and experience.
The core of the profession, like all other engineer positions, is to think systematically, reason logically, and find the practical solution(s) for a valid problem. A machine vision engineer will participate and collaborate with other team members from the beginning of a vision project until the end.
The last word, a system should be treated like a system. Keep the big picture, and work on carefully dissected components.
Reference:
The Fundamentals of Machine Vision - David Dechow, 2022, A3 Certified Vision Professional
Machine Vision - Wikipedia
Machine Vision Algorithms and Applications - Carsten Steger, 2018