Ahmed Doghri Logo Image
Ahmed Doghri

videoprivacy

A missed frame should not reveal a face. Tracking fills the gap and redacts 10 regions across five frames with two stable identities.

videoprivacy tracked face redaction across frames
videoprivacy working browser demo

Frame-By-Frame Blur Leaks

Face detectors miss motion blur, profiles, occlusion, and compression artifacts. Treat each frame independently and one missed box can reveal the person the pipeline was meant to protect.

videoprivacy associates detections with intersection-over-union tracking, pads and clips boxes, fills short detection gaps, and applies real OpenCV blur to the output video.

Ship The Redaction Report

The binary pipeline records every frame, track identifier, box, and inferred gap fill. Detection sequences can also be inspected through the CLI, JSON API, browser workbench, and tests.

The Demo

Across five frames, two identities produce ten redacted regions. One missing detection is filled from track continuity, so neither identity is exposed during the gap.

The default local Haar detector keeps setup light. Production use requires a detector evaluated for the actual camera domain, demographic coverage, pose, occlusion, and recall target.

Implementation Basis

The video path uses OpenCV's established detection and DNN tooling rather than inventing a media decoder or blur pipeline.

Read the OpenCV DNN face detection.

Tools Used

Python
OpenCV
Video Processing
Face Detection
IoU Tracking
Privacy
Docker
GitHub Actions CI