Inteligentne rozwiązanie integrujące istniejące systemy Smart City, sieci IoT oraz systemy bezpieczeństwa miast i gmin — z analityką AI o mocy do 242 TOPS, 462+ modelami uczenia maszynowego i poziomo skalowalną infrastrukturą równoległą.

Streszczenie

IOAS Security Cluster (IOASC) to rozproszona platforma do analizy obrazu w czasie rzeczywistym z miejskich systemów kamerowych, integrująca istniejącą infrastrukturę rozwiązań Smart City, sieci czujników IoT oraz systemy bezpieczeństwa miast i gmin na Słowacji. Architektonicznie łączy dedykowany akcelerator sprzętowy AI o mocy 240 TOPS, bibliotekę ponad 462 modeli uczenia maszynowego oraz równoległy/zdecentralizowany framework obliczeniowy, który pozwala jednej fizycznej jednostce obsługiwać do 19 równoległych strumieni kamerowych z opóźnieniem end-to-end poniżej 80 ms. W tym artykule szczegółowo rozwijamy trzy filary systemu, które w pierwotnej koncepcji zostały przedstawione tylko ogólnie: (1) potok tworzenia modeli, (2) obliczenia o wysokiej wydajności (HPC) i (3) strategie obliczeń równoległych i rozproszonych.

1. Architektura klastra

IOASC to inteligentne rozwiązanie zapewniające integrację istniejących systemów Smart City, sieci IoT i systemów bezpieczeństwa miast i gmin na Słowacji. Wykorzystując komponenty klastra IOASC można wdrożyć najnowsze metody analityki i przetwarzania danych nawet w przypadku przestarzałych systemów, w tym istniejącej infrastruktury. Komponenty systemu mogą równolegle analizować dane z systemów kamerowych z mocą do 242 Tera operacji na sekundę (TOPS), tworząc szybkie i inteligentne rozwiązanie do zaawansowanej analizy obrazu z już zainstalowanych kamer.

System implementuje ponad 462 modele do przetwarzania danych, co pozwala identyfikować w czasie rzeczywistym następujące parametry jakościowe i ich wzajemne relacje:

Na podstawie zastosowania poszczególnych modeli można tworzyć dowolne funkcje analityczne z wykorzystaniem uczenia maszynowego — w czasie rzeczywistym. Poszczególne jednostki fizyczne są łączone w klaster, który następnie agreguje zidentyfikowane dane i ocenia funkcje korelacyjne wyższego rzędu:

Wymienione parametry są oceniane przez system na wszystkich połączonych węzłach klastra, a decentralizacja mocy obliczeniowej gwarantuje pracę w czasie rzeczywistym nawet przy setkach równoległych strumieni. Poszczególne modele są rekurencyjnie tagowane przez sam system i operatorów (zazwyczaj funkcjonariuszy straży miejskiej), co umożliwia ciągłą adaptację klasyfikatorów i stopniowe zwiększanie zgodności wyników z rzeczywistością.

2. Tworzenie modeli: potok uczenia maszynowego

Biblioteka 462+ modeli nie jest statycznym artefaktem — jest produktem ciągłego cyklu MLOps prowadzonego przez IOAS dla każdego klienta. Potok składa się z siedmiu etapów; każdy z nich jest niezależnie konteneryzowany i poziomo skalowalny.

2.1 Akwizycja i kuracja danych

Dane wejściowe pochodzą z trzech źródeł:

  1. Strumieniowanie RTSP/ONVIF z istniejących systemów kamerowych klienta — IOASC obsługuje H.264, H.265 (HEVC) i AV1, z automatycznym wykrywaniem i naprawą niespójnych klatek kluczowych lub utraty pakietów.
  2. Skuratorowane korpusy — dla standardowych dziedzin (pojazdy, piesi, tablice rejestracyjne) IOAS utrzymuje wewnętrzne zbiory danych z ponad 2,4 mln oznaczonych klatek (stan na 2026 Q2), zebranych z rzeczywistych słowackich i środkowoeuropejskich środowisk miejskich (różne warunki oświetleniowe, pogodowe, pory roku).
  3. Historia operatora — straże miejskie i zintegrowane służby ratunkowe dostarczają informacji zwrotnej w postaci poprawek detekcji, co rozszerza kolejkę active-learning (sekcja 2.4).

