Punk Labs 2026

Womprat WOMPRAT

Keep the target. Lose the GPU.
Small-target tracking for edge CPUs.

Womprat is a CPU-only visual tracker for small, distant aerial targets. Give its Python API a video frame and an initial lock; it returns the target's position frame after frame — without a discrete GPU or a cloud-inference loop.


From lock to track

  1. 01 Lock once. Seed the tracker with a frame and a target bounding box from an operator, detector, or upstream system.
  2. 02 Track locally. Motion and contrast proposals, Kalman association, and appearance cues keep the target tied together over time.
  3. 03 Recover the lock. Template and descriptor re-association help find the same target again after detector flicker or a brief loss.

Tracking, in view

Three measured 10-second runs. The green brackets are Womprat's live track output.

Womprat holding a green tracking box on a small white drone flying over a distant tree line.
Field / distant 298 / 299 target-present frames · 3.15 px center RMSE
Womprat following a bright drone across infrared thermal footage above a pale tree line.
Infrared / traverse 298 / 300 target-present frames · 1.48 px center RMSE

Showcase footage: the field and infrared clips come from the Halmstad Drone Detection dataset, released under CC0 1.0. The urban clip is a selected showcase window from the DUT Anti-UAV dataset, released under the Apache License 2.0; the redistributed media includes its licence notice. Measurements use a 30 px centre-distance gate over each 300-frame tracking run.


Why CPU


The product is the API

Womprat ships as a Python package. The web console shown during development is a demo harness: it selects or uploads clips, calls this same API, and visualises the returned tracks. It is not the tracking engine and is not required in deployment.

from womprat import Tracker

tracker = Tracker(profile="small")
tracker.lock(first_frame, bbox)

for frame in frames:
    tracks = tracker.update(frame, dt=1/30)

Tuned on six datasets

The core tracker does not require neural-network training. Its classical vision pipeline has been tuned and validated across six datasets. The public examples here use only footage with clear reuse terms.

Halmstad Drone Detection dataset
Used for validation and the field and infrared demos above. The footage is released under CC0.
DUT Anti-UAV dataset
Used for the selected urban showcase window above. Its repository distributes the dataset under the Apache License 2.0.

Deployment

Runtime
Python, NumPy, OpenCV, and SciPy on a general-purpose CPU
Edge target
Linux systems through Raspberry Pi-class devices; tune input size and rate for the hardware
Acceleration
No discrete GPU required by the canonical small-target profile
Interface
Lock with a frame and bounding box; update with each following frame
Source
Open source under Apache 2.0 — github.com/punklabs-ai/womprat