Incorporating computing capabilities into IoT devices has become an inevitable trend as intelligent devices are needed to facilitate local data processing in order to limit cloud traffic and to avoid bandwidth saturation - two important aspects for stable operations in IoT application scenarios.
In order to enable more distributed intelligent automation, two paradigms have collided: Edge Computing and Artificial Intelligence (AI). This collision has created a new field - Edge Artificial Intelligence (or Edge AI) - that is already sparking the next generation of intelligent cyber-physical systems, context-aware internet of things and even distributed business intelligence.
For instance, images from cameras capturing the objects and movements of what is happening in a variety of scenarios are very common as the main data for smart applications that are analyzing and processing information about vehicle traffic, crowded spaces or flood level of a river crossing the city. To prevent sending all images from all cameras to a Cloud Data Center to process these datasets and to provide a fast response, this image processing should run at the edge of the Cloud.
However, image processing can only be done if the IoT device has Computer Vision capabilities - some types of AI algorithms for acquiring, processing, analyzing and understanding digital images in order to extract high-dimensional data from the real world to produce numerical or semantic information.
With the ability to extract and send to the Cloud of only the learned information, Edge AI devices are reducing considerably the network demand, improving the responsiveness of the systems and the capacity of adapting to rapidly changing situations. Moreover, such devices located at the edge of the Cloud have the capability of performing complex sensing and analysis with limited hardware resources even in the absence of the Internet connection.
A short review of three embedded computers employed as Edge AI devices in previous projects that I managed can be found here. Embedded computers have evolved a lot lately and currently they provide great hardware and economic efficiency.
In order to balance the AI processing with network traffic to the Cloud, a question that arises is how to design the architecture pattern to enable a leaner deploy of AI at the Edge. I will address this topic in a subsequent posting in which I'll describe three common architecture patterns found in Edge AI systems: swarm patterns, control patterns and graph patterns. Stay tuned. ;-)
Comments