Przed treningiem wszystkie dane przechodzą przez warstwę deidentyfikacji zgodną z RODO Art. 35 — twarze osób niezaangażowanych są rozmazywane, tablice rejestracyjne nie są zapisywane jako surowe znaki, lecz jako one-hot embeddingi do dalszego przetwarzania.

2.2 Architektury modeli

Biblioteka IOASC grupuje modele w siedem rodzin według głównego zadania:

Rodzina Główne architektury Typowa wydajność (FPS @ INT8 na NPU 240 TOPS)
Detekcja obiektów YOLOv8/v9, RT-DETR-L, EfficientDet-Lite 350 – 600 FPS przy 1280×720
Wieloobiektowe śledzenie ByteTrack, BoT-SORT, StrongSORT 280 – 450 FPS
Automatyczne rozpoznawanie tablic (ANPR) LPRNet + CRNN, ParseQ dla OCR 200 – 320 FPS
Rozpoznawanie czynności / zachowań SlowFast R50, TimeSformer, MViTv2 60 – 110 FPS (krótkie 32-klatkowe klipy)
Re-identyfikacja osób OSNet-IBN, FastReID 700 – 900 FPS na embedding
Poprawa obrazu (denoising) NAFNet, Restormer-S 90 – 150 FPS przy 1080p
Detekcja anomalii PaDiM, PatchCore, AnomaLib stack 250 – 380 FPS

Dla każdej rodziny IOAS utrzymuje 3 – 5 wersji w różnych proporcjach dokładność ↔ opóźnienie: *-tiny dla węzłów brzegowych z ograniczonym budżetem, *-base dla standardowego wdrożenia, *-large dla krytycznych lokalizacji (główne skrzyżowania, wejścia do budynków publicznych).

2.3 Infrastruktura treningowa

Trening odbywa się w dedykowanej training cell infrastruktury IOAS o następujących parametrach:

Trening pojedynczego modelu produkcyjnego trwa od 6 godzin (LPRNet fine-tune) do 5 dni (RT-DETR-L na własnym zbiorze 2,4 M klatek).

2.4 Optymalizacja pod wdrożenie (model serving)

Wytrenowane modele przechodzą trzystopniową kompresję przed wdrożeniem na brzegu:

  1. Strukturalny pruning — usunięcie 30 – 60 % redundantnych wag przez kryteria magnitude-based + Taylor expansion; zmniejsza ślad pamięciowy zachowując > 99 % dokładności.
  2. Kalibracja INT8 (post-training) — zbiór kalibracyjny 1024 rzeczywistych klatek, kwantyzacja per-channel symetryczna; typowa strata < 0,8 % mAP.
  3. Layer fusion + optymalizacja grafu — fuzja Conv+BN+ReLU, eliminacja redundantnych operacji reshape, konwersja ONNX → TensorRT/Hailo-RT.

Wynik: 2,2 – 4,7× szybsze wnioskowanie przy 4× mniejszym śladzie pamięciowym w porównaniu z oryginalnym modelem FP32.

2.5 Active learning i ciągła adaptacja

W produkcji każda detekcja z pewnością poniżej 0,75 automatycznie generuje kandydata active-learning, który trafia do kolejki adnotacyjnej. Operator systemu (zwykle funkcjonariusz straży miejskiej) otrzymuje przez konsolę webową listę niepewnych przypadków i oznacza je jako true positive / false positive / false negative / re-classify. Te poprawki:

Drift detection działa 24/7 — monitoruje rozkład wyników pewności, false-positive rate per kategoria i per kamera. Jeśli F1 spadnie poniżej progu (zazwyczaj 0,92 absolutnie lub −3 σ od baseline), system automatycznie eskaluje do zespołu MLOps IOAS.

2.6 Federated learning między klientami

