$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Badanie wykorzystuje wyłącznie publicznie dostępne zbiory danych (UCF-Crime13 oraz ShanghaiTech14). Wszystkie filmy pochodzą z oficjalnych wydań zbiorów danych, które anonimizują dane osobowe w zakresie udostępnionym przez opiekunów zbioru. Autorzy nie przeprowadzili dodatkowych danych ani interakcji z ludźmi; dlatego nie było wymagane nowe zatwierdzenie IRB. Korzystanie z danych jest zgodne z licencjami i warunkami użytkowania odpowiednich zbiorów danych.
Przygotowanie danych i ekstrakcja cech
Przygotowanie zestawu danych: Zestawy danych UCF-Crime13 (1 610 filmów pociągowych/290 testowych) oraz ShanghaiTech14 (238 pociągów/199 filmów testowych) zostały przyjęte według standardowych podziałów. Filmy były wstępnie przetwarzane za pomocą FFmpeg, aby zapewnić powtarzalność, ponownie kodowane do H.264, próbkowane do 25 fps i zmniejszone do rozdzielczości 256 x 256 za pomocą polecenia: ffmpeg -i v.mp4 -vf "fps=25,scale=256:256" -c:v libx264 -crf 23 -preset veryfast pre/.
Ekstrakcja cech: Cechy RGB zostały wyodrębnione przez szkielet I3D15 wstępnie wytrenowany na zbiorze danych Kinetics16. Filmy dzielono na nienakładające się 16-klatkowe klipy; Każdy klip był przycięty centralnie do 224 x 224 pikseli. Przedostatnie aktywacje warstw były uśredniane w puli, aby uzyskać funkcję 1024-D na klip. W PyTorch odpowiada to przesuwaniu tensorów kształtu [B, 3, T, H, W] przez szkielet I3D i stosowaniu adaptive_avg_pool3d a następnie spłaszczeniu. Wyodrębnione cechy były zapisywane w plikach .npy (po jednym na film) wraz ze znacznikami czasu klipów dla dokładnej powtarzalności (seed = 123). Dla każdego wideo features///
Architektura i metodologia modelu
Podstawowe wykrywanie: fuzja kontekstu czasowego
Mając sekwencję klipów wideo reprezentowaną przez macierz cech Z
RTx1024, moduł Temporal Context Fusion (TCF) najpierw obliczył reprezentacje zapytań, klucza i wartości za pomocą trzech wyuczonych projekcji liniowych:
Q = ZWQ, K = ZWK, V = ZWV (1)
gdzie WQ, WK, WV
RTx1024xd są parametrami trenowalnymi (PyTorch: trzy nn. Warstwy liniowe (1024,d). Powinowactwa międzysegmentowe to S =
, wprowadzono osadzenie relacyjne czasowe (TRE), gdzie każdy element obliczono jako Rij = α exp (
) + β . Powinowactwo do lokalizacji wynosiło
= S + R. Mapa globalnego kontekstu A = softmax(
) agregowana V, aby uzyskać cechy szerokiego obszaru G = AV. Lokalne cechy L obliczono za pomocą głęboko-jednowymiarowej konwolucji (nn. Conv1d) o rozmiarze jądra 3 przez Z. Dynamiczna bramka g = σ(MLP ([G;L])) wymieszano oba elementy: U = g
G + (1 - g)
L. Na koniec zastosowano normalizację warstw i warstwę liniową resztkową, aby uzyskać Y (Pytorch:LayerNorm+Linear+residual).
Podstawowe wykrywanie: przyczynowy predyktor czasowy
Wyjście Y było przekazywane przez dwie przyczynowe konwolucje jednowymiarowe z GELU i dropout (Pytorch:padding='kauzalne' lub maskowane konw), aby uzyskać logity anomalii na klip. Zastosowanie funkcji sigmoidalnej dało wartości
prawdopodobieństwa [0,1]T.
Wzmocnienie semantyczne: uczenie się prompt z wykorzystaniem wiedzy zewnętrznej
Konstruuj kotwicy semantyczne: Dla każdej klasy anomalii c zapytano K koncepcji c z Wikidanych11, a każda fraza pojęciowa została zakodowana za pomocą12-tekstowegokodera BLIP do ei
R768. Kotwicą klasy była średnia znormalizowana l-2 Dc = norm(
Σiei). Aby zmniejszyć szum, pojęcia o współsinusowym podobieństwie do nazwy klasy poniżej 0,2 zostały usunięte, a wynik z najwyższej liczby M według TF-IDF zachowano.
Wykonaj separację kontekstową: wagi pierwszego planu αt = softmax(rst) zostały obliczone na podstawie podstawowych wyników detektorów st, a wagi tła bt = softmax(r(1 - s t)). Cechy ważone to ffg = Σtαzt oraz fbg = Σtbzt .
Zrównanie cech wizualnych i semantycznych
Zdefiniuj cel wyrównania: Podczas etapu wyrównania celem jest minimalizacja odległości między elementem wizualnym na pierwszym planie a odpowiadającym mu semantycznym kotwicą kategorii anomalii w przestrzeni cech. Stwórz kolekcję przewodników semantycznych,
, obejmującą C przewodniki semantyczne kategorii anomalnych oraz jeden standardowy normalny przewodnik semantyczny. Określ prawdopodobieństwo, P(Dk|v), że cecha wizualna, v, odpowiada k-temu przewodnikowi semantycznemu, Dk. Oblicz to, używając porównania cosinusowego skalowanego temperaturowo, a następnie normalizacji Softmax, jak pokazano w równaniu (2).
(2)
Entropia krzyżowa była minimalizowana tak, aby zbliżać pary dodatnie, a ujemne rozdzielać, ustawiając τs jako parametr uczliwy i inicjalizując go do 10. Osiągnij dopasowanie, optymalizując prawdopodobieństwo korelacji pozytywnych par próbek, jednocześnie zmniejszając prawdopodobieństwo korelacji ujemnych par próbek.
Moduł interpretowalności oparty na szablonach
Na podstawie reprezentacji cech wzmocnionej przez prompt learning z zewnętrzną wiedzą (PLE), liniowy klasyfikator generuje logity dla klas, które następnie zostały znormalizowane na prawdopodobieństwa klas za pomocą funkcji softmax; Przewidywany typ anomalii został określony jako kategoria o najwyższym prawdopodobieństwie. Tymczasem na podstawie wyjścia detektora obliczono globalny wynik anomalii. Aby określić poziom nasilenia, ten wynik porównano z trzema wcześniej zdefiniowanymi progami zoptymalizowanymi za pomocą wyszukiwania siatkowego na zestawie walidacyjnym.
Domyślne progi ustawiono na θwysoki = 0,8, θśredni = 0,5 oraz θniski = 0,2. Konkretnie, jeśli wynik był większy niż θwysoki, nasilenie oznaczano jako wysokie; jeśli wynik mieści się między θśrednim a θwysokim, był oznaczany jako średni; jeśli pomiędzy θniskim a θśrednim, oznaczano go jako niskie; w przeciwnym razie oznaczano go jako brak.
Podczas fazy generowania wyjaśnień wybrano szablon odpowiadający typowi przewidywanemu z wcześniej zdefiniowanej biblioteki szablonów, Plik Uzupełniający 1. Ta biblioteka zawiera wiele wariantów szablonów, które zostały zweryfikowane przez wielu annotatorów17 , aby zwiększyć różnorodność generowanego tekstu. Jeśli przewidywany typ istnieje w bibliotece szablonów, odpowiadający mu szablon został wybrany losowo; w przeciwnym razie stosowano domyślny szablon dla typu Nieznany. Na koniec powstał uporządkowany tekst wyjaśniający poprzez integrację typu przewidywanego, globalnego wyniku anomalii, opisu nasilenia oraz wybranego szablonu. System zwraca przewidywany typ anomalii, globalny wynik anomalii oraz wygenerowany tekst wyjaśniający jako końcowy wynik. Wyniki przedstawiono na Rysunku 2.
Wszystkie parametry progowe zostały zoptymalizowane za pomocą wyszukiwania siatkowego na zbiorze walidacyjnym, a jakość wygenerowanych wyjaśnień została kompleksowo oceniona przy użyciu oceny ludzkiej oraz zautomatyzowanych metryk. Wyniki przedstawiono w Tabeli 1.
Trening i ocena modelu
Trening: Model był trenowany end-to-end z Adamem (lr 1 x 10-4, spadek masy 5 x 10-4), wielkość partii 128, 50 epok, wyżarzanie cosinusowe dla lr. Losowe seedy zostały ustawione na 123 dla Pythona/Numpy/Pytorch i włączone torch.backends.cudnn.deterministic=True. Punkty kontrolne zapisywano co 5 epok do punktów kontrolnych//epoch_XX.pt, a najlepszy model wybierano przez walidację AUC. Wszystkie eksperymenty przeprowadzono na systemie z kartą NVIDIA GeForce RTX 4060 Ti (16GB) z Windows 11, z Pythonem 3.8.20, PyTorch 1.8.0 i CUDA 11.1. Przybliżony czas treningu na epokę wynosił 30 sekund dla zbioru danych ShanghaiTech i 3,5 min dla zbioru danych UCF-Crime.
Strata: Ogólny cel to L = LMIL+ λ • Lwyrównanie. Hiperparametr λ był przesuwany przez zbiór {0.01,0.1,0.5,1,5,10} na zbiorze walidacyjnym i ustalono najlepszą wartość dla raportowania testów. Zobacz Rysunek 3 dla agregacji top-K MIL oraz równanie (3-4) dla definicji.
(3)
(4)
Ocena: AUC na poziomie klatki zostało obliczone zgodnie ze standardowym protokołem używanym przez wcześniejsze prace WS-VAD 2,5. Dla precyzyjnego rozpoznawania typów na UCF-Crime raportowano mAP na IoU 0.1-0.5 oraz AVG mAP, jak podsumowano w Tabeli 2; AUC dla każdej klasy pokazano na Rysunku 4, a wyniki ogólne w Tabeli 3 i Tabeli 4; Dynamika rozdzielności osadzenia i anomalii punktowej przedstawiono na Rysunku 4, Rysunku 5 i Rysunku 6.