Skip to content

In this work, we use the Deep Learning model to build a classifier for the classification of the 3D vibration data.

License

Notifications You must be signed in to change notification settings

rebelgiri/predictive-maintenance-using-deep-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Predictive Maintainance using Deep Learning

Introduction

In the era of Industry 4.0, sensors are installed on machinery for real-time data collection, processing, and automation. The collected data availed to build deep learning models for predictive maintenance and condition monitoring. One such sensor is the vibration sensor. They are used to detect several abnormalities in industrial machinery. In this task, a test setup is constructed, which simulates an industrial machine, and the data is collected using a vibration sensor installed upon it. Further, the collected data processed and benefited to build deep learning models and conduct investigations associated with the estimation of speed of rotors and rotating unbalance.

Architecture of the Classification Model

Architecture of the model using FCN for time series classification.

Preprocessing Time Series Data using StandardScalar

The time series data collected from the vibration sensor is 3D. Initially, the data is preprocessed using the StandardScaler method1 and fed to the model for training. The StandardScaler standardizes features by subtracting the mean and scaling to unit variance. The standard score z of a sample $x$ is calculated using equation below, where $μ$ is the mean and $s$ is the standard deviation.

$z = (x - u) / s$

Standardized time series X-direction vibration data.

Usage

Below arguements are passed while running the below scripts.

main.py

This script is used to start training the model.

1. --model_name: The name of the model.
2. --data_dir: The path of the training and testing dataset.
3. --output_dir: The path of the output directory.
4. --N: The length of the time series slice. we use N to slice the complete time series data and stack them above each other.For example, the time series is of length 1000, and if N is 300, then three sliced time series data of length 300 are stacked one after the other with the same label.

load_model.py

This script is used to load saved models for testing.

1. --model_path: The path of the saved model.
2. --test_path: The path of the test dataset.
3. --output_dir: The path of the output directory.

Experiments

Estimation of the Rotating Unbalance

Training and validation learning curves while training Rotating Unbalance Classifier.

Illustration of the performance of the Rotating Unbalance Classifier on the test dataset using a confusion matrix.

Estimation of the Speed

Training and validation learning curves while training Speed Classifier.

Illustration of the performance of the Speed Classifier on the test dataset using a confusion matrix.

Conclusion

The primary goal of this task is to draft a proof-of-concept for predictive maintenance and condition monitoring of industrial machines using deep learning models. Therefore, a test setup simulating an industrial machine is constructed. Later, classification models are trained using the time series data collected from the vibration sensor installed upon it. The investigations reveal that the trained Rotating Unbalance Classifier and Speed Classifier are almost 100% accurate on unseen test data.

About

In this work, we use the Deep Learning model to build a classifier for the classification of the 3D vibration data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages