Embedded Systems for Machine Vision

What is an Embedded System?

Embedded systems are computers designed for integration with larger pieces of equipment. The computers built into cars, medical instrumentation, and consumer devices like smart TVs are all examples of embedded systems.  The current hardware trend for embedded computing is compact single board computers (SBCs) based on ARM processors running Linux. Systems on modules (SOMs) paired with application-specific carrier boards are also popular, and for applications requiring a powerful small-form computer, SBCs and SOMs built around x64 processors are a great choice.


x64 vs. ARM

Choosing x64 or ARM hardware can have a big impact on other aspects of a vision system.

x64 processors including the Intel Core series are standard for desktop computers. They support Windows and Linux operating systems as well as all major third-part libraries. X64 processors have more computing power than typical ARM processors, but they also consume more power.

The ARM processors used by SBCs are usually packaged as a System on Chip (SOC). In addition to CPU cores, SOCs contain memory, signal processing, networking, USB and other I/O. Many of the SOCs used in embedded systems were originally designed for mobile phones.  ARM SOCs are less powerful than x64 processors, but much more compact and energy efficient. Software support for the ARM architecture is limited (E.g. Windows is not supported on ARM). Many Linux distributions are available for ARM, though not all software and device drivers are supported. 

The FLIR Spinnaker SDK supports ARM and x64 hardware.

 Advantages of Embedded Systems

Compared to traditional PC hardware, embedded systems are compact and inexpensive. While individual components of SBCs can’t be replaced, additional connectivity can be added using expansion boards connected to GPIO. A wide range of accessory boards that can quickly expand functionality are available for the popular Raspberry Pi. Many SBCs are also available which share the same GPIO layout.



Fig 1. Accessory boards can attach to the GPIO pins of SBCs to add additional connectivity like USB Ports (left) and relays (right).

For more demanding applications, SOMs paired with carrier boards provide even greater flexibility. The Nvidia Jetson TX2 is a SOM. It has a powerful ARM processor, 256 core CUDA enabled GPU, and Memory and I/O controllers packaged on a compact module. A carrier board is required to supply power to the SOM and provide connectors for USB, GigE, and GPIO. 


Fig 2. Pairing an SOM with different carrier boards can optimize the connectivity and physical dimensions of an embedded system for a specific application.

The computing power of embedded hardware can reduce a vision system's dependence on central servers or cloud computing platforms. By performing image processing on embedded systems located near the cameras, latency and bandwidth consumption can be reduced and throughput and information security increased.

Learn more about edge computing

By switching from traditional PC hardware to an SBC or SOM and carrier board you can create smaller, more power efficient, less expensive systems.


Fig 3. Benchmark results comparing the relative CPU power, memory bandwidth, and energy consumption of a range of SOCs and CPUs available on SBCs and SOMs.

Leverage FLIR Cameras and Software In Embedded Systems

FLIR’s Spinnaker SDK supports Windows 7/8/10 and Ubuntu 14.04/16.04 on x64 hardware, and Ubuntu 14.04/16.04 on ARM hardware.

FLIR cameras streamline the development of vision applications for the edge. FLIR cameras reliably capture detailed images in challenging lighting conditions by pairing the latest CMOS sensors with advanced auto-control algorithms for color correction and exposure. FLIR Blackfly S cameras feature Sony Pregius sensors with high quantum efficiency and low read noise, enabling clear image capture in low light. Wide dynamic range ensures details will be captured in shaded and brightly lit regions of high-contrast scenes.

FLIR cameras’ powerful onboard image processing includes color interpolation, sharpening, and gamma correction, reducing host-side processing requirements. Support for the IEEE 1588 Precision Time Protocol makes it easy to synchronize the GigE Blackfly S to a common time base with other IEEE-1588-enabled devices.