$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
System
Instalacji
Wdrożyliśmy proponowany system wykrywania anomalii w ruchu w hierarchicznej i rozproszonej strukturze obliczeniowej, wykorzystując środowisko Intel Tiber Cloud. Ta architektura składa się z trzech warstw — brzegowej, mgły i chmury — w celu zapewnienia wnioskowania o małych opóźnieniach, skalowalnego trenowania i wydajnej alokacji zasobów między węzłami obliczeniowymi.
Poziom brzegowy: Wykrywanie anomalii w czasie rzeczywistym odbywa się na brzegu sieci przy użyciu lekkich urządzeń wbudowanych z obsługą procesorów graficznych (np. NVIDIA Jetson Nano lub równoważnych platform opartych na procesorach Intel ze zintegrowanymi procesorami graficznymi). Jednostki te były rozmieszczone w tym samym miejscu, co kamery monitorujące i wykonywały wnioskowanie klatka po klatce z minimalnymi opóźnieniami, umożliwiając zdecentralizowane i responsywne monitorowanie ruchu.
Warstwa mgły: Zadania wymagające większej mocy obliczeniowej, w tym wnioskowanie wsadowe i udoskonalanie modelu w czasie rzeczywistym, były obsługiwane przez węzły mgły udostępniane jako dedykowane maszyny wirtualne lub instancje bez systemu operacyjnego w chmurze Intel Tiber. Każdy węzeł mgły był skonfigurowany z procesorem Intel Xeon z co najmniej 16 GB pamięci RAM i miał dostęp do zintegrowanej z Intelem lub dyskretnej akceleracji GPU. Ta warstwa pośrednia umożliwiła operacje o wysokiej przepustowości w pobliżu źródła danych przy jednoczesnym zachowaniu autonomii od serwerów centralnych.
Warstwa chmury: w przypadku szkoleń i archiwizacji na dużą skalę warstwa chmury wykorzystuje skalowalne klastry obliczeniowe oferowane za pośrednictwem usług zoptymalizowanych pod kątem sztucznej inteligencji firmy Intel Tiber. Instancje wyposażone w akceleratory Intel Habana Gaudi lub skalowalne procesory Intel Xeon są wykorzystywane do trenowania głębokich sieci neuronowych na obszernych zestawach danych wideo, obsługi wersjonowania modeli, długoterminowej pamięci masowej i orkiestracji w całym systemie.
Pełny stos oprogramowania działał w środowisku Python 3.8+ przy użyciu bibliotek zoptymalizowanych pod kątem technologii Intel w celu przyspieszenia obliczeń. Podstawowe struktury obejmują PyTorch (z rozszerzeniem Intel dla PyTorch), OpenCV do wstępnego przetwarzania obrazów i wideo oraz Scikit-learn do oceny. Akceleracja GPU jest włączana za pomocą odpowiednich zestawów narzędzi oneAPI i optymalizacji DAAL.
Po wdrożeniu sklonowaliśmy repozytorium zawierające architekturę dual-EDE i zainicjowaliśmy komponenty modelu - dwa kodery (E1, E2) i dwa dekodery (D1, D2). Zastosowano metodę .to(device) w celu dynamicznego transferu komponentów do optymalnej jednostki przetwarzania (CPU, GPU lub akceleratora Gaudi) w zależności od lokalnej dostępności zasobów.
Zadeklarowaliśmy parametry trenowania i oceny, w tym liczbę epok, szybkość uczenia się, współczynniki równoważenia strat (γ, δ) i progi czułości anomalii (ω1, ω2), w skrypcie konfiguracyjnym. Podczas szkolenia postępowaliśmy zgodnie z dwufazowym protokołem: (1) standardową rekonstrukcją autoenkodera w celu uczenia się normalnych zachowań związanych z ruchem oraz (2) rekonstrukcją utajoną w celu wzmocnienia anomalii za pomocą interakcji między EDE.
Ta modułowa i natywna dla chmury architektura systemu umożliwiła niezawodne wykrywanie anomalii w czasie rzeczywistym, skalowalność modelu i niezawodne wdrażanie w rzeczywistych inteligentnych środowiskach transportowych za pośrednictwem chmury Intel Tiber.
Dataset
Do szkolenia i oceny proponowanego systemu wykrywania anomalii wykorzystaliśmy zestaw danych dostarczony przez NVIDIA AI City Challenge 2021, Track 4 (Traffic Anomaly). Zestaw danych składa się ze 100 filmów szkoleniowych i 150 filmów testowych, z których każdy trwa średnio 15 minut, nagranych w rozdzielczości 30 kl./s i 410 p. Każdy film przedstawia inny poziom trudności ze względu na różnice w typach dróg, kątach kamery, oświetleniu i warunkach pogodowych. Zestaw danych rejestruje szeroki zakres infrastruktury drogowej (np. wielopasmowe autostrady, skrzyżowania), natężenie ruchu i warunki pogodowe (np. bezchmurnie, deszcz, zmierzch) z wielu kątów kamery. Te atrybuty sprawiają, że jest to idealny test porównawczy do oceny możliwości uogólnienia modeli wykrywania anomalii.
Wstępnego przetwarzania
Aby wytrenować model w warunkach nienadzorowanych, należy używać tylko normalnych (niewypadkowych) scen ruchu drogowego, unikając narażenia na nietypowe zdarzenia podczas trenowania. Wykonaj wstępne przetwarzanie wideo za pomocą OpenCV. Próbkowanie klatek jest równomierne z prędkością 5 kl./s, aby zapewnić wystarczające pokrycie czasowe przy jednoczesnym zmniejszeniu nadmiarowości. Zmień rozmiar ramek do 128 x 128 pikseli, dopasowując się do wymagań wejściowych sieci dual-EDE i równoważąc szczegóły wizualne z wydajnością obliczeniową. Znormalizuj wartości pikseli do zakresu [−1, 1], aby poprawić stabilność treningu.
Aby poprawić uogólnienie i symulować zmienność w świecie rzeczywistym, zastosuj następujące techniki augmentacji do każdej klatki treningowej z randomizowanym prawdopodobieństwem:
Losowe przycinanie i skalowanie: Przycinaj losowe podregiony i skaluj je z powrotem do oryginalnej rozdzielczości, zachęcając do niezmienności rozmiaru obiektu, częściowej widoczności i zmian pozycji przestrzennej, naśladując efekty powiększenia i obiekty poza środkiem w wideo z monitoringu.
Modulacja jasności i kontrastu: Zastosuj transformacje liniowe lub oparte na gamma, aby naśladować wariacje oświetlenia, takie jak cienie, odblaski, wariacje wschodu/zachodu słońca i sztuczne oświetlenie. Zwiększa to odporność modelu na dobowe i sezonowe wahania oświetlenia.
Wstrzykiwanie szumu gaussowskiego i rozmycie ruchu: Dodaj szum gaussowski z różnymi odchyleniami standardowymi, aby zasymulować szum czujnika i artefakty kompresji. Symuluj rozmycie ruchu za pomocą konwolucyjnych jąder zorientowanych w różnych kierunkach i wielkościach, aby emulować efekt poruszających się obiektów lub drgań kamery, co jest szczególnie istotne w szybkich scenach drogowych.
Losowe maskowanie okluzji: Zastosuj syntetyczne okluzje, nakładając na kadr czarne lub szare prostokątne plamy o losowych rozmiarach i miejscach. To ulepszenie symuluje rzeczywiste przeszkody, takie jak piesi, elementy infrastruktury lub przejeżdżające pojazdy zasłaniające pole widzenia. Zachęca model do uczenia się na podstawie kontekstu i pozostawania odpornym na brakujące lub zniekształcone regiony.
Stosuj te rozszerzenia dynamicznie podczas trenowania przy użyciu potoków transformacji PyTorch, upewniając się, że każda partia zawiera różnorodną kombinację rozszerzonych ramek, promując ekspozycję na różne wzorce i zmniejszając nadmierne dopasowanie.
Załaduj przetworzone ramki za pomocą narzędzia DataLoader platformy PyTorch, aby zarządzać wsadem, mieszaniem i ładowaniem równoległym. Trenuj z rozmiarami partii od 32 do 64, w zależności od pojemności procesora GPU. W przypadku wnioskowania i oceniania anomalii przetwarzaj ramki indywidualnie (rozmiar partii = 1), aby umożliwić precyzyjne wykrywanie na poziomie ramki.
Ten potok wstępnego przetwarzania i rozszerzania zwiększa niezawodność i uogólnienie, umożliwiając modelowi skuteczne wykrywanie nietypowych zachowań w zróżnicowanych i hałaśliwych środowiskach monitorowania ruchu w świecie rzeczywistym.
Proponowana metoda:
Proponowany system EDE uczy się dwukierunkowych odwzorowań między rozkładami obrazów a przestrzeniami utajonymi. Dwa kodery i dwa dekodery umożliwiają niezawodne wyodrębnianie cech i różnicowanie anomalii. Sieci są szkolone zarówno na etapie odbudowy, jak i na etapie kontradyktoryjnym. Uczenie kontrastywne, regularyzacja i kara gradientu są używane, aby zapobiec załamaniu się trybu i poprawić niezawodność trenowania GAN.
Struktura EDE działa w następujący sposób: Koder 1 (E1) koduje cechy obrazu w przestrzeni utajonej. Pierwszy dekoder (D1) rekonstruuje obrazy z wektorów utajonych w celu zminimalizowania strat rekonstrukcyjnych. Zrekonstruowane obrazy są następnie mapowane z powrotem w utajoną przestrzeń w celu uchwycenia niespójności. Drugi dekoder (D2) generuje obrazy syntetyczne z drugiej przestrzeni utajonej, aby pomóc modelowi odróżnić dane rzeczywiste od syntetycznych. To dwukierunkowe mapowanie wykrywa anomalie na podstawie rozbieżności w przestrzeni utajonej, a nie różnic na poziomie pikseli.
Faza 1: Szkolenie w zakresie rekonstrukcji: Autoenkoder jest przeszkolony do rekonstrukcji normalnych obrazów ruchu, więc nietypowe dane wejściowe powodują znaczne błędy rekonstrukcji. Funkcja strat uwzględnia obraz wejściowy, jego kodowanie utajone i zrekonstruowany obraz.
Trening przeciwstawny: Po treningu rekonstrukcyjnym stosuje się uczenie się przeciwstawne. Zrekonstruowane wektory utajone są przepuszczane przez alternatywną strukturę EDE w celu wytworzenia obrazów syntetycznych i wektorów utajonych. Celem jest maksymalizacja różnic między obrazami rzeczywistymi i syntetycznymi; zmieniać i rekonstruować wektory utajone w celu usprawnienia wykrywania anomalii przez Encoder 2 (E2); i zapobiegaj zapadaniu się kodera.
Szkolenie ma na celu uniknięcie konwergencji E1 i E2 do identycznych mapowań, co zmniejszyłoby zdolność dyskryminacyjną.
Uczenie się kontrastywne: Funkcja strat rozróżnia reprezentacje rzeczywiste i zrekonstruowane, przy czym hiperparametr marginesu kontroluje separację obiektów.
Techniki regularyzacji obejmują:
Odpad szkolny: Losowa dezaktywacja neuronów w celu zapobieżenia nadmiernemu dopasowaniu.
Spadek masy: Karze duże wagi, aby ustabilizować uczenie się funkcji.
Metody stabilności treningu przeciwstawnego20 i zapobiegania upadkowi w trybie obejmują:
Kara za nachylenie: Reguluje zachowania dyskryminujące.
Rozszerzanie danych: Losowe przycinanie, skalowanie i regulowane oświetlenie w celu symulacji różnych warunków.
Wstrzykiwanie hałasu: Dodawanie realistycznego szumu, rozmycia ruchu i okluzji w celu poprawy uogólnienia.
Wczesne zatrzymanie: Wstrzymywanie szkolenia w przypadku utraty walidacji ulega znacznym wahaniom, aby uniknąć nadmiernego dopasowania.
Te ulepszenia architektury, metody trenowania i środki odporności zapewniają niezawodne wykrywanie anomalii ruchu.
Nienadzorowana sieć wykrywania wypadków jest szkolona wyłącznie na normalnych próbkach i testowana zarówno na próbkach normalnych, jak i powypadkowych. Formalnie:
Z zestawu wszystkich normalnych i wypadków wideo rozważmy duży zestaw danych treningowych E z tylko normalnymi klatkami F (E = {x1, x2}). .., xM } i mniejszy zestaw danych testowych Ê zawierający zarówno zdjęcia normalne, jak i wypadkowe (Ê=[( x̂1,y1), (x̂2,y2), (x̂F*,yF*)]),klatki, gdzie yi
[0, 1] jest obrazem etykiety klatki. W przypadku trenowania F
F* zestaw danych treningowych musi być znacznie większy niż zestaw danych testowych. Po zapoznaniu się z rozmaitością zbioru danych (E) zidentyfikuj ramki przypadków w Ê jako wartości odstające podczas wnioskowania. Model f oblicza wynik wypadku Acc(x) na podstawie wyuczonego rozkładu danych normalnych. Obraz testowy x z wysokim wynikiem wypadka może być wypadkiem. Kryteria oceny opierają się na progu oceny wypadków (φ), jeśli Acc(x) > φ.
Architektura sieci:
Jak pokazano na rysunku 1, model GANomaly21 zawiera dwa kodery, jeden dekoder i jeden dyskryminator. Wielu badaczy zaadaptowało tę metodę do rozróżniania wektorów utajonych i wykrywania anomalii wizualnych12,22. Dwa kodery i pojedynczy dekoder wzajemnie modyfikują obraz i wektor utajony w modelu. Te nienormalne fakty są ujawniane podczas transformacji. Dyskryminator oddziela wygenerowane obrazy od oryginału. GANomaly opiera się na kodowaniu, dekodowaniu i ponownym kodowaniu.

