Convolutional neural networks (CNN) are a common method of machine learning deployed in tandem with embedded vision systems. CNNs are widely used in pattern and image recognition applications – they show far more advanced results than other forms of machine learning for these types of tasks.
CNNs are a fascinating method of automating the image classification process. But what is a CNN? How does it work and what role does embedded vision play?
What Are Convolutional Neural Networks?
CNNs are essentially a system of interconnected, artificial neurons that exchange messages about inputs of visual data. Most CNNs are built in a layered structure, with each layer trained to respond to information received from a previous layer. Each of these layers is built so that pattern recognition is progressively complex after each layer detects visual data.
For example, the first layer is intended to detect primitive patterns in images, the second layer detects patterns in the primitive patterns, the next layer detects more patterns in these patterns, and so on until an image is recognized.
Can CNNs Work with Embedded Vision?
Traditionally, machine vision systems would need to be manually taught every defining characteristic of an object in order to recognize it. CNNs automate this process. They’re trained by being fed a large data set of pre-classified images – as it makes mistakes in recognizing an object, it automatically adjusts its own classification parameters. The result is a system that can continuously learn and doesn’t have to be manually taught every possible point of classification.
Embedded vision systems with CNN capabilities are possible, but they must have extremely high computational performance to meet the demands of CNNs. Similarly, embedded systems must have large bandwidth capacities with low power consumptions to facilitate the processing of billions of MACs per second. Ideally, the embedded system will be flexible too – that way the CNNs inherent ability to constantly improve can be accommodated effectively.
Embedded vision systems can provide important visual data for the training and implementation of complex CNNs, as long as they’re able to stand up to the extreme performance requirements.
CNNs are complicated algorithms that automate the process of defining classification parameters that may one day be widely deployed in a number of different industries.
To learn more on this subject, see a real-life implementation of embedded vision and CNNs by watching this AIA member video on CNN on FPGA.