VIGIL-Edge is a production-grade edge verification layer for CCTV vision-language systems. It is designed around a safety-first principle and operates on-device: treat generated captions as untrusted claims, then verify each claim against video evidence at configurable keyframe intervals before final acceptance. The framework runs entirely on Apple Silicon MPS with no internet requirement, enabling privacy-preserving, real-time hallucination detection in field deployments.
The framework targets hallucination reduction in CCTV video streams and provides structured explanations, calibrated confidence, safety-aware aggregation, and temporal consistency checking (a novel contribution for video processing).
Custom benchmark (100 images / 600 claims):
| Method | Accuracy | Precision | Recall | FPR |
|---|---|---|---|---|
| Prompt + Adaptive | 0.7067 | 0.6658 | 0.8300 | 0.4167 |
| Full VIGIL (Balanced) | 0.7033 | 0.6723 | 0.7933 | 0.3867 |
| Full VIGIL (Safe) | 0.6567 | 0.6621 | 0.6400 | 0.3267 |
POPE-COCO adversarial (500 images / 3000 claims):
| Method | Accuracy | Precision | Recall | FPR |
|---|---|---|---|---|
| Full_VIGIL_Balanced | 0.7290 | 0.6929 | 0.8227 | 0.3647 |
| Full_VIGIL_Safe | 0.6890 | 0.7529 | 0.5627 | 0.1847 |
| Baseline_CLIP_Fixed | 0.5000 | 0.5000 | 1.0000 | 1.0000 |
Safe mode reduces FPR to 18.5% on adversarial data with a controllable recall trade-off.
Target device: Apple Silicon (MPS) / resource-constrained edge devices
Caption model: MobileVLM-3B (lightweight, optimized for edge)
Verifier: MobileCLIP-S2 (Apple's lightweight CLIP)
Input: Video clips (VIRAT Ground Dataset 2.0)
Keyframe interval: Configurable (default 3 seconds)
Processing: Entirely on-device, no internet required
Novel capability: Temporal consistency checking across consecutive frames to detect video hallucinations
Modern vision-language models can produce fluent but unsupported statements. These hallucinations are risky in high-stakes contexts (education, healthcare, accessibility, and automated decision support).
Challenge:
VIGIL addresses this by introducing a separate cross-modal verifier that checks generated claims against visual evidence.
VIGIL treats the captioning model as an untrusted generator and adds an independent verification pipeline:
Image -> Caption Generation -> Claim Extraction -> Claim Verification -> Trust Decision + Explanation
vigil-ai/
macOS/Linux:
Parameters:
Opens a Gradio interface at http://localhost:7860 for real-time video processing and visualization.
Key generated files (image mode):
Video mode outputs:
Global trust output (example fields):
Current scaled benchmark (100 images / 600 claims):
| Method | Accuracy | Precision | Recall | FPR |
|---|---|---|---|---|
| Prompt + Adaptive | 0.7067 | 0.6658 | 0.8300 | 0.4167 |
| Full VIGIL (Balanced) | 0.7033 | 0.6723 | 0.7933 | 0.3867 |
| Full VIGIL (Safe) | 0.6567 | 0.6621 | 0.6400 | 0.3267 |
Interpretation:
5 commits
Python
90.9%
Jupyter Notebook
9.1%
VIGIL-Edge is a production-grade edge verification layer for CCTV vision-language systems. It is designed around a safety-first principle and operates on-device: treat generated captions as untrusted claims, then verify each claim against video evidence at configurable keyframe intervals before final acceptance. The framework runs entirely on Apple Silicon MPS with no internet requirement, enabling privacy-preserving, real-time hallucination detection in field deployments.
The framework targets hallucination reduction in CCTV video streams and provides structured explanations, calibrated confidence, safety-aware aggregation, and temporal consistency checking (a novel contribution for video processing).
Custom benchmark (100 images / 600 claims):
| Method | Accuracy | Precision | Recall | FPR |
|---|---|---|---|---|
| Prompt + Adaptive | 0.7067 | 0.6658 | 0.8300 | 0.4167 |
| Full VIGIL (Balanced) | 0.7033 | 0.6723 | 0.7933 | 0.3867 |
| Full VIGIL (Safe) | 0.6567 | 0.6621 | 0.6400 | 0.3267 |
POPE-COCO adversarial (500 images / 3000 claims):
| Method | Accuracy | Precision | Recall | FPR |
|---|---|---|---|---|
| Full_VIGIL_Balanced | 0.7290 | 0.6929 | 0.8227 | 0.3647 |
| Full_VIGIL_Safe | 0.6890 | 0.7529 | 0.5627 | 0.1847 |
| Baseline_CLIP_Fixed | 0.5000 | 0.5000 | 1.0000 | 1.0000 |
Safe mode reduces FPR to 18.5% on adversarial data with a controllable recall trade-off.
Target device: Apple Silicon (MPS) / resource-constrained edge devices
Caption model: MobileVLM-3B (lightweight, optimized for edge)
Verifier: MobileCLIP-S2 (Apple's lightweight CLIP)
Input: Video clips (VIRAT Ground Dataset 2.0)
Keyframe interval: Configurable (default 3 seconds)
Processing: Entirely on-device, no internet required
Novel capability: Temporal consistency checking across consecutive frames to detect video hallucinations
Modern vision-language models can produce fluent but unsupported statements. These hallucinations are risky in high-stakes contexts (education, healthcare, accessibility, and automated decision support).
Challenge:
VIGIL addresses this by introducing a separate cross-modal verifier that checks generated claims against visual evidence.
VIGIL treats the captioning model as an untrusted generator and adds an independent verification pipeline:
Image -> Caption Generation -> Claim Extraction -> Claim Verification -> Trust Decision + Explanation
vigil-ai/
macOS/Linux:
Parameters:
Opens a Gradio interface at http://localhost:7860 for real-time video processing and visualization.
Key generated files (image mode):
Video mode outputs:
Global trust output (example fields):
Current scaled benchmark (100 images / 600 claims):
| Method | Accuracy | Precision | Recall | FPR |
|---|---|---|---|---|
| Prompt + Adaptive | 0.7067 | 0.6658 | 0.8300 | 0.4167 |
| Full VIGIL (Balanced) | 0.7033 | 0.6723 | 0.7933 | 0.3867 |
| Full VIGIL (Safe) | 0.6567 | 0.6621 | 0.6400 | 0.3267 |
Interpretation:
5 commits
Python
90.9%
Jupyter Notebook
9.1%