Reading machine health from vibration.
Rotating machinery usually fails at its bearings, and the vibration signal carries the warning. The paper compares deep-learning approaches for telling bearing faults apart when the machine’s load and speed keep changing, then asks how the best models behave under heavy noise and what they would cost to deploy.
Each chapter lets you explore one step of the study. Every number comes from the published paper, and anything illustrative is labelled as such.
- Scientific Reports · Nature Portfolio
- 11 April 2026 · Vol. 16, Art. 16892
- First author
- Published, peer-reviewed
Authors: Pratyush Vishal, Rohith Nair, Jonathan Jacob, Narendiranath Babu T., M. Pandiyan
45 ways for a bearing to run.
| 1000 rpm | 1500 rpm | 2000 rpm | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 0 g | 6 g | 12 g | 0 g | 6 g | 12 g | 0 g | 6 g | 12 g | |
| HB | |||||||||
| IRF | |||||||||
| ORF | |||||||||
| BF | |||||||||
| CF | |||||||||
Every combination was recorded as its own file of roughly 420,000 samples at 12,800 Hz (about 33 s of vibration), more than 18.9 million points in all.
IRF · 1500 rpm · 6 g
Inner race fault
- Seeded defect
- 1.5 mm span, 1.2 mm wide, 0.5 mm deep
- Shaft speed
- 1500 rpm = 25.00 Hz
- Load
- Light (6 g)
- Expected signature
- Inner race (BPFI): 123.8 Hz
Frequencies are the theoretical values from the paper’s Table 3 factors × shaft speed. The paper confirms envelope-spectrum peaks close to them in the recorded data.
Each defect has a frequency, and it moves with speed.
Drag the speed. On the linear axis the comb of harmonics stretches and its spacing changes, so a model that memorised fixed frequencies would have to relearn every speed. On the logarithmic axis the same comb keeps its shape and only slides, because a change of speed multiplies every frequency by the same ratio. That is one intuition for why a constant-Q representation, whose bins are spaced geometrically, suits variable-speed data. Faint ticks show the 1500 rpm pattern for comparison.
Show data tableHide data table
| Family | 1× | 2× | 3× | 4× |
|---|---|---|---|---|
| Outer race (BPFO) | 76.3 Hz | 152.5 Hz | 228.7 Hz | 305.0 Hz |
| Inner race (BPFI) | 123.8 Hz | 247.5 Hz | 371.3 Hz | 495.0 Hz |
| Rolling element (BSF) | 49.8 Hz | 99.5 Hz | 149.3 Hz | 199.0 Hz |
Choosing how the model sees the signal.
CQ-NSGT
Constant-Q non-stationary Gabor transform
Geometrically spaced frequency bins keep resolution at both low and high frequencies, so fault harmonics stand out. Lowest intra-class variance by a wide margin.
CWT edges out CQ-NSGT on separability (0.0630 vs 0.0585), but its classes are four times as spread out. CQ-NSGT gives the best balance: nearly the highest separability with by far the tightest clusters, so it became the model input.
Show data tableHide data table
| Transform | Separability | Intra-class variance |
|---|---|---|
| CQ-NSGT | 0.0585 | 70.110 |
| STFT | 0.0408 | 260.025 |
| CWT | 0.0630 | 282.621 |
| WPT | 0.0170 | 205.295 |
Freeze what is general, train what is specific.
CQ-NSGT spectrogram
224 × 224 image
EfficientNetB0
pretrained on large image datasets
frozen: feature extractor only
Residual blocks
custom · skip connections
always trainable
Classification head
shared by all three backbones
5 classes
HB · IRF · ORF · BF · CF
- 99.9%
- 0.59 GFLOPS
- 12.214 ms
- 24.623 MB
The pretrained backbone stays frozen as a general-purpose feature extractor, and only the custom residual blocks and head learn the bearing-specific patterns. EfficientNetB0 trained in 177 s.
Is it real, or a lucky split?
Stratified: each fold has a balanced share of all five classes and every speed and load. Windows do not overlap, so near-identical fragments can’t leak across folds.
fold accuracy mean (value at right)
χ²(4) = 20.00, p = 0.0005
η² = 1.00
The ranking (EfficientNetB0, MobileNetV2, InceptionV3, CNN, ViT) was identical in every fold of the grouped evaluation, so the differences are systematic rather than luck of the split.
Show data tableHide data table
| Model | F1 | F2 | F3 | F4 | F5 | Mean |
|---|---|---|---|---|---|---|
| EfficientNetB0 | 99.80% | 99.50% | 100.00% | 100.00% | 100.00% | 99.9% |
| MobileNetV2 | 97.70% | 99.10% | 99.30% | 99.10% | 99.50% | 99.0% |
| InceptionV3 | 97.70% | 98.40% | 98.20% | 97.70% | 99.10% | 98.2% |
| Base CNN | 97.00% | 93.00% | 86.00% | 94.00% | 94.00% | 92.8% |
| ViT | 75.34% | 85.11% | 82.89% | 81.34% | 90.22% | 83.0% |
What 98.8% at 1 dB actually means.
Illustration, not paper data: outer-race impacts at 76.25 Hz (1500 rpm) plus white Gaussian noise scaled to the selected SNR. At 1 dB, the noise carries almost as much power as the signal.
- EfficientNetB0
- 98.8%
- MobileNetV2
- 95.2%
- InceptionV3
- 90.0%
- Base CNN
- 83.8%
- ViT
- 73.3%
EfficientNetB0 loses just 1.1 points at 1 dB. The CNN and ViT baselines drop sharply and then fluctuate, rather than degrading smoothly.
- EfficientNetB099.90% → 99.83%
- MobileNetV299.00% → 98.23%
- InceptionV398.20% → 95.07%
Grey dot: steady speed · filled dot: with fluctuation · axis 94–100%
Show data tableHide data table
| Model | No noise | 5 dB | 3 dB | 1 dB |
|---|---|---|---|---|
| EfficientNetB0 | 99.9% | 99.6% | 99.2% | 98.8% |
| MobileNetV2 | 99.0% | 98.4% | 97.4% | 95.2% |
| InceptionV3 | 98.2% | 95.2% | 92.2% | 90.0% |
| Base CNN | 92.8% | 83.6% | 81.6% | 83.8% |
| ViT | 83.0% | 69.0% | 74.4% | 73.3% |
The best model isn’t always the one you ship.
MobileNetV2 and EfficientNetB0 need 0.50 and 0.59 GFLOPS per image; InceptionV3, ViT and the baseline CNN need roughly five to eight times as much, for lower accuracy.
Show data tableHide data table
| Model | Accuracy | GFLOPS | Training (s) | Latency (ms) | Memory (MB) |
|---|---|---|---|---|---|
| EfficientNetB0 | 99.9% | 0.59 | 177 | 12.214 | 24.623 |
| MobileNetV2 | 99.0% | 0.5 | 121.4 | 8.167 | 17.788 |
| InceptionV3 | 98.2% | 3.47 | 230.5 | 20.735 | 96.096 |
| Base CNN | 92.8% | 4.05 | 195.5 | – | – |
| ViT | 83.0% | 3.26 | 213.6 | – | – |