Andrew Wilson, Editor
Many machine-vision component vendors now offer what has become known as a "smart camera" in response to changing markets and new customers that demand the accuracy and capabilities of vision but need to keep down the cost of deploying such a system. By integrating lenses, sensors, processors, camera-to-computer interfaces, and software, these all-in-one camera systems are engineered to replace PC systems that rely on separate camera, frame grabber, PC, and software components. To date, more than 20 camera manufacturers offer products that are being deployed in applications varying from barcode reading to industrial inspection.
Smart sensors add simplicity
Not all smart cameras are created equal. Many low-cost models, often referred to as "smart sensors," are tailored to fit specific applications such as barcode reading. These devices are challenging the role of traditional laser-based scanners for a few reasons: They do not incorporate any moving parts, so they are not susceptible to mechanical failure; and they can process a number of barcode topologies, such as Data Matrix codes, presented in any orientation under varying light conditions.
For rapid configuration of smart sensors, manufacturers offer graphical user interfaces (GUIs) that allow developers to ensure the reader is properly positioned and focused within the correct field of view. Appropriate software is offered by vendors including Cognex, in its DataMan series of ID readers, and Microscan, in the company's HAWK and Vision HAWK products. With its DataMan software, Cognex allows the developer to view the captured image and adjust lighting, camera, focus, and communications settings all from a single screen (see Fig. 1).
|FIGURE 1. Cognex DataMan software allows the developer to view captured images and adjust lighting, focus, camera, and communication settings all within a single screen.|
While smart sensors may incorporate CPUs and DSPs, they target specific applications such as barcode reading and are generally not designed to be programmed by the user. To address a market for user-programmable devices, some vendors offer cameras to OEMs with software development kits (SDKs), allowing them to develop proprietary software without incurring the licensing and deployment fees charged by third-party manufacturers. However, this approach does result in longer system development cycles since machine-vision code often must be written in C++.
Software toolkits to fit the system
To speed the development process, some established vendors also offer smart cameras that allow general-purpose machine-vision software to be tailored to fit a variety of applications. These smart cameras have emerged from companies with prior PC-based hardware and software expertise as a means to leverage this experience.
By offering familiar PC-based software and the benefits of a relatively low-cost smart camera, these companies give their customers an easy way to deploy smart camera systems without learning new software or development tools. Many smart camera systems are provided with GUIs that can be used to develop a machine-vision inspection program with little or no programming. System development time is further reduced with this approach. Companies such as Matrox Imaging, Teledyne DALSA, National Instruments, Microscan, and Cognex offer these types of smart camera systems.
To program the Iris GT smart camera, Matrox Imaging allows developers to use Windows tools in conjunction with the Matrox Imaging Library (MIL) running on Windows Embedded CE or Windows XP Embedded. For both Microsoft operating systems, application development is achieved using a PC running Microsoft Visual Studio. If developers are tasked with faster deployment of their smart camera systems, the Iris GT is also offered with the Matrox Design Assistant, an integrated development environment (IDE) that enables image capture, analysis, location, measurement, reading, verification, communication, and I/O operations to be performed within the IDE without conventional programming (see Fig. 2).
|FIGURE 2. Matrox Design Assistant is an integrated development environment (IDE) that enables image capture, analysis, location, measurement, reading, verification, communication, and I/O operations to be performed within the IDE without conventional programming.|
National Instruments has taken a similar approach in the development of the NI177x series of smart cameras. While the company's vision development software for LabVIEW, C/C++, Visual Basic, and .NET includes multiple image-processing and machine-vision functions, the company's Vision Builder software lets system integrators configure, benchmark, and deploy machine-vision systems using a menu-driven approach (see Fig. 3).
|FIGURE 3. National Instruments' Vision Builder software lets system integrators configure, benchmark, and deploy machine-vision systems using a menu-driven approach.|
Similarly, Teledyne DALSA's BOA Pro smart camera can be used with the company's Sherlock inspection software to allow developers to leverage development tools for optical character recognition (OCR), laser profiling, image measurement, and color classification. Images from the camera are transferred to the Sherlock GUI running on a PC, then the commands can be executed directly on the camera. For less sophisticated developers, Teledyne DALSA also offers iNspect Express for the BOA. Positioning, identification, and measurement tools can be accessed through a click-and-apply process using this software.
Third-party packages come into play
While some of these vendors only offer their products with their own libraries and tools, other smart camera vendors have taken a different approach. By integrating high-speed CPUs in their products, many established and some newer camera manufacturers allow various third-party software packages to be used with their products. System integrators can use familiar off-the-shelf software tools to design a specific application while at the same time selecting from a range of different camera types.
Perhaps the first company to embrace this concept was Sony with the introduction of the company's PC-based XCI series cameras. Embedding an x86 series processor in the camera allows system integrators to run third-party machine-vision and image-processing software right on the cameras. These include well-known software packages such as HALCON from MVTec Software, eVision Tools from Euresys, and Matrox's MIL, as well as perhaps lesser-known packages such as VisionGauge from VisionX.
Like Sony, Ximea has integrated an x86-based CPU in its Currera-R smart camera. Running Windows and Unix operating systems, the camera can be used with more than a dozen third-party software packages ranging from Cognex's VisionPro and MVTec Software's HALCON to Scorpion Vision software from Tordivel. Support for HALCON Embedded can also be found in the mvBlueLYNX-X, a Cortex-A8 ARM-based smart camera from Matrix Vision. Allowing commonly used third-party software to be embedded in smart cameras may relieve seasoned software developers of the task of learning a completely new software package. However, any technical support that may be required will have to be shared between the camera and software vendors.
Just as the offerings of smart cameras have increased dramatically over the past few years, so too has the range of applications served. Today, smart cameras can be found in many industrial inspection applications that previously required separate cameras, lighting, frame grabbers, and PCs to work in combination. The broadening of applications is an important development milestone; however, their uses will remain limited in applications such as high-speed web inspection where dedicated linescan cameras, high-speed interfaces, and multicore processors are required.
Companies Mentioned in this Article
Matrix Vision www.matrix-vision.com
Matrox Imaging www.matrox.com/imaging
MVTec Software www.mvtec.com
National Instruments www.ni.com
Sony Electronics www.sony.com/smart
Teledyne DALSA www.teledynedalsa.com
Vision Systems Articles Archives