User-friendly machine-vision systems Ease application tasks
In choosing image-processing systems for machine-vision applications, systems integrators face a myriad of hardware architectures and software packages, including third-party image-processing software, off-the-shelf frame grabbers, and OEM vision systems. To ease their integration tasks, developers can now turn to several preconfigured image-processing systems available from both board-level and vision-systems vendors. In both types of systems, vendors often tightly couple their own frame grabbe
User-friendly machine-vision systems Ease application tasks
By Andrew Wilson, Editor at Large
In choosing image-processing systems for machine-vision applications, systems integrators face a myriad of hardware architectures and software packages, including third-party image-processing software, off-the-shelf frame grabbers, and OEM vision systems. To ease their integration tasks, developers can now turn to several preconfigured image-processing systems available from both board-level and vision-systems vendors. In both types of systems, vendors often tightly couple their own frame grabbers and
image processors with OEM development software, allowing developers to concentrate on creating vision solutions rather than on configuring image-processing hardware.
Before selecting a machine-vision system, developers should carefully evaluate the price/performance ratio of each candidate system as to solving a specific application. Systems that off-load image-processing functions to the host central processing unit (CPU), for example, might prove slower than systems that exhibit the same functionality in hardware. If time-to-market is a major factor, developers should weigh heavily the manufacturer`s software-development tools and software support. Some manufacturers, for example, may have more expertise in solving specific applications, such as semiconductor inspection, that they offer as part of their software-development toolkits.
In many applications, such systems often include provisions for input/output (I/O) support and control, easing system-development and integration tasks. Better still, the development of graphical user interfaces (GUIs) and tools is allowing vendors to offer sophisticated graphical image-processing programming tools that hide the programmer from the underlying hardware. Whether they implement pipeline processing, application-specific integrated-circuit (ASIC) based algorithm acceleration, or basic frame grabbers, such systems present developers with high-level programming tools with which to rapidly develop applications.
With the advent of low-cost personal computers (PCs) based around the PCI-bus, board, and system, vendors found they could drastically reduce the cost of developing image-processing systems. Several manufacturers, such as Datacube (Danvers, MA), Cognex (Natick, MA), RVSI Acuity (Nashua, NH), and Imaging Technology (Bedford, MA), have developed such PCI-based image-processing systems to address the machine-vision market.
As a PCI-based image processor, the MaxPCI board from Datacube uses pipeline processing to acquire, store, process, and display images. Image data are piped through a series of computational elements that perform specific image-processing tasks and are then connected through a nonblocking crosspoint switch. Operating at 40 MHz, this switch provides more than 3 Gbyte/s of internal bandwidth for 10,000-MIPS performance. In its base configuration, the MaxPCI is a single PCI-slot board with image memories, dual arithmetic logic units (ALUs), dual 16 ¥ 16 look-up tables (LUTs), and a histogram and statistics processor. For image digitization, one of several MaxACQ acquisition modules allow the board to be integrated with area, linescan, and time-delay integration (TDI) image sensors.
To program the board, Datacube offers a version of the WiT graphical programming language from Logical Vision (Burnaby, BC, Canada) and a library of Datacube operators designed specifically for use with the MaxPCI pipeline image processor. Both the hardware-independent WiT operators and the Datacube-specific operators (PQ operators) are represented on screen as icons. Each PQ operator can be decomposed into a block diagram, called an igraph, which illustrates an entire image-processing algorithm. Developers can create applications with simple drag-and-drop and point-and-click actions that link icons together (see Fig. 1).
In the development of some of their PCI-based products, RVSI Acuity and Cognex also use real-time operating systems to speed up image-processing algorithms. Rather than take a pipelined approach, however, both companies have opted for on-board CPU designs in which image-processing functions are off-loaded to the CPU resident on the PCI board. Like Datacube, both companies are offering graphical user interfaces to help to develop image-processing systems.
At The Vision Show `98, held in October in San Jose, CA, RSVI Acuity introduced its first PCI-based image-processing system, the Visionscape, which is a complete image-capture processing and display module. Providing an on-board RISC processor and custom ASIC to accelerate low-level-imaging functions such as edge detection, the board can be used with two front-end daughtercards that support both analog and digital inputs. When configured with the CAMI/O 300 card, Visionscape can interface with up to four multiplexed analog cameras. The digital CAMI/O 400 interface card allows high-resolution digital, linescan, and TDI cameras to be used with the board.
Realizing that many applications require real-time responses to triggers and other I/O events, RSVI Acuity also provides on-board I/O controls on the Visionscape board. These include integrated sensor and strobe control, 16 user-defined digital I/O points, and eight analog outputs.
To develop applications for the board, Visionscape software allows developers to program the board at a number of different levels using the PC as a graphical development environment. At the highest level, functions for specific applications, such as ball-grid array (BGA) inspection, can be called graphically under Visual Basic (see "Vision system checks solder-ball placement of BGAs," p. 7). In performing such inspections, developers may only need to link five or more routines to perform a complete machine-vision application (see Fig. 2).
At a lower level, functions such as filtering, morphology, and image arithmetic may also be graphically linked, allowing OEMs to better tailor the Visionscape environment to their needs. Once configured, these routines are downloaded to the Visionscape board, where they are run independently of the PC under the VxWorks operating system from Wind River Systems (Alameda, CA).
Also aimed at reducing the time to develop, test, and install a machine-vision system, the PCI-based Model 8200/PCI vision system from Cognex combines an on-board Intel MMX CPU with the ETS real-time operating system from Phar Lap Software (Cambridge, MA) to enable real-time deterministic performance for time-critical applications. Because vision tasks are performed by the on-board CPU, they are not delayed by other tasks being performed on the host computer. Like the Acuity Visionscape, the MVS-8200/PCI uses video modules that allow the board to be configured for multichannel RS-170 and CCIR analog image capture, color acquisition, rapid reset, progressive scan, and large format cameras.
To program the MVS-8200/PCI, developers can create application programs in C++, Visual Basic, or Visual C using Cognex`s Object Manager Interface. Whereas applications written in C++ can be run on the MVS-8200/PCI, Visual Basic and Visual C applications run on the host and make remote procedure calls to the MVS-8200/PCI board.
In developing its Prophecy gray-scale machine-vision system for on-line gauging, inspection, assembly verification, and machine-guidance tasks, Imaging Technology chose to integrate its PCVision frame grabber with the company`s Sherlock32 software. Based on a 300-MHz Pentium II processor running Microsoft Windows NT 4.0, the system`s frame grabber is capable of independent external triggering, strobe control, and asynchronous reset.
Like other machine-vision packages, Sherlock32 provides a graphical environment for configuring, testing, debugging, and running machine-vision applications (see Fig. 3). Developers that require specialized interfaces can use Microsoft`s Visual Basic to develop custom operator interfaces or integrated motion/vision applications. Custom applications can also be developed using MVTools, the Sherlock32 library of C/C++ machine-vision routines.
Point and click
While board-level vendors continually strive to integrate hardware and software into complete vision systems, OEM machine-vision vendors are also pursuing this trend. With a range of systems designed to allow developers to rapidly install and manage machine-vision systems, these companies supply a range of systems with user-friendly interfaces and image-management and process-control features. Whereas some of these systems use off-the-shelf hardware from third-party vendors, other systems manufacturers have chosen to build solutions from the ground up.
Last year, PPT Vision (Eden Prairie, MN) introduced its Passport DSL and Scout Digital Serial Link (DSL) machine-vision systems--a collection of processors, I/O hubs, cameras, and lighting subsystems that communicate via the DSL network (see "Machine-vision systems use networking for expandability," Vision Systems Design, Sept. 1997, p. 11).
In the design of the DSL systems, PPT chose to make all the system components digital, including cameras, I/O hubs, imaging network, and image processors to virtually eliminate video and I/O noise. Instead of processing by a traditional frame grabber, images are digitized within PPT-designed cameras, such as the DSL6000, and are stored on local network hubs. In operation, all DSL components share the capability to communicate with other DSL components using a common twisted-pair cable. While most DSL components are capable of full two-way communications, some--such as light-emitting diode (LED) lighting--are designed to only receive triggers over the DSL network.
To develop networked machine-vision applications, PPT provides its Vision Program Manager (VPM), which is a GUI that provides systems integrators with graphical programming tools that can be "dragged-and-dropped" into a flowchart representing the inspection process. To evaluate the contents of images and extract information from them, these tools use a variety of algorithms to perform measurements, verify alphanumeric and symbolic text on components, verify presence of required features, assure absence of unwanted attributes, and calculate degrees of rotation of selected features.
Although most VPM inspection tools are multi-purpose tools that can be used alone or in combination, PPT, like RSVI Acuity, has recognized the need to develop application specific tools such as its Connector inspection tool, for example, for particular markets and requirements. And, like RSVI`s Visionscape, the VPM also allows developers to create application-specific operator control panels using a set of screen control tools and graphical images.
PPT Vision is not the only company that aims to provide systems developers with highly integrated machine-vision systems. Several months ago, Systech (Cranbury, NJ) introduced its Tips Advisor, an off-the-shelf software package that connects intelligent devices on a packaging line, such as machine-vision types, barcode readers, programmable logic controllers (PLCs), and printers, with a single graphical user interface and database.
To configure Windows NT-based software, the developer executes a line setup by selecting the desired product to be run. Tips Advisor then configures each device on the line with the appropriate parameters. Next, the system collects all event data during the packaging operation and archives the desired information into a relational database for reporting, analysis, and future use. Typical machine-vision applications of Tips Advisor include optical character verification, measurement, positioning, product quality, print quality, and identification.
Pfizer Canada (Arnprior, Ontario) has installed a Tips line-management system for the machine-vision inspection of bottles of eye drops (see Fig. 4). The system also manages the packaging line by connecting to the labeler, barcode readers, and programmable logic controllers. Configured to control all the primary packaging inspections and to download product specific configurations to the attached camera stations, barcode scanners, and PLCs, the vision software also monitors, displays, and records line- and shift-performance statistics. This data can be used for production lot and efficiency reporting.
Vendors of massively parallel workstations are also leveraging easy-to-use graphical image-processing software to enter image-processing markets. Cambridge Parallel Processing (Irvine, California), for example, has combined the performance of its Gamma II Plus fine-grained, massively parallel workstation with the Khoros data-visualization package from Khoral Research (Albuquerque, NM). Hosted on a Sun Microsystems Sparc workstation under Solaris software, the Vision Expert system delivers up to 2.5-GFLOP, 32-bit floating-point performance and can be interfaced to SCSI, FDDI, Fiber Channel, and HIPPI networks.
Visual programming in Khoros allows developers to determine data connectivity, control of data flow, and process functions without regard to data structures or other specialized knowledge related to programming on a massively parallel system. Khoros programming tools include a graphical user interface, a design tool, a data-flow visual programming language, CASE tools, and a C++ class library incorporating the Cambridge Parallel Processing image- and vision-processing library functions (see Fig. 5).
With the rapid acceptance of graphical user interfaces fronting sophisticated image-processing hardware, systems integrators of image-processing systems will be able to reduce their product time-to-market considerably. By choosing a system that offers machine-vision functions as well as I/O control, networking, and product management functions, they will also be able to lower their development costs. To fully embrace such a concept, however, both board-level and machine-vision companies must build on already established standards, such as the PCI, Microsoft Windows, visual development toolkits, and networking products.
See table of machine-vision vendors on page 64.
FIGURE 1. Fronting the MaxPCI pipeline image processor from Datacube, hardware-independent WiT operators and the Datacube-specific PQ operators are represented on screen as icons. Each PQ operator can be decomposed into an igraph, which illustrates an entire image-processing algorithm. Developers can create applications with drag-and-drop and point-and-click actions that link icons together.
FIGURE 2. In RSVI Acuity`s Visionscape system, functions for specific applications such as optical character verification and data matrix identification can be called graphically under Visual Basic. Developers can call such high-level functions to perform routines as well as invoke lower-level functions such as filtering, morphology, and image arithmetic.
FIGURE 3. Imaging Technology`s Sherlock32 machine-vision package provides a graphical environment for configuring, testing, debugging, and running machine-vision applications. In this application, an image is initially captured, and then a region of interest is selected. Next, the system is trained on the region of interest, and the specific pattern is located when the system is run.
FIGURE 4. Systech`s Windows-NT based Tips machine-vision system is helping Pfizer Canada inspect bottles of eye drops. In operation, five cameras on the packaging line keep track of label placement, print clarity, lot and expiration dates, and cap skews. The system also checks the filling and capping process and ensures the presence of a security protection strip around the cap.
FIGURE 5. Visual programming in Khoros from Khoros Research allows developers to determine data connectivity, control of data flow, and process functions without regard to data structures or other specialized knowledge related to programming on Cambridge Parallel Processing`s massively parallel Gamma II Plus system.