En intelligent løsning som integrerer eksisterende Smart City-systemer, IoT-nett og sikkerhetssystemer i byer og kommuner — med inntil 242 TOPS KI-akselerert analyse, over 462 maskinlærte modeller og en horisontalt skalerbar parallell infrastruktur.

Sammendrag

IOAS Security Cluster (IOASC) er en distribuert plattform for sanntidsanalyse av bilder fra kommunale kamerasystemer. Den integrerer eksisterende infrastruktur i Smart City-utrullinger, IoT-sensornett og sikkerhetssystemer i byer og kommuner i Slovakia. Arkitektonisk kombinerer den en dedikert KI-maskinvareakselerator som leverer 240 TOPS, et bibliotek på mer enn 462 maskinlærte modeller og et parallelt og desentralisert beregningsrammeverk som lar én fysisk enhet behandle inntil 19 samtidige kamerastrømmer med ende-til-ende-forsinkelse under 80 ms. Denne artikkelen utdyper de tre pilarene som det opprinnelige konseptet bare berørte: (1) modellproduksjonslinjen, (2) høyytelsesberegning og (3) strategier for parallell og distribuert beregning.

1. Klyngearkitektur

IOASC er en intelligent løsning som integrerer eksisterende Smart City-systemer, IoT-nett og sikkerhetssystemer i byer og kommuner i Slovakia. Med IOASC-komponentene er det mulig å ta i bruk moderne metoder for dataanalyse og databehandling selv i systemer som er utdaterte generasjonsmessig, inkludert eldre infrastruktur. Systemets komponenter kan analysere — parallelt — data fra kamerasystemer med inntil 242 Tera Operations Per Second (TOPS), og skaper dermed en rask og intelligent løsning for avansert bildeanalyse på allerede installerte kameraer.

Systemet implementerer mer enn 462 modeller for databehandling, noe som gjør det mulig å identifisere følgende kvalitative parametere og sammenhengene mellom dem i sanntid:

Ved å kombinere de enkelte modellene er det mulig å bygge en hvilken som helst analysefunksjon basert på maskinlæring, alt i sanntid. De enkelte fysiske enhetene kobles deretter sammen i en klynge, som aggregerer resultatdataene og evaluerer korrelasjoner av høyere orden:

Disse parameterne evalueres av systemet på tvers av alle tilkoblede klyngenoder; desentraliseringen av regnekraften garanterer sanntidsdrift selv med hundrevis av parallelle strømmer. De enkelte modellene merkes rekursivt av systemet selv og av operatørene (typisk kommunale politibetjenter), noe som muliggjør kontinuerlig tilpasning av klassifikatorene og en jevn økning i samsvaret mellom resultat og virkelighet.

2. Modellproduksjon: maskinlæringslinjen

Biblioteket med 462+ modeller er ikke et statisk produkt — det er resultatet av en kontinuerlig MLOps-syklus som IOAS drifter for hver kunde. Produksjonslinjen består av sju trinn, hvert av dem uavhengig containerisert og horisontalt skalerbart.

2.1 Innhenting og kuratering av data

Inndata kommer fra tre kilder:

  1. RTSP/ONVIF-strømming fra kundens eksisterende kamerasystemer — IOASC støtter H.264, H.265 (HEVC) og AV1, med automatisk deteksjon og gjenoppretting ved inkonsistente nøkkelbilder eller pakketap.
  2. Annoterte korpus — for standarddomener (kjøretøy, fotgjengere, skilt) vedlikeholder IOAS interne annoterte datasett med mer enn 2,4 millioner merkede bilder (status 2026 Q2), samlet inn fra reelle slovakiske og sentraleuropeiske kommunale miljøer (varierende lys, vær og årstider).
  3. Operatørhistorikk — kommunalt politi og nødetater gir tilbakemelding i form av korrigerte deteksjoner, noe som utvider køen for aktiv læring (avsnitt 2.4).

Før trening går alle data gjennom et avidentifiseringslag i tråd med GDPR art. 35 — ansikter på uvedkommende personer sløres, og skiltnumre lagres ikke som rå tegn, men som one-hot-embeddinger for videre oppgaver.

2.2 Modellarkitekturer

IOASC-biblioteket grupperer modellene i sju familier etter primæroppgave:

Familie Hovedarkitekturer Typisk ytelse (FPS @ INT8 på 240 TOPS NPU)
Objektdeteksjon YOLOv8/v9, RT-DETR-L, EfficientDet-Lite 350–600 FPS ved 1280×720
Sporing av flere objekter ByteTrack, BoT-SORT, StrongSORT 280–450 FPS
Automatisk skiltgjenkjenning (ANPR) LPRNet + CRNN, ParseQ for OCR 200–320 FPS
Handlings- og atferdsgjenkjenning SlowFast R50, TimeSformer, MViTv2 60–110 FPS (korte klipp på 32 bilder)
Re-identifisering av personer OSNet-IBN, FastReID 700–900 FPS per embedding
Bildeforbedring (støyfjerning) NAFNet, Restormer-S 90–150 FPS ved 1080p
Avviksdeteksjon PaDiM, PatchCore, AnomaLib-stakken 250–380 FPS

