{"id":21191175,"url":"https://github.com/hasanisaeed/bearfaultclassify","last_synced_at":"2025-07-10T02:32:45.487Z","repository":{"id":49188174,"uuid":"345257093","full_name":"hasanisaeed/BearFaultClassify","owner":"hasanisaeed","description":"Bearing Fault Detection and Classification Based on Temporal Convolutions and LSTM Network in Induction Machine Systems","archived":false,"fork":false,"pushed_at":"2024-11-09T04:56:11.000Z","size":137,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-09T05:22:41.788Z","etag":null,"topics":["bearing-fault-diagnosis","classification","deep-learning","induction-machine","ls"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hasanisaeed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-03-07T04:21:36.000Z","updated_at":"2024-11-09T04:53:34.000Z","dependencies_parsed_at":"2024-03-04T18:36:58.212Z","dependency_job_id":"8d3d31aa-afcd-41dc-b234-1658fed13b42","html_url":"https://github.com/hasanisaeed/BearFaultClassify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanisaeed%2FBearFaultClassify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanisaeed%2FBearFaultClassify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanisaeed%2FBearFaultClassify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanisaeed%2FBearFaultClassify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasanisaeed","download_url":"https://codeload.github.com/hasanisaeed/BearFaultClassify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225615195,"owners_count":17496942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bearing-fault-diagnosis","classification","deep-learning","induction-machine","ls"],"created_at":"2024-11-20T19:01:33.275Z","updated_at":"2024-11-20T19:02:10.644Z","avatar_url":"https://github.com/hasanisaeed.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deep Learning for Bearing Fault Detection\n\u003e **Project**: Bearing Fault Detection and Classification Using Temporal Convolutions and LSTM Networks in Induction Machine Systems.\n\nThis project applies deep learning to detect and classify faults in bearings of induction machines. The model leverages Temporal Convolutional and LSTM layers to effectively identify various fault types.\n\n---\n\n## 📄 Publication Reference\n\nFor a comprehensive exploration of our methodology and findings, consult our published paper:\n\n**Title**: *Classification of Fault Severity in Induction Machine Systems Using Temporal Convolutions and Recurrent Networks*  \n**Authors**: V. Mashayekhi, S. Hasani Borzadaran, M. Hoseintabar Marzebali  \n**Published**: February 16, 2022  \n**Access**: [DOI](https://doi.org/10.1155/2022/4224356)\n\nThis paper outlines the advanced deep learning techniques developed to detect and classify fault severity in induction machine systems.\n\n---\n\n## Requirements\nTo reproduce the results, install the dependencies in a Python 3.7 environment.\n\n- **Python**: 3.7\n- **Required Packages**: Listed in `requirements.txt`\n\n## Dataset Summary\nThe dataset consists of bearing fault signals, pre-processed for experiments with optional downsampling. The table below summarizes the data structure:\n\n| Downsampling | Sequence Length | Training Samples | Test Samples | Classes |\n| :---: | :---: | :---: | :---: | :---: |\n| Yes | 899 | 3095 | 890 | 16 |\n| No | 1000 | - | - | 16 |\n\n---\n\n## Model Evaluation\nThe following table shows the performance of GRU-based models across various configurations, using different downsampling and architecture options to optimize classification accuracy.\n\n| Run | Epochs | Batch Size | Architecture | Weights | Downsampling | Accuracy |\n| --- | :---: | :---: | :---: | :---: | :---: | :---: |\n| 1 | 600 | 128 | [#1](#1-architecture) | 1 | Yes | 71.46% |\n| 2 | 1200 | 128 | [#1](#1-architecture) | 2 | Yes | 84.26% |\n| 3 | 1200 | 128 | [#2](#2-architecture) | 3 | Yes | 84.94% |\n| **4** | 1200 | 128 | [#3](#3-architecture) | 4 | Yes | **87.52%** |\n| 5 | 900 | 64 | [#1](#1-architecture) | 5 | Yes | 83.37% |\n| _ | _ | _ | _ | _ | _ | _ |\n| 6 | 200 | 128 | [#4](#4-architecture) | - | No | 71.35% |\n| 7 | 500 | 128 | [#4](#4-architecture) | - | No | 94.65% |\n| 8 | 650 | 128 | [#4](#4-architecture) | - | No | 95.37% |\n| 9 | 700 | 128 | [#4](#4-architecture) | - | No | 95.48% |\n| 10 | 900 | 128 | [#4](#4-architecture) | - | No | 95.62% |\n| **11** | 1050 | 128 | [#4](#4-architecture) | - | No | **95.77%** |\n| _ | _ | _ | _ | _ | _ | _ |\n| 12 | 600 | - | [#5](#5-architecture) | - | No | 91.91% |\n| **13** | 850 | - | [#5](#5-architecture) | - | No | **93.70%** |\n| 14 | 1000 | - | [#5](#5-architecture) | - | No | 92.43% |\n| 15 | 1050 | - | [#5](#5-architecture) | - | No | 92.43% |\n\n---\n## Model Architectures\n\nThis section details the model architectures used for bearing fault detection, optimized with different downsampling strategies to enhance efficiency and accuracy. Each architecture utilizes 1D convolutional layers with varying configurations.\n\n---\n\n### Architectures with Downsampling (Yes)\n\nThese architectures employ downsampling to reduce sequence length, facilitating faster training while retaining essential temporal features.\n\n- **#1 Architecture**: A four-layer convolutional model that maintains consistent dimensionality across the first three layers, with a reduction in the final layer.\n    ```python\n    Conv1D(128) =\u003e Conv1D(128) =\u003e Conv1D(128) =\u003e Conv1D(64)\n    ```\n\n- **#2 Architecture**: An enhanced version of #1 with increased dimensionality in the middle layers for improved feature extraction.\n    ```python\n    Conv1D(128) =\u003e Conv1D(256) =\u003e Conv1D(256) =\u003e Conv1D(64)\n    ```\n\n- **#3 Architecture**: This configuration introduces a more gradual increase in filter sizes, potentially capturing finer-grained features before reduction.\n    ```python\n    Conv1D(64) =\u003e Conv1D(128) =\u003e Conv1D(256) =\u003e Conv1D(64)\n    ```\n\n---\n\n### Architectures without Downsampling (No)\n\nThese architectures retain the full sequence length, designed for more detailed temporal feature extraction without losing data granularity.\n\n- **#4 Architecture**: A stable model with identical filter sizes in the first three layers, enabling consistent feature maps, followed by a final reduction layer.\n    ```python\n    Conv1D(128) =\u003e Conv1D(128) =\u003e Conv1D(128) =\u003e Conv1D(64)\n    ```\n\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"images/run-01.png\" alt=\"Run 01 Results\"\u003e\n    \u003cspan\u003eFigure 1: Results for Architecture #4\u003c/span\u003e\n\u003c/div\u003e\n    \n---\n\n- **#5 Architecture**: A deeper configuration with an initial smaller filter size, followed by an increase, allowing the model to learn a hierarchical representation of features.\n    ```python\n    Conv1D(64) =\u003e Conv1D(64) =\u003e Conv1D(64) =\u003e Conv1D(128) =\u003e Conv1D(64)\n    ```\n\n  \n\u003cdiv align=\"left\"\u003e\n    \u003cimg src=\"images/run-02.png\" alt=\"Run 02 Results\"\u003e\n    \u003cspan\u003eFigure 2: Results for Architecture #5\u003c/span\u003e\n\u003c/div\u003e\n\n\n---\n\nEach architecture has been tested with specific training conditions to measure its accuracy and performance, providing insights into the effectiveness of downsampling for fault detection in induction machine systems.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasanisaeed%2Fbearfaultclassify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasanisaeed%2Fbearfaultclassify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasanisaeed%2Fbearfaultclassify/lists"}