Two things have moved deep-neural-network-based (DNN) machine learning (ML) from research to mainstream. The first is improved computing power, especially general-purpose GPU (GPGPU) improvements. The second is wider distribution of ML software, especially open-source software.
Quite a few applications are driving adoption of ML, including advanced driver-assistance systems (ADAS) and self-driving cars, big-data analysis, surveillance, and improving processes from audio noise reduction to natural language processing. Many of these applications utilize arrays of GPGPUs and special ML hardware, especially for handling training that uses large amounts of data to create models that require significantly less processing power to perform a range of recognition and other ML-related tasks.
1. Digi International’s ConnectCore i.MX53/Wi-i.MX53 runs NXP’s i.MX8, which is able to handle machine-learning chores.
For example, Au-Zone Technologies’ DeepView takes advantage of the GPUs in NXP’s i.MX8. The i.MX8 is ideal for many embedded applications, and its dual GPU allows it to split video display and ML chores if necessary. The DeepView toolkit can be used for applications like industrial vision processing or ADAS. It’s optimized for the i.MX8, like the one found on Digi International’s ConnectCore i.MX53 (Fig. 1), but also works on other platforms.
ML video processing requires hefty processing power that ML DSPs, like Cadence’s Vision C5, and GPUs can provide even on single-chip SoCs. Specialized hardware such as Intel’s Movidius machine-learning vision chip delivers even more performance using less power, suiting it for real-time video processing in drones like DJI’s tiny SPARK (Fig. 2).
Many ML applications are able to run without this heavy-duty hardware. Of course, these applications can’t be processing 4K video streams either. On the other hand, doing basic image recognition on a low-resolution image that’s taken once a second is something that many platforms (e.g., an ARM Cortex-M4F) can easily handle.
2. DJI’s SPARK uses Intel’s Movidius vision chip to augment everything from object identification to gesture recognition.
A number of ML frameworks—Caffe and TensorFlow, to name two—are open-source projects. However, many products are not. Nonetheless, quite a few open-source ML models are available for a host of applications that have already been trained. These are often used in applications like academic robot research programs, where cost could eliminate the use of some tools.
Still, many open-source projects build on these frameworks, such as H2O.ai’s H2O. H2O is a tool that greatly simplifies the creation and tuning of ML models that would otherwise require someone with significant ML experience. H2O’s AutoML brings the creation of ML models to a higher level, enabling non-ML experts to more easily select and refine models and train them.
One of the other two alternatives to H2O is to employ existing models that may be trained or have been trained and use them on embedded platforms. The other option is to build a new model from scratch, which can take a good bit of expertise and experimentation.
ML doesn’t fit into every application, and not all embedded platforms will have the memory or computing power to incorporate ML technology where appropriate. However, the improving hardware and availability of ML software makes it possible to use the technology in more applications these days.