Rysunek 1: Architektura GANomaly demonstrująca przepływ informacji. Architektura składa się z ramy koder-dekoder-koder zintegrowanej w generatywnej sieci przeciwstawnej. Pierwszy koder kompresuje wejściową klatkę wideo do reprezentacji przestrzeni utajonej, która jest następnie rekonstruowana przez dekoder. Drugi koder odwzorowuje zrekonstruowaną klatkę z powrotem do przestrzeni utajonej. Dyskryminator ocenia różnicę między danymi wejściowymi i zrekonstruowanymi funkcjami w celu obliczenia wyniku anomalii. Strzałki wskazują kierunek przepływu danych przez sieć. Skrót: GAN = generative adversarial network. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.
Rysunek 2 przedstawia architekturę EDE z dwoma koderami i jednym dekoderem. Struktura EDE musi stale zmieniać parametry, aby wykrywać wpadki wideo. Dodaliśmy drugi dekoder do struktury EDE i pozwoliliśmy im współdzielić enkodery w celu wygenerowania modelu pokazanego na rysunku 2 z dwiema konfiguracjami sieci. Dwa kodery mają cztery warstwy konwolucyjne. Użyliśmy funkcji aktywacji LeakyReLU dla wszystkich warstw z wyjątkiem warstwy wyjściowej, która używała aktywacji tanh do powiązania danych wyjściowych między -1 a 1. Normalizacja wsadowa została zastosowana po wielu warstwach konwolucyjnych. Dekodery (Rysunek 3 i Rysunek 4) są podobne do koderów, ale wykorzystują ConvTranspose i dodatkową normalizację wsadową zamiast każdej warstwy.

