DOVBETA
All projects

Defense & security · Sensor fusion

Sensor Fusion Lab

A test bench that shows with numbers whether combining several sensors really improves object tracking — before money goes into hardware.

Status
Live
Year
2026
What we delivered
Simulation & sensor modelling · Tracking & fusion algorithms · Evaluation methodology · Interactive web app · Containerized deployment
stages from simulated truth to statistical verdict
6
stages from simulated truth to statistical verdict
association strategies compared on identical data
4
association strategies compared on identical data
confidence intervals behind every "fusion is better" claim
95 %
confidence intervals behind every "fusion is better" claim
automated tests
328
automated tests

The challenge

Teams building drone detection and perimeter surveillance hear the same promise everywhere: add a second sensor, fuse the data, and tracking gets better. Whether it actually does depends on the sensors' noise, update rates, latency, missed detections and false alarms — and on how the tracks are associated and fused.

Testing this in the field is slow and expensive, and field data has no exact answer key: nobody knows precisely where every object really was. A single test run proves little, because one lucky or unlucky realisation of noise can flip the conclusion.

The solution

Sensor Fusion Lab walks through the whole chain in a browser: build a scenario with moving objects, attach simulated sensors with their own noise, rates, latency and false alarms, run a Kalman tracker, compare data-association strategies, fuse several sensors into one picture, and finally score everything against the known truth. Every stage shows its parameters, plots and an explanation of how to read them.

The key engineering idea is a strict wall between truth and algorithms: the simulator knows where every object is, the tracking and fusion code only ever sees sensor observations, and automated tests enforce that boundary. Comparisons are kept fair — the same data for every variant, the same rules for every configuration, scoring on a common time grid — and every experiment is stored with its configuration hash so it can be re-run and verified byte for byte.

The evaluation stage repeats a comparison over many random seeds and parameter sweeps and scores it with established multi-target metrics (GOSPA, CLEAR MOT, IDF1). A claim such as "fusion is better" appears only when the 95 % confidence interval of the paired difference supports it.

Key capabilities

  • 01

    Scenarios with exact truth

    Moving objects and imperfect sensors with noise, misses, false alarms, latency and honest or over-confident uncertainty.

  • 02

    Kalman tracking, explained

    Tracks with a full lifecycle, plus a step-by-step view of every prediction and update matrix.

  • 03

    Association lab

    Euclidean vs statistical gating, greedy vs optimal assignment — with every accepted and rejected pairing inspectable.

  • 04

    Fair fusion comparison

    Fused tracking against each sensor alone on a common time grid, including late data and real-time buffering.

  • 05

    Statistics, not anecdotes

    GOSPA, MOTA/MOTP and IDF1 over many seeds and parameter sweeps, with paired confidence intervals.

  • 06

    Reproducible by design

    Every run is stored with its configuration and seed and can be re-run and verified byte for byte.

Screens

Two simulated sensors observing two crossing objects: detections, false alarms and missed detections over the true paths
Two simulated sensors observing two crossing objects: detections, false alarms and missed detections over the true paths
Fused tracking vs each sensor alone: position and velocity error, consistency and coverage, with an automatic verdict
Fused tracking vs each sensor alone: position and velocity error, consistency and coverage, with an automatic verdict
Monte Carlo evaluation over 10 seeds: GOSPA with 95 % confidence intervals and the paired fused-minus-best difference
Monte Carlo evaluation over 10 seeds: GOSPA with 95 % confidence intervals and the paired fused-minus-best difference

The result

The lab runs as a private web application. On its demo scenario with two contrasting sensors, fusion cut the GOSPA error from 5.91 m (best single sensor) to 4.20 m over 10 seeds — a statistically significant gain — while velocity accuracy did not improve significantly, and with a much noisier sensor fusion made velocity worse. The tool reports both outcomes, which is exactly the point.

The same workflow answers a client's own questions: which sensor mix, which update rates, how much latency is acceptable, and whether fusion pays off for their targets. Real recordings are meant to plug in through the sensor-adapter layer, without changes to the tracking and fusion engine.

Technology

  • Python
  • NumPy
  • SciPy
  • pandas
  • Streamlit
  • Plotly
  • pytest
  • Podman
  • Caddy

Want something like this for your business?

Tell us about your idea or the process you want to automate. We'll propose a solution, a timeline and the first working version.

Next case

Domovyk

An AI concierge that answers residents of apartment buildings in Telegram — from the building's real data, around the clock.