Skip to content
All research

R1 · First author · Scientific Reports, 2026

Reading machine health from vibration.

Which deep-learning models can tell bearing faults apart while load and speed keep changing, and how they hold up in noise.

CQ-NSGT · one window as a surfaceIllustration
Impacts rise as ridges across every bin; fault harmonics run as lines through time. Drag to turn.
Five-fold CV accuracy
99.83%
Accuracy at 1 dB SNR
98.8%
Friedman test
p = 0.0005
Venue
Scientific Reports · Nature Portfolio
Published
11 April 2026 · Vol. 16, Art. 16892
Authors
Pratyush Vishal, Rohith Nair, Jonathan Jacob, Narendiranath Babu T., M. Pandiyan
DOI
10.1038/s41598-026-42592-y

01 / Method

From vibration to fault class

Nine stages, from a seeded defect to a fault class.

  1. 01 · Test rig

    A seeded fault, under load

    Bearings with seeded defects on the inner race, outer race, a ball, or all three, run at three speeds and three loads on a Spectra Quest MFS-PKG5 rig.

    Health states
    HB · IRF · ORF · BF · CF
    Conditions
    5 × 3 speeds × 3 loads = 45
    Sampling
    12,800 Hz
  2. 02 · Raw signal

    Raw vibration, unfiltered

    A fault shows up as a train of decaying impacts, one per rolling-element pass. The model gets the signal raw, unfiltered.

    Files
    45
    Raw points
    18.9 million
  3. 03 · Windowing

    Cut into windows

    Fixed-length windows with no overlap, so nothing leaks between folds. Flips and time rotations augment training.

    Overlap
    None
    Augmentation
    H-flip, time rotation
  4. 04 · CQ-NSGT

    Signal to image

    Each window becomes an image with geometric frequency bins. Of four transforms tested, CQ-NSGT kept classes tightest: variance 70.1 against 205–283.

  5. 05 · Input

    224 × 224 × 3

    Resized to the shape the pretrained networks expect.

  6. 06 · Backbone

    A frozen, pretrained backbone

    A pretrained network extracts features, weights frozen. Unfreezing a quarter of it cost 30–100% more training time for no accuracy gain.

    Options
    EfficientNetB0, MobileNetV2, InceptionV3
    Weights
    Frozen
  7. 07 · Residual blocks

    Three trainable residual blocks

    Three trainable blocks adapt the general features to bearing spectrograms; the skip path keeps gradients healthy.

    Main path
    Conv 3×3/s · BN · ReLU · Conv 3×3 · BN
    Shortcut
    Conv 1×1/s · BN
    Merge
    Add · ReLU
  8. 08 · Head

    A small, shared head

    Pooling, two small dense layers and a five-way softmax, shared by all three backbones for a fair comparison.

    Optimizer
    Adam
    Epochs
    Up to 100
    Early stopping
    val_loss, patience 3
    LR schedule
    ×0.5 after 5 flat epochs, min 1e-5
  9. 09 · Output

    A fault class

    99.83% cross-validated accuracy, and 98.8% with noise at 1 dB SNR, where it carries almost as much power as the signal.

    Evaluation
    Stratified fivefold CV
    Friedman test
    p = 0.0005

02 / Model

The whole network on one sheet

General arrangement

Input

224 × 224 × 3

Frozen

Backbone

pretrained

Trainable · residual

Residual block 1

3×3, 3×3, 1×1

Residual block 2

3×3, 3×3, 1×1

Residual block 3

3×3, 3×3, 1×1

Trainable · head

Global avg pool

Dense 128

ReLU · drop .05

Dense 64

ReLU · drop .05

Dense 5

softmax

Fault class

HB IRF ORF BF CF

Frozen weights Trained on bearing data
After the paper’s Figs 7, 11 and 12.

Layer schedule

No.LayerTrains
01Input224 × 224 × 3 CQ-NSGT image—
02BackboneEfficientNetB0 / MobileNetV2 / InceptionV3, pretrained—
03Residual block 1Conv 3×3/s → BN → ReLU → Conv 3×3 → BN, + Conv 1×1/s → BN shortcut, Add → ReLUYes
04Residual block 2Conv 3×3/s → BN → ReLU → Conv 3×3 → BN, + Conv 1×1/s → BN shortcut, Add → ReLUYes
05Residual block 3Conv 3×3/s → BN → ReLU → Conv 3×3 → BN, + Conv 1×1/s → BN shortcut, Add → ReLUYes
06Global avg poolingFeature maps → one vector—
07Dense128 units · ReLU, L2Yes
08DropoutRate 0.05—
09Dense64 units · ReLU, L2Yes
10DropoutRate 0.05—
11Dense5 units · SoftmaxYes

s = stride, not stated in the paper.

Training setup

Optimizer
Adam
Epochs
Up to 100
Early stopping
val_loss, patience 3
LR schedule
×0.5 after 5 flat epochs, min 1e-5
Evaluation
Stratified fivefold CV
Noise test
AWGN at 5, 3 and 1 dB SNR

Why the backbone stays frozen

Unfreezing the last 25% made training slower and validation no better.

BackboneFrozen training25% unfrozenVal. accuracy
MobileNetV2121.4 s+30–40%No gain
EfficientNetB0177 s+50%No gain
InceptionV3230.5 s≈ 2×No gain

03 / Results

Accurate, robust, and cheap enough to ship

Is it real, or a lucky split?

Five folds per model. Consistency matters as much as the average.

Fivefold cross-validation

Accuracy per fold, no noise

Fold 1: train on four fifths, test on the fifth

testtraintraintraintrain

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.

75%80%85%90%95%100%EfficientNetB099.9%MobileNetV299.0%InceptionV398.2%Base CNN92.8%ViT83.0%

fold accuracy mean (value at right)

Friedman test

χ²(4) = 20.00, p = 0.0005

Effect size

η² = 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 table
Per-fold accuracy by model (Tables 7–11)
ModelF1F2F3F4F5Mean
EfficientNetB099.80%99.50%100.00%100.00%100.00%99.9%
MobileNetV297.70%99.10%99.30%99.10%99.50%99.0%
InceptionV397.70%98.40%98.20%97.70%99.10%98.2%
Base CNN97.00%93.00%86.00%94.00%94.00%92.8%
ViT75.34%85.11%82.89%81.34%90.22%83.0%
Per-fold values from Tables 7–11 · statistics from Table 17