遇见数据集

Reproduction package for: How Many Times Will It Cry Wolf? Alarm Budgets in Video Anomaly Detection Under Composition Mismatch

收藏
Zenodo2026-11-02 更新2026-11-05 收录
官方服务:

资源简介:

Reproduction package for the paper "How Many Times Will It Cry Wolf? Alarm Budgets in Video Anomaly Detection Under Composition Mismatch", submitted to Image and Vision Computing (Elsevier). WHAT THIS IS Every derived artefact the paper's numbers are computed from: one record per calibrated deployment, every fitted threshold, every alarm-log summary, every bootstrap resample and every assembled table. Nothing here requires the original video frames, and nothing here requires retraining or even running a detector, so every printed number can be recomputed from this deposit alone. The paper asks a question ranking metrics do not answer: if a deployment declares a false-alarm budget of B alarms per hour, how many does an operator actually receive? A model-agnostic decision layer is calibrated on clean footage and then measured under composition mismatch, because the footage a detector is calibrated on is not the footage it runs on. The quantity that governs the answer, and that the literature does not report, is the share of deployed hours coming from event-bearing footage. CONTENTS (535 files, 6.4 MB as a single zip) results/ 412 files per-cell JSON records, Markdown reports, vector figures governor/ 7 modules the decision layer: scoring -> alarms -> metrics manuscript/ 14 files the paper's Markdown sources, so the self-check below can compare text against artefacts inside this package scripts/ 95 files every driver that reads results/ and writes a table README.md, LICENSE.md, CITATION.cff, requirements.txt (+ -analysis and -figures variants), Zenodo_Description.txt WHICH FILE BACKS WHICH NUMBER Budget grid, all 1,540 cells: results/mx_strict.json, results/p1_matrix*.json Table 2 and the 180x spread of extremes: results/p2_cells.json Table 3, the gated median 1.27 [1.01, 1.52] and its all-22 counterpart 1.18 [1.01, 1.44]: results/p2_gated_median.json / .md Procedural controls at 0.97-1.00: results/p0_positive_control.json, ci_*.json Clean arm, 38 alarms, the 17 / 34 / 208 h ladder: results/round3_*.json Composition contrast, dose sweep, family slopes 6.2 against 1.7: results/round2_mechanism.json, results/round7_checks.json XD-Violence clean arm, 14.9 h, 1.17 [0.76, 1.60]: results/xdv_eval*.json ShanghaiTech: results/p4_shanghai.json. Seed variation (ICC 0.87): results/seed_variation.json Tables as typeset: results/tab_experiments.md, results/tab_round3.md Every table is assembled by scripts/md2tex.py from a "## Table N" block in those Markdown files; the block number is NOT the printed table number, and the mapping is in SOURCE_README.md in the manuscript folder. REPRODUCTION PATH THAT NEEDS NO MODEL python scripts/tab_experiments.py # regenerates tab_experiments.{json,md} python scripts/tab_round3.py # regenerates tab_round3.md python scripts/p2_gated_median.py # regenerates p2_gated_median.{json,md} python scripts/check_numbers.py # every printed number vs its artefact The scripts are deterministic given their inputs: randomness is seeded and re-running reproduces the printed decimals. The analysis scripts need numpy 1.x, because the arrays in results/*.npz were written under numpy 1.21. WHAT IS DELIBERATELY NOT HERE The third-party corpora. UCF-Crime I3D features, XD-Violence and ShanghaiTech are distributed by their own authors under their own terms and are not redistributed here; scripts/ contains the fetchers that obtain them. The intermediate detector score dumps (results/sota*/, about 44 GB): plain re-serialisations of third-party model outputs at segment granularity. Every- thing downstream is shipped here, and scripts/ regenerates them if needed. NOTES WORTH KEEPING Inflation iota = F/B is a rate ratio, not a probability. Values below one buy compliance by alarming less, which is why recall is printed beside it. Occupancy above 0.3 is flagged degenerate: those channels are open most of the time, so their rate is not a rate. Three of the 22 streams fail this gate at B = 2, which is why the headline is reported at two calibres, 19 gated and 22. The 180x spread uses the unrounded rates, 0.084459 and 15.202703; dividing the two-decimal printed extremes gives 190, which is a rounding artefact. LICENCE The record as a whole is CC BY 4.0, matching the derived data in results/. Code in scripts/ and governor/ is additionally reusable under MIT; the split is spelled out in LICENSE.md.

提供机构:
Zenodo
创建时间:
2026-11-02
二维码
社区交流群
二维码
科研交流群
商业服务