Cool Stuff in Engineering No.7 — Machine Vision

Jeff Benning
First Engineering Job
4 min readFeb 7, 2017

I recently went to a seminar hosted by Cognex, a leading manufacturer in machine vision applications. In the realm of automated control systems, machine vision has to be one of the coolest technologies you can implement.

A computer with a camera can analyze up to hundreds of parts a minute and decide if they pass quality checks or not. This is commonly used to check parts coming off of an assembly line. Check out this video to see a bottle checking machine making sure each bottle has a cap and that the fill level is right, among other things and to get an idea of what machine vision is.

Why Bother?

It’s easy for us, as humans with eyes and a brain, to look at something and tell if it’s right or not. Think about it this way. Take a look at a bottle or can that is near you. Is it suitable for sale as it sits right now? What makes it that way?

The bottle should be clean, with no dents or gouges in it.

It should have a label appropriately oriented and readable.

It should have liquid filled to the top and it should be the correct liquid.

It should have a seal on it, securing the cap to the bottle and indicating the bottle has not been tampered with.

It might even need to be oriented properly to make sure the next step in the process is performed correctly.

Now, you can perform all of these checks in a few seconds without much thought power. But imagine looking at hundreds of these a day. You might miss just one. Then you ship a poor-quality product to a customer who will not be very happy when they open their bottle of water and find it half full.

This is the power of machine vision. It can take images and determine if the part is good or bad in the range of milliseconds. And assuming you programmed it correctly, it will give an accurate outcome every time. The programming is the difficult part to get right, however. How do you teach a machine to think like you do?

Here’s how it Works

Most simply, machine vision works by taking an image of a product at a precise time and interpreting what it reads. If it does not detect any problems, it lets the part through. If something is not correct, it sends out a signal which can then be handled in a number of ways. The engineer might decide to stop the line, sound an alarm, remove the defective part from production, or any number of different things.

Utilizing machine vision is much more difficult than this. There are a number of feats to accomplish after the image has been taking, all which must be done in as little time as possible. After all, time is money.

The trick is in the image processing. The computer reads in pixel data from an image. It then locates what it is looking at by searching for a unique identifier. This can be something like the edge of a cap, or the rectangular box around a barcode.

Now that it knows where it’s at, it can search for the detail it is analyzing. Maybe the fill level should be exactly four inches above the barcode. If it doesn’t see a change in pixel color at 4” above the barcode, something must be wrong.

Then maybe five inches above the barcode, the computer should see a rectangular blog, indicating the cap. If this blob isn’t there, then there must not be a cap.

Get the idea?

The computer goes through very logical steps to make sure everything that needs to be there, is there. While machine vision is commonly used to look at assembly line parts, barcodes, inspection, and several other applications, there is much more to it than that.

Tesla uses an advanced form of machine vision to guide its automated cars. Machine vision is commonly used in robotics applications as well.

Engineers for Machine Vision

Machine vision development is commonly carried out by electrical and software engineers. Robots that can see is a perfect combination of the two. You need the hardware to make sure you’re getting the most detailed picture you can, and software to analyze the image as accurately as possible.

I’ve done a quick job search to see what companies that hire engineers for machine vision like to see (pun intended) in a candidate and it’s not too strict. The general experience tends to be 3–5 years so it might not be your first job, but it could certainly be your second. They like to see work with robotics, data collection, and java and C++ programming languages. Any experience with lighting is also preferred as this is such an integral part of taking good pictures.

If machine vision floats your boat, it is certainly a field you can work up to fairly quickly. And you know I love everything robotic and with artificial intelligence and machine vision fits perfectly in there.

Find more great articles like this at www.FirstEngineeringJob.com!

--

--

Jeff Benning
First Engineering Job

I am a mechanical engineer, designer, and fabricator. I write stories on how to build things. See my work at JeffBenning.com