Aby zmaksymalizować generalizację między różnymi miastami (Bratysława, Trenczyn, Żylina, Koszyce — odmienna architektura, kamery, wzorce ruchu), IOAS prowadzi rundy federated learning według schematu FedAvg z różnicową ochroną prywatności (DP-SGD, ε ≤ 3,0):

[Klient 1: lokalna aktualizacja] ─┐
[Klient 2: lokalna aktualizacja] ─┼─→  [Agregator (IOAS HQ)]  ─→  [Globalny model v0.N+1]
[Klient 3: lokalna aktualizacja] ─┤                                       │
                                 ...                                      ▼
                                                          [Dystrybucja z powrotem do klientów]

Surowe dane nie opuszczają perymetru klienta — odsyłane są tylko gradienty z dodanym szumem oraz metadane o wielkości aktualizacji. Zachowuje to zgodność regulacyjną z RODO i ustawą o cyberbezpieczeństwie.

3. Obliczenia o wysokiej wydajności (HPC)

3.1 Akceleracja sprzętowa (240 TOPS)

Sercem każdego węzła IOASC jest akcelerator sprzętowy AI z deklarowaną wydajnością 240 TOPS @ INT8, dostępny w dwóch fizycznych formatach:

Forma Power envelope Pamięć Zastosowanie
In-box appliance 60 – 90 W 32 GB LPDDR5 (273 GB/s) Wdrożenie brzegowe przy węźle kamerowym, samodzielne
Karta PCIe add-in (HHHL lub FHFL) 75 W (slot PCIe) 16 GB HBM3 (1,2 TB/s) Integracja z istniejącym rackiem serwerowym klienta

Akcelerator udostępnia niskopoziomowe C/C++ runtime API z prymitywami do alokacji tensorów, uruchamiania kerneli, asynchronicznego memcpy oraz synchronizacji przez kolejki podobne do CUDA-stream. Wyższa warstwa (ioasc-runtime) zapewnia zero-copy połączenie DMA między dekoderem kamery (NVDEC lub dedykowany blok sprzętowy) a silnikiem inferencyjnym — cały cykl klatki nie opuszcza pamięci urządzenia aż do wyemitowania ładunku analitycznego.

Akcelerator obsługuje:

3.2 Architektura pamięci i sieci

   ┌─────────────────────────────────────────────────────┐
   │ Węzeł IOASC                                         │
   │                                                     │
   │   [NPU 240 TOPS]  ←──→  [HBM3 1.2 TB/s]              │
   │         ↕                                           │
   │   [CPU host: 16-rdzeniowy ARMv9 / x86]              │
   │         ↕                                           │
   │   [DDR5 dual-channel, 51 GB/s]                       │
   │         ↕                                           │
   │   [NVMe Gen4 SSD 4 TB]   (cache modeli + metadane)   │
   │         ↕                                           │
   │   [10 GbE management]   [100 GbE backbone (klaster)] │
   └─────────────────────────────────────────────────────┘

Hierarchia pamięci jest zoptymalizowana pod strumieniowe obciążenia: NPU pracuje wyłącznie z tensorami w HBM3 (niskie opóźnienie, wysoka przepustowość), CPU trzyma metadane i logikę koordynacyjną w DDR5, NVMe służy jako lokalny cache wag modeli (zimny start z NVMe ~ 800 ms na model, ciepły switch < 5 ms).

Sieć inter-node używa 100 GbE backbone z RDMA (RoCE v2) — transfer tensorów node-to-node przebiega przez iWARP lub RoCE w trybie zero-copy, eliminując narzut TCP/IP przy rozproszonej inferencji (sekcja 4.4).

3.3 Efektywność energetyczna i zarządzanie termiczne

Dla pracy 24/7 w outdoor obudowach IP66 IOAS zoptymalizował projekt termiczny:

3.4 Edge vs scentralizowane obliczenia — budżet opóźnień

Dla aplikacji czasu rzeczywistego krytyczny jest end-to-end latency budget od fizycznego zdarzenia do generacji alarmu. IOASC trzyma większość inferencji na brzegu:

