Active Silicon’s AI series – part 3: Less programming and faster vision solutions with CNNsOctober 18, 2017
It is one of the great goals of computer vision to enable machines to see and understand images like humans. In many regards, vision systems outperform humans already, as long as the task can be bounded by a limited set of rules and conditions – such as geometric measures and tolerances of manufactured parts, or color and evenness of a surface. However, the necessary algorithms require a high level of effort and expertise to be programmed and are lacking the capability of abstraction beyond a certain level of variance in shape and/or texture. This is where Artificial Intelligence can unleash an array of great opportunities.
Nowadays, cameras can capture images at much higher frame rates than humans and without being subject to fading concentration. In geometric measurement and 3D analysis, vision systems are already more accurate and much faster than humans. Yet, before recent breakthroughs in image processing research, most machine vision applications used to be solved by extracting hundreds to thousands of filter and wavelet features from the pixel matrix, selecting those features with the highest information content and providing them to a manually configured or statistically trained classifier. This was enormously time consuming and required a high level of expertise.
Thus, two factors were slowing down the global adoption of machine vision techniques: Firstly, the lack of sufficiently fast, robust or computationally affordable algorithms for image feature extraction and classification. Secondly, and most importantly, the lack of computer vision developers who were capable of implementing solutions to new as well as known machine vision applications with existing algorithms.
How CNNs support vision solutions
Both obstacles are widely resolved by machine learning technologies. With the invention of so called Convolutional Neural Networks (CNNs), an elaborated feature extraction is not required anymore. Instead, the artificial neural network autonomously learns how to analyze images correctly to achieve the desired results. Thereby, CNNs are a special architecture of Deep Neural Networks and the approach is referred to as Deep Learning.
The mathematical model behind these multi-layered artificial neural networks is inspired by the human brain. Highly simplified, these neural networks perform their image analysis and make their classification decisions as follows: Greyscale or RGB pixel values are fed into receptor neurons on the first network layer. These are connected to multiple neurons on a second layer, which again are connected to neurons on several following layers and finally to a layer of a few output neurons. In each of these millions of connections between two neurons, the signal is either amplified or damped by a weighting factor. In the learning phase of such a network, three things are optimized to maximize recognition rate: the number of layers, the number of neurons per layer, and the weighting factor in each connection.
Thanks to this powerful machine learning approach, system engineers today just need to train a CNN with adequate sample images, e.g. of good and bad items in quality inspection, of skin carcinoma or fish lice. Quickly, the algorithm can be trained, tested and put into operation. These techniques accelerate the adoption of machine vision in many more applications, enable solutions for previously unsolvable problems, and reduce costs.
What part can we play?
We at Active Silicon support the advancement of artificial intelligence in machine vision as our engineers ensure our embedded systems are ready to accommodate deep learning architectures. We will be ready when AI enables enhanced complex systems for industrial, medical, scientific, traffic, or security purposes on a large scale.
Would you like to know if your imaging challenge can be solved by artificial intelligence? Please contact us and let us find the answer!
Follow our blog and social media channels to stay up to date on developments!