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
- When
-
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