The Unseen-Bearing Fault Diagnosis Challenge is a benchmark and teaching package for bearing fault diagnosis under leave-one-bearing-out (LOBO) evaluation. The question is whether a model can classify the condition of a physical bearing it never saw during training.
The data come from the Paderborn University KAt Data Center bearing dataset. The package ships processed vibration windows, frozen MOMENT embeddings, classical vibration features, evaluation code, participant notebooks, an environment check, and demo material.
The evaluation pool has 12 physical bearings: 4 healthy and 8 damaged in accelerated lifetime tests rather than machined. Each bearing is held out once as the test set while the other 11 train the model, giving 12 folds. Every window from a given bearing sits on one side of the split or the other, never both. Random window-level splitting would place windows from the same physical bearing in both training and testing, which allows a model to exploit bearing-specific information and inflates the reported score. Grouping the split by bearing removes that possibility. Four machined-damage bearings ship as optional extra training data and never serve as a test fold.
Envelope analysis is the signal processing reference. Band-pass the vibration signal around a high-frequency resonance, take the Hilbert envelope, and then read the envelope spectrum for peaks at the characteristic defect frequencies computed from bearing geometry and shaft speed. Nothing is learned from data, so which bearing is held out makes no difference to the method. It scores 0.322 against a chance-balanced accuracy of 0.333, which is approximately chance level on this benchmark.
The MOMENT track tests whether a pretrained time series model transfers to hardware it has never encountered. MOMENT was trained in a large collection of time series that have nothing to do with bearings, and its weights stay frozen throughout. Each window passes through the encoder once and comes out as a 512-dimensional vector. A classifier is then fitted on those vectors inside each fold, so the foundation model never sees a bearing label at any point. That gives 0.554. Adding the four machined-damage bearings to the training side raises it to 0.589, an improvement of 0.035 under the same LOBO evaluation protocol. What that shows is that those four additional labelled bearings improve MOMENT performance under this protocol. It is not a measurement of how closely machined damage resembles damage that developed under load.
The classical feature track uses 17 descriptors computed directly from each window, covering time domain statistics and frequency band content. Same classifier, same folds, 0.634. Under this protocol the 17-dimensional handcrafted representation reaches 0.634, and the frozen MOMENT embedding reaches 0.554. That ordering describes this benchmark. It is a result of one narrow condition, a generalization to a physical bearing that appears nowhere in the training data, and it should not be generalized into a claim that handcrafted features outperform foundation models. The ordering may differ with another dataset, operating condition, or modelling approach, including fine-tuning of the encoder. The same scoping applies to the envelope reference: 0.322 here says something about these windows under this protocol and nothing about envelope analysis in bearing diagnosis generally.
The exercises are built around group-wise splitting and leakage checks, then per-bearing error analysis, which determines which bearing fails and what that failure would mean on a real machine.
The package was written for the ACT-Africa 2026 Manufacturing & Infrastructure thematic group as a hands-on session on foundation models and generalization in engineering AI.
Version 1.1 reworks participant setup and documentation, adds protocol validation and leakage checks, and expands the workshop guidance. The distributed files are modified derivatives of the Paderborn data, produced by preprocessing and feature or embedding extraction. Attribution and license terms for the original dataset are in the README.