Etap Wdrożenie brzegowe Scentralizowane (chmura)
Sensor → encoder 8 – 16 ms 8 – 16 ms
Tranzyt sieciowy < 1 ms (sieć lokalna) 25 – 80 ms (WAN, przez VPN)
Decode + preprocess 4 – 7 ms 4 – 7 ms
Inferencja (1 model) 2,5 – 6 ms (240 TOPS) 8 – 25 ms (współdzielony pool GPU)
Postprocess + payload 1 – 2 ms 1 – 2 ms
Wysyłanie powiadomienia < 5 ms (lokalne UDP) 20 – 60 ms
Σ end-to-end 20 – 38 ms 65 – 190 ms

Edge-first design daje 3 – 5× niższe opóźnienie i eliminuje zależność od łączności WAN — przy awarii internetu węzeł klastra kontynuuje analizę lokalnie, a alerty dostarcza zapasowymi kanałami GSM/LTE.

4. Obliczenia równoległe

Równoległość w IOASC działa na pięciu poziomach jednocześnie, co pozwala saturować NPU przy heterogenicznych obciążeniach.

4.1 Równoległość na poziomie strumieni

Podstawowa konfiguracja jednego węzła obsługuje 19 równoległych strumieni kamerowych przy 25 FPS, czyli łącznie 475 klatek/s. Strumienie są multipleksowane przez:

4.2 Pipeline parallelism

Przetwarzanie pojedynczej klatki jest rozłożone na pięć etapów pipeline, które działają równolegle na różnych klatkach (klasyczny łańcuch producent-konsument):

   t=0 ms       t=5 ms       t=10 ms      t=15 ms      t=20 ms
   ┌──────┐
   │ FR-1 │ Decode
   └──┬───┘
      ↓     ┌──────┐
            │ FR-1 │ Preprocess     ← FR-2: Decode
            └──┬───┘
               ↓     ┌──────┐
                     │ FR-1 │ Inference  ← FR-2: Preprocess  ← FR-3: Decode
                     └──┬───┘
                        ↓     ┌──────┐
                              │ FR-1 │ Postprocess  ← FR-2: Inf  ← FR-3: Pre  ← FR-4: Dec
                              └──┬───┘
                                 ↓     ┌──────┐
                                       │ FR-1 │ Publish
                                       └──────┘

W stanie ustalonym w pipeline jednocześnie znajduje się 5 klatek w różnych etapach. Przepustowość jest równa najwolniejszemu etapowi (zwykle inferencji), nie sumie wszystkich etapów — co daje 2,8 – 3,4× przyspieszenie w porównaniu z synchronicznym przetwarzaniem.

4.3 Model i data parallelism

Dla dużych modeli (RT-DETR-L, MViTv2-L), które nie mieszczą się w jednej partycji HBM, IOASC obsługuje:

Strategia jest dobierana per-model, decydowana w czasie kompilacji grafu na podstawie rozmiaru wag, batch-size i dostępnych partycji NPU.

4.4 Inter-node sharding klastra

Przy wdrożeniu na skalę, gdy miasto ma np. 12 węzłów IOASC obsługujących 228 strumieni (12 × 19), klaster realizuje funkcjonalny sharding — zamiast aby każdy węzeł uruchamiał wszystkie 462 modele, modele są rozproszone:

   Węzeł A: ANPR, klasyfikacja pojazdów                (modele 1-128)
   Węzeł B: zachowanie pieszych + rowerzystów          (modele 129-238)
   Węzeł C: detekcja incydentów + przemocy             (modele 239-310)
   Węzeł D: re-identyfikacja + cross-camera tracking   (modele 311-396)
   Węzeł E: anomalie + denoising postprocess           (modele 397-462)

Każdy węzeł publikuje swoje wyniki analityczne jako typowane zdarzenia na klastrowy event-bus (NATS JetStream z persystentnym storage). Funkcje korelacyjne wyższego rzędu (sekcja 1) działają na węźle agregującym, który subskrybuje odpowiednie tematy i stosuje:

4.5 Asynchroniczna kompozycja funkcji analitycznych

