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
|
- Processor optimized for certain tasks
- Energy Efficiency
|
- Reduced flexibility
- Often closed and proprietary systems
|
ARM + FPGA
|
- Excellent flexibility in performing different tasks
- Energy Efficiency
- Standard and open systems
- Good computing power
|
- Difficulty in programming FPGA in an optimized way
|
ARM + GPU
|
- Excellent flexibility in performing different tasks
- Energy Efficiency
- High computing power
|
- Energy Efficiency
- Easy to program
|
CPU + VPU
|
- Good flexibility in performing different tasks
- Energy Efficiency
- Good computing power
|
|
X86 board
|
- Excellent flexibility in performing different tasks
- Highly customized
- Good computing power
|
|
A smart camera may also feature a GPIO and a communication interface.