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.
3.5.