The need for intelligent systems

Machine learning provides developers with the ability to design a completely new class of system, intelligent systems. Intelligent systems are growing in importance because they enable developers to do the following:

  • Solve problems that are not easy for a human to code for
  • Scale system behaviors and results based on new data and situations
  • Perform tasks that are easy for a human but traditionally difficult for computers
  • Decrease system costs in certain applications
  • And because it's cool and cutting edge

Machine learning can be applied to a wide range of applications:

  • Image recognition
  • Speech and audio processing
  • Language processing
  • Robotics
  • Bioinformatics
  • Chemistry
  • Video games
  • Search

The applications can be quite varied depending upon the processing power that is available to an application. For example, examine the following diagram:

As you can see, at the low end of the power spectrum, microcontrollers based on the Arm Cortex-M processors can be used in real-time systems in applications such as keyword detection, pattern training, and object detection. These applications are often associated with IoT-based applications. As the energy profile for the processor increases, additional application domains start to become possible, including autonomous vehicles at the high end.

From a microcontroller perspective, there is a wide range of processors that can be used for machine learning. These can generally be categorized into small, medium, or large microcontroller systems, as can be seen in the following diagram:

The project that we will be experimenting with within this chapter will utilize an OpenMV camera module that is based on an STM32 microcontroller, which falls into the medium category. In general, with today's technology, at a minimum, a developer would want to use a medium system to run any machine learning inferences. It is possible to do this on a small system, something that is becoming easier as technology advances, but if you are new to machine learning, then I highly recommended starting with a system that has more processing power.

For microcontroller-based embedded systems, the most common application to date is for speech recognition and image recognition. For speech recognition, a common application is to use a small microcontroller to recognize a trigger word that then wakes up an application processor. The application processor has much more processing power and can then perform full speech recognition or interact with a user or the cloud much more efficiently. Image recognition is being used in all sorts of applications, ranging from object detection to facial recognition. This chapter will focus on object detection.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.213.128