Figure 2. The least understood and most often neglected vision-system component is the optical system. For example, it is critical to use optical elements large enough to keep the entire image sensor within the optical “sweet spot” at the center of the field of view where image quality is best. (Source: C.G. Masi)

The type and number of host based processors incorporated in a vision system computer have a significant impact on performance. Graphic Processing Units (GPUs) can provide blazing processing speed for a variety of image processing operations.

Vision development software is perhaps the most defining component for what can be accomplished with an advanced vision development project. There is a learning curve associated with any advanced software product, and vision development software should not be assessed based solely on the project at hand, but with an eye toward future projects and requirements.

Software performance and overall capabilities are obvious SDK attributes to evaluate. Questions to explore with regard to performance include:

  • Are multiple processor cores supported and seamlessly utilized?
  • Does the software support GPU acceleration?
  • How fast are the processing functions? (Pattern matching is a good test.)
  • Does the SDK support embedded processing hardware, such as FPGAs?

Ideally, a vision SDK includes evolved tools and functions for implementing advanced image processing methodologies and algorithms, such as variation-model comparison, CAD file matching/comparison, classification, texture analysis, contour processing, localized segmentation, and 3D processing/analysis. Additionally, calibration capabilities and methodology should be examined as calibration impacts both accuracy and measurement consistency.

Support for a broad array of hardware types, multiple operating systems and programming environments, and socket and serial port data communication, all increase a vision software product’s flexibility.

Sustainability and support are also important software considerations. Working with development software that is well documented, supported, includes extensive source code examples, and is continuously updated with operating system and hardware-driver changes, has a huge benefit for extended, deployed system costs.


It is imperative that an advanced vision development project be well defined from the beginning. Start by defining what needs to be measured, with what required accuracy, and at what required speed. Physical envelope and electrical limitations are important as well. These parameters, to a high degree, will determine the optics, lighting and camera selection.

Writing and defining a clear specification for a system’s requirements is critical to ensuring successful development. An advanced vision project should be broken into development phases, with the first phase, and perhaps most important, being feasibility analysis focused on proving the vision design concept, both from a vision component and imaging algorithm viewpoint.

Vision technology is advancing faster than ever, and its impact on manufacturing and automation is in its infancy. Acquiring knowledge and familiarity with advanced vision capabilities, beyond a smart vision product context, is a worthwhile and strategic endeavor. A thoughtful approach to advanced vision system development is the best way to ensure meeting your system goals at the most reasonable initial and lifetime cost.

This article was written by John Hooning, President, Innovative Imaging Inc. (Chadds Ford, PA). For more information, contact Mr. Hooning at This email address is being protected from spambots. You need JavaScript enabled to view it. or visit