Decision making

Once a production tool is instrumented, the data acquired and processed, a company will try to take advantage of all this information. Depending on the task to achieve, this step difficulty ranges from easy to very complex. There are also many different methods available to make the decision:

The old fashioned methods

They are mainly based on thresholds definitions and they have proven their efficiency in simple cases. We will opt for such methods as soon as possible because they are easier to implement. Furthermore, the customer has a better understanding of how the system works. For instance, one can figure out directly how the behaviour of the system is modified by reducing or increasing the threshold. On the other hand, the processing time might rise because of the complex mathematics needed to ease the decision.

Machine Learning

When the defaults identification is complex or their variety is too wide, we will take advantages of Machine Learning algorithms such as deep learning with Convolutional Neural Network for instance. Although the learning time might be longer, once the model trained, this method will bring the inspection solution to a higher level of accuracy and flexibility. This method allows the definition of default classes. It can be useful for building statistics, identify a degradation of the production tool, sort the parts…

The training process principle is quite simple : thanks to the acquisition software, we generate a database of labelled images (with or without defaults). Once the amount of samples for each category is sufficient, we start training the model. Its architecture varies from one project to another because the number of layers and neurons by layer determine the size of the detectable defaults. Again, our experience will be very useful to achieve this touchy task. This step ends when the trained model meets the requirements in terms of good predictions.

We implement the Artificial Intelligence thanks to Python and Tensorflow. The basis of our solutions keeps being programmed in LabView and we settle a communication between the two platforms allowing asynchronous calls and independent instances. Using tensorflow keeps us up-to-date and give us access to a very large community which could contribute to the improvement of our solution. For our customers, the python calls are invisible. The only interface that they use is the user friendly interface that we designed according to their requests. Our customers don’t need to write command lines on a black prompt!