Submitted:
22 June 2026
Posted:
23 June 2026
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Materials and Methods
2.1. Background
2.1.1. Benchmark Machine Condition Monitoring Datasets
2.1.2. Machine Learning Methods for Machine Fault Diagnostics
2.1.3. Deep Learning Methods for Machine Fault Diagnostics
2.2. Laurentian University Dataset
3. Results
3.1. Fault Classification
- Sample size: 4000 standardized acceleration data points, Fault Classes: Grouped;
- Sample size: 4000 raw acceleration data points, Fault Classes: Grouped.
- Sample size: 4000 standardized acceleration data points, Fault Classes: Grouped;
- Sample size: 4000 raw acceleration data points, Fault Classes: Grouped;
- Sample size: 1000 standardized acceleration data points, Fault Classes: Grouped;
- Sample size: 1000 raw acceleration data points, Fault Classes: Grouped;
- Sample size: 4000 standardized acceleration data points, Fault Classes: Fully Separated;
- Sample size: 4000 raw acceleration data points, Fault Classes: Fully Separated;
- Sample size: 1000 standardized acceleration data points, Fault Classes: Fully Separated;
- Sample size: 1000 raw acceleration data points, Fault Classes: Fully Separated.
- Sample size: 4000 standardized acceleration data points;
- Sample size: 4000 raw acceleration data points;
- Sample size: 1000 standardized acceleration data points;
- Sample size: 1000 raw acceleration data points.
3.1.1. Feature Dataset for the Support Vector Machine Implementation
3.1.2. Convolutional Neural Network Implementation
3.1.3. Multi-Scale CNN Implementation
- The number of output channels from each convolutional layer in the Multi-Scale Convolutional Block was reduced to 24, resulting in a concatenated output of 96 channels;
- A feature fusion block was added before the attention blocks to reduce the dimensionality of the input features and the size requirement of the attention module and classifier layer;
- Hyperbolic tangent and batch normalization [23] activation functions were added after each convolutional block to stabilize input distribution to the next layers and minimize the gradient distribution across the model;
- The number of channels of the convolution layer within the Initial Convolutional Block was increased to 64, its kernel size was reduced to five, and its stride increased to two. The reduction in kernel size was to reduce feature scaling due to the added convolutional layers in the Feature Fusion Block. A stride of two was implemented to reduce the dimensionality of the acceleration data while retaining localized information within each feature passed to the multi-scale convolutional layer;
- The Classifier Block was modified such that the number of output features of the first fully connected sub-layer was three times the number of classes of the dataset it is trained on. The dropout probability was reduced to 0.2 to compensate for the reduced number of intermediary features and the addition of batch normalization layers.
- The number of floating-point operations (FLOP) required for model inference;
- The number of parameters in the model;
- The average time duration of a training epoch;
- The time duration for parsing through the LU or CWRU test datasets;
- The accuracies per epoch on the validation datasets;
- Confusion matrices of the best trained model on the test data;
- A confusion matrix of the best trained model on the validation data;
- Precision, recall and f1-score of the predictions of each class in the validation and test datasets;
- Accuracy on the validation and test datasets.
- The time duration for selecting features;
- The time duration for fitting the SVC;
- The time duration for parsing through the LU or CWRU test datasets;
- Number of iterations run by the optimization routine to fit the model;
- The total number of support vectors in the SVC;
- The total number of parameters (coefficients and intercepts) in the SVC;
- Confusion matrix(ces) of the best trained model on the test data;
- A confusion matrix of the best trained model on the validation data;
- Precision, recall and f1-score of the predictions of each class in the validation and test datasets;
- Accuracy on the validation and test datasets.
4. Discussion
4.1. Fault Classification Performance
4.1.1. CWRU Dataset
4.1.2. LU Dataset – Fully Separated Class Configuration
4.1.3. LU Dataset – Grouped Class Configuration


