Part of #16 (Spec 1 — Foundation). ## Scope - `src/pipeline.py`: `AnomalyDetectionPipeline(backbone, head_ckpt)` holding extractor (HF processor role) + trained head + post-process. - Input raw video → output per-frame anomaly scores. No separate extraction step at serve time. - Spec 1 implements `mode="offline"` only (bidirectional, exact = current). `window`/`causal` extend the same interface in Spec 2 (#16). ## Done when - `pipeline(video_path)` returns scores of length == frame/snippet count on a sample video.
Part of #16 (Spec 1 — Foundation).
Scope
src/pipeline.py:AnomalyDetectionPipeline(backbone, head_ckpt)holding extractor (HF processor role) + trained head + post-process.mode="offline"only (bidirectional, exact = current).window/causalextend the same interface in Spec 2 ([Epic] WSVAD comparison framework: multi-backbone matrix + HF-style serving + streaming inference #16).Done when
pipeline(video_path)returns scores of length == frame/snippet count on a sample video.