$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Questo studio utilizza solo set di dati disponibili pubblicamente (UCF-Crime13 e ShanghaiTech14). Tutti i video sono stati ottenuti dalle versioni ufficiali dei set di dati, che rendono anonime le informazioni di identificazione personale nella misura fornita dai manutentori del set di dati. Gli autori non hanno condotto alcuna ulteriore raccolta di dati o interazione tra soggetti umani; pertanto, non è stata richiesta alcuna nuova approvazione dell'IRB. L'utilizzo dei dati è conforme alle licenze e ai termini di utilizzo dei rispettivi set di dati.
Preparazione dei dati ed estrazione delle feature
Preparazione del set di dati: i set di dati UCF-Crime13 (1.610 treni/290 video di test) e ShanghaiTech14 (238 treni/199 video di test) sono stati adottati secondo le loro suddivisioni standard. I video sono stati pre-elaborati utilizzando FFmpeg per garantire la riproducibilità, ricodificati in H.264, ricampionati a 25 fps e ridimensionati a una risoluzione di 256 x 256 con il comando: ffmpeg -i v.mp4 -vf "fps=25,scale=256:256" -c:v libx264 -crf 23 -preset very fast pre/.
Estrazione delle caratteristiche: le caratteristiche RGB sono state estratte da una dorsale I3D15 pre-addestrata sul set di dati Kinetics16. I video sono stati suddivisi in clip da 16 fotogrammi non sovrapposte; Ogni clip è stata ritagliata al centro a 224 x 224 pixel. Le attivazioni del penultimo livello sono state raggruppate in media per ottenere una funzione 1024-D per clip. In PyTorch, ciò corrisponde all'inoltro dei tensori di forma [B, 3, T, H, W] attraverso la dorsale I3D e all'applicazione di adaptive_avg_pool3d seguito dall'appiattimento. Le funzioni estratte sono state salvate in file .npy (uno per video) insieme ai timestamp delle clip per un'esatta riproducibilità (seed = 123). Per ogni video, features///
Architettura e metodologia del modello
Rilevamento di base: fusione del contesto temporale
Data una sequenza di clip video rappresentata da una matrice di caratteristiche Z
RTx1024, il modulo Temporal Context Fusion (TCF) ha prima calcolato le rappresentazioni di query, chiave e valore attraverso tre proiezioni lineari apprese:
Q = ZWQ, K = ZWK, V = ZWV (1)
dove WQ, WK, WV
RTx1024xd sono parametri addestrabili (PyTorch: tre nn. Lineari (1024,d) strati). L'affinità intersegmento era S =
, è stato incorporato un Temporal Relationality Embedding (TRE), in cui ogni elemento è stato calcolato come Rij = α exp (
) + β . L'affinità con riconoscimento della posizione era
= S + R. Una mappa di contesto globale A = softmax(
) aggregata V per ottenere funzionalità di ampia area G = AV. Le caratteristiche locali L sono state calcolate con una convoluzione 1D in profondità (nn. Conv1d) di dimensione del kernel 3 su Z. Una porta dinamica g = σ(MLP ([G;L])) mescolato i due: U = g
G + (1 - g)
L . Infine, la normalizzazione dello strato e uno strato lineare residuo sono stati applicati per produrre Y (Pytorch:LayerNorm+Linear+residual).
Rilevazione di base: predittore temporale causale
L'output Y è stato passato attraverso due convoluzioni causali 1-D con GELU e dropout (Pytorch:padding='causal' o conv. mascherato) per ottenere i logici delle anomalie per clip. L'applicazione della funzione sigmoidale ha prodotto valori
di probabilità [0,1]T.
Miglioramento semantico: apprendimento rapido con conoscenze esterne
Costrut ancore semantiche : Per ogni anomalia classe c, Kc i concetti sono stati interrogati da Wikidata11 e codificati ogni frase concettuale è stata codificata con l'encoderdi testo 12di BLIP a ei
R768. L'ancora di classe era la media l 2-normalizzata Dc = norm(
Σiei) . Per ridurre il rumore, i concetti con somiglianza del coseno con il nome della classe inferiore a 0,2 sono stati eliminati e il punteggio top-M di TF-IDF è stato mantenuto.
Eseguire la separazione sensibile al contesto: i pesi in primo piano αt = softmax(rst) sono stati calcolati dai punteggi del rivelatore di base st e dai pesi di fondo bt = softmax(r(1 - st)). Le caratteristiche ponderate sono ffg = Σtαzt e fbg = Σtbzt .
Allineare le funzionalità visive e semantiche
Definire l'obiettivo dell'allineamento: durante la fase di allineamento, l'obiettivo è ridurre al minimo la distanza tra l'elemento visivo in primo piano e il corrispondente ancoraggio semantico della categoria anomala all'interno dello spazio dell'elemento. Crea una raccolta di guide semantiche,
, comprendente guide semantiche di categoria anomale C e una guida semantica normale standard. Determinare la probabilità, P(Dk|v), che una caratteristica visiva, v, corrisponde alla k-esima guida semantica, Dk. Calcola questo utilizzando la somiglianza del coseno in scala di temperatura seguita dalla normalizzazione Softmax, come mostrato nell'Eq. (2).
(2)
L'entropia incrociata è stata minimizzata per unire le coppie positive e separare i negativi, impostando τs come parametro apprendibile e inizializzandolo a 10. Realizzare l'allineamento ottimizzando la probabilità di correlare coppie di campioni positivi e riducendo la probabilità di correlare coppie di campioni negativi.
Modulo di interpretabilità basato su modelli
Sulla base della rappresentazione delle caratteristiche potenziata dall'apprendimento rapido con conoscenza esterna (PLE), un classificatore lineare produce logiti per classe, che sono stati successivamente normalizzati in probabilità di classe dalla funzione softmax; Il tipo di anomalia stimato è stato determinato come categoria con la probabilità più alta. Nel frattempo, è stato calcolato un punteggio di anomalia globale dall'output del rivelatore. Per determinare il livello di gravità, questo punteggio è stato confrontato con tre soglie predefinite ottimizzate tramite la ricerca a griglia sul set di convalida.
Le soglie predefinite sono state impostate su θalto = 0,8, θmedio = 0,5 e θbasso = 0,2. In particolare, se il punteggio era maggiore di θalto, la gravità veniva etichettata come alta; Se il punteggio è compreso tra θmedio e θalto, è stato etichettato come medio; se compreso tra θbasso e θmedio, era etichettato come basso; in caso contrario, è stato contrassegnato come nessuno.
Durante la fase di generazione della spiegazione, è stato selezionato un modello corrispondente al tipo previsto da una libreria di modelli predefinita, File supplementare 1. Questa libreria contiene più varianti di modello che sono state convalidate in modo incrociato da più annotatori17 per migliorare la diversità del testo generato. Se il tipo stimato è presente nella libreria di modelli, è stato selezionato in modo casuale un modello corrispondente. in caso contrario, è stato utilizzato un modello predefinito per il tipo Sconosciuto. Infine, è stato generato un testo esplicativo strutturato integrando il tipo previsto, il punteggio di anomalia globale, la descrizione della gravità e il modello selezionato. Il sistema restituisce il tipo di anomalia stimato, il punteggio di anomalia globale e il testo esplicativo generato come output finale. I risultati sono illustrati nella Figura 2.
Tutti i parametri di soglia sono stati ottimizzati utilizzando la ricerca a griglia sul set di convalida e la qualità delle spiegazioni generate è stata valutata in modo completo utilizzando sia la valutazione umana che le metriche automatizzate. I risultati sono presentati nella Tabella 1.
Formazione e valutazione dei modelli
Formazione: Il modello è stato addestrato end-to-end con Adam (lr 1 x 10-4, decadimento del peso 5 x 10-4), dimensione del lotto 128, 50 epoche, ricottura del coseno per lr. I semi casuali sono stati impostati su 123 per Python/Numpy/Pytorch e abilitati torch.backends.cudnn.deterministic=True. I checkpoint sono stati salvati ogni 5 epoche in checkpoints//epoch_XX.pt e il modello migliore è stato selezionato mediante AUC di convalida. Tutti gli esperimenti sono stati condotti su un sistema con una GPU NVIDIA GeForce RTX 4060 Ti (16 GB) con Windows 11, con Python 3.8.20, PyTorch 1.8.0 e CUDA 11.1. Il tempo di addestramento approssimativo per epoca era di 30 s per il set di dati ShanghaiTech e di 3,5 minuti per il set di dati UCF-Crime.
Perdita: l'obiettivo generale è L = LMIL+ λ • Lalign. L'iperparametro λ è stato analizzato attraverso l'insieme {0,01,0,1,0,5,1,10} sul set di convalida e ha corretto il valore migliore fissato per la segnalazione dei test. Vedere la Figura 3 per l'aggregazione MIL top-K e l'Eq.(3-4) per le definizioni.
(3)
(4)
Valutazione: L'AUC a livello di frame è stata calcolata seguendo il protocollo standard utilizzato dai precedenti lavori WS-VAD 2,5. Per il riconoscimento granulare del tipo su UCF-Crime, sono stati riportati mAP a IoU 0,1-0,5 e mAP AVG, come riassunto nella Tabella 2; Le AUC per classe sono mostrate nella Figura 4 e i risultati complessivi nella Tabella 3 e nella Tabella 4; l'incorporamento delle dinamiche di separabilità e punteggio di anomalia si trovano nella Figura 4, nella Figura 5 e nella Figura 6.