4.2. Model Computational Requirements
- Nsv: Number of support vectors;
- Nf : Number of selected features;
- Acc: Accuracy in percentage (on test set);
- Params: Number of parameters in the model;
- NITER: Number of optimization iterations of the random forest classifier;
- #Train Epochs: Number of training set epochs required for the DL models;
- #Train Samples: Number of samples in the training set of corresponding size;
- NMFLOP: Number of millions of FLOPs required to infer the SVC;
- Mem Req: Approximate amount of memory required to host the model in kB;
- NMFLOP/s Real-Time: Approximated number of MFLOPs per second required to infer each model in a real-time fault detection implementation using the same sample rate (10kHz) as the LU dataset.
4.2.1. Performance
4.2.2. Model Size and Computational Demands
4.2.3. Edge Computing Considerations
| Specification | Arduino Mega 2560 | Raspberry Pi 5 | Jetson Nano |
| Price & Source | $66.40 CAD on store-usa.arduino.cc | $112.00 CAD on PiShop.ca | $299 CAD on amazon.ca |
| Memory | 8 kB SRAM, 248kB flash | 4 GB or 8 GB | 4 GB 64-bit LPDDR4, 1600MHz 25.6 GB/s |
| Controller/CPU | ATmega2560 – 8-bit AVR® RISC-based – 16MHz | Broadcom BCM2712 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU | Nvidia Maxwell architecture with 128 NVIDIA CUDA® cores |
|
Compute Performance |
160 kFLOP/s (Assuming 1/100 FLOP per cycle) | 9.6 GFLOP/s (Assuming 4 FLOP per cycle) | 472 GFLOP/s (as claimed by Nvidia) [85] |
| Storage | - | 128 GB MicroSD | 16 GB eMMC 5.1 |
|
Additional Features |
- | - | High-rate communication and GPIO pins |
5. Conclusions
References
- Jardine, A.K.S.; Lin, D.; Banjevic, D. A review on machinery diagnostics and prognostics implementing condition-based maintenance. Mech. Syst. Signal Process 2006, vol 20(no. 7), 1483–1510. [Google Scholar] [CrossRef]
- Tiboni, M.; Remino, C.; Bussola, C.; Amici, C. A Review on Vibration-Based Condition Monitoring of Rotating Machinery. Appl. Sci. 2022, vol. 12(no. 3), 972. [Google Scholar] [CrossRef]
- Wang, W.; Taylor, J.; Rees, R.J. Recent Advancement of Deep Learning Applications to Machine Condition Monitoring Part 2: Supplement Views and a Case Study. Acoust. Aust. 2021, vol. 49(no. 2), 221–228. [Google Scholar] [CrossRef]
- Wang, W.; Taylor, J.; Rees, R.J. Recent Advancement of Deep Learning Applications to Machine Condition Monitoring Part 1: A Critical Review. Acoust. Aust. 2021, vol. 49(no. 2), 207–219. [Google Scholar] [CrossRef]
- Wang, F.; Wang, K. Intelligent condition monitoring and diagnosis system: a computational intelligence approach. In Frontiers in artificial intelligence and applications; IOS Press: Amsterdam/Berlin, 2003; vol 93. [Google Scholar]
- Case Western Reserve University, Case Western Reserve University Bearing Data. Available online: https://engineering.case.edu/bearingdatacenter (accessed on 30 April 2024).
- Lessmeier, C.; Kimotho, J.K.; Zimmer, D.; Sextro, W. Condition Monitoring of Bearing Damage in Electromechanical Drive Systems by Using Motor Current Signals of Electric Motors: A Benchmark Data Set for Data-Driven Classification. PHM Soc. Eur. Conf. 2016, vol. 3(no. 1). [Google Scholar] [CrossRef]
- Bechhoefer, E. Condition Based Maintenance Fault Database for Testing of Diagnostic and Prognostics Algorithms. Available online: https://www.mfpt.org/fault-data-sets/.
- Gangsar, P.; Tiwari, R. A support vector machine based fault diagnostics of Induction motors for practical situation of multi-sensor limited data case. Measurement 2019, vol. 135, 694–711. [Google Scholar] [CrossRef]
- Rojas, A.; Nandi, A.K. Detection and Classification of Rolling-Element Bearing Faults using Support Vector Machines. 2005 IEEE Workshop on Machine Learning for Signal Processing, Mystic, CT, USA; pp. 153–158.
- Samanta, B.; Al-Balushi, K.R. Artificial neural network based fault diagnostics of rolling element bearings using time-domain features. Mech. Syst. Signal Process 2003, vol. 17(no. 2), 317–328. [Google Scholar] [CrossRef]
- Jana, D.; Patil, J.; Herkal, S.; Nagarajaiah, S.; Duenas-Osorio, L. CNN and Convolutional Autoencoder (CAE) based real-time sensor fault detection, localization, and correction. Mech. Syst. Signal Process 2022, vol. 169, 108723. [Google Scholar] [CrossRef]
- Arellano-Espitia, F.; Delgado-Prieto, M.; Martinez-Viol, V.; Saucedo-Dorantes, J.J.; Osornio-Rios, R.A. Deep-Learning-Based Methodology for Fault Diagnosis in Electromechanical Systems. Sensors 2020, vol. 20(no. 14), 3949. [Google Scholar]
- Li, Z.; Liu, F.; Yang, W.; Peng, S.; Zhou, J. A Survey of Convolutional Neural Networks: Analysis, Applications, and Prospects. IEEE Trans. Neural Netw. Learn. Syst. 2022, vol. 33(no. 12), 6999–7019. [Google Scholar] [CrossRef]
- Zhang, S.; Zhang, S.; Wang, B.; Habetler, T.G. Deep Learning Algorithms for Bearing Fault Diagnostics—A Comprehensive Review. IEEE Access 2020, vol. 8, 29857–29881. [Google Scholar] [CrossRef]
- Chen, C.C.; Liu, Z.; Yang, G.; Wu, C.C.; Ye, Q. An Improved Fault Diagnosis Using 1D-Convolutional Neural Network Model. Electronics 2020, vol. 10(no. 1), 59. [Google Scholar]
- Huang, T.; Fu, S.; Feng, H.; Kuang, J. Bearing Fault Diagnosis Based on Shallow Multi-Scale Convolutional Neural Network with Attention. Energies 2019, vol. 12(no. 20), 3937. [Google Scholar]
- Kim, Y.; Na, K.; Youn, B.D. A health-adaptive time-scale representation (HTSR) embedded convolutional neural network for gearbox fault diagnostics. Mech. Syst. Signal Process. 2022, vol. 167, 108575. [Google Scholar] [CrossRef]
- He, J.; Wu, P.; Tong, Y.; Zhang, X.; Lei, M.; Gao, J. Bearing Fault Diagnosis via Improved One-Dimensional Multi-Scale Dilated CNN. Sensors 2021, vol. 21(no. 21), 7319. [Google Scholar]
- SpectraQuest Machinery Fault Simulator. Available online: https://spectraquest.com/machinery-fault-simulator/details/mfs/.
- Woo, S.; Park, J.; Lee, J.-Y.; Kweon, I.S. CBAM: Convolutional Block Attention Module. Proc. European Conference on Computer Vision (ECCV), 2018; pp. 3–19. [Google Scholar]
- Pedregosa, F. Scikit-learn: Machine Learning in Python. J. Mach. Learn. Res. 2011, vol. 12, 2825–2830. [Google Scholar]
- Ioffe, S.; Szegedy, C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. arXiv 2015. [Google Scholar] [CrossRef]






