Industrial Reference Implementations


Learn about the industrial reference implementations created by Intel. In particular, explore the Object Flaw Detector, which uses computer vision to detect flaws of objects on an assembly line.


Hello. My name is Martin Kronberg. And this is the IoT Developer Show, season three. In this episode, we learn about the reference implementations Intel created for the industrial space, and we take a closer look at the object flaw detector, which is a solution utilizing computer vision to detect flaws of objects on an assembly line.

These days, more industries are using computer vision. And it's used in coordination with machine learning algorithms, system control at the edge, and human-machine interfaces. You can see it being used to keep workers safe with security systems on factory floors, helping warehouses to keep track of inventory, and it can be used for quality assurance of products. Intel created a series of reference implementations that focus on industrial use cases that take advantage of computer vision. Let's take a look at an example by using the object flaw detector to find imperfections in products.

Here, we see a video of bolts going down a conveyor belt. The computer vision algorithm analyzes each bolt for defects as they pass under the camera. The algorithm is set up to detect defects in the bolt color, orientation, and look for cracks. This solution is using traditional computer vision methods with the Intel® Distribution of OpenVINO™ toolkit. We have to specify the color range of the color defects and the angle range for the orientation defects. For crack detection, the algorithm looks for breaks in the contour of the object.

This sort of algorithm has a lower processing requirement than a neural-network-based approach. So you can run it at a higher frequency or on less demanding hardware. This approach works really well if you have specific defects that you're expecting, and you can explicitly define them in your algorithm. This reference implementation also uses InfluxDB* database to store all the outputs and a Grafana*-based data visualization front end.

Now, if you want to retool the solution to meet your needs, there are a few things to keep in mind. The object detection is based around finding contours within certain thresholds. For our example, we tuned it specifically for silver bolts against a black conveyor belt. You will have to tune the thresholds to fit your needs. Once you successfully detect your object, you need to adjust the defect detection parameters, so color, orientation, and contour profile. With some fine tuning, you should be able to apply this reference implementation to a wide range of situations.

Thank you so much for joining me for season three. With these code samples, we learned about how computer vision is being utilized across a wide range of use cases, how to leverage Intel® technology in creating them, and looked at two implementations in detail. Be sure to join me after the new year when we explore more tools and demos that you can use in your IoT projects. As usual, all the links to the implementations and other documentation is provided, so be sure to check out the Intel Developer [sic] page. See you next year.

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804