Rysunek 2: Proponowana architektura oparta na EDE z przepływem informacji. Zilustrowano architekturę EDE, pokazującą przepływ klatek wideo przez dwa kodery i dekoder. Pierwszy koder (E1) kompresuje ramkę wejściową do reprezentacji utajonej, która jest następnie rekonstruowana przez dekoder (D1). Zrekonstruowane dane wyjściowe są przepuszczane przez drugi enkoder (E2) w celu uzyskania drugiego wektora utajonego. Rozbieżności między wektorami utajonymi a jakością rekonstrukcji są wykorzystywane do wykrywania anomalii, wspierane przez przeciwstawne i kontrastywne komponenty strat. Skrót: EDE = koder-dekoder-koder. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.
Szczegóły architektury sieci:
Model dual-EDE składa się z dwóch potoków koder-dekoder-koder, z których każdy ma tę samą strukturę i jest wspólnie optymalizowany podczas trenowania.
Architektura kodera (E1, E2)
Wejście: ramka 128×128×3 RGB
Warstwa 1: Conv2D (64 filtry, jądro 4×4, krok 2, dopełnienie 1) → LeakyReLU (α = 0,2)
Warstwa 2: Conv2D (128 filtrów, 4×4, krok 2, dopełnienie 1) → BatchNorm → LeakyReLU
Warstwa 3: Conv2D (256 filtrów, 4×4, krok 2, dopełnienie 1) → BatchNorm → LeakyReLU
Warstwa 4: Conv2D (512 filtrów, 4×4, krok 2, dopełnienie 1) → BatchNorm → LeakyReLU
Warstwa 5: Spłaszcz wektor → gęsty do utajonego (z
^100)
Architektura dekodera (D1, D2)
Wejście: z
^100 → Przekształcenie → gęstego w 8×8×512
Warstwa 1: TransposedConv2D (256 filtrów, 4×4, krok 2, dopełnienie 1) → BatchNorm → ReLU
Warstwa 2: TransposedConv2D (128 filtrów, 4×4, krok 2, dopełnienie 1) → BatchNorm → ReLU
Warstwa 3: TransposedConv2D (64 filtry, 4×4, krok 2, dopełnienie 1) → BatchNorm → ReLU
Warstwa 4: TransposedConv2D (3 filtry, 4×4, krok 2, dopełnienie 1) → Tanh
Zrekonstruowany obraz jest ponownie kodowany przez drugi koder w celu uzyskania reprezentacji utajonej, a rozbieżności między oryginalnymi i zrekonstruowanymi wektorami utajonymi są wykorzystywane do oceny anomalii.
Aktywacja i normalizacja
Kodery używają aktywacji LeakyReLU i normalizacji wsadowej. Dekodery używają aktywacji ReLU, z wyjątkiem ostatniej warstwy, która stosuje Tanh do normalizacji wyjść do zakresu [−1, 1].
Strata Funkcje
Utrata rekonstrukcji obrazu: ǀǀ x −ǀǀ2
Utrata konsystencji utajonej: ǀǀ z −ǀǀ2
Utrata przeciwstawna: Wprowadzona w Fazie II w celu maksymalizacji rozbieżności między rzeczywistymi i syntetycznymi rekonstrukcjami poprzez zmuszenie sieci do odróżnienia rzeczywistych kodów utajonych od tych generowanych podczas rekonstrukcji.
Architektura ta wychwytuje zarówno nieregularności w przestrzeni pikseli, jak i w przestrzeni utajonej, umożliwiając wykrywanie subtelnych odchyleń wskazujących na nietypowe zachowanie podczas jazdy.
Szkolenie w dwóch fazach
Stosowana jest dwuetapowa metoda szkolenia sieciowego. Zarówno w przypadku rekonstrukcji obrazu, jak i wektora utajonego, trenowane są dwie struktury EDE. W drugiej fazie Koder 2 próbuje oszukać Koder 1 w celu błędnego sklasyfikowania danych jako rzeczywistych lub zrekonstruowanych.
Wstępne szkolenie w zakresie rekonstrukcji
Struktura EDE jest trenowana w celu replikacji obrazu wejściowego i wektora utajonego. Wejście x jest zakodowane w wektorze utajonym z przez enkoder E1. Zarówno D1, jak i D2 dekodują z w celu utworzenia obrazów, x1 i x2. Otrzymaliśmy dwa wektory utajone (z1 i z2) z kodera E2 po przekazaniu dwóch zrekonstruowanych obrazów (x1 i x2). Ten etap zawiera następujące cele szkoleniowe:
LEDE1 = γ ǀǀ x −x1ǀǀ2+δ ǀǀ z−z 1ǀǀ2 (1)
LEDE2 = γ ǀǀ x−x2ǀǀ2+δ ǀǀ z−z 2ǀǀ2 (2)
Te zrekonstruowane obrazy są przepuszczane przez enkoder E2 w celu uzyskania wektorów utajonych z1 i z2. Cele szkolenia:
Współczynniki ważenia (γ, δ) mają decydujący wpływ na wpływ składników strat na funkcję celu.
Po drugie, przeszkoliliśmy dwie struktury Koder-Dekoder-Koder przy użyciu metod przeciwstawnych.
W tym przypadku γ i δ są parametry, które ważą udział rekonstrukcji i utajonych strat konsystencji.
Szkolenie przeciwstawne
Dwie struktury EDE są szkolone w sposób przeciwstawny. Uczy się rozpoznawać koder 2 na podstawie danych. EDE2 musi oszukiwać EDE1, ponieważ jest odwrotnie. D1 dekoduje z2 z pierwszego kroku i rekonstruuje x1'. Powtórzenie x1' do enkodera E2 daje z1'. Cele szkolenia etapowego są następujące:
min max γ ǀǀ x −x1'ǀǀ +δ ǀǀ z -z1'ǀǀ2 (3)
EDE2 EDE1
Dwie struktury EDE mają następujące funkcje strat:
LEDE1 = −γ ǀǀ x -x1'ǀǀ2 −δǀǀ z - z1'ǀǀ2 (4)
LEDE2 = +γ ǀǀ x - x1'ǀǀ2+δ ǀǀ z - z1'ǀǀ2 (5)
Wartości γ i δ zgodne z wcześniej określonymi parametrami.

