← all repositories
obendidi/Tracking-with-darkflow

Glue two famous trackers to YOLO, call it a day

A weekend project that bolts deep_sort and SORT onto darkflow so you can follow people through video without writing the integration yourself.

Tracking-with-darkflow
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

Takes YOLOv2 detections from the darkflow fork and feeds them into either deep_sort or SORT for real-time multi-person tracking. You get bounding boxes with persistent IDs across frames, plus optional CSV export and video save. A background-subtraction fallback (OpenCV’s MOG) catches moving blobs when YOLO fails on low-quality footage.

The interesting bit

The whole thing is essentially integration plumbing — the author is admirably upfront that this is “code forked from” darkflow and nwojke’s deep_sort. The value is in the wiring: configurable flags in run.py let you swap trackers, toggle MOG fallback, skip frames for speed, and switch between video file or live camera without touching internals.

Key highlights

  • Two tracker backends: deep_sort (appearance embedding, more robust) or classic SORT (Kalman + Hungarian, lighter)
  • Hardcoded to people only — deep_sort’s encoder was trained on pedestrians, and the author notes you’d need to train your own for other objects
  • ~14 fps with deep_sort on a GTX 1080 at 1280×1024; 30 fps detection-only; frame skipping buys back speed
  • Optional MOG background subtraction for when YOLO chokes on dark or blurry video
  • Outputs CSV in (frame_id, object_id, x, y, w, h) format for downstream analysis

Caveats

  • TensorFlow 1.0 dependency dates the project; don’t expect modern TF compatibility without work
  • deep_sort weights have moved hosts at least once already (original link dead, Google Drive mirror provided)
  • Code for training a new deep_sort encoder is “not yet published” per the README, so you’re stuck with people
  • TODOs for GOTURN and OpenCV trackers (MIL, KCF, etc.) remain unimplemented

Verdict

Grab this if you need a quick, working baseline for person tracking in a research demo or hackathon and can tolerate legacy dependencies. Skip it if you need multi-class tracking, production-grade maintenance, or anything beyond “follow the humans.”

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.