P01Automotive · ADAS2025ZF Mobility France
P01

CAN Anomaly Detection

Transformer-VAE on raw automotive bus data

CASE STUDY · INTERNSHIP — ZF MOBILITY FRANCE

FRAMES / S

10k+

CRITICAL IDS

0x2B6 · 0x32D · 0x2D8

TRAINING REGIME

Self-supervised

DETECTION SIGNAL

Reconstruction error

STACK //PyTorchTransformersVAETime SeriesCAN bus

STEP / 01

Brief

ADAS-equipped vehicles emit dense streams over the CAN bus. Latent failures hide inside that noise. The mission was to surface anomalous behaviour automatically, without labels, at signal-rate.

STEP / 02

Pipeline

From raw frames to a model that flags drift in real time.

  • 01Extract raw CAN frames, decode each byte to a decimal cell
  • 02Project frames into a multivariate matrix indexed by message ID
  • 03Focus on critical IDs 0x2B6, 0x32D, 0x2D8
  • 04Window into multivariate time series with overlap

STEP / 03

Model

A Variational Auto-Encoder built around a Transformer encoder/decoder. The model trains exclusively on PASSED runs — anything off the learned manifold scores a high reconstruction error and trips the detector.

STEP / 04

Friction points

What made it hard.

  • 01Heavy noise floor on long acquisition runs
  • 02High dimensionality (one channel per byte per ID)
  • 03Long-range temporal dependencies across IDs

STEP / 05

Outcome

A reproducible pipeline that flags previously-unseen behaviours, generalises across vehicles, and is fully automated end-to-end.

Industrial ML on safety-critical embedded data — the kind of project where the model is judged by miles, not metrics.

NEXT CASE / P02

SimBox Fraud Detection