Rysunek 3: Struktura enkodera. Sieć koderów zastosowana w proponowanej architekturze EDE wyodrębnia cechy czasoprzestrzenne z wejściowych klatek wideo. Składa się z wielu warstw konwolucyjnych, po których następuje normalizacja wsadowa i aktywacja ReLU, stopniowo zmniejszając wymiary przestrzenne przy jednoczesnym przechwytywaniu reprezentacji hierarchicznych. Końcowy wektor utajony koduje wysokopoziomowe informacje semantyczne niezbędne do wykrywania anomalii. Skróty: ReLU = Rectified Linear Unit, EDE = encoder-decoder-encoder. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.
Każdy EDE zapewnia dwie funkcje strat dla proponowanej struktury. W fazie 1 EDE1 musi zmniejszyć straty rekonstrukcyjne x i z. EDE1 musi zoptymalizować wariancję fazy 2 między wektorami utajonymi z i z1' oraz x i x1'. EDE2 i EDE1 redukują błędy rekonstrukcji fazy 1 x i z. EDE1 musi zmniejszyć różnicę między z i z1' oraz x i x1' w fazie 2, ale musi się zdarzyć coś odwrotnego.

Rysunek 4: Struktura dekodera. Komponent dekodera proponowanej architektury EDE rekonstruuje ramki wejściowe na podstawie ukrytych cech. Składa się z serii transponowanych warstw konwolucyjnych, które stopniowo odwzorowują cechy w górę do oryginalnej rozdzielczości klatki. Dekoder uczy się dokładnej rekonstrukcji normalnych scen drogowych, umożliwiając systemowi identyfikację anomalii na podstawie błędów rekonstrukcji. Skrót: EDE = koder-dekoder-koder. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.
Każdy podwójny cel treningowy modelu EDE obejmuje funkcje odchudzania z ciężarami, które zmieniają się w czasie:
LEDE1=(γ||x−x1||2+δ||z−z1||2)−(1−)(γ||x−x1''||2+δ||z−z1''||2)(6)
LEDE2=(γ||x−x1||2+δ||z−z1||2)+(1−)(γ||x−x1''||2+δ||z−z1''||2)(7)
Liczba okresów treningowych wynosi n.
Algorytm 1 przedstawia dwufazowy trening:
Wkład:
Wszystkie normalne obrazy w zbiorze danych E = {x1, x2, . . . , xF},
Epoki N,
Parametry ważone γ, δ
Wyjście:
Wyszkolony koder-dekoder-koder 1,
Koder-Dekoder-Enkoder 2
e1, e2, d1, d2 ←inicjalizacja
Wagi
n ←1
powtórzyć
dla f = 1 do F do
Zf←e1(xf)
←d1(zf)
←d2(zf)
←e2(
)
←e2(
)
←d1(
)
←e2(
)′
LEDE1←
(γ||xf−
||2+δ||zf−
||2) −(1−
)(γ||xf−
'||2+ δ||zf−
'||2)
LEDE2←
(γ||xf−
||2+δ||zf−
||2) +(1−
) (γ||xf−
'||2+ δ||zf−
'||2)
E1, E2, D1, D2←Aktualizuj masy
przy użyciu LEDE1i LEDE2
Koniec dla
n ←n + 1
aż n = N
Fazy trenowania i kryteria wykrywania anomalii
Podziel szkolenie na dwie sekwencyjne fazy:
Faza I - Nauka rekonstrukcji:
Oba rurociągi EDE są trenowane wyłącznie na normalnych warunkach drogowych.
Obrazy wejściowe są przekazywane przez koder 1 → dekoder 1 → koder 2 (rysunek 5).
Model minimalizuje utratę rekonstrukcji obrazu i utratę utajonej spójności. Ta faza pozwala sieci nauczyć się zwartej, spójnej przestrzeni utajonej dla normalnego zachowania.
Faza II - Uczenie się w konfrontacji generatywnej:
Wektory utajone zrekonstruowane z dekodera 1 są wprowadzane do dekodera 2, a następnie ponownie kodowane przez koder 1. Ten przepływ okrężny pomaga modelowi wykrywać niespójności we wzorcach syntetycznych. Strata kontradyktoryjna jest dodawana w celu wyolbrzymienia niewielkich odchyleń między oryginalnymi a zrekonstruowanymi reprezentacjami. Dyskryminator jest opcjonalnie szkolony w odróżnianiu rzeczywistych kodów utajonych od zrekonstruowanych, wymuszając ostrzejsze rozróżnienie w przestrzeni utajonej.
Wykrywanie anomalii:
W czasie wnioskowania przepuść ramkę testową przez potok z podwójnym EDE. Oblicz trzy metryki: błąd rekonstrukcji pikseli, rozbieżność wektorów utajonych i wynik dyskryminatora przeciwstawnego (jeśli jest używany). Obliczanie złożonego wyniku anomalii jako sumy ważonej:

Ramki z wynikami anomalii powyżej skalibrowanego progu są oznaczane jako potencjalne nietypowe zdarzenia. Mechanizm ten umożliwia modelowi wykrywanie subtelnych odchyleń w wizualnych i utajonych wzorcach przestrzennych bez konieczności umieszczania jakichkolwiek etykiet anomalii z adnotacjami.

Rysunek 5: Architektura przeciwstawnego modelu GANomaly integrującego EDE 1 i EDE 2. Rysunek ten ilustruje projekt modelu wykrywania anomalii przeciwstawnych, który integruje dwie struktury EDE - EDE1 do rekonstrukcji i EDE2 do wyrównania cech utajonych. Model wykorzystuje utratę spójności wektora utajonego i trenowanie przeciwstawne za pomocą dyskryminatora w celu wymuszenia podobieństwa między ukrytymi reprezentacjami ramek wejściowych i zrekonstruowanych. Ta architektura zwiększa wykrywanie anomalii, ucząc się niezawodnych osadzania funkcji dla normalnych wzorców ruchu. Skróty: EDE1 = pierwsza struktura kodera-dekodera-enkodera do rekonstrukcji; EDE2 = Druga struktura kodera-dekodera-enkodera do wyrównania cech utajonych. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.
Podczas wykrywania nasz model wykorzystał te nietypowe wyniki:
Acc(x̂) = ω1||z−z2||2+ω2||z−z1'||2 (8)
Zmiana parametrów wagi (ω1+ ω2= 1) może zmienić czułość poprzez dostosowanie stosunku wyników prawdziwie dodatnich do fałszywie dodatnich. W rzeczywistych zastosowaniach zmiana tych dwóch parametrów może wykryć wypadki o różnej czułości w jednym eksperymencie.
Podczas trenowania każda klatka wejściowa x jest przekazywana przez enkoder E1 w celu wygenerowania wektora utajonego z. Wektor utajony jest następnie rekonstruowany przez dekoder D1, tworząc obraz x̂1, który jest następnie przekazywany przez enkoder E2 w celu uzyskania zrekonstruowanego wektora utajonego z. Równolegle z jest dekodowane przez dekoder D2 w celu wytworzenia x̂2, który jest również ponownie kodowany przez E2 w celu uzyskania z2. Ten dwukierunkowy proces zachowuje zarówno informacje na poziomie pikseli, jak i utajone na potrzeby wykrywania anomalii.
Algorytm testowania modelu:
={( x̂1,y 1),( x̂2,y 2),...,( x̂M*,yM*)},
Próg φ,
Parametry wagowe ω1, ω2
Dane wyjściowe: etykieta przewidywania zestawu danych testowych
Ere = {y1pre, y2pre, ..., yF*pre}
dla i =1do F* do
zi ← e1(xi)
x2i ← d2(zi)
Z2i ← e2(x2i)
Z1i' ← d1(z2i)
Z1i' ← e2(Z1i')
Acc(x̂i) ←ω1||zi−z2i||2+ω2||zi−z1i'||cyfra arabska
ifAcc(x̂i) ≥φ then
yipre ←1
inaczej
yipre ←0
endif (jedynie)
koniec
EDE używa dyskryminatora jako komponentu uczenia się przeciwstawnego w celu zwiększenia dokładności wykrywania anomalii poprzez poprawę zdolności modelu do odróżniania zdarzeń normalnych i nietypowych. Zwiększa wydajność w następujący sposób:
Uczenie się dyskryminacji: Dyskryminator jest szkolony w zakresie różnicowania syntetycznych i podwójnych reprezentacji zrekonstruowanych przez strukturę EDE. Optymalizacja tego procesu przeciwstawnego nadaje modelowi wysoce dyskryminacyjne funkcje utajone, poprawiając wykrywanie anomalii w miejscach ruchu.
Usuwanie złych rekonstrukcji: Ponieważ anomalie tak bardzo odbiegają od wzorców ruchu, często powodują problemy z rekonstrukcją. Dyskryminator karze nieprawidłowo zrekonstruowane ramki, poprawiając wykrywanie normalnych/nietypowych zdarzeń w sieci.
Poprawa reprezentacji funkcji dzięki szkoleniu przeciwstawnemu: Integrując uczenie się przeciwstawne, dyskryminator sprawia, że sieć EDE generuje trwalsze i bardziej znaczące ukryte osadzenia. Wykrywa to nawet niewielkie zmiany, takie jak nagłe hamowanie, kolizje i skręcanie pojazdu, poprawiając wykrywanie anomalii.
Usuwanie wyników fałszywie dodatnich: Tradycyjne autokodery nadmiernie uogólniają i normalizują anomalie, co skutkuje wysokimi wskaźnikami wyników fałszywie dodatnich. Dyskryminator zachowuje atrybuty anomalii podczas rekonstrukcji, identyfikując ukryte rozbieżności między ramkami normalnymi i anomalnymi.
Poprawa klasyfikacji dzięki dwuetapowemu procesowi decyzyjnemu: Normalne lub nieprawidłowo przebudowane ramki otrzymują oceny ufności od dyskryminatora. Błędy błędnej klasyfikacji i straty rekonstrukcyjne są redukowane w tej dodatkowej fazie weryfikacji, co poprawia dokładność wykrywania.
Do przetestowania strategii 23,24,25,26 wykorzystaliśmy sprawdzone metody wykrywania wypadków. Jedna klasa w wieloklasowym zbiorze danych była normalna, a wszystkie inne klasy wypadków zostały dokładnie zbadane przy użyciu podejścia jedno przeciwko wszystkim. Model został wytrenowany przy użyciu tylko normalnych danych klasy, podczas gdy zestaw testowy używał danych przypadkowych i normalnych. Zestawy treningowe i testowe zostały podzielone na dwa sposoby.
Trenowaliśmy i testowaliśmy na odpowiednio 80% i 20% danych z klasy normalnej. Wyniki testów klasy wypadkowej zostały wybrane losowo. Ocena była bezstronna dzięki zastosowaniu prób testowych klasy wypadkowej, które stanowią 20% danych klasy normalnej, aby uniknąć przekrzywienia modelu w kierunku większości klasy normalnej. Model może być testowany w odniesieniu do równej liczby danych normalnych i wypadkowych, reprezentujących warunki praktyczne. Testuje uogólnienie modelu bezstronnie, trenując z 80% normalnych danych i ukrywając 20%. Pokazuje to również, że liczba normalnych zdarzeń przewyższa liczbę wypadków w prawdziwym życiu, co sprawia, że ważne jest, aby model miał dostęp do rzadkich danych dotyczących wypadków. Losowy wybór próbek powypadkowych i testowanie modelu pod kątem wszystkich sytuacji wypadkowych bez nadmiernego dopasowania zwiększa niezawodność. Podział danych 80/20 jest powszechny w uczeniu maszynowym. Dane treningowe dla znaczących wzorców i dane testowe do oceny wydajności są zrównoważone.
W eksperymentach wykorzystano zestawy danych do trenowania i testowania. Do walidacji i szkolenia zastosowano normalny podział na klasy. Przetestowano dane testowe wszystkich klas.
Przycinanie i kwantyzacja modelu znacznie zmniejszają rozmiar modelu i obliczenia. Zredukowany model ma taką samą dokładność, ale niższą wydajność, ponieważ zawiera o 40% mniej parametrów. W przypadku urządzeń brzegowych o niskiej mocy obliczeniowej kwantyzacja modelu powoduje jego kompresję. Ta optymalizacja spełnia potrzeby w zakresie precyzji i przywoływania ruchu w czasie rzeczywistym.
Lekkie konstrukcje, takie jak MobileNets i EfficientNet, zwiększają wnioskowanie w czasie rzeczywistym. Ze względu na precyzję widzenia komputerowego i minimalną moc obliczeniową, te typy architektury są szeroko stosowane. W systemach wbudowanych takie modele zmniejszają przetwarzanie ramek o 50%, zachowując jednocześnie wysokie wyniki F1 w wykrywaniu wypadków.
Wykorzystanie podobnych parametrów do rekonstrukcji obrazu i wykrywania wypadków z wykorzystaniem uczenia wielozadaniowego może uprościć projekt. Skróciło to czas trenowania i obniżyło koszty obliczeń bez wpływu na dokładność modelu. Wielozadaniowy system uczenia się uprościł uczenie się modelu przetwarzania danych wideo o ruchu drogowym.
Kontrastywne i samonadzorowane szkolenie przeciwstawne przyniosło wyniki porównywalne z podstawowym modelem wykrywania anomalii w krótszym czasie. Zebrano i uogólniono informacje o wypadkach drogowych w celu zwiększenia niezawodności niewidocznych danych.
Proponowany algorytm wykrywania anomalii w ruchu został przetestowany na ścieżce 4, jednym z pięciu zestawów danych AI City Challenge2021 27. Autostrady dostarczyły te dane do Departamentu Transportu stanu Iowa.
Porównawcza ocena działania:
Aby zweryfikować nasz model, porównaliśmy go na zestawie danych AI City Challenge Track 4 z najnowocześniejszymi modelami, w tym GANomaly, f-AnoGAN, OCGAN i metodą nadzorowaną ByteDance. Wyniki przedstawiono w tabeli 2 .
| Model | Wynik F1 | Precyzja | Pamiętać | AUC |
| GANomal (Język angielski) | 0.87 | 0.88 | 0.86 | 0.9 |
| OCGAN (Okgan) | 0.89 | 0.9 | 0.87 | 0.91 |
| ByteDance (Sup.) | 0.91 | 0.93 | 0.89 | 0.92 |
| Proponowany (Dual-EDE) | 0.94 | 0.95 | 0.93 | 0.94 |
Tabela 2: Porównanie metod. W tabeli porównano metody wykrywania anomalii według wyniku F1, precyzji, kompletności i dokładności. Porównano projekty EDE ze szkoleniem przeciwstawnym i bez niego. Dwa EDE plus trening przeciwstawny pokonały BADU, ByteDance i WHU we wszystkich kategoriach. Dane wskazują, że uczenie przeciwstawne zwiększa wykrywanie anomalii.
Model podwójnego EDE przewyższa wszystkie linie bazowe, zwłaszcza w zakresie przypominania - co wskazuje na większą wrażliwość na rzadkie zdarzenia anomalne.