Skip to content

nameerakhter/Ann_cwru

Repository files navigation

Vibration Signal Analysis for Accurate Fault Detection in Rolling Bearing using Deep Learning

This repository contains code vibration signal analysis on the Case Western Reserve University (CWRU) & Noise lab dataset for accurate fault detection using deep learning. Through this I aimed to develop and compare the performance of various deep learning & Machiner learning models like Artificial Neural Networks (ANN), 1D Convolutional Neural Networks (1D CNN), Long Short-Term Memory (LSTM), Gated Recurrent Unit (GRU), Support vector Machine (SVM) etc.

Problem Statement:

Induction motor is a electromechanical energy conversion device in all industrial processes. However, it is subjected to many undesirable stresses, which can cause faults leading to failure. These machines contains of numerous elements, such as stator, rotor, shaft, and bearings. Numerous studies regarding the possibility of induction motor failures, reveal that a bearing fault is the top common fault category that accounts for one-third of the entire defects, and the failure of these REBs is one of the most common causes ofmachine breakdown resulting in severe loss of safety and property and even the crash of the machine or loss of the lives in some cases. Thus there is a need to detect these faults as early as possible to take appropriate measures.

Overview

Vibration signal analysis is crucial in detecting faults in rotating machinery, and the CWRU dataset provides a rich source of real-world vibration data for this purpose. Deep learning techniques have shown promising results in fault detection tasks due to their ability to automatically learn intricate patterns from raw sensor data.

Dataset

The Case Western Reserve University (CWRU) bearing dataset is widely used for research in machinery fault diagnosis. It consists of vibration signals collected from various faults occurring in bearings under different operating conditions. The dataset provides a valuable resource for training and evaluating fault detection models.

The NoiseLab data was fairly simple data with a size much larger to as compared to CWRU.

Hence, the challenge was not to just attain the desired fault prediction accuracy but also make the models work on both the datasets

Techniques Used

For traversing the data we used a sliding window function with a 50% overlap.

Sliding window also offers a solution to make further processing computationally efficient. By segmenting data into windows, features capturing the characteristics of each segment can be extracted. Furthermore, using 50% window overlap captures information at boundaries, leading to a more comprehensive understanding of the sequence. Artificial Neural Networks (ANN): A basic neural network architecture is employed to learn patterns from vibration signals for fault detection.

Models implemented:

1D Convolutional Neural Networks (1D CNN): Convolutional layers are utilized to automatically extract relevant features from the 1D vibration signal data.

1D CNN + Long Short-Term Memory (LSTM): This architecture combines the feature extraction capabilities of 1D CNN with the sequential learning ability of LSTM networks.

1D CNN + Gated Recurrent Unit (GRU): Similar to the LSTM combination, this architecture integrates 1D CNN with GRU cells for capturing temporal dependencies in the vibration signals.

Also added a code for manual feature extraction


This is how the streamlit app will look like

streamlit ss streamlit ss1

image

Usage

Clone the repository:

git clone https://github.com/nameerakhter/Ann_cwru

Installation

To run this project, you'll need to install the required dependencies. Open your terminal and run the following command: Requirements:

Create a virtual environment (optional but recommended):

python -m venv venv

Activate the virtual environment:

For Windows:

.\venv\Scripts\activate

Now, install the dependencies:

pip install -r requirements.txt

The following libraries are included in the requirements:

  1. scipy
  2. seaborn
  3. numpy
  4. pandas
  5. matplotlib
  6. scikit-learn
  7. tensorflow
  8. ipython
  9. python-doc

Releases

No releases published

Packages

 
 
 

Contributors