Computer Vision in Embedded Systems and AI PlatformsBy ZM Peterson • Jan 12, 2020
Automotive safety, security systems, manufacturing, and many other areas rely on embedded systems to operate. As IoT advances penetrate more areas of modern life, more pieces of technology that were traditionally safe from modern computing are becoming embedded systems.
Generally, any electronic system that includes some onboard computing capabilities, whether multi-purpose or specific, can be classified as an embedded system. These systems require hardware design expertise and software expertise. In the realm of computer vision in embedded systems, the hardware design demands can be difficult, but they are becoming much easier to accommodate with the use of a range of commercially available SBCs and COMs. With the right set of design tools and a viable strategy, you can easily create computer vision embedded systems with standard hardware platforms and bring them to market quickly.
Computer Vision, Embedded Systems, and AI Applications
Thanks to the broad range of hardware platforms and the number of open-source libraries for machine learning and artificial intelligence (AI), more computer vision systems can be quickly deployed as embedded systems/IoT devices. Specialized AI applications for computer vision in embedded systems are highly competitive and bring high value. If you can take advantage of some standardized hardware and open-source, you can quickly build a powerful version 1.0 of your new product and get to market quickly.
Computer vision in embedded systems enjoys plenty of applications, especially when artificial intelligence capabilities are brought into these systems. Some important upcoming application areas include:
- Manufacturing and Industry 4.0. Defect inspection, production asset inspection, and asset tracking inside and outside a connected factory will all require some combination of computer vision in embedded systems and AI.
- Autonomous vehicles and robotics. These systems will continue to rely on computer vision coupled with powerful AI models for safely interacting with the world around them.
- Security. Object recognition, object segmentation, facial recognition, pose recognition, and plenty of other audio and video processing tasks become much easier with an AI-capable embedded system with computer vision.
- Customer experiences. Everyone is familiar with recommendation engines in streaming services, which already rely on machine learning models.
Any embedded system you want to use for autonomous computer vision applications (e.g., image and video processing in real-time) will need to run, at minimum, a trimmed down version of a standard operating system and standard libraries for machine learning models. While you could program these capabilities into an FPGA, it is arguably easier to do this with a powerful MCU or computer-on-module (COM).
Going the MCU route typically requires settling for an evaluation board and adapting it to your desired application. Some manufacturers will make their board designs available for free download, allowing you to adapt existing hardware to your particular application. A quicker way to deploy new products in these areas is to design an embedded system on a proven hardware platform with a COM or SoM. Going the route of an MPU-based or GPU-based COM is much easier from a design perspective.
These modules connect to a custom board with standardized connectors, and routing in the board is heavily standardized. These boards do not need to be overly advanced unless you are integrating other modules into a single board, such as GHz RF modules. Aside from this special case, it’s quite easy to take a modular approach and design a small custom motherboard to support a COM alongside other modules.
Example showing how a CoM connects to a carrier board. Image source: Toradex.
COMs that Support Computer Vision in Embedded Systems
The table below shows some of our favorite COMs for computer vision in embedded systems with AI applications.
The table above shows some representative options, and the best board for your system depends on the particular application, budget, models you intend to run, and number of other functions your system will perform. Multiple camera modules can be brought into these systems for capturing images and video, creating a complete computer vision embedded system for applications in AI/ML.
The level of onboard memory is critical in computer vision applications due to the amount of data being acquired at any time. The operating system can take up significant onboard memory, and you may need to include a microSD card to provide more memory. We prefer to recommend clients go the route of Debian for a general purpose computer vision embedded system that uses numeric data or images in relatively low-power AI models. The size of a full Debian distribution reaches ~8 GB, but a trimmed-down Yocto distro is only 1-2 GB, depending on the features you include.
If you’re looking for a design firm to help you build and deploy products for computer vision/embedded systems applications, look no further than NWES. We know how to help you quickly build powerful AI products that are affordable and scaling. We’re also a digital marketing firm, and we can help you market your new product and engage with your target market. Contact NWES today for a consultation.