Funkcje analityczne wyższego rzędu są modelowane jako DAG (graf skierowany acykliczny) operacji inferencyjnych, które orchestrator klastrowy planuje równolegle wszędzie tam, gdzie nie ma zależności danych:

   Klatka ──→ Detekcja ──┬─→ Tracking ──┬─→ ReID ────┐
                         │              │            ├─→ Multi-camera fusion
                         │              └─→ Behaviour┘
                         │
                         └─→ Klasyfikacja ─→ ANPR ─→ Wyszukanie w DB pojazdów

Orchestrator (wewnętrzny komponent zbudowany na Apache Arrow Flight + własny scheduler DAG) startuje każdy węzeł DAG-u w momencie dostępności jego wejść, osiągając prawie optymalną ścieżkę krytyczną. Dla typowego obciążenia 19-strumieniowego średnie wykorzystanie NPU wynosi 78 – 84 % (blisko teoretycznego maksimum batch-aware schedulerów).

5. Pojemność modelowa i rejestr

Biblioteka 462+ modeli jest wersjonowana w wewnętrznym model registry z następującymi metadanymi per model:

Manifest wdrożenia klienta (ioasc-deployment.yaml) deklaruje, które modele są aktywne na którym węźle i z jakim priorytetem — runtime pobiera je automatycznie z model registry, stosuje walidację polityki (compliance check, signature verification) i aktywuje w runtime’ie bez przerywania działających strumieni (canary rollout 5 → 50 → 100 % traffic).

6. Architektura bezpieczeństwa

Rozwiązanie jest w pełni zgodne z prawodawstwem UE, ustawą o cyberbezpieczeństwie (słow. ustawa nr 69/2018 Z. z. w brzmieniu ustawy nr 366/2024 — implementacja NIS2) oraz dekretami słowackiego NBU. System oprogramowania zawiera:

Implementacja zawiera również peer-to-peer blockchain weryfikację uprawnień poszczególnych komponentów w sieci — każdy węzeł posiada tożsamość kryptograficzną z certyfikatem w łańcuchu zaufania klastra. Każda zmiana konfiguracji, wdrożenie modelu lub dołączenie nowego węzła jest rejestrowane w rozproszonej księdze, fundamentalnie minimalizując ryzyko wycieku informacji, nieautoryzowanej rekonfiguracji lub innej formy nadużycia.

7. Scenariusze wdrożenia

Scenariusz Wydajność Grupa docelowa Pojemność referencyjna
Standalone in-box 1 węzeł, 240 TOPS Mała gmina, 1 – 19 kamer 1 skrzyżowanie
Karta PCIe add-in 1 węzeł, 240 TOPS Miasto z istniejącym serwerem 19 strumieni
Hybrid edge + central N edge + 1 agregator Miasto z 5 – 50 kamer 95 – 500 strumieni
Pełny klaster 5+ węzłów, 1,2+ PetaOPS Miasto z 100+ kamer 500 – 2 000 strumieni

Wdrożenie jest modułowe: klient zaczyna zwykle od standalone lub PCIe add-in (szybka faza pilotażowa, ROI < 9 miesięcy), później rozszerza do pełnego klastra bez rekonfiguracji już wdrożonych węzłów.

8. Podsumowanie

IOAS Security Cluster jest konwergencją trzech trendów: akceleracji edge AI (240 TOPS @ < 90 W), wertykalnie wyspecjalizowanych modeli ML (462+ z aktywnym potokiem retreningu) oraz rozproszonych/równoległych obliczeń (5 poziomów równoległości, koordynacja P2P). Architektura jest zaprojektowana tak, aby integrowała istniejącą infrastrukturę kamer i IoT bez konieczności wymiany sprzętu, zachowując pełną zgodność z prawodawstwem UE i Słowacji.

Dla gmin, które już posiadają system kamerowy i szukają sposobu wydobycia z niego wartości operacyjnej i analitycznej, IOASC oferuje drogę od pasywnego nagrywania do aktywnej, predykcyjnej i audytowalnej platformy bezpieczeństwa.

Chcesz wiedzieć więcej? Napisz do nas.