Multi-functional smart camera

Multi-functional smart camera.


The goal of the development is new series of Smart Cameras (SC) development.

The market target of SC is OEM embedding into broad kind of machines for real time measurements, quality assurance, machine parameters correction, objects tracking and so on.

The main target is to provide ready for marketing device in shortest possible time. We expect, that device for debugging could be provided in 3-4 months, ready for installation device will be ready in 6-7 months.

1.      The main differences of new SC from existent are:

1.1.   Full functional compatibility between models (till computing power is enough for real application) and with PC image processing emulator.

1.2.   Possibility for functionality extension without hardware reworking (emulation of image processing on PC and algorithms embedding into the same SC hardware).

1.3.   Mechanical flexibility: SC will consists of set of boards, which could be mechanically connected in several ways (compact cube module, plain ⌠like one board■, ⌠corner■ form and so on┘ )

1.4.   High current light control.

1.5.   Possibility to process series of images, synchronized by external encoder.

1.6.   Higher processing speed for lower cost

1.6.1.      We expect, that low end models of new SC will be cheaper, than cheapest models on the market with much more power.

1.6.2.      Processing power will be provided by original combination hardware ⌠on the fly■ and software algorithms, realized by SC CPU. As result, requirements to the CPU will much lower with correspondent camera cost decrease.

1.7.   3D reconstruction of industrial models will be supported on a host of one of the cameras (necessary multi camera sync will be provided).

2.      The development will be done in several steps. Some of them could be done in parallel.

2.1.   Measurement function interface development. All types of operations will be performed through this interface for all kind of hardware/software splitting (PC/SC software/SC hardware).

2.2.   Processing description interface development. The next data is necessary for SC functionality:

2.2.1.      Capturing conditions for all images (external triggers, encoder states, previous image processing results and so on).

2.2.2.      Positions and types of key image elements (if these elements are not present, may be not necessary to continue measurement, till these elements will be found on some images).

2.2.3.      Image calibration elements and base points.

2.2.4.      Position and types of all image elements for measurement. Positions could be absolute or relative to base points, i.e. to already found and measured elements.

2.2.5.      Result processing algorithms: usually measurement results are used for common processing. For example, if some sequence of images is, there is necessary to take measurement results from separate images and to produce some valuable final result.

2.2.6.      Result presentation description: results will be used in real time in some machine, and SC should provide proper format (generate and send some messages or provide some analog output or provide digital output and so on.).


2.3.   Interface to the external programs development: usually, one or several SC should be controlled by external system.

2.4.   Camera hardware development. Approximate block diagram is below.





Yellow marked modules are placed in one FPGA. All image processing operations could be done in FPGA (hardware processing in Data receiver and formatter), CPU (embedded software processing) or in host (mainly, for debugging purposes). Switching between these modes will be done in system control application, running on host. This flexibility is one of the project keys, which lead to very fast first product development.

The second key is, that 32 bits DDR2 memory gives data transfer speed 2.5-3.0 GB/sec. Real sensor could give not more, than 50-100 MB/sec. The difference could be used for additional intermediate images saving. Usually, when image processing realized by PC software, these images are formed by program, and such operations take very big percent of processor power. If hardware will form and save these images or, what is very important, combinations of these images into RAM without processor involvement, CPU will do rest of operations very fast.

Light drivers are very important part of the system: any light sources will be possible to connect directly to the SC without any amplifiers. This light sources will be developed mechanically by customer (or by our team by separate order).

Proper mechanical connection system should be developed. Connections to the existent cameras demand very big clearance around camera for connection. As result, there is impossible to embed very small device to the machine.

2.5.   ══Software should be prepared for SC group working (for 3D or very high speed processing by several cameras).

What is important in this project, that our existent image processing code doesn▓t use any external libraries and doesn▓t have any connection with CPU architecture, i.e. it could be transferred to the any platform very fast.

Expected processing rate is up to 100 frame per second for full frame (~800x600 pixels) or up to 1000 frame per second for smaller area.

Sensor technology is CCD (for high quality images) and CMOS (for high speed with processing of image part). Sensor module will be replaceable, as in other systems.

SC could be equipped with LAN, USB-2, 1394, RS-232, CAN-BUS, I2C interfaces. Last two interfaces are very important, because provide possibility for very simple connection inside equipment and using without host involvement in product. Debugging will be possible to do with other interfaces.


3.      Applications.

3.1.   Measurements of simple geometrical forms on series of images with digital or analog feedback. Example √ real time parameters correction in high quality printers.

3.2.   Tracking of some object with analog or digital feedback. In some cases SC could be directly used as control system for motors.

3.3.   High speed quality control (now it▓s usual application for SC). Advance of new SC is simpler embedding into existent machines.

3.4.   OCR on moving objects (like car numbers, labels and so on). This task could be combined with pattern recognition.