Skip to content
cccskills
FreePublished on GitHub

SmartHome Video Anomaly Benchmark

VLM evaluation suite for video anomaly detection in smart home camera footage

The English summary is being prepared. Showing the original description.

Works withYouTube
See how to install

Files included (9)

  • SKILL.md6.1 KB
  • config.yaml684 B
  • deploy.bat2.1 KB
  • deploy.sh1.8 KB
  • fixtures/annotations.json38.2 KB
  • package-lock.json1.0 KB
  • package.json524 B
  • scripts/generate-report.cjs12.1 KB
  • scripts/run-benchmark.cjs33.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

SmartHome Video Anomaly Benchmark

Benchmark suite evaluating VLM models on video anomaly detection across 7 smart home categories — based on the SmartHome-Bench dataset (1,203 YouTube smart home camera clips).

Key differentiator from HomeSec-Bench: This benchmark requires video understanding (multi-frame sampling), not single-frame analysis.

Setup

Requires npm install + system dependencies. The deployment agent should:

  1. Check for yt-dlp and ffmpeg in PATH
  2. Run npm install in the skill directory

Entry script: scripts/run-benchmark.cjs

Verification

node scripts/run-benchmark.cjs --help

Quick Start

As an Aegis Skill (automatic)

When spawned by Aegis, configuration is injected via environment variables. The benchmark downloads video clips, samples frames, evaluates with VLM, and generates an HTML report.

Standalone

# Run with local VLM (subset mode, 50 videos)
node scripts/run-benchmark.cjs --vlm http://localhost:5405

# Quick test with 10 videos
node scripts/run-benchmark.cjs --vlm http://localhost:5405 --max-videos 10

# Full benchmark (all curated clips)
node scripts/run-benchmark.cjs --vlm http://localhost:5405 --mode full

# Filter by category
node scripts/run-benchmark.cjs --vlm http://localhost:5405 --categories "Wildlife,Security"

# Skip download (re-evaluate cached videos)
node scripts/run-benchmark.cjs --vlm http://localhost:5405 --skip-download

# Skip report auto-open
node scripts/run-benchmark.cjs --vlm http://localhost:5405 --no-open

Configuration

Environment Variables (set by Aegis)

VariableDefaultDescription
AEGIS_VLM_URL(required)VLM server base URL
AEGIS_VLM_MODEL—Loaded VLM model ID
AEGIS_SKILL_ID—Skill identifier (enables skill mode)
AEGIS_SKILL_PARAMS{}JSON params from skill config

Note: This is a VLM-only benchmark. An LLM gateway is not required.

User Configuration (config.yaml)

This skill includes a config.yaml that defines user-configurable parameters. Aegis parses this at install time and renders a config panel in the UI. Values are delivered via AEGIS_SKILL_PARAMS.

ParameterTypeDefaultDescription
modeselectsubsetWhich clips to evaluate: subset (~50 clips) or full (all ~105 curated clips)
maxVideosnumber50Maximum number of videos to evaluate
categoriestextallComma-separated category filter (e.g. Wildlife,Security)
noOpenbooleanfalseSkip auto-opening the HTML report in browser

CLI Arguments (standalone fallback)

ArgumentDefaultDescription
--vlm URL(required)VLM server base URL
--out DIR~/.aegis-ai/smarthome-benchResults directory
--max-videos N50Max videos to evaluate
--mode MODEsubsetsubset or full
--categories LISTallComma-separated category filter
--skip-download—Skip video download, use cached
--no-open—Don't auto-open report in browser
--report(auto in skill mode)Force report generation

Protocol

Aegis → Skill (env vars)

AEGIS_VLM_URL=http://localhost:5405
AEGIS_SKILL_ID=smarthome-bench
AEGIS_SKILL_PARAMS={}

Skill → Aegis (stdout, JSON lines)

{"event": "ready", "model": "SmolVLM2-2.2B", "system": "Apple M3"}
{"event": "suite_start", "suite": "Wildlife"}
{"event": "test_result", "suite": "Wildlife", "test": "smartbench_0003", "status": "pass", "timeMs": 4500}
{"event": "suite_end", "suite": "Wildlife", "passed": 12, "failed": 3}
{"event": "complete", "passed": 78, "total": 105, "timeMs": 480000, "reportPath": "/path/to/report.html"}

Human-readable output goes to stderr (visible in Aegis console tab).

Test Suites (7 Categories)

SuiteDescriptionAnomaly Examples
🦊 WildlifeWild animals near home camerasBear on porch, deer in garden, coyote at night
👴 Senior CareElderly activity monitoringFalls, wandering, unusual inactivity
👶 Baby MonitoringInfant/child safetyStroller rolling, child climbing, unsupervised
🐾 Pet MonitoringPet behavior detectionPet illness, escaped pets, unusual behavior
🔒 Home SecurityIntrusion & suspicious activityBreak-ins, trespassing, porch pirates
📦 Package DeliveryPackage arrival & theftStolen packages, misdelivered, weather damage
🏠 General ActivityGeneral smart home eventsUnusual hours activity, appliance issues

Each clip is evaluated for binary anomaly detection: the VLM predicts normal (0) or abnormal (1), compared against expert annotations.

Metrics

Per-category and overall:

  • Accuracy — correct predictions / total
  • Precision — true positives / predicted positives
  • Recall — true positives / actual positives
  • F1-Score — harmonic mean of precision & recall
  • Confusion Matrix — TP, FP, TN, FN breakdown

Results

Results are saved to ~/.aegis-ai/smarthome-bench/ as JSON. An HTML report with per-category breakdown, confusion matrix, and model comparison is auto-generated.

Requirements

  • Node.js ≥ 18
  • npm install (for openai SDK dependency)
  • yt-dlp (video download from YouTube)
  • ffmpeg (frame extraction from video clips)
  • Running VLM server (must support multi-image input)

Citation

Based on SmartHome-Bench: A Comprehensive Benchmark for Video Anomaly Detection in Smart Homes Using Multi-Modal Foundation Models.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Dataset annotation management — COCO labels, sequences, export, and Kaggle upload

The English summary is being prepared. Showing the original description.

SharpAI/DeepCamera3.1KUpdated Sep 17, 2026

Eufy camera integration — local RTSP streaming and event clips

The English summary is being prepared. Showing the original description.

SharpAI/DeepCamera3.1KUpdated Sep 17, 2026

Reolink camera integration — RTSP and HTTP API

The English summary is being prepared. Showing the original description.

SharpAI/DeepCamera3.1KUpdated Sep 17, 2026

TP-Link Tapo camera integration — RTSP streaming and ONVIF

The English summary is being prepared. Showing the original description.

SharpAI/DeepCamera3.1KUpdated Sep 17, 2026

LINE messaging channel for Clawdbot agent

The English summary is being prepared. Showing the original description.

SharpAI/DeepCamera3.1KUpdated Sep 17, 2026

Matrix/Element messaging channel for Clawdbot agent

The English summary is being prepared. Showing the original description.

SharpAI/DeepCamera3.1KUpdated Sep 17, 2026

See all skills by SharpAI

Report a problem with this skill