Smart Cameras Are more than Only Stand-alone Systems
Both in independent companies and in big corporations you will not only find the intelligence at the company headquarters but also in the local subsidiaries and every single employee. They complete the work assigned to them and deliver results, or at least filtered intermediate data, to headquarters - an optimum and efficient function. Although this is common practice in the real world it is not always implemented in industrial image processing. The following article shows how this could be done more successfully with the aid of smart cameras.
Nowadays, smart cameras are considered stand-alone solutions which complete all inspection processes from the processing of data to the setting of control signals. However, there are many tasks that need, due to legal or quality specifications, the complete storage of production data, test results, etc. on a server (keyword: traceability). This also applies to PC-based solutions with standard analog or digital cameras. Consequently, a complete processing chain starts at the sensor and leads to a server.
The real-time requirements decrease constantly along the processing chain towards the server. In contrast, the sensor, its trigger and where necessary the pre-processing are capable of real-time. Nevertheless, not every application needs immediate inspection results to control ejectors or defect marker systems instantly. For surface inspection of webbed materials e.g., the detection of a defect suffices in many cases. The classification of the defect can be done later. As long as the machine vision system can create an exact time stamp and store the position of the incremental encoder, it will be possible to reconstruct the position of the defect later on. For the "pre-processing" part of the processing chain the demand for real-time capabilities could be dispensed with. It is important to find the point in the design of a machine vision system where the real-time capabilities are no longer essential. The earlier this position is in the processing chain, the simpler is the system.
Current trends in digital cameras are moving towards bus systems like IEEE1394, USB and Gigabit Ethernet, which are not capable of real-time.
If applications with digital cameras do require complex trigger and flash control, cameras with I/O and trigger inputs like the mvBlueFox may be used or separate I/O boards come into operation.
More Intelligence for the Camera
When using I/O boards some uncertainty due to the latency of the bus systems still persists. Is it therefore not more sensible to move the real-time relevant features into the camera and thus simplify the local system? An example for this would be the integration of a hardware real-time controller directly into the camera. But why stop there with the functionality of the camera? In much the same way, an image-dependent trigger, a time stamp generator or a scene-dependent flash control, for which the camera acquires several images with different flash times and chooses the image with the best illumination independently, could be integrated. Furthermore, the trend towards digital cameras leads to the accumulation of functions inside the camera. To come back to the example of the company: the less frequently a supervisor has to meet an employee, the more independently the latter can work. The more independently they operate, the more employees can be supervised at the same time. Similarly, a downstream PC can coordinate several image processing tasks, if cameras possess the necessary intelligence and meet the real-time demands independently.
In addition to that, intelligence inside a camera offers more possibilities concerning "image interpretation" like triggering on certain image content, pre-sorting of images or the definition of areas of interest (AOI) to check only the relevant areas. The downstream PC or server receives only intermediate or final results. Thus, given that the resolutions of cameras increase, at the same time the data rate will be reduced, which in spite of ever increasing bandwidth remains an important point.
Improvements for the Server
Production plants with many cameras can concentrate their required PC power in server systems. This simplifies the maintainability and increases the reliability by using redundant processor blades, which take over the tasks of any failed processor unit automatically. The trend in the direction of multi-processor architectures can also be met by server systems. These servers are extremely powerful, easy to scale and can be placed in air-conditioned rooms, where IT expert staff can maintain them centrally. The environmental conditions of a PC system in a production line regarding temperature and splash water protection are usually considerably worse and, as a consequence, produce unnecessary expense.
Keys to Success
Smart cameras fit perfectly in the processing chain, even if they do not solve a complete task. A smart camera has to contain at least one set of real-time capable functions in order that a user benefits from the intelligence of a camera and the load on a downstream system is reduced. Ideally, a smart camera can be programmed freely so that it can be expanded with further application-specific functions. At the same time it should be possible to program without a large learning curve. Here, solutions which are based on Linux combine two essential qualities: first of all the programming and the conversion of existing algorithms in source can easily be done and secondly, as embedded systems, they are small, cost-saving and only require little resources.