From a single baseline to a shared, extensible open-source ecosystem
When a dataset accumulates over 2,000 views and more than 700 downloads on Zenodo, it stops being a personal research artifact and starts becoming a community resource. That is exactly what has happened with IMAD-DS — the Industrial Multi-Sensor Anomaly Detection Dataset — and it is the reason behind the launch of the new IMAD-DS repository, a natural evolution of the original IMAD-DS_baseline.
A Quick Recap: What Is IMAD-DS?
IMAD-DS is a dataset developed for multi-rate, multi-sensor anomaly detection in industrial environments under domain shift conditions — the realistic and often overlooked scenario where a model trained in one operational context must generalise to another. The dataset covers two scaled industrial machines: a robotic arm (anomalies induced by removing bolts at arm nodes) and a brushless motor (anomalies introduced via magnet displacement and belt tightening).
Data was captured using STMicroelectronics’ STEVAL-STWINBX1 IoT Sensor Industrial Node, recording from three sensors simultaneously:
- an analog microphone at 16 kHz
- a 3-axis accelerometer at 6.7 kHz
- a 3-axis gyroscope at 6.7 kHz
The dataset distinguishes between a source domain (abundant labelled training data) and a target domain (scarce training data), directly mirroring the conditions faced in real industrial deployments. It is published on Zenodo under a Creative Commons Attribution Share Alike 4.0 licence, with both BrushlessMotor and RoboticArm archives totalling approximately 5.1 GB of raw parquet files.
The accompanying baseline repository provided a clean, reproducible pipeline — dataset download, HDF5 preprocessing, and training of an Autoencoder (AE)-based anomaly detector — all contained in three Jupyter notebooks. It served its purpose well, gathering five stars and a small but engaged community of users.
But one model is not enough.
The Problem with a Single-Model Baseline
The original IMAD-DS_baseline was intentionally minimal. It demonstrated that the dataset was usable and that a simple reconstruction-based approach could produce meaningful anomaly scores. What it could not do was serve as a living benchmark or an invitation for others to contribute their own detection strategies.
Researchers working with IMAD-DS reported wanting to try different architectures — models with recurrent layers, convolutional feature extractors, or attention mechanisms — but found themselves having to rewrite the entire preprocessing and evaluation scaffolding from scratch each time. The dataset deserved better infrastructure.
The new IMAD-DS repository is the answer.
What the New Repository Sets Out to Do
The design philosophy of the new repository can be summarised in a single sentence: swap the model, keep everything else. The pipeline — data loading, windowed preprocessing, HDF5 storage, training loop, threshold calibration, and evaluation metrics — is engineered to be model-agnostic. Adding a new architecture should require nothing more than defining the model class and pointing the configuration to it.
Multi-Model Support
The most significant architectural shift from the baseline is that the framework is no longer built around a single Autoencoder. The models/ directory is designed as a registry of anomaly detection architectures, each conforming to a shared interface. The Autoencoder remains present as the reference implementation, but it now sits alongside other approaches rather than monopolising the pipeline.
This design enables true apples-to-apples comparison: identical preprocessing, identical train/test splits, identical evaluation logic, and results stored in a consistent format. Leaderboard-style comparisons across models become straightforward.
Convolutional Feature Extraction
One of the concrete additions in this release is support for Convolutional Neural Networks (CNNs) as feature extractors. The raw multivariate time-series windows from IMAD-DS contain rich spatial structure across channels (microphone, accelerometer axes, gyroscope axes), and CNNs are well-positioned to learn local patterns within those windows before passing compact representations downstream to detection heads.
This is particularly relevant for the audio channel, where short-time spectral patterns are a natural target for convolutional kernels. The convolutional backbone can operate directly on the raw window or on a computed spectrogram representation, and the downstream anomaly scoring is handled by the same evaluation infrastructure used for the fully-connected Autoencoder.
A Clean, Scriptable Entry Point
Where the baseline relied entirely on Jupyter notebooks, the new repository introduces main.py as a proper command-line entry point, with configuration managed through structured YAML files in the conf/ directory. This makes the framework amenable to automated runs, hyperparameter sweeps, and integration into CI pipelines — steps that Jupyter notebooks make unnecessarily cumbersome.
The notebook deploy.ipynb is retained for interactive exploration and rapid prototyping, but production-style training runs go through main.py. The split respects both use cases without forcing a compromise on either.
Robustness as a First-Class Concern
A framework that researchers are expected to trust with their experiments must not produce silent failures or inconsistent results across runs. The code in this repository has been tested repeatedly for robustness — across different random seeds, across the two machine types (BrushlessMotor and RoboticArm), and across both source and target domains.
Particular attention has been paid to the windowing and HDF5 serialisation steps, which in the baseline were the most common sources of subtle bugs when users tried to adapt the code. The new preprocessing module in preprocessing/ is decoupled from the training logic and can be run independently, making it easier to inspect intermediate outputs and verify correctness before committing to a full training run.
The metrics module in metrics/ is equally standalone, accepting scored test sets and producing standardised evaluation reports. This separation means that new model contributions do not need to touch the evaluation code, reducing the risk of inadvertent benchmark inflation through modified metrics.
An Invitation to the Community
The growth of IMAD-DS from a dataset into a benchmark ecosystem only makes sense if others contribute to it. The repository is structured to make that contribution path as low-friction as possible:
- Add a model: implement the required interface, drop the file into
models/, add a configuration entry inconf/. - Report results: the metrics module produces JSON outputs that can be committed alongside the model code, building up a transparent result history.
- Extend the preprocessing: the preprocessing/ module has clearly defined input and output contracts, so new feature engineering ideas (spectrograms, wavelet transforms, statistical aggregations) can be added without touching training or evaluation code.
The dataset itself — available at zenodo.org/doi/10.5281/zenodo.12636236 — provides a genuinely challenging testbed. The domain shift between source and target conditions is not synthetic; it reflects real measurement scenarios in an anechoic chamber with controlled variations in load, speed, and background noise. A model that performs well here has learned something meaningful.
What Comes Next: Transformers and Beyond
The roadmap for the repository is focused on two near-term goals.
The first is the implementation of TranAD on IMAD-DS. TranAD is a transformer-based anomaly detection model that has shown strong performance on multivariate time-series benchmarks by jointly modelling temporal dependencies and reconstruction error through a two-phase adversarial training procedure. Adapting it to the multi-rate, multi-sensor structure of IMAD-DS is a non-trivial but tractable problem, and it will serve as the first serious test of whether the new repository’s model interface is expressive enough to accommodate attention-based architectures.
Beyond TranAD, the intention is to support a broader family of transformer-based anomaly detection models — including patch-based approaches that treat multivariate windows as sequences of sensor-channel tokens, and models that incorporate domain adaptation mechanisms suited to the source-to-target shift that is the defining challenge of IMAD-DS. These models represent the current frontier of the field, and having them benchmarked on a real industrial dataset with documented domain shift conditions should be of genuine value to the research community.
The longer-term vision is for the repository to function as a living leaderboard: a place where new models can be evaluated under standardised conditions, results can be compared transparently, and the community can build a shared understanding of what actually works for industrial anomaly detection when conditions are not perfectly controlled.
Get Involved
The repository is public and open for contributions:
- New IMAD-DS framework: github.com/augustif/IMAD-DS
- Original baseline: github.com/augustif/IMAD-DS_baseline
- Dataset on Zenodo: zenodo.org/doi/10.5281/zenodo.12636236
If you have been working with the dataset and have a model you would like to benchmark, or if you have ideas for preprocessing improvements, feel free to open an issue or a pull request. The goal is to build something useful together.
IMAD-DS was created at STMicroelectronics in collaboration with Politecnico di Milano. The repository is maintained by Filippo Augusti.