$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Este estudio utiliza solo conjuntos de datos disponibles públicamente (UCF-Crime13 y ShanghaiTech14). Todos los videos se obtuvieron de los lanzamientos oficiales de los conjuntos de datos, que anonimizan la información de identificación personal en la medida proporcionada por los mantenedores del conjunto de datos. Los autores no realizaron ninguna recopilación de datos adicional ni interacción con sujetos humanos; por lo tanto, no se requirió una nueva aprobación del IRB. El uso de datos cumple con las licencias y los términos de uso de los respectivos conjuntos de datos.
Preparación de datos y extracción de características
Preparación del conjunto de datos: Los conjuntos de datos UCF-Crime13 (1.610 trenes / 290 videos de prueba) y ShanghaiTech14 (238 trenes / 199 videos de prueba) se adoptaron bajo sus divisiones estándar. Los videos se preprocesaron usando FFmpeg para garantizar la reproducibilidad, se recodificaron a H.264, se volvieron a muestrear a 25 fps y se redimensionaron a una resolución de 256 x 256 con el comando: ffmpeg -i v.mp4 -vf "fps = 25, escala = 256: 256" -c: v libx264 -crf 23 -preset veryfast pre/.
Extracción de características: Las características RGB fueron extraídas por una red troncal I3D15 preentrenada en el conjunto de datos Kinetics16. Los videos se dividieron en clips de 16 cuadros no superpuestos; Cada clip se recortó al centro a 224 x 224 píxeles. Las activaciones de la penúltima capa se agruparon de forma media para obtener una característica 1024-D por clip. En PyTorch, esto corresponde a reenviar tensores de forma [B, 3, T, H, W] a través de la red troncal I3D y aplicar adaptive_avg_pool3d seguido de aplanamiento. Las características extraídas se guardaron en archivos .npy (uno por video) junto con las marcas de tiempo del clip para una reproducibilidad exacta (semilla = 123). Para cada vídeo, features///
Arquitectura y metodología del modelo
Detección básica: fusión de contexto temporal
Dada una secuencia de clip de vídeo representada por una matriz de características Z
RTx1024, el módulo Temporal Context Fusion (TCF) calculó primero representaciones de consultas, claves y valores a través de tres proyecciones lineales aprendidas:
Q = ZWQ, K = ZWK, V = ZWV (1)
donde WQ, WK, WV
RTx1024xd son parámetros entrenables (PyTorch: tres nn. Capas lineales (1024,d)). La afinidad intersegmento fue S =
, se incorporó una incrustación de relacionalidad temporal (TRE), donde cada elemento se calculó como Rij = α exp (
) + β . La afinidad consciente de la ubicación fue
= S + R. Un mapa de contexto global A = softmax(
) agregado V para obtener características de área amplia G = AV. Las características locales L se calcularon con una convolución 1-D en profundidad (nn. Conv1d) del tamaño del grano 3 sobre Z. Una puerta dinámica g = σ(MLP ([G;L])) mezcló los dos: U = g
G + (1 - g)
L . Finalmente, se aplicó la normalización de capas y una capa lineal residual para producir Y (Pytorch: LayerNorm + Linear + residual).
Detección básica: predictor temporal causal
La salida Y se pasó a través de dos convoluciones causales 1-D con GELU y dropout (Pytorch: padding = 'causal' o conv enmascarado) para obtener logits de anomalías por clip. La aplicación de la función sigmoide arrojó valores
de probabilidad [0,1]T.
Mejora semántica: aprendizaje rápido con conocimiento externo
Construir anclajes semánticos: Para cada clase de anomalía c, se consultaron conceptos de Kc de Wikidata11, y se codificó cada frase conceptual con el codificador de texto12de BLIP en ei
R768. El ancla de clase fue la media normalizada l2 Dc = norm(
Σiei) . Para reducir el ruido, se eliminaron los conceptos con similitud de coseno con el nombre de la clase por debajo de 0.2 y se mantuvo la puntuación top-M by TF-IDF.
Realice una separación sensible al contexto: Los pesos de primer plano αt = softmax(rst) se calcularon a partir de las puntuaciones del detector base st, y los pesos de fondo bt = softmax(r(1 - st)). Las características ponderadas son ffg = Σtαzt y fbg = Σtbzt .
Alinear características visuales y semánticas
Definir el objetivo de alineación: durante el paso de alineación, el objetivo es minimizar la distancia entre la característica visual en primer plano y su correspondiente anclaje semántico de la categoría anómala dentro del espacio de características. Cree una colección de guías semánticas,
, que comprenda guías semánticas de categoría anómala C y una guía semántica normal estándar. Determinar la probabilidad, P(Dk|v), que una característica visual, v, corresponde a la k-ésima guía semántica, Dk. Calcule esto usando la similitud del coseno a escala de temperatura seguida de la normalización Softmax, como se muestra en la Ec. (2).
(2)
La entropía cruzada se minimizó para unir pares positivos y negativos, estableciéndose τs como parámetro aprendible e inicializándolo en 10. Logre la alineación optimizando la probabilidad de correlacionar pares de muestras positivas mientras reduce la probabilidad de correlacionar pares de muestras negativos.
Módulo de interpretabilidad basado en plantillas
Basado en el aprendizaje rápido con representación de características mejorada por conocimiento externo (PLE), un clasificador lineal produce logits por clase, que posteriormente se normalizaron en probabilidades de clase mediante la función softmax; El tipo de anomalía predicho se determinó como la categoría con mayor probabilidad. Mientras tanto, se calculó una puntuación de anomalía global a partir de la salida del detector. Para determinar el nivel de gravedad, esta puntuación se comparó con tres umbrales predefinidos optimizados a través de la búsqueda en cuadrícula en el conjunto de validación.
Los umbrales predeterminados se establecieron en θalto = 0,8, θmedio = 0,5 y θbajo = 0,2. Específicamente, si la puntuación era mayor que θalta, la gravedad se etiquetó como alta; si la puntuación se encuentra entre θmedia y θalta, se etiquetó como media; si entre θbajo y θmedio, se etiquetó como bajo; de lo contrario, se marcó como ninguno.
Durante la fase de generación de explicaciones, se seleccionó una plantilla correspondiente al tipo predicho de una biblioteca de plantillas predefinida, Archivo complementario 1. Esta biblioteca contiene múltiples variantes de plantilla que han sido validadas de forma cruzada por múltiples anotadores17 para mejorar la diversidad del texto generado. Si el tipo de predicción existe en la biblioteca de plantillas, se seleccionó aleatoriamente una plantilla correspondiente; de lo contrario, se usó una plantilla predeterminada para el tipo Desconocido. Finalmente, se generó un texto explicativo estructurado integrando el tipo predicho, la puntuación global de anomalías, la descripción de la gravedad y la plantilla seleccionada. El sistema devuelve el tipo de anomalía predicho, la puntuación de anomalía global y el texto explicativo generado como resultado final. Los resultados se ilustran en la Figura 2.
Todos los parámetros de umbral se optimizaron mediante la búsqueda en cuadrícula en el conjunto de validación, y la calidad de las explicaciones generadas se evaluó exhaustivamente utilizando tanto la evaluación humana como las métricas automatizadas. Los resultados se presentan en la Tabla 1.
Entrenamiento y evaluación de modelos
Entrenamiento: El modelo se entrenó de extremo a extremo con Adam (lr 1 x 10-4, decaimiento de peso 5 x 10-4), tamaño de lote 128, 50 épocas, recocido de coseno para lr. Las semillas aleatorias se establecieron en 123 para Python / Numpy / Pytorch y habilitaron torch.backends.cudnn.deterministic=True. Los puntos de control se guardaron cada 5 épocas en checkpoints//epoch_XX.pt, y el mejor modelo se seleccionó mediante validación AUC. Todos los experimentos se realizaron en un sistema con una GPU NVIDIA GeForce RTX 4060 Ti (16 GB) con Windows 11, con Python 3.8.20, PyTorch 1.8.0 y CUDA 11.1. El tiempo de entrenamiento aproximado por época fue de 30 s para el conjunto de datos de ShanghaiTech y de 3,5 minutos para el conjunto de datos de UCF-Crime.
Pérdida: El objetivo general es L = LMIL+ λ • Lalineado. El hiperparámetro λ se barrió por el conjunto {0.01,0.1,0.5,1,5,10} en el conjunto de validación y se fijó el mejor valor para los informes de prueba. Consulte la Figura 3 para la agregación de MIL de K superior y la Ec. (3-4) para las definiciones.
(3)
(4)
Evaluación: El AUC a nivel de trama se calculó siguiendo el protocolo estándar utilizado por trabajos anteriores de WS-VAD 2,5. Para el reconocimiento de tipos de grano fino en UCF-Crime, se informaron mAP en IoU 0.1-0.5 y AVG mAP, como se resume en la Tabla 2; los AUC por clase se muestran en la Figura 4 y los resultados generales en la Tabla 3 y la Tabla 4; la integración de la separabilidad y la dinámica de puntuación de anomalías se encuentran en la Figura 4, la Figura 5 y la Figura 6.