 I am Sonam Pankaj. I am the lead software engineer of Solinars Integrity, which is an incubated IIT Madras. And I also served as ex-visiting faculty for robotics and computer vision at PES University. I also had work on autonomous vehicles, CNN, and other neural network algorithms. So, today we will be presenting your talk of solving industrial problems with machine learning. These days there's a very good concept going on, a big concept going on on industry 4.0. Now what is industry 4.0 is your fourth, it is considered to be the fourth generation industrial revolution. All the new technologies that is coming up with machine learning and IoT and AI, all integrated with one. And one of the biggest thing is, it is estimated globally that it is a $1 billion market in 2018, which is going to be $16 billion market in 2025. So, it not only includes manufacturing, it also includes your inspection services and your predictive maintenance, logistic maintenance, all this. So, the outlines will be something like, I will be introducing to one of the problem statements. The limitation that used to exist without machine learning, and what's the need of automation in the industries? Why to digitize industries? And then the previous methods that were used in the computer vision. And one of the major image processing concept that I am using is grade level co-opness matrix. And how I use psychic image to extract data, make my own data set. There will be, and this is very important that I thought making linear regression, logistic regression and support to get into that black box of classification. Mostly what we do is just import the library, input the data. We do not understand what is going inside that black box. So, we will spend a little time what is going inside that machine learning black box. And then the application of SVM algorithm using SQL learn. Other examples of machine learning industry, you will know how other, like I told you, corrosion estimation is our focus today. But I will tell you what others are, others basic machine learning industries examples. We will also have a demo video example. So, basically we focus on ONG pipelines. So, ONG pipelines have to be frequently inspected to avoid any kind of catastrophic accident. So, you can see the casualties cannot only cause the loss of property and life. These industries have to incur crores of money again to reach that level again. So, and these pipelines go to miles and miles from ports to major cities and then cities to cities. And they go through underground, forest, populated areas, undersea. So, there is a very stopological area of making inspection a huge challenge. And also there is environmental damage possible. So, conditional assessment and failure prediction for ONG pipeline is a resource intensive task. But thanks to the huge advancement, we are able to make it more safer and efficient. Our focus will be corrosion estimation using machine learning and how they are able to have a better assessment of their pipelines. So, there are limitations without machine learning. So, previously we mostly used to use sensors, various sensors. Thermography sensor, eddy current sensor. So, thermography basically works within a particular range, which is very bad because then it can lead to misleading information if the temperature is not maintained. Eddy current also had some limitation that it also, it has to be. So, sensors doesn't matter what, it gives certain kind of limitations to these industries. So, automating the detection. So, what is the need of, as I told you, why are we opting for automation? As you know, it is very difficult for a person to sit and see videos which is stressed for miles and point out all the detection like leaks or corrosion sitting there. And there is a high chances of human error. So, the solution is making the whole process automated. Okay, so this is the previous methods that computer vision people used to have, which is basically was based on the color channels. Okay, so they used to use color channels like RGB or HSV to detect the corrosion. But because our conditions are inside the pipelines, we cannot, we do not have that much of flight or outdoor limit. So, which limit our use of these kind of classifications. Then the other form could be use the CNN. Okay, but as you know, CNN is very good at understanding feature edge detections and bigger features. But it is not good for detecting a corrosion because corrosion is very much having a less numbers of feature. So, not in a feature was a problem in that. So, we thought of using something called information theoretical criteria, which uses to differentiate a natural in a man made substance. So, if you see a man made substance like steel, which has been just produced, it is very polished. It is very shiny. There is nothing randomness in the pixels. But if you see a natural thing like a corroded patch, it is filled with randomness. The pixels change very abruptly. Okay, so, yeah, so we get into this GLCM. Now, what is co-occurrence matrix? So, co-occurrence matrix is a matrix which is a statistical method for examining the texture data, considering the spatial relationship. So, if there is one and one occurring beside each other, so it will keep a track that how many times it has occurred. So, we produce a co-occurrence matrix and this occurs in gray level. That is why the name is the gray level co-occurrence matrix. And there is a direct library for it called scikit image in scikit image called scikitimage.feature gray co-props. So, what this does is gives you directly the features like contrast, dissimilarity, homogeneity, energy and correlation. So, for detecting corrosion, we are using the two very important features from this contrast and energy or entropy. So, here is the code for skimage.feature. You can see the third line here, the gray co-matrix and gray co-props. We imported the data. Here g is equal to gray co-matrix. We imported the image that we want to extract data from. We gave the spatial relationship and we gave the angle in which we want the spatial relationship. Now, we got the entropy and contrast data directly from the library called gray co-props. We saved it. The data looks something like this. So, these are contrast and these are entropy data and all the plus one represents the corrosion data and all the zero represents the uncorrelated data. So, this way we are making our own data set. A little bit about machine learning. Most of you might be knowing about linear regression logistic regression. We just will go through in a quick way. So, linear regression is just fitting a line going through the maximum number of data set. So, we have parameters. We have .x. So, the red line you are seeing here is your linear prediction line. So, how do we train a linear regression is we tweak the parameters and minimize the minimum square error. So, the only thing we make tweak is the parameters. So, data at theta t, theta transport dot x. Logistic regression is very easy. It's like a binary classification zero or one. You gave any point it either falls in zero or either falls in one based on the threshold. So, the sigmoid function is actually the probabilistic interpretation of logistic regression. To summarize, we will go into each point of SVM. So, to summarize SVM, it is maximizing margins and extend the above definition. Nonlinear separation have a penalty term for misclassification and to map the data set in three dimension. So, what is hyperplane? So, the basic difference between a logistic regression and a perceptron, which is one single node of a neural network, is the perceptron works on the hyperplane level. So, now what is a hyperplane is a question. So, if you have to define a line, how do you define a line in a vector form is a point with a direction. When you have to define a plane, a plane is a line with a direction. So, now what is a hyperplane is a n minus one direction in n vector space. So, when you are differentiating points in a hyperplane zero or one, w transpose dot x greater than zero are all the positive and negative points. So, in support vector, all the last dots, all the last points are your support vectors. And the difference between them is the margin. So, in SBM, we want to maximize those margins. And in soft margins, what is the previously we used to do was the hard margins. So, none of the positive can ever occur in the negative point. None of the negative can occur in the positive point. So, this had created problems in the past. So, what we do is we introduce a penalty term called slack variable. And we can allow any of the positive to come to the negative. And any of the negative to come to the positive just minimize the penalty, minimize the misclassifications. So, the kernel transformation is an important concept here. So, suppose I have a non-linear data set which occurs in the circular form. And I cannot differentiate it with a line. I cannot differentiate it with a plane. So, what I can do, I live in a 2D world. I am a flat lander, I live in a 2D world. So, there is a friend of mine who is known as kernel. And he helped me to project all my data set in a three dimension. So, we will see how it happens. So, this was my data set. I didn't know how to differentiate it. What kernel did? It transport all my 3D points in a 3D plot. So, now I will be able to easily differentiate all the positive from negatives. So, for our data set, the linear regression and logistic regression were not performing well. So, we extended the problem with the three dimension using kernels. So, here we introduce all the positives and all the negative points. And we plotted it. It appeared like this. The maroon points are your corroded pixels and your blue points are your non-corroded pixels. Then we imported SVM from S.K. Learn. And we see svc.fit xy. These bigger blue color circles are your svc plane. So, this is how it differentiated between positive and negative. Now, with the output svc.predict, you are able to give it is going to be a corroded image or not. There is a demo video. I imported one image. I chose one pixel, one coordinate. I got my entropy and contrast data from it. And finally, I predicted using svc.predict. I gave corroded. Machine learning-based predictive maintenance inside factories is also coming up, which is like it can predict that this tool is going to fail or not. Logistic inventory management, defect detections like leaks or corrosion that I showed you, the risk prediction for insurance, industries documentation, digitization of construction sites, product inspection and quality controls and composites in 3D printing and flow simulations. So, as you see, finally we were able to summarize what was SVM, the maximizing margins, minimizing the misclassification number and then transforming the 2D points into your 3D points. Thank you. This is my email address and you can go to the GitHub Sonam Pankesh dash 95. Anybody has questions? One of your application like this corrosion part. So, what percentage of corrosion is permissible? Suppose you are doing ML analysis, so if the appliance is there having corroded, but it's only suppose 5% of the corrosion of the 95% still in the good part. So, how you make it out that whether we should do a replacement or kind of preventive measure. So, what is the kind of? It depends on the industry like if the industry want 90% of should be good, only 10% could be corroded, mostly 90 to 10 is the ratio. Okay. Anybody has more questions? So, here everything is occurring at the pixel level. So, actually the randomness in the pixel is getting used, the texture data instead of the color channels we are using the texture data to estimate corrosion. Can we solve this problem using object detection methods? No, although object detection requires a lot of features lines and corrosion patch doesn't have that much of features. So, it is basically on deep learning. Yeah, it cannot be used. The terms which I would say that is how natural things are different from the polished man-made things. So, those polished man-made things doesn't have very good randomness. Everything is very less number of randomness in the pixels in there. So, we are using entropy and contrast, how they are varying. Okay, thank you.