For hver familie vedlikeholder IOAS 3–5 versjoner med ulike avveininger mellom nøyaktighet ↔ forsinkelse: *-tiny for kantnoder med begrenset budsjett, *-base for standard utrulling og *-large for kritiske steder (sentrale kryss, innganger til offentlige bygg).

2.3 Treningsinfrastruktur

Treningen kjører i en dedikert treningscelle i IOAS-infrastrukturen med følgende parametere:

Trening av én produksjonsmodell tar mellom 6 timer (finjustering av LPRNet) og 5 døgn (RT-DETR-L på det egne datasettet med 2,4 mill. bilder).

2.4 Optimalisering for utrulling (model serving)

Ferdigtrente modeller går gjennom en trestegs komprimering før de rulles ut på kanten:

  1. Strukturert beskjæring — fjerning av 30–60 % overflødige vekter ved hjelp av magnitudebaserte kriterier og Taylor-utvikling; reduserer minnebruken samtidig som > 99 % av nøyaktigheten beholdes.
  2. INT8-kalibrering etter trening — kalibreringsdatasett på 1024 reelle bilder, symmetrisk kvantisering per kanal; typisk mAP-tap < 0,8 %.
  3. Lagsammenslåing + grafoptimalisering — sammenslåing av Conv+BN+ReLU, fjerning av overflødige reshape-operasjoner, konvertering ONNX → TensorRT/Hailo-RT.

Resultatet er 2,2–4,7× raskere inferens med 4× mindre minnebruk sammenlignet med den opprinnelige FP32-modellen.

2.5 Aktiv læring og kontinuerlig tilpasning

I produksjon genererer hver deteksjon med konfidens under 0,75 automatisk en kandidat for aktiv læring som legges i annoteringskøen. Systemoperatøren (typisk en kommunal politibetjent) får tilgang til en annoteringskonsoll med listen over usikre tilfeller og merker dem som sann positiv / falsk positiv / falsk negativ / omklassifiser. Disse korreksjonene:

Driftsavviksdeteksjon kjører døgnet rundt — den overvåker fordelingen av konfidensverdier og andelen falske positive per kategori og per kamera. Dersom F1 faller under terskelen (typisk 0,92 absolutt eller −3 σ fra grunnlinjen), eskalerer systemet automatisk til IOAS’ MLOps-team.

2.6 Føderert læring på tvers av kunder

For å maksimere generaliseringen på tvers av ulike byer (Bratislava, Trenčín, Žilina, Košice — ulik arkitektur, ulike kameraer, ulike trafikkmønstre) kjører IOAS fødererte treningsrunder etter FedAvg med differensiell personvern (DP-SGD, ε ≤ 3,0):

[Kunde 1: lokal oppdat.] ─┐
[Kunde 2: lokal oppdat.] ─┼─→  [Aggregator (IOAS HQ)]  ─→  [Global modell v0.N+1]
[Kunde 3: lokal oppdat.] ─┤                                   │
                          ...                                 ▼
                                        [Distribusjon tilbake til kundene]

Rådata forlater aldri kundens perimeter — kun støytilsatte gradienter og metadata om oppdateringens størrelse overføres. Dette ivaretar etterlevelse av GDPR og den slovakiske cybersikkerhetsloven.

3. Høyytelsesberegning

3.1 Maskinvareakselerasjon (240 TOPS)

Hjertet i hver IOASC-node er en KI-maskinvareakselerator med oppgitt kapasitet på 240 TOPS @ INT8, tilgjengelig i to fysiske formfaktorer:

Form Effektbudsjett Minne Bruksområde
Innebygd enhet (in-box) 60–90 W 32 GB LPDDR5 (273 GB/s) Kantutrulling ved siden av kameranoden, frittstående
PCIe-tilleggskort (HHHL eller FHFL) 75 W (PCIe-sokkel) 16 GB HBM3 (1,2 TB/s) Integrering i kundens eksisterende serverrack

Akseleratoren eksponerer et lavnivå C/C++-kjøretids-API med primitiver for tensorallokering, kjernestart, asynkron memcpy og synkronisering via køer i stil med CUDA-strømmer. Det høyere laget (ioasc-runtime) sørger for en zero-copy DMA-forbindelse mellom kameradekoderen (NVDEC eller en dedikert maskinvareblokk) og inferensmotoren — hele bildets livssyklus forblir i enhetens minne inntil den analytiske nyttelasten sendes ut.

Akseleratoren støtter:

