With the accelerating pace of industrial automation, robots are playing an increasingly important role. As technology matures and improves, robots, as crucial components of industrial production, are becoming more sophisticated and human-like. Here, we'd like to emphasize the crucial role of the "eyes" in these robots—what is commonly known as machine vision. But what exactly is machine vision? And how does it differ from computer vision?
What is robot vision?
In basic terminology, robot vision involves using a combination of camera hardware and computer algorithms to enable robots to process visual data from the real world. For example, your system could use a 2D camera to detect an object the robot is about to pick up. A more complex example might be using a 3D stereo camera to guide a robot in mounting wheels onto a moving vehicle.
Without machine vision, your robot is essentially blind. For some robotic tasks, this might not be a problem. But for certain applications, robot vision is helpful, even essential.
The "family tree" of RobotVision
Robot vision and machine vision are closely related, and we'll discuss machine vision later. Both are also closely related to computer vision. If we were talking about a "family tree," computer vision could be seen as their "parent." However, to understand their place in the whole system in detail, we need to go further and talk about their "grandparent"—signal processing.
Signal Processing
Signal processing includes processing electronic signals, or cleaning (e.g., noise reduction), extracting information, preprocessing for output to a display, or preprocessing in preparation for further processing. Anything can be a signal, more or less. There are various types of signals that can be processed, such as analog signals, digital signals, frequency signals, and so on. Images are essentially two-dimensional (or more dimensional) signals. For robot vision, we are interested in image processing. So, we're talking about image processing, right? No.
Image Processing vs. Computer Vision
Computer vision and image processing are like cousins, but they have very different goals. Image processing techniques are primarily used to improve the quality of images, converting them to another format (such as histograms) or altering them for further processing. Computer vision, on the other hand, focuses more on extracting information from images to perceive them. Therefore, you might use image processing to convert a color image to grayscale, and then use computer vision to detect objects in that image. If we look further up this "family tree," we see that both fields are heavily influenced by the physics field, particularly optics.
Pattern Recognition and Machine Learning
So far, things have been that simple. Things start to get a bit complicated when we add image recognition, or machine learning more broadly, to the "family tree." This branch focuses on recognizing images in data, which is quite important for the more advanced functions of robot vision. For example, in order to identify an object from its images, the software must be able to detect whether the object it sees has been seen before. Therefore, machine learning is another parent body of computer vision besides signal processing.
However, not all computer vision techniques require machine learning. You can also use signals, rather than images, for machine learning and then feed them as input to a machine learning algorithm. For example, computer vision detects the size and color of parts on a conveyor belt, and then machine learning uses what it has learned from what normal, good parts should look like to determine whether those parts are defective.
Machine Vision
Now that we're talking about machine vision, everything will change. This is because machine vision is completely different from the terminology we've discussed so far. It focuses more on specific applications than just the technical aspects. Machine vision refers to vision used in industrial applications for automated inspection, process control, and robot guidance. The rest of the "family tree" is in the scientific domain, while machine vision is an engineering field.
In a sense, you could think of machine vision as a child of computer vision, because it uses techniques and algorithms from computer vision and image processing. However, while it can be used to guide robots, it is not entirely robot vision.