$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Deze studie maakt alleen gebruik van openbaar beschikbare datasets (UCF-Crime13 en ShanghaiTech14). Alle video's zijn verkregen uit de officiële releases van de datasets, die persoonlijk identificeerbare informatie anonimiseren voor zover verstrekt door de beheerders van de dataset. Er is geen aanvullende gegevensverzameling of interactie met menselijke proefpersonen uitgevoerd door de auteurs; daarom was er geen nieuwe IRB-goedkeuring vereist. Het gegevensgebruik voldoet aan de licenties en gebruiksvoorwaarden van de respectieve datasets.
Gegevensvoorbereiding en functie-extractie
Voorbereiding van de dataset: De UCF-Crime13 (1.610 treinen/290 testvideo's) en ShanghaiTech14 (238 treinen/199 testvideo's) datasets werden aangenomen onder hun standaardsplitsingen. Video's werden voorbewerkt met behulp van FFmpeg om reproduceerbaarheid te garanderen, opnieuw gecodeerd naar H.264, opnieuw gesampled naar 25 fps en verkleind naar een resolutie van 256 x 256 met het commando: ffmpeg -i v.mp4 -vf "fps=25,scale=256:256" -c:v libx264 -crf 23 -preset veryfast pre/.
Functie-extractie: RGB-kenmerken werden geëxtraheerd door een I3D-backbone15 die vooraf was getraind op de Kinetics-dataset16. Video's werden opgesplitst in niet-overlappende clips van 16 frames; Elke clip werd in het midden bijgesneden tot 224 x 224 pixels. De voorlaatste laagactiveringen werden gemiddeld samengevoegd om een 1024-D-functie per clip te verkrijgen. In PyTorch komt dit overeen met het doorsturen van tensoren van vorm [B, 3, T, H, W] door de I3D-ruggengraat en het toepassen van adaptive_avg_pool3d gevolgd door afvlakking. De geëxtraheerde functies werden opgeslagen in .npy-bestanden (één per video) samen met clip-tijdstempels voor exacte reproduceerbaarheid (seed = 123). Voor elke video bevat features///
Modelarchitectuur en methodologie
Basisdetectie: temporele contextfusie
Gegeven een videosequentie die wordt weergegeven door een functiematrix Z
RTx1024, berekende de Temporal Context Fusion (TCF)-module eerst query-, sleutel- en waarderepresentaties door middel van drie geleerde lineaire projecties:
Q = ZWQ, K = ZWK, V = ZWV (1)
waarbij WQ, WK, WV
RTx1024xd trainbare parameters zijn (PyTorch: drie nn. Lineaire (1024,d) lagen). De intersegmentaffiniteit was S =
, er werd een Temporal Relationality Embedding (TRE) opgenomen, waarbij elk element werd berekend als Rij = α exp (
) + β . De locatiebewuste affiniteit was
= S + R. Een kaart met een globale context A = softmax(
) geaggregeerd V om objecten met een groot gebied te verkrijgen G = AV. Lokale kenmerken L werden berekend met een dieptegewijze 1-D convolutie (nn. Conv1d) met een korrelgrootte van 3 over Z. Een dynamische poort g = σ(MLP ([G;L])) mengde de twee: U = g
G + (1 - g)
L . Ten slotte werden laagnormalisatie en een resterende lineaire laag toegepast om Y te produceren (Pytorch:LayerNorm+Linear+residueal).
Basisdetectie: causale temporele voorspeller
De output Y werd door twee causale 1D-convoluties geleid met GELU en dropout (Pytorch:padding='causal' of gemaskeerde conv) om anomalielogitons per clip te verkrijgen. Het toepassen van de sigmoïde functie leverde kanswaarden
op [0,1]T.
Semantische verbetering: snel leren met externe kennis
Consemantische ankers construeren: Voor elke anomalieklasse c werden Kc-concepten opgevraagd vanuit Wikidata11 en gecodeerd werd elke conceptzin gecodeerd met BLIP's12-tekstencodernaar ei
R768. Het klasseanker was het l 2-genormaliseerde gemiddelde Dc = norm(
Σiei) . Om ruis te verminderen, werden concepten met cosinusgelijkenis met de klassenaam onder de 0,2 weggelaten en werd de top-M door TF-IDF-score behouden.
Contextgevoelige scheiding uitvoeren: Voorgrondgewichten αt = softmax(rst) werden berekend op basis van basisdetectorscores st en achtergrondgewichten bt = softmax(r(1 - st)). De gewogen kenmerken zijn fg = Σtαzt en fbg = Σtbzt .
Visuele en semantische kenmerken op elkaar afstemmen
Definieer het uitlijningsdoel: Tijdens de uitlijningsstap is het doel om de afstand tussen het visuele kenmerk op de voorgrond en het bijbehorende semantische anker van de afwijkende categorie binnen de functieruimte te minimaliseren. Maak een verzameling semantische hulplijnen,
bestaande uit C afwijkende categorie semantische hulplijnen en één standaard normale semantische gids. Bepaal de waarschijnlijkheid, P(Dk|v), dat een visueel kenmerk, v, overeenkomt met de k-de semantische gids, Dk. Bereken dit met behulp van cosinusgelijkenis op temperatuurschaal gevolgd door Softmax-normalisatie, zoals weergegeven in Eq. (2).
(2)
Kruisentropie werd geminimaliseerd om positieve paren samen en negatieven uit elkaar te duwen, waarbij τs werd ingesteld als een leerbare parameter en deze werd geïnitialiseerd tot 10. Bereik de uitlijning door de kans op het correleren van positieve steekproefparen te optimaliseren en tegelijkertijd de kans op het correleren van negatieve steekproefparen te verkleinen.
Module voor interpreteerbaarheid op basis van sjablonen
Op basis van het prompt leren met externe kennis (PLE)-verbeterde kenmerkrepresentatie, produceert een lineaire classificator logits per klasse, die vervolgens door de softmax-functie werden genormaliseerd in klassekansen; Het voorspelde anomalietype werd bepaald als de categorie met de hoogste waarschijnlijkheid. Ondertussen werd een globale anomaliescore berekend op basis van de detectoroutput. Om het ernstniveau te bepalen, werd deze score vergeleken met drie vooraf gedefinieerde drempels die waren geoptimaliseerd via rasterzoekopdrachten op de validatieset.
De standaarddrempels waren ingesteld op θhoog = 0,8, θgemiddeld = 0,5 en θlaag = 0,2. In het bijzonder, als de score groter was dan θhoog, werd de ernst als hoog bestempeld; Als de score tussen θmedium en θhoog valt, werd deze als medium bestempeld; als het tussen θlaag en θmedium lag, werd het als laag gelabeld; Anders werd het gemarkeerd als geen.
Tijdens de fase van het genereren van uitleg werd een sjabloon geselecteerd dat overeenkomt met het voorspelde type uit een vooraf gedefinieerde sjabloonbibliotheek, aanvullend bestand 1. Deze bibliotheek bevat meerdere sjabloonvarianten die zijn gevalideerd door meerdere annotators17 om de diversiteit van de gegenereerde tekst te vergroten. Als het voorspelde type bestaat in de sjabloonbibliotheek, is willekeurig een bijbehorend sjabloon geselecteerd; anders werd een standaardsjabloon voor het type Onbekend gebruikt. Ten slotte werd een gestructureerde verklarende tekst gegenereerd door het voorspelde type, de globale anomaliescore, de ernstbeschrijving en het geselecteerde sjabloon te integreren. Het systeem retourneert het voorspelde anomalietype, de globale anomaliescore en de gegenereerde verklarende tekst als de uiteindelijke uitvoer. De resultaten worden geïllustreerd in figuur 2.
Alle drempelparameters werden geoptimaliseerd met behulp van rasterzoekopdrachten op de validatieset en de kwaliteit van de gegenereerde uitleg werd uitgebreid geëvalueerd met behulp van zowel menselijke beoordeling als geautomatiseerde statistieken. De resultaten zijn weergegeven in tabel 1.
Modeltraining en evaluatie
Training: Het model werd end-to-end getraind met Adam (lr 1 x 10-4, gewichtsverval 5 x 10-4), batchgrootte 128, 50 epochs, cosinusgloeien voor lr. Willekeurige zaden werden ingesteld op 123 voor Python/Numpy/Pytorch en torch.backends.cudnn.deterministic=True ingeschakeld. Controlepunten werden om de 5 epochs opgeslagen in controlepunten//epoch_XX.pt, en het beste model werd geselecteerd op basis van validatie-AUC. Alle experimenten werden uitgevoerd op een systeem met een NVIDIA GeForce RTX 4060 Ti (16 GB) GPU met Windows 11, met Python 3.8.20, PyTorch 1.8.0 en CUDA 11.1. De geschatte trainingstijd per epoch was 30 s voor de ShanghaiTech-dataset en 3,5 min voor de UCF-Crime-dataset.
Verlies: De algemene doelstelling is L = LMIL+ λ • Luitlijnen. De hyperparameter λ werd over de set {0.01,0.1,0.5,1,5,10} op de validatieset geveegd en de beste waarde werd vastgesteld voor testrapportage. Zie figuur 3 voor top-K MIL-aggregatie en Eq.(3-4) voor definities.
(3)
(4)
Evaluatie: AUC op frameniveau werd berekend volgens het standaardprotocol dat werd gebruikt door eerdere WS-VAD-werken 2,5. Voor fijnmazige typeherkenning op UCF-Crime werden mAP op IoU 0.1-0.5 en AVG mAP gerapporteerd, zoals samengevat in Tabel 2; de AUC's per klasse worden weergegeven in figuur 4 en de algemene resultaten in tabel 3 en tabel 4; het inbedden van scheidbaarheid en anomaliescoredynamiek zijn te vinden in Figuur 4, Figuur 5 en Figuur 6.