Docker-wrapped TensorFlow detection for the stubbornly practical
A no-frills Python wrapper that pipes webcam or video files through TensorFlow object detection, containerized for Linux purists.

What it does
This is a thin Python harness around TensorFlow’s object detection API. Point it at a webcam device or a video file; it draws bounding boxes and can write an output .avi. Everything runs inside a Docker container on Linux—Ubuntu 16.04, specifically, with TensorFlow 1.15.2 and OpenCV 3.4.1.
The interesting bit
The modest cleverness is in the worker-queue architecture: you can spin up multiple workers and tune queue size to avoid dropped frames when processing video files. The README suggests 20 workers and a queue of 150 for video streams—essentially a producer-consumer buffer against TensorFlow’s inference latency.
Key highlights
- Supports both live webcam input and offline video processing
- Outputs annotated
.avifiles to anoutputs/folder - Configurable via command-line flags in
exec.sh(display, fullscreen, worker count, queue size, output naming) - Dockerized setup with a one-line
bash runDocker.shlaunch - Explicitly Linux-only; the author notes macOS won’t work due to Docker webcam passthrough limitations
Caveats
- Tooling is frozen in 2019: Ubuntu 16.04, Python 3.5, TensorFlow 1.15.2, OpenCV 3.4.1
- TensorFlow binaries from 1.6+ require AVX instructions; older CPUs may need a source build or downgrade to TF 1.5, which may cause other issues
- No Windows or macOS support is ensured or tested
Verdict
Worth a look if you need a quick, containerized object detection demo on Linux and don’t mind brushing off some technical debt. Skip it if you want modern frameworks, cross-platform support, or anything resembling a maintained codebase.