Hi! I'm Prajjaval, senior undergrad at IIT Jodhpur! I have done this project "Detection of defects in ball bearings using Machine Learning" under the supervision of our professor, Dr B Ravindra.
- Abstarct
- Introduction
- Objective
- Ball Bearing
- Ball Bearing Dataset
- Work Done
- Methodology
- Implementation
- Results
- ANN Model
- 1D CNN Model
- 1D CNN Multi-kernel Model
- 2D CNN Model
- Conclusion
- References
Bearings are the most extensively utilised components in rotating machinery, and bearing failures may cause serious malfunctions and even fatalities. According to statistics, bearing failure accounts for over 40% of total induction motor failures and is the major cause of gearbox defects in wind turbines. As a result, diagnosing these bearings becomes critical.
Bearing defect diagnostics has been a challenge in the monitoring of rotating equipment activities, and it has lately received more attention. In order to appropriately categorise defects, fault diagnostic systems often extract information from the waveforms or spectrums of vibration signals. In this assignment, we will apply several deep-learning models to classify bearing defects.
With the rise of automation, Artificial Intelligence (AI) and Deep Learning (DL) are quickly becoming must-have skills for the workforce of the future. Deep Learning educates a computer in a collection of known quantities, and when applied to a set of unknown quantities, the machine (computer) will be able to arrive at a conclusion without any intervention from humans; this is the foundation of Artificial Intelligence.
In this research, we created four distinct models for detecting and classifying ball bearing faults. We created two datasets containing muted and noisy data points to ensure that the models are robust and can be used in industry. On these datasets, we also test the accuracy of our models.
The models work effectively in a variety of settings and deliver accurate results.
Using various deep learning approaches, we hope to identify faults in ball bearings and categorise the type of defect. To see if the model is industry-ready, we must also see how it performs with noisy and inconsistent data.
A ball bearing consists of an inner ring (IR), an outer ring (OR), a complement of balls, and a separator. The outer diameter of the inner ring (IROD) and the inner diameter of the outer ring (ORID) have a groove in which the balls roll. The groove is commonly called the pathway.
The dataset which we are going to use is taken from the esteemed CASE Western Reserve University (Est. 1826). This famous dataset is used as a standard in various data-driven machine-learning algorithm papers. The dataset is the result of the project funded by Rockwell Science Center, Office of Naval Research etc.
Data was collected for regular bearings and single-point drive end defects. Data was collected at 48,000 samples/second for drive-end bearing experiments. Data files are in Matlab format. Each file contains fan and drive end vibration data as well as motor rotational speed.
Link for the dataset: CASE Dataset for ball bearing
Preprocessing included:
-
Concatenation of all fault type files
For future analysis, we will add data from every problem category to a single CSV file. We'll be utilising Python's path feature. This module implements a few practical pathname functions. Open() is used to read or write files, and the os module is used to access the filesystem.
-
Modified Dataset with muted data points
Here every alternate data point is set to zero to mimic a faulty sensor.
-
Modified Dataset with noise addition
Here some noise is added to every data point to test the robustness of our model. This is achieved using the random module of NumPy library. Signal to noise ratio is 0.009
-
Visualisation of data
The term "Artificial Neural Network" is derived from Biological neural networks that develop the structure of a human brain. Similar to the human brain which has neurons interconnected to one another, artificial neural networks also have neurons that are interconnected to one another in various layers of the networks. These neurons are known as nodes.
An Artificial Neural Network in the field of Artificial intelligence attempts to mimic the network of neurons that makes up a human brain so that computers will have the option to understand things and make decisions in a human-like manner. The artificial neural network is designed by programming computers to behave simply like interconnected brain cells.
Convolutional Neural Network is one of the main categories to do image classification and image recognition in neural networks. Scene labelling, objects detections, face recognition, etc., are some of the areas where convolutional neural networks are widely used.
In CNN, each input image will pass through a sequence of convolution layers along with pooling, fully connected layers, and filters (Also known as kernels). After that, we will apply the Soft-max function to classify an object with probabilistic values 0 and 1.
Segmenting the Vibration signal into small portions using a window:
Stride is a parameter of the neural network's filter that modifies the amount of movement over the matrix. We have used a window size of 1000 for our model and a jumping stride of 200.
Now we have to convert each instance into a row vector/list and feed this to the neural network to train and the output would be various fault types.
So we will start with performing label encoding on the dataset. Label Encoding refers to converting the labels into a numeric form so as to convert them into a machine-readable form. Machine learning algorithms can then decide in a better way how those labels must be operated.
Then we will split the dataset into train and test sets using the SkLearn library in a 7:3 ratio.
Now we have used Autoencoder to see if raw data is directly separable using t_SNE from the sklearn library. Autoencoders are a specific type of feedforward neural network where the input is the same as the output. They compress the input into a lower-dimensional code and then reconstruct the output from this representation.
We observe that it is not separable directly from raw data, so we construct our ANN model.
- ANN Model
The accuracy and loss for different epoch is given below:
The graph for accuracy and val_accuracy is given below:
The confusion matrix is given below:
- 1D CNN Model
The accuracy and loss for different epoch is given below:
The graph for accuracy and val_accuracy is given below:
The confusion matrix is given below:
The accuracy and loss for different epoch is given below:
The graph for accuracy and val_accuracy is given below:
The confusion matrix is given below:
The accuracy and loss for different epoch is given below:
The graph for accuracy and val_accuracy is given below:
The confusion matrix is given below:
Model | Original Dataset | Modified Dataset | Noisy Dataset |
---|---|---|---|
ANN | 98.98 | 92.26 | 82.08 |
1D CNN | 99.49 | 96.16 | 89.01 |
1D CNN With Multi Kernels | 99.74 | 98.54 | 82.78 |
2D CNN | 99.15 | 94.95 | 84.26 |
- Kankar, P.K., Sharma, S.C. and Harsha, S.P., 2011. Fault diagnosis of ball bearings using machine learning methods. Expert Systems with applications, 38(3), pp.1876-1886.
- Bediaga, I., Mendizabal, X., Arnaiz, A. and Munoa, J., 2013. Ball bearing damage detection using traditional signal processing algorithms. IEEE Instrumentation & Measurement Magazine, 16(2), pp.20-25.
- CWRU Code