A modular and scalable architecture for PC-based real-time vision systems
Introduction
A computer vision system is composed of an illumination system, an acquisition system and a processing system. The illumination system allows setting the best lighting conditions over the objects to be acquired. The acquisition system obtains images from the objects and transfers them to the processing system. The processing system analyzes these images and transfers the results to some external systems; it can also collect information from external systems such as sensors or databases. The particular implementation of each one of these systems depends on the application, so that, a generalization is not possible. However, there exist common characteristics of the real-time computer vision applications that allow defining a general modular architecture for the acquisition and processing systems. A modular scalable architecture simplifies the design and the implementation of the whole system. Modularity allows splitting a complex problem into simpler ones and using only those modules that are required for a particular application. Scalability of the architecture involves that, if the system becomes more demanding (in speed, image resolution or processing), it is possible to upgrade its performance by adding the proper modules. The design of the architecture cannot be independent of the platform. We center herein in an Intel platform that uses commonly available PC components. PC-based computer vision applications running under Windows operating systems are becoming de facto standard in industrial applications. This is the reason why we deep into the design of a PC-based modular scalable architecture for computer vision applications. A different approach is taken by some other authors that center on the design of specific boards for image processing [1], [2], [3].
Real-time computer vision applications are, for example, those that provide a classification of an object moving on a conveyor belt before the next object on the conveyor belt is ready for acquisition. Another real-time vision application is the one that provides the 3D displacement coordinates of a vision-guided robot system when the robot requires them. The particular time involved in these systems depends on the particular application (from milliseconds to many seconds or minutes). The relevant characteristic of real-time systems is not the whole time required but the variation of this time due to uncertainties. These uncertainties can cause the system to fail if not taken into account. Therefore, real-time applications add special requirements that need to be taken into account when defining a PC-based architecture under a Windows operating system. There exist other operating systems or even extensions of the Windows operating system that are specifically designed for real-time operations [4], [5]. However, we center on commonly used operating systems, such as, Windows NT 4.0 (or its successors Windows 2000 and Windows XP, which basically preserve the same kernel) because of the availability of code, libraries and drivers that facilitate the integration of common off-the-shelf hardware and software components.
We describe in this article a modular and scalable architecture for general PC-based real-time vision applications. 2 Modular architecture, 3 Real-time considerations are devoted to describe it and to analyze some real-time considerations, respectively. The implementation of this architecture is exemplified in Section 4, where the details of a real-time application that has already been installed in a manufacturing company are shown. Finally, Section 5 summarizes the main conclusions.
Section snippets
Modular architecture
Computer vision systems can be divided into three main systems: an illumination system, an image acquisition system and a processing system. As for the acquisition and processing system, we define a modular architecture that facilitates scalability and interaction between them. The architecture is shown in Fig. 1.
Real-time considerations
A real-time vision system involves both real-time acquisition and real-time processing. Real-time acquisition means that the camera has to acquire the image of an object or a particular part of this object whenever it is in the camera's field of view. Real-time processing means that the result of the computations must be provided before another acquisition occurs. The correctness of the results not only depends on the logical correctness of the computations, but also on the time at which both
Application
In this section, a real-time vision system for TV screen quality inspection is introduced. The system, which is already installed in a manufacturing company, has been developed using the scalable off-the-shelf modular architecture introduced in the previous sections.
The object to be inspected is the glass surface of TV screens. The defects on this surface can be either due to bubbles inside the glass or inhomogeneities in the phosphor distribution. The phosphor coats the inside surface of the
Conclusions
We have defined a modular and scalable architecture for PC-based real-time vision system that has been exemplified with a successful application already installed in a manufacturing company. This architecture encompasses both the acquisition and the processing system.
The acquisition system is composed of acquisition modules. Each module is composed of a group of up to three monochrome cameras and one frame-grabber. The scalability applies to both the number of cameras that compose the module
References (17)
- et al.
Accurate and real-time image processing on a new PC-compatible board
Real-Time Imaging
(2002) - Ranganathan N, Sastry R, Venkatesan R. Smac: a VLSI architecture for scene matching. Journal of Real-Time Imaging...
Median and morphological specialized processors for real-time image data processing
EURASIP Journal on Applied Signal Processing
(2002)- et al.
Windows NT as real-time OS
Real-Time Magazine
(1997) - Yasu Y, Carcassi G. Evaluation of a real-time extension (RTX) on Windows/NT, Atlas DAQ. Available from...
Image acquisition
(1996)- et al.
Industrial image processing
(1999) - Microsoft Corporation. MSDN home....
Cited by (7)
A distributed system for computer vision quality control of clinched boards
2004, Real-Time ImagingSoftware architecture for time-constrained machine vision applications
2013, Journal of Electronic ImagingA flexible software architecture for scalable real-time image and video processing applications
2012, Proceedings of SPIE - The International Society for Optical EngineeringParallel image and video processing on distributed computer systems
2010, WSEAS Transactions on Signal ProcessingReal-time image and video processing: From research to reality
2005, Synthesis Lectures on Image, Video, and Multimedia ProcessingSupporting timeliness and accuracy in distributed real-time content-based video analysis
2003, Proceedings of the ACM International Multimedia Conference and Exhibition