PyData Amsterdam 2026

The unreasonable effectiveness of DAS: ML on fiber-optic vibration data for rail monitoring
2026-09-10 , Room 1 (170)

Distributed Acoustic Sensing (DAS) turns ordinary fiber-optic cables into continuous microphones stretching up to 100 km. By firing laser pulses down the fiber and measuring the backscattered light, every meter of cable becomes a vibration sensor sampling at thousands of hertz. The result is a rich spatiotemporal data stream that captures everything happening along and around the track, from passing trains to footsteps.

We explore multiple applications of DAS along the Dutch rail network. In this talk, we'll focus on two of them: real-time trespasser detection using YOLOv8 image recognition on DAS spectrograms, and real-time train detection and tracking combining classic STA/LTA triggering with Kalman filtering, both running on local edge hardware. We conclude by a short overview of related work on rail defect detection and subsurface monitoring.


Technical depth
We start by showing what DAS data actually looks like: a continuous waterfall of vibration amplitudes across distance and time, sampled at thousands of hertz along up to 100 km of fiber at 1m spatial resolution. This is a unique type of data that most of the audience will not have encountered before, which makes it a good foundation for the rest of the talk. From there, we walk through two real-time ML/signal processing pipelines that both operate on the same raw data source.

Trespasser detection: We convert windows of raw DAS data into 2D STFT spectrograms and treat the problem as an image detection task using YOLOv8. We'll cover why this spectrogram-as-image approach works well, how we trained the model, and the steps we took to optimize it for edge hardware: exporting to ONNX, applying model optimization and running inference using the Intel MKL-optimized onnxruntime — all to achieve real-time performance on a CPU-only server with no GPU.

Train detection and tracking: Here we take a more classical signal processing route. We use STA/LTA (short-term average / long-term average) triggering to detect train presence in the DAS signal in real time, then feed detections into a Kalman filter to continuously track each train's position along the fiber. This pipeline shows that simple well-understood techniques get you real-time results with minimal computational overhead.

We'll briefly touch on two additional use cases under active exploration: rail defect detection and subsurface monitoring. These illustrate the breadth of what a single DAS installation can support.

Scope feasibility
The talk fits comfortably in a 25-minute slot. We cover one shared data source (DAS) and two main applications. The defect detection and subsurface topics are kept brief. We include multiple demo footages of the systems running on real DAS data.

Educational value
The audience will see a full journey from an unusual raw signal to real-time detections using two very different approaches (deep learning and classical signal processing). Practical takeaways include: how to reframe a sensor signal as an image detection problem, how to optimize a YOLO model for CPU-only edge deployment using ONNX and hardware-specific runtimes, and how to apply classic signal processing techniques. These techniques are transferable well beyond rail monitoring.

Relevance to the conference
The entire stack is Python-based (h5py, onnxruntime, numpy/scipy). The talk highlights a real-world use case where current state-of-the-art ML and signal processing techniques come together to solve a practical infrastructure problem in real time on constrained hardware. In doing so, the project contributes to keeping rail infrastructure safe and reliable, improving the quality of the public transport system.

Outline:
Intro in DAS for rail monitoring: 10 min
Real-time train detection and tracking: 7.5 min
Trespasser detection: 7.5 min
Other work: 5 min
Q&A: 5 min

Data scientist at Lynxx

Data Scientist at ProRail, in the Center of Excellence Advanced Analytics.