| Fault Type | Location | Control Signal | Collection Time (s) | Exp. No. |
| Healthy 1 | NA | Sawtooth | 1200 | 0 |
| Healthy 1 | NA | Square | 1200 | 1 |
| Bearing – Inner Race | Motor End | Sawtooth | 1200 | 2 |
| Bearing – Inner Race | Motor End | Square | 1200 | 3 |
| Bearing – Inner Race | Pulley End | Sawtooth | 1200 | 4 |
| Bearing – Inner Race | Pulley End | Square | 1200 | 5 |
| Bearing – Outer Race | Motor End | Sawtooth | 1200 | 6 |
| Bearing – Outer Race | Motor End | Square | 1200 | 7 |
| Bearing – Outer Race | Pulley End | Sawtooth | 1200 | 8 |
| Bearing – Outer Race | Pulley End | Square | 1200 | 9 |
| Bearing – Ball | Motor End | Sawtooth | 1200 | 10 |
| Bearing – Ball | Motor End | Square | 1200 | 11 |
| Bearing – Ball | Pulley End | Sawtooth | 1200 | 12 |
| Bearing – Ball | Pulley End | Square | 1200 | 13 |
| Bearing – Combination | Motor End | Sawtooth | 1200 | 14 |
| Bearing – Combination | Motor End | Square | 1200 | 15 |
| Bearing – Combination | Pulley End | Sawtooth | 1200 | 16 |
| Bearing – Combination | Pulley End | Square | 1200 | 17 |
| Shaft – Cracked | NA | Sawtooth | 1200 | 18 |
| Shaft – Cracked | NA | Square | 1200 | 19 |
| Shaft – Centrally Bent | NA | Sawtooth | 1200 | 20 |
| Shaft – Centrally Bent | NA | Square | 1200 | 21 |
| Shaft – Coupling End Bent | NA | Sawtooth | 1200 | 22 |
| Shaft – Coupling End Bent | NA | Square | 1200 | 23 |
| Shaft – Hub Repair | NA | Sawtooth | 1200 | 24 |
| Shaft – Hub Repair | NA | Square | 1200 | 25 |
| Shaft Imbalance 1 | NA | Sawtooth | 1200 | 26 |
| Shaft Imbalance 1 | NA | Square | 1200 | 27 |
| Shaft Imbalance 1 + Bearing Inner Race | Motor End | Sawtooth | 1200 | 28 |
| Shaft Imbalance 1 + Bearing Inner Race | Motor End | Square | 1200 | 29 |
| Shaft Imbalance 1 + Bearing Inner Race | Pulley End | Sawtooth | 1200 | 30 |
| Shaft Imbalance 1 + Bearing Inner Race | Pulley End | Square | 1200 | 31 |
| Shaft Imbalance 2 | NA | Sawtooth | 1200 | 32 |
| Shaft Imbalance 2 | NA | Square | 1200 | 33 |
| Shaft Imbalance 2 + Bearing Outer Race | Motor End | Sawtooth | 1200 | 34 |
| Shaft Imbalance 2 + Bearing Outer Race | Motor End | Square | 1200 | 35 |
| Shaft Imbalance 2 + Bearing Outer Race | Pulley End | Sawtooth | 1200 | 36 |
| Shaft Imbalance 2 + Bearing Outer Race | Pulley End | Square | 1200 | 37 |
| Shaft Misalignment 1 – Parallel | NA | Sawtooth | 1200 | 38 |
| Shaft Misalignment 1 – Parallel | NA | Square | 1200 | 39 |
| Shaft Misalign 1 – Parallel + Bearing Inner Race | Motor End | Sawtooth | 1200 | 40 |
| Shaft Misalign 1 – Parallel + Bearing Inner Race | Motor End | Square | 1200 | 41 |
| Shaft Misalign 1 – Parallel + Bearing Inner Race | Pulley End | Sawtooth | 1200 | 42 |
| Shaft Misalign 1 – Parallel + Bearing Inner Race | Pulley End | Square | 1200 | 43 |
| Shaft Misalignment 2 – Angular | NA | Sawtooth | 1200 | 44 |
| Shaft Misalignment 2 – Angular | NA | Square | 1200 | 45 |
| Shaft Misalign 2 – Angular +Bearing Outer Race | Motor End | Sawtooth | 1200 | 46 |
| Shaft Misalign 2 – Angular +Bearing Outer Race | Motor End | Square | 1200 | 47 |
| Shaft Misalign 2 – Angular +Bearing Outer Race | Pulley End | Sawtooth | 1200 | 48 |
| Shaft Misalign 2 – Angular +Bearing Outer Race | Pulley End | Square | 1200 | 49 |
| Gear - Chipped Tooth | NA | Sawtooth | 1200 | 50 |
| Gear - Chipped Tooth | NA | Square | 1200 | 51 |
| Gear – Missing Tooth | NA | Sawtooth | 1200 | 52 |
| Gear – Missing Tooth | NA | Square | 1200 | 53 |
| Healthy 2 | NA | Sawtooth | 1200 | 54 |
| Healthy 2 | NA | Square | 1200 | 55 |
| LU Full Class Separation | LU Grouped Classes |
| Healthy | Healthy |
| Bearing – Inner Race – Motor End | Bearing –Motor End |
| Bearing – Inner Race – Pulley End | Bearing –Pulley End |
| Bearing – Outer Race – Motor End | Shaft - Cracked |
| Bearing – Outer Race – Pulley End | Shaft - Bent |
| Bearing – Ball – Motor End | Shaft – Hub Repair |
| Bearing – Ball – Pulley End | Shaft - Imbalance |
| Bearing – Combination – Motor End | Shaft – Imbalance with Bearing – Motor End |
| Bearing – Combination – Pulley End | Shaft – Imbalance with Bearing – Pulley End |
| Shaft – Cracked | Shaft - Misalignment |
| Shaft – Centrally Bent | Shaft – Misalignment with Bearing – Motor End |
| Shaft – Coupling End Bent | Shaft – Misalignment with Bearing – Pulley End |
| Shaft – Hub Repair | Gear |
| Shaft – Imbalance 1 | |
| Shaft – Imbalance 1 with Bearing – Inner Race – Motor End | |
| Shaft – Imbalance 1 with Bearing – Inner Race – Pulley End | |
| Shaft – Imbalance 2 | |
| Shaft – Imbalance 2 with Bearing – Outer Race – Motor End | |
| Shaft – Imbalance 2 with Bearing – Outer Race – Pulley End | |
| Shaft – Misalignment 1 - Parallel | |
| Shaft – Misalignment 1 – Parallel with Bearing - Inner Race – Motor End | |
| Shaft – Misalignment 1 – Parallel with Bearing - Inner Race – Pulley End | |
| Shaft – Misalignment 2 – Angular | |
| Shaft – Misalignment 2 – Angular with Bearing - Outer Race – Motor End | |
| Shaft – Misalignment 2 – Angular with Bearing - Outer Race – Pully End | |
| Gear – Chipped Tooth | |
| Gear – Missing Tooth |
| Class Label | Fault Type | Fault Location |
| Normal Data | NA | NA |
| Inner Race, Drive End | Inner Raceway Fault | Drive End of the Motor |
| Inner Race, Fan End | Inner Raceway Fault | Fan End of the Motor |
| Outer Race, Drive End | Outer Raceway Fault | Drive End of the Motor |
| Outer Race, Fan End | Outer Raceway Fault | Fan End of the Motor |
| Ball, Drive End | Rolling Element Fault | Drive End of the Motor |
| Ball, Fan End | Rolling Element Fault | Fan End of the Motor |
| Model Configuration | NSV | Nf | Acc | Params | NITER | # Train Samples | NMFLOP | Mem Req |
NMFLOP/s Real-Time |
| CWRU-Default SVC-4000 Raw | 1845 | 2888 | 73.0 | 16626 | 5652 | 2888 | 0.0387 | 64.9 | 0.12 |
| CWRU-Random Forest-4000 Raw | NA | 2888 | 91.6 | 213582 | NA | 2888 | 0.2144 | 834.3 | 0.64 |
| CWRU-Selected SVC-4000 Raw | 1762 | 2888 | 71.8 | 15879 | 27391 | 2888 | 0.0370 | 62.0 | 0.11 |
| LU-Grouped-Default SVC-1000 Raw | 11684 | 67200 | 30.0 | 81866 | 53338 | 67200 | 0.2220 | 319.8 | 2.22 |
| LU-Grouped-Random Forest-4000 Raw | NA | 16800 | 34.7 | 600602 | NA | 16800 | 0.5985 | 2346.1 | 1.50 |
| LU-Grouped-Selected SVC-4000 Raw | 2808 | 16800 | 32.0 | 22542 | 134847 | 16800 | 0.0562 | 88.1 | 0.14 |
| Model Configuration | Acc |
Params |
#Train Epochs | #Train Samples | NMFLOP | Mem Req |
NMFLOP/s Real-Time |
| CWRU-CNN-1000 Standardized |
85.9 | 80103 | 21 | 11572 | 36.03 | 312.9 | 432.36 |
| CWRU-SpatialChannelMSCNN-1000 Standardized |
99.3 | 87406 | 18 | 11572 | 20.52 | 341.4 | 246.24 |
| LU-Full-CNN-1000 Standardized |
61.8 | 84443 | 17 | 720000 | 36.03 | 329.9 | 360.3 |
| LU-Full-SpatialChannelMSCNN-1000 Raw |
82.2 | 166326 | 18 | 720000 | 20.6 | 649.7 | 206 |
| LU-Grouped-CNN-1000 Standardized |
84.3 | 81405 | 28 | 336000 | 36.03 | 318.0 | 360.3 |
| LU-Grouped-SpatialChannelMSCNN-1000 Standardized |
85.0 | 110830 | 23 | 336000 | 20.54 | 432.9 | 205.4 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).