Skip to main content

Vizcal Filter

Overview

The Vizcal filter performs video analysis to determine stability and detect subject movement, using deep models and optical flow. It tracks camera shake, object motion, and provides annotated feedback overlaid on video frames.

Features

  • Video Stability Detection

    • Detects camera shake and classifies stability using optical flow
    • Calculates average shake distance and outputs a stability category
  • Subject Photometric Analysis

    • When subject_bool is enabled, uses a deep model and tracker to analyze a subject within a specified ROI
  • Per-frame Logging

    • Records frame-by-frame metadata, shake metrics, and subject photometrics to JSON
  • Overlay Visualizations

    • Draws annotated information on each frame for easier inspection
  • Configurable Parameters

    • ROI, shake threshold, movement threshold, and subject analysis toggle are all adjustable via config

Configuration

class VizcalConfig(FilterConfig):
subject_bool: bool = False
shake_threshold: int = 5
movement_threshold: float = 1.0
roi: list[int] = []
video_properties: dict[str, int] = {}
output_json_path: str = './output/video_data.json'
model_path: str = 'jfrog://.../filter_example_model.zip'

Outputs

  • Annotated video frames with:
    • Stability overlays
    • Subject movement analysis (if enabled)
  • JSON output:
    • video_data.json includes per-frame data and summary statistics