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
- 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.
- 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.
- 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.
- 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.
- 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.