We use deep learning based computer vision technology for the development of the system. With the usage of deep learning, the goal is to minimize human intervention and achieve human like accuracy.
We extract features from the data collected in the first step using Convolutional Neural Networks (CNNs). CNNs look for patterns in the images. The first layers of the CNNs, regular features like lines/curves and edges can be detected. As we go deeper into a CNN network, more complex features are extracted which are vital to detect and classify the defective products.
For predictive quality, we used Long Short Term Memory Networks (LSTMs). LTSMs are special type of Recurrent Neural Networks (RNNs) which are capable for learning long term dependencies . LSTMs use gated cell to contain information outside the flow of RNN. Much like memory in a computer, data can be written to and read from this memory cell. Decisions like what to store and when to allow the read operations are taken by the cell itself. These storage cells are analogue in nature unlike the storage on a computer. They are implemented by element wise multiplication of sigmoids and their analogue nature make them suitable for backpropagation.
The data that we were dealing with was time series data and unlike predictive modelling using regression, time series data also has added complexity of sequence dependence. LSTMs are very effective to model problems having multiple variables. They also offer a lot of flexibility in terms of parameter control and tuning. Several combinations of LSTMs can be used to forecast time series (one to many, many to many etc) . There are also many customization options when working with LSTMs. Remembering information for long term is the default behaviour of LTSMs and this is why they are so helpful in solving the time series prediction problems.
We train the CNN model with thousands of images of the product and let it learn the different types of defects from the data itself. Once the training process is complete, it’s time to deploy the model.
Once the model has been trained with extensive dataset, we deploy the model. This step means having the model be accessible to anyone who can use it to see or measure or calculate something. We use “” for rapid sharing and testing of the model.