3.2 Minne- og nettverksarkitektur

   ┌─────────────────────────────────────────────────────┐
   │ IOASC-node                                          │
   │                                                     │
   │   [NPU 240 TOPS]  ←──→  [HBM3 1,2 TB/s]              │
   │         ↕                                           │
   │   [CPU-vert: 16-kjerners ARMv9 / x86]               │
   │         ↕                                           │
   │   [DDR5 tokanals, 51 GB/s]                           │
   │         ↕                                           │
   │   [NVMe Gen4 SSD 4 TB]   (modellcache + metadata)    │
   │         ↕                                           │
   │   [10 GbE administrasjon]  [100 GbE ryggrad (klynge)]│
   └─────────────────────────────────────────────────────┘

Minnehierarkiet er optimalisert for strømmende arbeidslaster: NPU-en arbeider utelukkende med tensorer i HBM3 (lav forsinkelse, høy båndbredde), CPU-en holder metadata og koordineringslogikk i DDR5, og NVMe fungerer som lokal cache for modellvekter (kaldstart fra NVMe tar ca. 800 ms per modell, varmt bytte < 5 ms).

Sambandet mellom noder bruker en 100 GbE ryggrad med RDMA (RoCE v2) — tensoroverføring mellom noder går over iWARP eller RoCE i zero-copy-modus, noe som fjerner TCP/IP-overhead under distribuert inferens (avsnitt 4.4).

3.3 Energieffektivitet og termisk håndtering

For døgnkontinuerlig utendørs drift i IP66-kabinett har IOAS optimalisert den termiske konstruksjonen:

3.4 Kant kontra sentralisert beregning — forsinkelsesbudsjett

For sanntidsanvendelser er ende-til-ende-forsinkelsen fra fysisk hendelse til utsendt alarm avgjørende. IOASC holder hoveddelen av inferensen på kanten:

Trinn Kantutrulling Sentralisert (sky)
Sensor → koder 8–16 ms 8–16 ms
Nettverkstransport < 1 ms (lokalt nett) 25–80 ms (WAN, over VPN)
Dekoding + forbehandling 4–7 ms 4–7 ms
Inferens (1 modell) 2,5–6 ms (240 TOPS) 8–25 ms (delt GPU-pool)
Etterbehandling + nyttelast 1–2 ms 1–2 ms
Utsending av varsel < 5 ms (lokal UDP) 20–60 ms
Σ ende-til-ende 20–38 ms 65–190 ms

En kant-først-konstruksjon gir 3–5× lavere forsinkelse og fjerner avhengigheten av WAN-tilkobling — når internettlinjen er nede, fortsetter klyngenoden den lokale analysen og sender varsler via reservekanaler på GSM/LTE.

4. Parallell beregning

Parallelliteten i IOASC virker på fem nivåer samtidig, slik at NPU-en holdes mettet også under heterogene arbeidslaster.

4.1 Parallellitet på strømnivå

Grunnkonfigurasjonen for én node betjener 19 samtidige kamerastrømmer ved 25 FPS, altså 475 bilder/s totalt. Strømmene multiplekses via:

4.2 Rørledningsparallellitet

Behandlingen av ett enkelt bilde er delt opp i fem rørledningstrinn som kjører parallelt på ulike bilder (en klassisk produsent-konsument-kjede):

   t=0 ms       t=5 ms       t=10 ms      t=15 ms      t=20 ms
   ┌──────┐
   │ FR-1 │ Dekoding
   └──┬───┘
      ↓     ┌──────┐
            │ FR-1 │ Forbehandling  ← FR-2: Dekoding
            └──┬───┘
               ↓     ┌──────┐
                     │ FR-1 │ Inferens   ← FR-2: Forbehandling  ← FR-3: Dekoding
                     └──┬───┘
                        ↓     ┌──────┐
                              │ FR-1 │ Etterbeh.  ← FR-2: Inf ← FR-3: For ← FR-4: Dek
                              └──┬───┘
                                 ↓     ┌──────┐
                                       │ FR-1 │ Publisering
                                       └──────┘

I stabil drift er 5 bilder samtidig underveis i ulike trinn. Gjennomstrømningen tilsvarer det tregeste trinnet (typisk inferensen) og ikke summen av alle trinn — noe som gir 2,8–3,4× hastighetsøkning sammenlignet med synkron behandling.

4.3 Modell- og dataparallellitet

For store modeller (RT-DETR-L, MViTv2-L) som ikke får plass i én HBM-partisjon, støtter IOASC:

Strategien velges per modell, avgjort ved grafkompilering ut fra vektstørrelse, batchstørrelse og tilgjengelige NPU-partisjoner.

4.4 Oppdeling av klyngen mellom noder

