Ready or not?
Deep Learning: Science Fiction or Reality?
There is no need to learn e.g. TensorFlow to successfully apply deep learning. But how complex are actual deep learning solutions for machine vision and which applications are they good for?
From the point of view of a regular user of machine vision systems the topic of deep learning might be confusing. This highly disruptive technology is relatively young and different experts of the field provide contradictory explanations of the subject. Some say that deep learning can behave like a human being, some say it is just sophisticated classification. There is also a question of the skills required for the user to effectively take advantage of it. Does it require a PhD diploma in machine learning or is it suitable just for every regular production worker? In short, each of the answers may be correct depending on the context the speaker has in mind. In this article I will explain it from the point of view of vision-based inspection systems.
The first time I met deep learning in reality was when a colleague of mine showed me how well his brand new phone could translate his voice into written notes. It was a time when I had only seen some early voice recognition systems for cars which had real trouble understanding a simple command such as ´home´. Then the progress was fast and remarkable. Soon after we heard about deep learning being successfully used in recognition of hand-written letters, in classification of objects on images or in programs that played chess better than any program had played before. Today the most interesting commercial topics became medical diagnosis, driving autonomous vehicles, automated harvesting and industrial quality inspection.
Deep learning for industrial vision
To efficiently discuss these applications we must not confuse the underlying theory and technology with real-world products. This is like discussing software in 80′ or early 90′. Some notable people were thinking at that time that everyone would be coding in the future. This was not true. What we needed were software programs that could be learned by everyone, such as office suites or CAD. It is now similar with deep learning. We cannot expect industrial engineers to learn deep learning frameworks such as TensorFlow or Caffe, or to learn Python programming language. These are tools for specialists who use them to develop software tools for specific applications. One application is recognition of roads and traffic in autonomous vehicles, another is software that recognizes cancer on x-ray images of lungs. For industrial quality inspection application it becomes a bit more complicated as each of these applications may be totally different from another. Nevertheless, we concluded – and our findings here are consistent with other key software suppliers – that we can identify several classes of tools that may cover a large variety of cases.
The most basic class of tools that introduce deep learning to industrial vision systems is Object Classification. It is well known from easily available open-source networks that accept an entire image on the input and produce the name of the most prominent object on that image. It can be used to classify different types of fruit or meat, and can also be used as a post-processing step in defect detection applications (to identify the type of defect). It can be fast and very reliable, but the number of real-world applications is rather limited.