Machine Vision - TESTIMONIALS

News story in the July 2008 issue of Vision Systems Design magazine

By: Andrew Wilson, Editor
Vision Systems Design magazine

Machine vision software is object oriented

One of the benefits to editing a magazine is that often companies are kind enough to provide products for evaluation. Such was the case, last month, when I was asked to take a look at the latest software package from Axtel Machine Vision (Vista, CA).

The company's Machine Vision Express (MVE) software package includes a Machine Vision Library and three development platforms, C++ programming for complex problems, Python scripting for medium complexity and a Graphical User Interface (GUI) for less complex jobs. Python scripting and the GUI output scripts are compatible with the Python Software Foundation (PSF).

The easiest way to develop a machine vision application using MVE is to use the GUI. To do so, a number of steps that make up the application are created by adding a number of processing stages within the graphical user interface. Each step has a pull-down menu to assign a specific library function to it and the input and output cells of each step can then be interconnected through "drag and drop" of interconnection lines.

As with any machine vision software development system, this GUI at first may appear complicated, but I found that after a few hours, the development of a program was rather intuitive. To fully test the development environment, I decided (with a little help from Axtel's President Peter Knoll), to develop a simple program to test for the presence of a liquid level in a bottle of Coke.

Using pre-loaded images in the development environment, the task of the program was first to locate the presence of the cap of the Coke bottle. Having accomplished this, a region of interest (ROI) was placed around the neck of the bottle where the liquid level of the Coke within the bottle should appear. Within this ROI, the software was programmed using a Canny edge detector to determine whether an edge was present within this region. If the system did find an edge, then it was assumed that the Coke bottle was filled to the correct level. If the system could not determine such an edge, then it was assumed that the bottle had been incorrectly filled. At every step of the program user can view the image, before and after application of a specific imaging algorithm. By selecting two images and alternating those in the same frame individual pixel start to flicker where images differ. That is a nice feature when troubleshooting programs.

Figure 1 shows the graphical user interface that was developed. As can be seen, the system first finds the image from the disk, and finds that cap of the bottle within a certain ROI. After this, a relative rectangle that defines the area within the Coke bottle is set around the liquid level. After converting the color image to a grey-level representation, a Canny edge detector is performed and the line extracted. Should a line be unable to be extracted, then the bottle will be rejected. After this visual script is completed, the MVE software automatically stores it in the form of a Python script that can be executed on a PC.

This Python script contains less than 50 lines of code that describe the complete application. Smart camera developers can then embed this code into their PC-based cameras to add greater functionality to their products. Like DVT (now part of Cognex) did many years ago, Axtel is offering a freely downloadable demo version of the software from their website.

To run the software, developers must first download Python 2.5 (also from the company's website) and then the demo version of the MVE software. This demo version was used to generate the program above. Priced at approximately $2,000 for a single license, the MVE software is certainly not the least expensive software package available today. However, because it is based on an open source, object oriented programming model, code generated by the software is transportable across a number of different hardware devices including smart cameras, PCs and distributed networks.

In September, Axel plans to offer its own range of PC-based cameras running Windows CE that will each include a digital I/O, LAN interface and solid state disk. According to Peter Knoll, President, Axtel is currently looking for domestic and worldwide distributors for both its MVE software and its forthcoming PC-based cameras.

FIGURE CAPTIONS
Figure 1: Using Axtel's object-oriented Machine Vision Express Software, simple product presence applications are developed using a graphical representation. In this example, the location of a bottle top is located, an ROI within the bottle determined and an edge detection performed to determine the fill level within the bottle.