All work

Real-Time Mosquito Tracking

Tracking mosquitoes at 60 FPS on a CPU

Year
2024–26
Kind
Vision & edge
Status
In use
Built at
QED Analyticals

60 FPS on a CPU

An edge video pipeline that finds, tracks and counts mosquitoes in a live camera feed for biosurveillance. It runs at 60 FPS on standard CPU hardware, with no GPU.

The pipeline runs at the edge, close to the camera, on standard CPU hardware. It suppresses the noise of outdoor feeds, finds mosquitoes with contour geometry heuristics and follows each one with optical flow and trajectory prediction. Tracks become a running count, the bio-density figure biosurveillance needs. Because these techniques are cheap to compute, it holds 60 FPS without a GPU. It is deployed at QED Analyticals.

The problem

Mosquitoes spread diseases such as malaria and dengue, so how many there are is a public health question. Biosurveillance answers it by counting them over time. This system does the counting from a live camera feed: it finds each mosquito, follows it and counts it in real time, on standard CPU hardware at the edge.

How it works

  1. 01

    Read the camera at the edge

    The pipeline runs at the edge, close to the camera, on standard CPU hardware, and processes the stream frame by frame. At 60 frames per second it has about 16 milliseconds per frame for everything that follows, with no GPU to fall back on.

  2. 02

    Suppress outdoor noise

    Outdoor feeds are noisy. Light changes through the day, and wind and weather move things that are not insects. The pipeline filters that noise out first, so background motion does not turn into a detection.

  3. 03

    Find each mosquito by its shape

    What survives is outlined as contours: the boundary of each connected blob of pixels. Contour geometry heuristics, simple rules about a blob's size and shape, decide which blobs are mosquitoes. Rules like these cost little to compute, which helps keep each frame inside its budget.

  4. 04

    Follow it with optical flow

    Optical flow estimates how pixels moved between one frame and the next, which gives each mosquito a direction and a speed. From that motion the tracker predicts where each one will be in the next frame and matches new detections to those predictions. Matching against a prediction is what lets a track keep its ID from frame to frame.

  5. 05

    Count what was tracked

    Each track is one insect, so the tracks become a running count: the bio-density figure biosurveillance needs. Tracking first is what makes a count trustworthy, because a mosquito seen in sixty frames should count once, not sixty times.

Results

60 FPS
real-time tracking on standard CPU hardware, without a GPU

Decisions

  • Cheap techniques, every frame

    The target was standard CPU hardware with no GPU acceleration. Optical flow and contour geometry are fast to compute, so the pipeline is built on them to hold 60 FPS in real time.

  • Process where the video is

    The pipeline is a low-latency edge system. Working on frames where they are captured means the video does not have to travel to a server before anything is detected.