Ved utrulling i stor skala — en by kan f.eks. ha 12 IOASC-noder som dekker 228 strømmer (12 × 19) — realiserer klyngen funksjonell oppdeling: i stedet for å kjøre alle 462 modellene på hver node, fordeles modellene:

   Node A: ANPR, klassifisering av kjøretøy            (modell 1-128)
   Node B: atferd hos fotgjengere og syklister         (modell 129-238)
   Node C: hendelses- og voldsdeteksjon                (modell 239-310)
   Node D: re-identifisering + sporing på tvers av kamera (modell 311-396)
   Node E: avvik + etterbehandling med støyfjerning    (modell 397-462)

Hver node publiserer sine analyseresultater som typede hendelser på en hendelsesbuss for klyngen (NATS JetStream med varig lagring). Korrelasjonsfunksjoner av høyere orden (avsnitt 1) kjører på en aggregeringsnode som abonnerer på relevante emner og anvender:

4.5 Asynkron sammensetning av analysefunksjoner

Analysefunksjoner av høyere orden modelleres som en DAG (rettet asyklisk graf) av inferensoperasjoner som klyngeorkestratoren planlegger parallelt overalt hvor det ikke finnes dataavhengighet:

   Bilde ──→ Deteksjon ──┬─→ Sporing ──┬─→ ReID ────┐
                         │             │            ├─→ Fusjon på tvers av kamera
                         │             └─→ Atferd ──┘
                         │
                         └─→ Klassifisering ─→ ANPR ─→ Oppslag i kjøretøyregister

Orkestratoren (en intern komponent bygget på Apache Arrow Flight + en egen DAG-planlegger) starter hver DAG-node i det øyeblikket inndataene er klare, og oppnår dermed en tilnærmet optimal kritisk vei. For en typisk arbeidslast med 19 strømmer er gjennomsnittlig NPU-utnyttelse 78–84 % (nær det teoretiske maksimum for batch-bevisste planleggere).

5. Modellkapasitet og register

Biblioteket på 462+ modeller er versjonert i et internt modellregister med følgende metadata per modell:

Kundens utrullingsmanifest (ioasc-deployment.yaml) angir hvilke modeller som er aktive på hvilken node og med hvilken prioritet — kjøretiden henter dem automatisk fra modellregisteret, kjører policyvalidering (etterlevelseskontroll, signaturverifisering) og aktiverer dem i drift uten å avbryte pågående strømmer (kanarieutrulling 5 → 50 → 100 % av trafikken).

6. Sikkerhetsarkitektur

Løsningen er fullt forenlig med EU-lovgivningen, cybersikkerhetsloven (slovakisk lov nr. 69/2018 som endret ved lov nr. 366/2024 — gjennomføringen av NIS2) og forskrifter fra Slovakias nasjonale sikkerhetsmyndighet. Programvaresystemet omfatter derfor:

Implementeringen omfatter også peer-to-peer blokkjedeverifisering av autoritet for de enkelte komponentene i nettet — hver node bærer en kryptografisk identitet med sertifikat i klyngens tillitskjede. Enhver konfigurasjonsendring, modellutrulling eller tilkobling av en ny node registreres i en distribuert hovedbok, noe som i vesentlig grad minimerer risikoen for informasjonslekkasje, uautorisert omkonfigurering eller annen form for misbruk.

7. Utrullingsscenarier

Scenario Ytelse Målgruppe Referansekapasitet
Frittstående in-box 1 node, 240 TOPS Liten kommune, 1–19 kameraer 1 kryss
PCIe-tilleggskort 1 node, 240 TOPS By med eksisterende server 19 strømmer
Hybrid kant + sentral N kantnoder + 1 aggregator By med 5–50 kameraer 95–500 strømmer
Full klynge 5+ noder, 1,2+ PetaOPS By med 100+ kameraer 500–2 000 strømmer

Implementeringen er modulær: kunden starter typisk med en frittstående enhet eller et PCIe-kort (rask pilotfase, ROI < 9 måneder) og utvider senere til en full klynge uten å måtte omkonfigurere allerede utrullede noder.

8. Konklusjon

IOAS Security Cluster representerer konvergensen av tre utviklingstrekk: KI-akselerasjon på kanten (240 TOPS @ < 90 W), vertikalt spesialiserte ML-modeller (462+ med aktiv gjentreningslinje) og distribuert og parallell beregning (5 nivåer av parallellitet, P2P-koordinering). Arkitekturen er utformet for å integrere eksisterende kamera- og IoT-infrastruktur uten å tvinge fram utskifting av maskinvare, samtidig som den er fullt forenlig med slovakisk lovgivning og EU-regelverk.

For kommuner som allerede eier et kamerasystem og leter etter en måte å hente ut drifts- og analyseverdi fra det på, tilbyr IOASC veien fra passivt opptak til en aktiv, prediktiv og etterprøvbar sikkerhetsplattform.

Vil du vite mer? Ta kontakt.