Smart camera
Smart Camera
A smart camera is a basic vision system containing:
- a sensor
- an image digitization system
- an image processing system
A smart camera is slightly larger than a normal camera.
Through evolution smart cameras are no longer relegated to simple tasks (such as reading barcodes) and are a valid alternative to the classic setup consisting of a camera and a computer.
At the moment, the main differences between smart cameras are in the processing unit, which may be based on:
- a DSP, which is a processing unit optimized for specific tasks. It is less flexible than other solutions and often needs proprietary utilities to be configured
- ARM + FPGA. The ARM processor is often used for generic applications, while the FPGA is only used as a performance accelerator. It provides greater flexibility compared to the setup based on a DSP. The support is often limited to Linux, but with certain frameworks one can use code written by the user.
- ARM + GPU. The GPU is used as an accelerator, as in the previous setup.
- CPU + VPU. A Visual Processing Unit is often used as an accelerator together with a CPU (ARM or x86) with generic tasks. It differs from ARM + FPGA or ARM + GPU solutions, as the chips are not in the same SOC. There are no substantial differences on the user’s side.
- X86 board. The setup is more similar to a PC. It allows for great flexibility, as it can support different operating systems and code written by the user.
Table with pros and cons of different solutions:
Platform |
Pros |
Cons |
DSP |
|
|
ARM + FPGA |
|
|
ARM + GPU |
|
|
CPU + VPU |
|
|
X86 board |
|
|
A smart camera may also feature a GPIO and a communication interface.