Home > Edge > Manufacturing Edge > Guides > Dell Validated Design for Manufacturing Edge - Design Guide with 5 Independent Software Vendors > Cognex system design
The Cognex computer vision system within this Dell Validated Design provides functions such as product classification, component defect detection, and Optical Character Recognition (OCR) capabilities to aid in production quality and process. Using image processing and AI, the Cognex application builds a machine learning model that can be used with industrial cameras to identify product quality issues and integrate with other systems in the manufacturing environment (for example, PLCs, Process Control, MES).
The following sections provide more in-depth explanations for the topics covered here.
The major components of a machine vision system include lighting, lens, image sensor, vision processing, and communications. For evaluating and validating the performance on edge compute platforms, the focus was on the vision processing component. Specifically, vision processing consists of algorithms that review the image and extract required information, run the necessary inspection, and make a decision. The Cognex vision system as deployed within this DVD consists of three applications: VisionPro, VisionPro Deep Learning, and Cognex Designer.
Edge compute-based vision platform—Edge compute-based systems readily interface with direct-connect cameras and are well supported with configurable machine vision application software. In addition, edge platforms provide custom code development options using familiar and well-supported languages such as Visual C/C++, Visual Basic, and Java, as well as graphical programming environments. In the evaluation, each of the Cognex applications was installed on various Dell edge platforms and performance tested for scalability and sizing.
VisionPro—VisionPro is Cognex’s primary vision software for designing and deploying vision applications on PC-based platforms. It can perform a wide range of functions including geometric object location and inspection, measurement, alignment, as well as specialized 1D and 2D functions.
VisionPro Deep Learning—VisionPro ViDi Deep Learning is a deep learning-based image analysis software designed for factory automation. Its algorithms are optimized specifically for machine vision, with a graphical user interface that simplifies neural network deployment.
Cognex Designer—Designer incorporates VisionPro and Deep Learning, allowing developers to build complete vision applications and take full advantage of the powerful VisionPro tool library.
Image Acquisition—Cognex acquisition technology supports all types of image capture: analog, digital, color, monochrome, area scan, line scan, high resolution, multi-channel, and multiplexed. In addition, Cognex supports hundreds of industrial cameras and video formats covering the complete range of acquisition requirements typically used in machine vision.
I/O Communications—Communications with systems outside of the vision system is an integral component of an integrated production environment. VisionPro and Cognex Designer allow creation of an application that can communicate with a compatible Programmable Logic Controller (PLC) across an industrial network. Customized I/O can also be developed using scripting tools.
Although architectures may vary depending on use-case specifics, the components that make up a vision system remain consistent, with how they are implemented and optimized being an important factor. The following architecture describes how the different vision components were architected:
ViDi training phase—As with traditional rule-based vision tools, how the ViDi deep learning tools are trained is the largest determinant of their runtime performance. Unlike rule-based vision tools, successful deep learning training is largely a function of the number and representativeness of the images that you collect for your image training set and the consistency with which you label them.
From an edge compute platform perspective, the training phase is the most resource-intensive stage. Neural networks form the basis of deep learning and are designed to run in parallel, with each task running independently of the other. GPUs are optimized for parallel processing of large data sets, and complex mathematical data is used to train neural networks. It is highly recommended to run deep learning training for model development on an edge platform that is equipped with a GPU.
ViDi runtime phase—The runtime phase of the Cognex ViDi deep learning tools is simpler than the training phase. The runtime components are comprised of sampling, neural network processing, and results formation. Although a GPU is not required for the runtime phase, when ViDi Deep Learning is used in ML model generation, performance benefits greatly when a GPU is present.
ViDi tools—The Cognex ViDi tools are a collection of machine vision tools which address programming challenges using deep learning. While the tools share a common engine, they differ in what they are looking for in images. More specifically, each tool has a different focus analyzing either single points, individual regions, or complete images. Below are the four tools used in ViDi deep learning:
ViDi tool chaining—Each of the Cognex ViDi tools has a unique output, and that output can be used as an input to another tool in what is referred to as tool chaining. In the following figure, a blue Locate tool has a node model, made up of three features (H, B, and T), which provides a location (this is similar to using a pattern tool in a traditional vision application to create a fixture). The location output by the blue Locate tool is used by the red Analyze tool to orient and create its view, allowing the detection analysis to be performed in the same area of the image, based on the node model output by the blue Locate tool.
Finally, the green Classify tool is used to classify the output of the red Analyze tool, based on the classification criteria established for the green Classify tool.
Cognex Designer is an integrated development environment for developing 2D and 3D machine vision applications. The software allows machine vision developers to create flexible solutions to complex machine vision challenges.
Cognex Designer provides multi-camera support, drag-and-drop application and HMI development environments, high-speed discrete input/output and factory floor networking protocol support, and advanced scripting and user management features.
Designer Project—Developing a project in Designer involves the following:
Industrial communications—The industrial communications protocols (also known as factory floor protocols) supported by VisionPro and Cognex Designer allow the creation of an application that can communicate with a compatible Programmable Logic Controller (PLC) across an industrial network.
VisionPro and Designer support the following protocols:
The Cognex implementation of the factory floor protocols is based on the Cognex Network Data Model (NDM), a protocol-independent abstraction that allows your application to work with any supported protocol without modifications.
Designer project deployment—The final step of project development is to deploy the application. Deployment allows the application to be run by end users without requiring access to the Cognex Designer Integrated Development Environment (IDE). This runtime application is typically installed on an edge compute platform at Purdue Level 2 of the factory floor.
Once the application development is complete, the project can be deployed and structured so that the application cannot be modified. You can then launch the deployed application by going to the deployment folder and running the Launcher.exe file, or by using the shortcut on the desktop. Both the Cognex VisionPro application and the ViDi Deep Learning application must be installed on the end-user workstation for the Cognex Designer application to properly execute.
Scripting—Cognex Designer provides a powerful scripting environment using Microsoft C# .NET. You can write standard C# .NET code and execute it within the Cognex Designer environment.
VisionPro Deep Learning, Cognex Designer, and the VisionPro runtime are supported on compute platforms running Windows 10 Professional (64-bit).
The following are the Dell Technologies compute platforms that were evaluated with the Cognex VisionPro applications in this document. The recommended hardware configurations and their performance variances are highlighted below, with detailed scaling and sizing for each application and specified platform contained in the Sizing and Scaling Guidance chapter of this document:
A number of elements affect the performance of the vision applications, and becoming aware of the trade-offs between cost and design can aid in the development of a more robust solution. Throughput refers to the total number of images that can be processed per unit time. If your application can process multiple streams concurrently using different threads, it may be able to improve system throughput, although individual tool processing would be slower.
The parameters below can be used as part of a performance toolkit:
For more information, see the following link: Performance Guide for ViDi
The sections above cover the high-level details of what should be considered, planned, and configured to successfully design a Cognex vision system. For specific scaling and sizing of the components in this chapter, see Cognex sizing and scaling guidance. Best practices and sample use-cases for computer vision are contained in the Accelerated time to value with Cognex section.