$ nav
Menu +
$ cat ~/projects/static-frame-filtering
cd .. (go back)

Static Frame Filtering for AI Video Analysis

GPU-accelerated filtering experiment that reduced unnecessary video processing while preserving fall-event recall.

MLData VizPerformancePython
Static Frame Filtering for AI Video Analysis

Brief

Drove evaluation and productionization of GPU-accelerated static-frame filtering for an AI video analysis pipeline.

Problem

Long videos contained large amounts of static footage. Processing every frame increased downstream GPU work and latency, but overly aggressive filtering could remove an important event. Recall had to remain the primary constraint.

Approach

I framed a recall-first evaluation, selected representative camera conditions, implemented candidate filtering methods, and used Plotly comparisons to make trade-offs explicit for engineering and model partners.

Highlights

  • Compared KNN, MOG2, and frame differencing against recall-first criteria.
  • Analyzed approximately 120 real-world videos across varied camera profiles.
  • Modeled how input resolution and bounding-box scale influenced fall-detection confidence, using nonlinear regression with 95% confidence intervals to quantify sensitivity across camera profiles.
  • Visualized threshold sensitivity, recall, retained-frame rate, and processing time in Plotly.
  • Implemented GPU acceleration and adaptive behavior for different camera categories.

Outcome

The selected approach achieved 100% recall on 144 annotated fall frames and improved a representative preprocessing run by up to 3.1x versus CPU.

Stack

Python, OpenCV/CUDA, MOG2, KNN, frame differencing, Plotly, GPU processing.