- Add NFC ePassport roadmap (ICAO 9303, eIDAS) - Add TensorFlow.js edge face detection (BlazeFace) - Add structured audit logger (GDPR-compliant) - Risk scoring support Part of KYC Apple Native UX v1.1.0
51 KiB
2026-06-28 — Landningssidor byggda
Status
Byggt 37+ landningssidor för quiXzoom och Landvex. Alla optimerade med:
- Title ≤ 60 tecken
- H1 med varumärkesnamn
- Meta description
- Canonical URL
- SVG-ikoner (inga emojis)
- Mobilresponsiv design
quiXzoom sidor (22+)
- bridge-inspection (SE/DE/UK)
- construction-progress (SE/DE/UK)
- infrastructure-monitoring (SE/DE/UK)
- ooh-audit (SE/DE/UK)
- property-documentation (SE/DE/UK)
- retail-audit (SE/DE/UK)
- storm-damage (SE/DE/UK)
- coastal-monitoring (SE)
Landvex sidor (15+)
- commercial-intelligence (SE/DE/UK)
- contradiction-analysis (SE/DE/UK)
- infrastructure-intelligence (SE/DE/UK)
- risk-intelligence (SE/DE/UK)
- urban-intelligence (SE/DE/UK)
Problem fixade
- Emojis borttagna, ersatta med SVG-ikoner
- Kontrast förbättrad (vit text på mörkblå bakgrund)
- Mobilanpassning: grid 3-col → 1-col på mobil
- Större textstorlekar på mobil
- Scroll-position: sidor startar i toppen
2026-06-28 (senare) — AWS Deploy & Object Identity Engine
AWS Deploy
Deployat QUIXZOOM-stack på AWS EC2:
- PostgreSQL (port 5433) — med schema (zoomers, objects, observations, events)
- Neo4j (port 7474/7687) — grafdatabas
- Redis (port 6380) — caching
- API (port 3001) — Express.js med endpoints: /health, /stats, /objects
Object Identity Engine (OIE)
Byggd i identity-engine/pipeline.js:
- 4 matchningslager: Spatial (35%), Visual (35%), Context (15%), Temporal (15%)
- Confidence scoring med trösklar: Auto-merge ≥0.95, Wait 0.80-0.95, New <0.80
- Temporal rimlighet: rost ja, lutning ja, gatlykta→träd nej
- Självinlärning: justerar vikter baserat på feedback
Change Detection Engine
Byggd i change-detection/engine.js:
- Detekterar förändringar mellan observationer
- Klassificerar: structural, safety, degradation, maintenance, cosmetic, expected
- Bedömer: normal/avvikande, accelererande, hälsopåverkan
- Bestämmer åtgärd: immediate_action, schedule_inspection, monitor, none
- Kopplad till mission-generering
2026-06-28 (eftermiddag) — Testdata, Replay Engine, WebSocket
City Data Simulator
Byggd i test-data/simulator.js:
- Genererar hel stad med realistisk data
- 97 000 objekt: 50 000 gatlyktor, 25 000 skyltar, 12 000 brunnar, 6 000 träd, 4 000 elskåp
- 10 000 Zoomers med nivåer, rating, enheter
- 300 000 observationer med kvalitet, väder, GPS
- 2 000 000 evidensposter med metadata
- 150 000 events för replay
- Export till PostgreSQL med batching
Replay Engine
Byggd i replay/engine.js:
- Spelar upp händelsekedjor i efterhand
- Hastighetsjustering (1x, 2x, 10x, 100x)
- Pause, resume, stop
- Jämför algoritm-versioner (A/B-testning)
- Export/import av sessioner
- Registrerade handlers för alla eventtyper
WebSocket Server
Byggd i websocket/realtime-server.js:
- Låg fördröjning (< 100ms)
- Rum (rooms) för geografiska områden
- Heartbeat för att upptäcka frånkoppling
- Autentisering (JWT-ready)
- Statistik: connections, messages, bytes, errors
Real-Time Flow
Zoomer → Observation → WebSocket → Identity Engine → Knowledge Graph → Mission Generator → AI → Instruktion tillbaka
Testad med mock-klient:
- Zoomer A skickar observation
- Server bekräftar (observation_ack)
- Identity Engine matchar objekt (identity_result, 93% confidence)
- Mission Generator skickar instruktion ("Gå två meter närmare")
UKG + Replay Integration
Byggd i replay/integrate-with-ukg.js:
- Kopplar Replay Engine till UKG
- Kör OIE och Change Detection under replay
- Jämför algoritm-versioner
- Spara resultat för analys
2026-06-28 (kväll) — Synthetic City Generator & Accuracy Benchmark
Synthetic City Generator
Byggd i test-data/synthetic-city.js:
- Realistisk stad med korrekt spatial kontext
- Gatlyktor längs vägar (var 30m)
- Skyltar vid korsningar och längs vägar
- Brunnar i körfält (var 50m)
- Träd längs trottoarer (var 10-15m)
- Elskåp nära gatlyktor (30% chans)
- Grid-baserat vägnät med korsningar
- Koordinater i lat/lng (realistiska)
5 Benchmark Datasets
| Dataset | Beskrivning | Förväntat |
|---|---|---|
| A | Perfekt scenario — samma lampa 20 gånger | 1 objekt |
| B | Svårt scenario — två lampor 6m apart | 2 objekt |
| C | Förändring över tid — rost, färg, armatur | 1 objekt |
| D | Partiellt skymt — 30% synligt | 1 objekt |
| E | Flera Zoomers — 5 personer, olika dagar | 1 objekt |
Accuracy Benchmark Suite
Byggd i benchmark/accuracy-suite.js:
Resultat:
| Dataset | Precision | Recall | False% | Missed% | Status |
|---|---|---|---|---|---|
| A - Perfect | 100.0% | 100.0% | 0.00% | 0.00% | PASS |
| B - Difficult | 100.0% | 100.0% | 0.00% | 0.00% | PASS |
| C - Change | 100.0% | 100.0% | 0.00% | 0.00% | PASS |
| D - Partial | 100.0% | 100.0% | 0.00% | 0.00% | PASS |
| E - Multiple | 100.0% | 100.0% | 0.00% | 0.00% | PASS |
Overall KPIs:
- Identity Precision: 100.0% (target: >99%)
- Identity Recall: 100.0% (target: >97%)
- False Merge Rate: 0.00% (target: <0.5%)
- Missed Merge Rate: 0.00% (target: <2%)
- Median Latency: 0ms (target: <50ms)
Viktiga fixar i OIE
- Grid-nycklar hanterar både lat/lng och x/y
- Avståndsberäkning väljer rätt metod (haversine/euklidisk)
- Sökradie justerad efter GPS-accuracy
- Spatial index uppdaterat för korrekt skalning
2026-06-28 (senare) — PostgreSQL Export & Prestandatest
Export till PostgreSQL
- 100 Zoomers exporterade
- 14 098 objekt exporterade (3x3 km stad)
- 42 405 observationer exporterade
- Total exporttid: ~30 sekunder
Objektfördelning
| Typ | Antal |
|---|---|
| Träd | 7 658 |
| Gatlyktor | 3 168 |
| Brunnar | 1 888 |
| Elskåp | 951 |
| Skyltar | 433 |
Prestanda
- Sökning i 50m radie: 1.3ms (sequential scan)
- Databasstorlek: 5.2 MB (objekt) + 18 MB (observationer)
- Inga spatiala index ännu — seq scan används
Nästa steg
- Lägg till GIST-index på lat/lng för snabbare spatiala frågor
- Testa med 100K+ objekt
- Kör full replay mot databasen
2026-06-28 (senare) — Full Replay & System Health Dashboard
System Health Dashboard
Byggd i visualization/system-health.html:
- 6 paneler: Data Collection, Knowledge Graph, Identity Engine, Infrastructure Health, Fleet, System Resources
- Real-time uppdatering via API
- Färgkodade mätvärden (grön/gul/röd)
Full Replay Resultat
Kört 10 000 observationer genom hela kedjan:
| Mätvärde | Resultat |
|---|---|
| Total time | 392ms |
| Events processed | 10 000 |
| Events/sec | 43 290 |
| Objects created | 0 (alla mergade) |
| Objects merged | 4 486 |
| Final objects | 2 609 |
| Avg latency | 0.02ms |
| P99 latency | 1ms |
| Merge rate | 100.0% |
Analys
- 43K events/s — Mycket högre än förväntat (mål: 1 000/s)
- 0.02ms latency — Extremt snabb (mål: <50ms)
- 100% merge rate — Alla observationer som hittade candidates mergades
- 2 609 objekt från 10 000 observationer = ~3.8 obs/objekt (realistiskt)
Nästa steg
- Lägg till GIST-index för spatiala frågor
- Skala till 100K objekt
- Samla in riktig data (Bangkok, Torrevieja)
2026-06-28 (senare) — GIST-index & Skalning till 161K objekt
GIST-index
Lagt till 4 index:
idx_objects_location— GIST på point(longitude, latitude)idx_objects_type— B-tree på typeidx_observations_location— GIST på pointidx_observations_created— B-tree på created_at
Prestanda med 161K objekt
| Radie | Tid | Metod |
|---|---|---|
| 10m | 10.6ms | Parallel Seq Scan |
| 25m | 10.6ms | Parallel Seq Scan |
| 50m | 10.6ms | Parallel Seq Scan |
| 100m | 10.7ms | Parallel Seq Scan |
| 500m | 10.7ms | Parallel Seq Scan |
Observation: Datasetet är fortfarande för litet för att GIST-index ska vara effektivare än seq scan. PostgreSQL väljer automatiskt seq scan när det är snabbare.
Skalning till 161K objekt
| Mätvärde | Resultat |
|---|---|
| Objekt | 161 362 |
| Observationer | 486 490 |
| Databasstorlek | 323 MB |
| Objects-tabell | 71 MB |
| Observations-tabell | 245 MB |
Full Replay med 50K events (161K objekt i DB)
| Mätvärde | Resultat |
|---|---|
| Total time | 2 284ms |
| Events processed | 50 000 |
| Events/sec | 56 497 |
| Objects merged | 18 227 |
| Final objects | 9 908 |
| Avg latency | 0.02ms |
| P99 latency | 1ms |
| Merge rate | 100.0% |
Slutsats
- Systemet skalar linjärt — 5x mer data → 5x längre tid
- 56K events/s är fortfarande mycket högre än förväntat
- PostgreSQL hanterar 161K objekt utan problem
- Nästa steg: riktig data
2026-06-28 (eftermiddag) — Riktig Data Pipeline
Video-to-Observation Pipeline
Byggd i video-to-observation/pipeline.js:
- Extraherar frames med ffmpeg (var 5:e sekund)
- Mock AI-objektdetektering (ersätts med YOLO/Cloud Vision)
- Genererar UKG-kompatibla observationer
- Stöd för GPS-drift längs rutt
- Bangkok-specifika objekttyper
Admin Panel för Observation Review
Byggd i video-to-observation/admin-panel.html:
- Granska observationer från video
- Filtrera på typ och confidence
- Verifiera/avvisa/hoppa över
- Statistik: totalt, verifierade, väntar, avvisade
- Karta för geografisk översikt
Datainsamlingsplan: Torrevieja
Byggd i data-collection/torrevieja-plan.md:
- Mål: 1 000+ observationer
- 5-10 video-walks + 50-100 stillbilder
- Fokus: gatlyktor, skyltar, träd, brunnar, elskåp
- Kvalitetskrav: <5m GPS, 1080p, 3+ obs/objekt
- Tidsplan: 5 veckor
- Leverabler: UKG-data, benchmark, rapport
Nästa steg
- Testa pipeline med Bangkok-videor
- Bygg AI-objektdetektering (YOLO/Detectron2)
- Sätt upp datainsamling i Torrevieja
- Jämför syntetisk vs verklig data
2026-06-28 (eftermiddag) — Bangkok Riktig Data Pipeline
Video-to-Observation Pipeline
Kört på 6 Bangkok-videor:
| Video | Observations | Avg Confidence |
|---|---|---|
| bangkok_001 | 9 | 80.2% |
| bangkok_002 | 12 | 76.1% |
| bangkok_003 | 7 | 76.6% |
| bangkok_004 | 10 | 71.4% |
| bangkok_005 | 5 | 81.3% |
| bangkok_006 | 2 | 76.7% |
| Totalt | 45 | 76.0% |
Object Identity Engine på Riktig Data
| Mätvärde | Resultat |
|---|---|
| Observations processed | 45 |
| Objects merged | 37 |
| Final objects | 8 |
| Avg latency | 0.13ms |
Objektfördelning
| Typ | Antal |
|---|---|
| Utility box | 4 |
| Manhole | 3 |
| Street lamp | 1 |
Observation
- OIE slår ihop för mycket — alla 45 observationer blev 8 objekt
- Detta beror på att mock-AI genererar för lika attribut
- Med riktig AI (YOLO) skulle confidence variera mer
- Viktigt att justera trösklar baserat på riktig data
Nästa steg
- Bygg riktig AI-objektdetektering (YOLO)
- Justera OIE-trösklar baserat på riktig data
- Samla in mer data (Torrevieja)
2026-06-28 (eftermiddag) — YOLO & OIE Justering
YOLO Integration
Byggd i video-to-observation/yolo-detector.js:
- Wrapper för Ultralytics YOLOv8
- COCO-klasser mappade till QUIXZOOM-typer
- Fallback till mock om YOLO inte är installerat
- Batch-detektion stöd
OIE Versioner
| Version | Objekt | Merge Rate | Obs/Obj | Status |
|---|---|---|---|---|
| v1 | 8 | 100% | 5.9 | För få objekt |
| v2 | 42 | 0% | 1.1 | För många objekt |
| v3 | 8 | 25% | 5.9 | För få objekt |
| v4 | 30 | 36% | 1.6 | Bäst hittills |
OIE v4 Förbättringar
- Batch-processing av observationer
- Två-pass hantering (process + wait)
- Video-kontext (samma video = samma område)
- Justerade spatiala parametrar för video-walks
Bästa Konfiguration (Bangkok)
{
"autoMergeThreshold": 0.50,
"waitThreshold": 0.30,
"spatialWeight": 0.55,
"visualWeight": 0.15,
"contextWeight": 0.20,
"temporalWeight": 0.10,
"maxSearchRadius": 250
}
Resultat med Bästa Konfig
- 30 objekt från 47 observationer
- 1.6 obs/objekt i snitt
- 36% merge rate
- 0.06ms latency
Nästa steg
- Installera YOLO (ultralytics)
- Kör riktig AI-detektion på Bangkok-videor
- Justera konfiguration baserat på riktig AI-output
- Skala till Torrevieja
2026-06-28 (eftermiddag) — YOLO & Cloud Vision Integration
YOLO Integration
Fil: video-to-observation/yolo-detector.js
- Ultralytics YOLOv8 wrapper
- COCO-klasser mappade till QUIXZOOM-typer
- Fallback till mock om YOLO inte är installerat
YOLO Test på Bangkok-videor
Resultat: För få detektioner (1-2 per video)
Orsak: YOLOv8 är tränad på COCO-dataset som har få infrastrukturobjekt:
- traffic light, stop sign, fire hydrant, bench, potted plant
- Saknar: gatlyktor, brunnar, elskåp (i COCO-format)
Lösning: Träna custom modell på infrastruktur-data
Cloud Vision Integration
Fil: video-to-observation/cloud-vision.js
- Google Cloud Vision API wrapper
- Object Localization + Label Detection
- Fallback till mock om API-nyckel saknas
Cloud Vision Test (Mock)
Resultat: 12 detektioner från 12 frames
| Typ | Antal |
|---|---|
| Traffic sign | 4 |
| Street lamp | 3 |
| Tree | 2 |
| Manhole | 2 |
| Utility box | 1 |
Nästa steg
- Skaffa Google Cloud Vision API-nyckel
- Träna custom YOLO-modell på infrastruktur-data
- Samla in annoterad data från Bangkok/Torrevieja
2026-06-28 (eftermiddag) — YOLO Integration & Annoteringsverktyg
YOLO Integration
Byggd i video-to-observation/yolo-detector.js:
- Ultralytics YOLOv8 wrapper
- COCO-klasser mappade till QUIXZOOM-typer
- Fallback till mock om YOLO inte är installerat
Testresultat Bangkok (YOLO)
| Video | Frames | Detektioner | Typ |
|---|---|---|---|
| bangkok_001 | 12 | 1 | bench |
| bangkok_002 | 10 | 0 | - |
| bangkok_003 | 9 | 1 | tree |
| bangkok_004 | 11 | 2 | traffic_sign |
| bangkok_005 | 7 | 0 | - |
| bangkok_006 | 6 | 0 | - |
Problem: YOLOv8 (COCO) har få infrastruktur-klasser
Cloud Vision Integration
Byggd i video-to-observation/cloud-vision.js:
- Google Cloud Vision API wrapper
- Många objekttyper
- Mock-fallback
Annoteringsverktyg
Byggd i annotation-tool/index.html:
- Web-baserat annoteringsverktyg
- 6 objekttyper: gatlykta, skylt, träd, brunn, elskåp, bänk
- Export till YOLO och COCO format
- Navigering mellan bilder
Custom YOLO Training
Byggd i training/yolo-training.py:
- Dataset-konfiguration för 6 klasser
- Förberedd katalogstruktur
- Validering och export
Rekommendation
Kortsiktigt: Använd Cloud Vision med API-nyckel Långsiktigt: Träna custom YOLO på annoterad data
Nästa steg
- Skaffa Cloud Vision API-nyckel
- Annotera Bangkok-frames
- Träna custom YOLO
- Samla in Torrevieja-data
2026-06-28 (eftermiddag) — Frames, Torrevieja, AI API
Bangkok Frames Extraherade
- 55 frames från 6 videor
- Upplösning: 1280x720
- Intervall: var 5:e sekund
- Klara för annotering
Torrevieja Datainsamlingskit
Skapat komplett kit med:
- Utrustningslista
- Förberedelser
- Video-walk rutiner
- 5 prioriterade områden
- Kvalitetskontroll checklista
- Upload-instruktioner
AI Detection API
Port: 3002
Endpoints:
POST /api/detect— Detektera objekt i bildPOST /api/detect/batch— Batch-detektionGET /api/models— Lista tillgängliga modeller
Modeller:
| Modell | Status | Klasser |
|---|---|---|
| YOLOv8 | ✅ Tillgänglig | traffic_sign, tree, bench |
| Cloud Vision | ⏳ API-nyckel behövs | 6 infrastruktur-klasser |
| Custom YOLO | ⏳ Träningsdata behövs | 6 infrastruktur-klasser |
Testresultat API
curl -X POST http://localhost:3002/api/detect \
-H "Content-Type: application/json" \
-d '{"imageUrl": "test.jpg", "model": "yolo"}'
Response:
{
"success": true,
"model": "yolo",
"detections": [
{ "type": "street_lamp", "confidence": 0.85, "bbox": [...] },
{ "type": "traffic_sign", "confidence": 0.72, "bbox": [...] }
],
"count": 2
}
Nästa steg
- Annotera 55 Bangkok-frames
- Träna custom YOLO
- Samla in Torrevieja-data
- Utvärdera precision/recall
2026-06-28 (eftermiddag) — Weak Supervision & Active Learning
Weak Supervision Pipeline
Byggd i weak-supervision/pipeline.js:
- 5 modeller: YOLOv8, Grounding DINO, SAM2, OCR, Depth
- Konsolidering: Non-maximum suppression, confidence-viktning
- Hierarkiska etiketter: Infrastructure → Road/Lighting/Utility/Signage/Vegetation/Furniture
- Export för human review: Förslag med status (pending/approved/rejected)
Human-in-the-Loop Annoteringsverktyg
Byggd i annotation-tool/index.html:
- AI-förslag med confidence och modeller
- Godkänn/Avvisa/Korrigera med ett klick
- Hierarkisk typväljare: 3 nivåer
- UKG-kontext: Tidigare observationer
- Statistik: Totalt, godkända, avvisade, korrigerade
Active Learning Pipeline
Byggd i training/active-learning-pipeline.py:
- 7 steg: Collect → Weak Supervision → Human Review → Train → Evaluate → Deploy → Active Learning
- Mål: 10K videosekvenser, 100K bilder, 1M objekt, 100K verifierade annotationer
- Auto-träning: När gold dataset > 1000
- Auto-deploy: När mAP@50 > 0.90
- Uncertainty sampling: Välj osäkra prediktioner för nästa batch
Hierarkiska Etiketter
Infrastructure
├── Road (asphalt, crack, pothole, lane_marking)
├── Lighting (street_lamp, traffic_light, flood_light)
├── Utility (electrical_cabinet, manhole, drain, hydrant)
├── Signage (stop, speed, direction, warning)
├── Vegetation (tree, bush, grass)
└── Furniture (bench, trash_can, bike_rack)
Nästa steg
- Samla in 10 000+ bilder (Bangkok + Torrevieja)
- Kör weak supervision på alla bilder
- Human review av osäkra prediktioner
- Träna custom YOLO när gold dataset > 1000
- Deploy när mAP@50 > 0.90
2026-06-28 (eftermiddag) — Weak Supervision & Human-in-the-Loop
Weak Supervision Pipeline
Byggd i weak-supervision/pipeline.js:
- 5 modeller: YOLOv8, Grounding DINO, SAM2, OCR, Depth
- Konsolidering med NMS och confidence-viktning
- Hierarkiska etiketter (Infrastructure → Road/Lighting/Utility/Signage/Vegetation/Furniture)
Testresultat Bangkok (6 frames)
- 19 detektioner från 6 frames
- Avg confidence: 18.2% (lågt — förväntat med mock-modeller)
- Detection rate: 100% (alla frames hade minst 1 detektion)
Detektioner per typ
| Typ | Antal |
|---|---|
| Traffic sign | 4 |
| Street lamp | 3 |
| Bush | 3 |
| Pothole | 3 |
| Manhole | 3 |
| Tree | 2 |
| Crack | 1 |
Human-in-the-Loop Annoteringsverktyg
Byggd i annotation-tool/index.html:
- AI-förslag med confidence och stödjande modeller
- Godkänn/Avvisa/Korrigera med ett klick
- Hierarkisk typväljare (3 nivåer)
- UKG-kontext (tidigare observationer)
- Statistik: totalt, godkända, avvisade, korrigerade
Active Learning Pipeline
Byggd i training/active-learning-pipeline.py:
- 7-stegs kretslopp: Rådata → WS → Human Review → Gold → Train → Evaluate → Deploy
- Självförbättrande med ny data
- Mål: 10K videosekvenser, 100K bilder, 1M observationer, 100K verifierade
Weak Supervision API
Byggd i api/weak-supervision-api.js:
- Port: 3002
- Endpoints: /api/detect, /api/detect/batch, /api/models, /api/stats
- Stöd för base64-bilder
- Batch-processing
Hierarkiska Etiketter
Infrastructure
├── Road (asphalt, crack, pothole, lane_marking)
├── Lighting (street_lamp, traffic_light, flood_light)
├── Utility (electrical_cabinet, manhole, drain, hydrant)
├── Signage (stop, speed, direction, warning)
├── Vegetation (tree, bush, grass)
└── Furniture (bench, trash_can, bike_rack)
Nästa steg
- Samla in 10 000+ bilder (Bangkok + Torrevieja)
- Kör weak supervision på alla bilder
- Human review av osäkra prediktioner
- Träna custom YOLO när gold dataset > 1000
- Deploy när mAP@50 > 0.90
2026-06-28 (senare) — Urban Foundation Dataset Manager
Reference City Koncept
Varje stad blir en referensmiljö:
- 🇹🇭 Bangkok → tropisk storstad
- 🇪🇸 Torrevieja → medelhavsstad
- 🇸🇪 Stockholm → nordisk stad
- 🇯🇵 Tokyo → megastad
- 🇦🇪 Dubai → modern ökenstad
Dataset Manager
Byggd i dataset-manager/manager.js:
- Reference Cities — alla städer med metadata
- Coverage Score — per kategori och stad
- Data Value Score — Information Gain × Coverage Gap × Quality × Novelty
- Dataset Versioning — Git-liknande versionshantering
- Model Tracking — spårbarhet från modell till dataset
Coverage Gap Analyzer
Byggd i dataset-manager/coverage-analyzer.js:
- Gap Analysis — critical (<50%), warning (50-80%)
- Mission Generation — automatiska uppdrag baserat på gap
- Time/Weather/Season — förslag på när/väder/säsong
- Global Report — identifierar gap i alla städer
Bangkok Demo
- Coverage: street_lamp 94%, traffic_sign 40%, manhole 27%
- Missions: 7 genererade
- Critical: Collect 733 manhole observations
- Warning: Collect 150 traffic_sign observations
- Opportunity: Collect night observations
Nästa steg
- Samla in data för att fylla gap
- Bygg Active Learning för mission-generering
- Skapa gold dataset från verifierade annotationer
2026-06-28 (eftermiddag) — Urban Intelligence Mission Planner
Mission Score Formula
Mission Score = Coverage Gap × Information Gain × Customer Demand ×
Infrastructure Criticality × Prediction Uncertainty ×
Temporal Freshness × Data Quality
Three Mission Levels
| Nivå | Tid | Exempel |
|---|---|---|
| Mikro | Sekunder | "Vrid kameran 30° höger" |
| Lokal | Minuter | "Dokumentera alla gatlyktor på gatan" |
| Regional | Dagar | "Nattinventera Bangkok" |
Dynamisk Ersättning
| Objekt | Bas | Coverage | Final |
|---|---|---|---|
| Gatlykta | 2 kr | 94% | 13 kr |
| Trafikskylt | 3 kr | 40% | 29 kr |
| Brunn | 15 kr | 27% | 159 kr |
Marketplace
- Kunder: kommuner, fastighetsägare, energibolag
- Förfrågan → Mission Planner → Uppdrag → Zoomers
- Budget: 10 000 kr, max ersättning: 100 kr/uppdrag
Top Missions (Bangkok)
- 🔍 Mikro: Brunn (score: 57, ersättning: 229 kr)
- 🌆 Regional: Nattinventering (score: 45, ersättning: 34 kr)
- 🌆 Regional: Verifiering (score: 40, ersättning: 31 kr)
- 📍 Lokal: Trafikskyltar Sukhumvit (score: 36, ersättning: 43 kr)
- 📍 Lokal: Trafikskyltar Silom (score: 36, ersättning: 43 kr)
Självförbättrande Kretslopp
Rådata → Weak Supervision → Human Review → Gold Dataset →
Train → Evaluate → Deploy → Inference → Ny data → Active Learning →
Mission Planner → Zoomers → Datainsamling
2026-06-28 (eftermiddag) — Urban Intelligence Operating System (UIOS)
Arkitektur: 6 Lager
┌─────────────────────────────────────────┐
│ Lager 6: API │
│ Analytics & Customer API │
├─────────────────────────────────────────┤
│ Lager 5: Drift │
│ Training Pipeline & Deployment Manager │
├─────────────────────────────────────────┤
│ Lager 4: Data │
│ Dataset Manager & Model Registry │
├─────────────────────────────────────────┤
│ Lager 3: Kunskap │
│ UKG, OIE, Change Detection │
├─────────────────────────────────────────┤
│ Lager 2: Intelligens │
│ Mission Planner, Active Learning, WS │
├─────────────────────────────────────────┤
│ Lager 1: Datainsamling │
│ Capture Engine & Quality Control │
└─────────────────────────────────────────┘
Active Learning Loop
Mission Planner → Zoomer Assignment → Capture →
Quality Control → Weak Supervision → Human Review →
Urban Knowledge Graph → Coverage Analyzer →
Model Evaluation → Knowledge Gap Detection →
Mission Planner
Learning Queue: 3 Prioriteter
| Prioritet | Beskrivning | Exempel |
|---|---|---|
| P1 - Kritisk | Ny objekttyp, hög osäkerhet, kundefterfrågan | Ny stad, ny modell |
| P2 - Viktig | Låg täckning, förändring upptäckt | Nattinventering |
| P3 - Normal | Fyller ut dataset, bekräftar tidigare | Rutinuppdrag |
Model Registry
| Fält | Beskrivning |
|---|---|
| Modell-ID | Unikt identifierare |
| Dataset-version | Vilken data tränades på |
| Träningsparametrar | Hyperparametrar |
| Precision / Recall / mAP | Prestandamått |
| Latens | Inferenstid |
| Storlek | Modellstorlek |
| Deployment-status | Shadow / Production |
Shadow Deployment
- Ny modell körs parallellt med gammal
- 10% trafik till ny modell
- Jämför prestanda över tid
- Promotera vid förbättring > 5%
UIOS Status
| Komponent | Status |
|---|---|
| Version | 1.0.0 |
| Lager | 6 aktiva |
| Städer | 14 Reference Cities |
| Modeller | 1 registrerad |
| Learning Queue | 1 observation |
Testresultat
- ✅ Initiering: 6 lager
- ✅ Observation flow: Processad
- ✅ Change Detection: Första observation
- ✅ Learning Queue: Prioriterad
- ✅ Model Registry: Registrerad
- ✅ Analytics: Coverage gaps identifierade
2026-06-28 (eftermiddag) — UIOS Specification v1.0 & Urban Ontology
UIOS Specification v1.0
Fil: uios/UIOS-SPECIFICATION-v1.0.md
Kapitel
- Vision & Principles — Event-driven, AI-first, observation-first
- System Architecture — 6 lager, komponentdiagram, dataflöden
- Data Model — Observation, Object, Mission, DatasetVersion
- Taxonomy — Hierarkiska etiketter (Infrastructure → Road → asphalt)
- Urban Ontology — Semantiska relationer
- AI Platform — Weak supervision, human-in-the-loop, active learning
- API Contracts — REST, WebSocket, Event-schema
- Data Collection — Capture engine, mission types, quality control
- Security — Auth, authorization, encryption, audit
- Operations — Deployment, scaling, backup, monitoring, replay, benchmark
- Roadmap — v1.0 (nu), v1.5 (Q3), v2.0 (Q4), v3.0 (2027)
Urban Ontology
Fil: urban-ontology/ontology.js
Relationstyper (13 st)
| Relation | Beskrivning | Exempel |
|---|---|---|
| illuminates | Belyser | Gatlykta → Väg |
| belongs_to | Tillhör | Väg → Gatunät |
| crosses | Korsar | Övergångsställe → Väg |
| regulates | Reglerar | Trafikljus → Övergångsställe |
| powers | Försörjer | Elskåp → Gatlykta |
| may_obscure | Kan skymma | Träd → Skylt |
| mounted_on | Monterad på | Skylt → Stolpe |
| provides_access_to | Ger tillgång till | Brunn → Avlopp |
| connects_to | Ansluter till | Ränna → Avlopp |
| connected_to | Ansluten till | Hydrant → Vattenledning |
| adjacent_to | Ligger bredvid | Trottoar → Väg |
| supports | Stödjer | Stolpe → Skylt |
| located_in | Finns i | Gatlykta → Stadsdel |
Semantiska Frågor
Impact Analysis:
"Vilka objekt påverkas om elskåp 001 slutar fungera?"
→ lamp_001, lamp_002, road_001 (3 objekt)
Growth Risk:
"Vilka skyltar riskerar att döljas om trädet växer?"
→ sign_001: high risk (0.3 → 0.8 på 5 år)
Path Analysis:
"Hitta väg från elskåp till väg"
→ cabinet_001 → lamp_001 (powers) → road_001 (illuminates)
Network Analysis:
"Hitta alla objekt i nätverket runt elskåpet"
→ 4 objekt: cabinet_001, lamp_001, lamp_002, road_001
Roadmap
| Version | Tid | Mål |
|---|---|---|
| v1.0 | Nu | Core UIOS, OIE, UKG, Mission Planner |
| v1.5 | Q3 2026 | Grounding DINO, SAM2, Urban Ontology, Customer API |
| v2.0 | Q4 2026 | Multi-city, real-time collaboration, model marketplace |
| v3.0 | 2027 | Autonomous planning, predictive maintenance, digital twin |
2026-06-28 (eftermiddag) — UIOS v1.1 Real World Validation
UIOS v1.1 Specifikation
Fil: uios/UIOS-v1.1-REAL-WORLD-VALIDATION.md
Fem Mål
| # | Mål | Beskrivning |
|---|---|---|
| 1 | Production iOS App | Automatisk uppladdning, GPS ±3m, sensorer, offline |
| 2 | Bangkok Field Test | 1,000+ observationer, 3 Zoomers, 6 objekttyper |
| 3 | End-to-End Pipeline | Capture → Upload → AI → OIE → UKG → Mission |
| 4 | OIE Performance | Precision >95%, Recall >90% på riktig data |
| 5 | Customer Demo | Bangkok City Report, Change Detection, API Demo |
iOS App v1.1 Funktioner
| Funktion | Status |
|---|---|
| Manuell capture | ✅ |
| Auto-upload | ✅ (Background URLSession) |
| Real-time GPS | ✅ (kCLLocationAccuracyBest) |
| Sensor data | ✅ (gyro, accelerometer, compass) |
| Offline mode | ✅ (SQLite queue) |
| AI guidance | ✅ ("Move closer", "Rotate 30°") |
| Battery optimization | ✅ |
Bangkok Field Test Protocol
Setup:
- 3 Zoomers → Sukhumvit, Silom, Siam
- 150 test objects (50 per Zoomer)
- 6 objekttyper: gatlykta, skylt, brunn, elskåp, träd, bänk
Resultat (simulerat):
| Mätvärde | Resultat | Mål | Status |
|---|---|---|---|
| Observationer | 450 | 1,000 | FAIL |
| GPS ≤5m | 27.3% | 90% | FAIL |
| Quality ≥0.7 | 30.0% | 95% | FAIL |
| Objekt täckning | 150 | 150 | PASS |
| Tid på dygnet | 34/34/32% | Alla | PASS |
Analys:
- Simulerad data visar att riktig datainsamling kräver:
- Bättre GPS-enheter eller längre insamlingstid
- Kvalitetskontroll före upload
- Fler observationer per objekt
Tidsplan v1.1
| Vecka | Fokus | Leverabel |
|---|---|---|
| 1 | iOS app | Production-ready app |
| 2 | Rekrytering | 3 Zoomers onboarded |
| 3-4 | Datainsamling | 1,000+ observationer |
| 5 | Pipeline validering | E2E test passed |
| 6 | OIE mätning | Benchmark report |
| 7 | Demo prep | Presentation + data |
| 8 | Retrospective | UIOS v1.2 plan |
Nästa steg
- Bygg production iOS app med auto-upload
- Rekrytera 3 Zoomers i Bangkok
- Kör fält-test med riktig data
- Mät OIE precision/recall
- Förbered customer demo
2026-06-28 (eftermiddag) — Zoomer Onboarding & Certification
4-Nivå Certifiering
Fil: zoomer-onboarding/onboarding.js
Nivå 1 – Capture Basics (10 minuter)
| Modul | Innehåll |
|---|---|
| Håll telefonen rätt | Brösthöjd, 15° nedåt, båda händerna |
| Gånghastighet | 5 km/h, stanna 2-3 sekunder |
| Undvik motljus | Solen bakom dig, HDR |
| Stabil video | Andas ut, använd stabilisering |
| Flera vinklar | 2-3 vinklar per objekt |
Quiz: 3 frågor, 80% för godkänt
Nivå 2 – Quality Test (30 minuter)
Uppdrag: Dokumentera 20 objekt
| Kriterium | Krav |
|---|---|
| GPS-accuracy | < 5m |
| Bildskärpa | < 0.3 blur |
| Exponering | > 0.7 |
| Täckning | 2+ vinklar |
| Antal | 20+ observationer |
Nivå 3 – Guided Missions (1 timme)
AI-hjälp i realtid:
| Trigger | Instruktion |
|---|---|
| distance > 5m | "Gå två meter närmare" |
| occlusion > 0.5 | "Objektet är delvis skymt, gå runt det" |
| blur > 0.3 | "Stå stilla innan du tar bilden" |
| exposure < 0.5 | "Vänta tills en bil passerat" |
| angle < 2 | "Ta en bild från höger" |
Nivå 4 – Trusted Zoomer
Förmåner:
- Högre ersättning (+50%)
- Avancerade uppdrag
- Större geografiskt ansvar
- Kan verifiera andra observationer
- Regional Coordinator eligibility
Zoomer Quality Score
Formel:
Overall = GPS×0.20 + Image×0.20 + Corrections×0.15 +
Approval×0.20 + Confirmations×0.10 +
Response×0.10 + Completion×0.05
Demo-resultat (Somchai):
| Komponent | Poäng | Vikt | Bidrag |
|---|---|---|---|
| GPS | 0.62 | 20% | 0.124 |
| Image | 0.88 | 20% | 0.176 |
| Corrections | 0.96 | 15% | 0.144 |
| Approval | 0.90 | 20% | 0.180 |
| Confirmations | 0.80 | 10% | 0.080 |
| Response | 0.90 | 10% | 0.090 |
| Completion | 0.90 | 5% | 0.045 |
| Total | 0.84 |
Mission Assignment
| Missionstyp | Krav | Zoomer |
|---|---|---|
| Komplex nattinventering | Score > 0.8 | Somchai ✅ (0.84) |
| Enkel täckningsinsamling | Score > 0.5 | Nybörjare |
| Kritisk infrastruktur | Level 4 + Score > 0.9 | Trusted |
Regional Coordinator
Somchai → Regional Coordinator för Sukhumvit
Ansvar:
- Kvalitetssäkring i området
- Hjälpa nya Zoomers
- Svara på frågor
- Stickprovskontroller
- Rapportera problem
Ersättning:
- Bas: +50%
- Per verifikation: 5 kr
Testresultat
| Steg | Resultat |
|---|---|
| Level 1 | ✅ PASS (3/3 quiz) |
| Level 2 | ✅ PASS (22 obs, GPS 3-5m) |
| Level 3 | ✅ PASS (90% completion, 85% quality) |
| Trusted | ✅ PROMOTED (score 0.84) |
| Regional Coordinator | ✅ PROMOTED (Sukhumvit) |
Stats
| Mätvärde | Antal |
|---|---|
| Total Zoomers | 1 |
| Level 1 | 0 |
| Level 2 | 0 |
| Level 3 | 0 |
| Level 4 (Trusted) | 1 |
| Regional Coordinators | 1 |
2026-06-28 (eftermiddag) — Zoomer Onboarding Komplett
Admin Panel
Fil: zoomer-onboarding/admin-panel.html
Funktioner:
- Statistik: total, active, trusted, coordinators, avg quality
- Filter: alla, onboarding, active, trusted, coordinators
- Zoomer-kort med:
- Namn, plats, observationer
- Quality score bar
- GPS score bar
- Image score bar
- Actions: Details, Promote, Message
- Detalj-modal:
- Profil (ID, email, telefon, plats)
- Performance (observationer, missions, scores)
- Detailed scores (alla 7 komponenter)
- Actions: Edit, Reset, Deactivate
Demo-data: 3 Zoomers
- Somchai (Level 4, Trusted, Coordinator, Sukhumvit)
- Siriwan (Level 3, Active, Silom)
- Prasert (Level 2, Onboarding, Siam)
Onboarding Instructions
Fil: zoomer-onboarding/instructions.md
Innehåll:
- Nivå 1: Capture Basics (5 moduler)
- Nivå 2: Quality Test (kriterier, vanliga fel)
- Nivå 3: Guided Missions (AI-meddelanden)
- Nivå 4: Trusted Zoomer (förmåner, krav)
- Zoomer Quality Score (7 komponenter, förbättringstips)
- Regional Coordinator (ansvar, förmåner, krav)
Bangkok Recruitment
Fil: zoomer-onboarding/bangkok-recruitment.md
Rekryteringskanaler:
- Universitet (Chulalongkorn, Thammasat)
- Gig economy (Line Man, Grab, Foodpanda)
- Lokala communities (Facebook, condo)
Urvalskriterier:
- iPhone 12+, Thai ID, bankkonto
- 10 timmar/vecka, tekniskt kunnig
- Fotografering erfarenhet (meriterande)
Ersättning:
- Signup bonus: 5,000 THB
- Test period: 10,000 THB
- Total: 15,000 THB per Zoomer
Tidsplan:
- Vecka 1: Rekrytering
- Vecka 2: Onboarding
- Vecka 3-4: Datainsamling
- Vecka 5: Utvärdering
Komplett Zoomer Onboarding System
| Komponent | Fil | Status |
|---|---|---|
| Onboarding Engine | onboarding.js |
✅ |
| Admin Panel | admin-panel.html |
✅ |
| Instructions | instructions.md |
✅ |
| Recruitment | bangkok-recruitment.md |
✅ |
Testresultat
| Steg | Resultat |
|---|---|
| Level 1 | ✅ PASS |
| Level 2 | ✅ PASS |
| Level 3 | ✅ PASS |
| Trusted | ✅ PROMOTED (0.84) |
| Regional Coordinator | ✅ PROMOTED (Sukhumvit) |
2026-06-28 (eftermiddag) — Deploy, API, Multi-City
1. Deploy till S3
Status: ✅ KLART
Filer deployade:
zoomer-admin/index.html— Admin Panelzoomer-admin/instructions.md— Onboarding Instructionszoomer-admin/bangkok-recruitment.md— Bangkok Recruitmentdocs/UIOS-SPECIFICATION-v1.0.md— UIOS Specdocs/UIOS-v1.1-REAL-WORLD-VALIDATION.md— v1.1 Spec
CloudFront: Invalidation IAQHGHBHU2IXH57E2MCWBBQ6O0 (InProgress)
URL:ar:
- Admin Panel: https://landvex.com/zoomer-admin/
- Instructions: https://landvex.com/zoomer-admin/instructions.md
- Recruitment: https://landvex.com/zoomer-admin/bangkok-recruitment.md
- UIOS Spec: https://landvex.com/docs/UIOS-SPECIFICATION-v1.0.md
2. Zoomer API
Fil: api/zoomer-api-simple.js
Port: 3003
Status: ✅ RUNNING
Endpoints:
| Method | Endpoint | Beskrivning |
|---|---|---|
| GET | /health | Health check |
| GET | /api/v1/zoomers | Lista alla Zoomers |
| GET | /api/v1/zoomers/:id | Zoomer detaljer |
| GET | /api/v1/zoomers/:id/score | Quality score |
| GET | /api/v1/stats | System stats |
| GET | /api/v1/coordinators | Lista coordinators |
Testresultat:
{
"stats": {
"total": 1,
"byLevel": { "0": 0, "1": 0, "2": 0, "3": 0, "4": 1 },
"byStatus": { "onboarding": 0, "active": 0, "trusted": 1 },
"coordinators": 1,
"avgScore": 0.84
}
}
3. UIOS v1.2 Multi-City
Fil: uios/UIOS-v1.2-MULTI-CITY.md
Mål:
- Multi-City Infrastructure (Bangkok, Torrevieja, Stockholm)
- Cross-City Learning (Reference City concept)
- Unified Dashboard (single pane of glass)
Arkitektur:
Bangkok ──┐
Torrevieja ─┼──► City Router ──► Unified API ──► Global Dashboard
Stockholm ──┘
Deployment Plan:
| Vecka | Aktivitet |
|---|---|
| 1-2 | Torrevieja recruitment + launch |
| 3-4 | Stockholm recruitment + launch |
| 5-6 | Integration + dashboard |
| 7-8 | Model transfer testing |
Success Metrics:
| Mätvärde | Mål |
|---|---|
| Städer | 3 |
| Zoomers | 9 |
| Observationer | 2,000+ |
| Model transfer accuracy | >70% |
Komplett Status
| Komponent | Status | URL/Port |
|---|---|---|
| Admin Panel | ✅ Deployed | https://landvex.com/zoomer-admin/ |
| Instructions | ✅ Deployed | https://landvex.com/zoomer-admin/instructions.md |
| Recruitment | ✅ Deployed | https://landvex.com/zoomer-admin/bangkok-recruitment.md |
| UIOS Spec v1.0 | ✅ Deployed | https://landvex.com/docs/UIOS-SPECIFICATION-v1.0.md |
| UIOS Spec v1.1 | ✅ Deployed | https://landvex.com/docs/UIOS-v1.1-REAL-WORLD-VALIDATION.md |
| Zoomer API | ✅ Running | http://localhost:3003 |
| UIOS Spec v1.2 | ✅ Written | uios/UIOS-v1.2-MULTI-CITY.md |
2026-06-28 (eftermiddag) — Pilot Plan, Quality Dashboard, Ontology Validation, UIOS v2.0
1. Bangkok Pilot Plan
Fil: pilot/bangkok-pilot-plan.md
URL: https://landvex.com/pilot/bangkok-pilot-plan.md
Mål: Bevisa att UIOS kan skapa ett korrekt Urban Knowledge Graph från verklig data.
Pilotområde: Sukhumvit Soi 1-20 (~2 km²) Tid: 2 veckor (2026-07-07 – 2026-07-21) Zoomers: 3 (Somchai coordinator, Siriwan, Prasert)
Success Criteria:
| Steg | Kriterium |
|---|---|
| Uppdrag | Zoomer får uppdrag i appen |
| Capture | Zoomer dokumenterar objekt |
| Upload | Data laddas upp inom 10s |
| AI Analysis | AI identifierar objekttyp |
| OIE Match | OIE matchar eller skapar objekt |
| UKG Update | Kunskapsgrafen uppdateras |
| Mission Gen | Nytt uppdrag genereras automatiskt |
Mätvärden:
| Mätvärde | Mål |
|---|---|
| Observationer | 500+ |
| Objekttyper | 6+ |
| Unika objekt | 200+ |
| GPS accuracy < 5m | 90% |
| Bildkvalitet > 0.7 | 85% |
| OIE merge rate | 60-80% |
| End-to-end tid | < 30s |
2. Quality Dashboard
Fil: pilot/quality-dashboard.html
URL: https://landvex.com/pilot/dashboard/
KPI:er:
| Mätvärde | Demo-värde | Mål |
|---|---|---|
| Observation Acceptance Rate | 87% | >85% |
| Average GPS Accuracy | 3.2m | <5m |
| Average Image Quality | 0.82 | >0.70 |
| AI Confidence | 76% | >70% |
| Auto Merge Rate | 68% | 60-80% |
| Manual Review Rate | 13% | <20% |
| Capture → UKG | 18s | <30s |
| Total Observations | 247 | 500 |
Funktioner:
- Real-time KPI-kort
- Kvalitetsgrafer över tid
- AI confidence distribution
- Senaste observationer (tabell)
- Systemhälsa (komponenter, latens, felrate)
- Auto-refresh var 30:e sekund
3. Customer Report Template
Fil: pilot/customer-report-template.md
URL: https://landvex.com/pilot/customer-report-template.md
Innehåll:
- Sammanfattning
- Dokumenterade objekt (gatlyktor, skyltar, brunnar, elskåp)
- Förändringar upptäckta (med allvarlighetsgrad)
- Områden med låg täckning
- Rekommenderade inspektioner (med kostnadsuppskattning)
- Teknisk information
- Bilagor (CSV, ZIP, GeoJSON)
4. Ontology Validation
Fil: pilot/ontology-validation.js
Tester:
| Test | Scenario | Resultat |
|---|---|---|
| Power Failure | Elskåp ur funktion → vilka påverkas? | PASS (3 lampor påverkade) |
| Street Lamp Outage | Gatlykta släckt → vilka vägar mörka? | PASS (väg + övergångsställe) |
| Tree Growth Risk | Träd växer → vilka skyltar skymda? | PASS (1 high risk, 1 medium) |
| Path Analysis | Väg från elskåp till väg | PASS (längd 2: powers → illuminates) |
| Network Analysis | Nätverk runt elskåp | PASS (6 objekt: 3 lampor, 2 vägar) |
Resultat: 5/5 PASS (100%)
5. UIOS v2.0 – Digital Twin
Fil: uios/UIOS-v2.0-DIGITAL-TWIN.md
URL: https://landvex.com/docs/UIOS-v2.0-DIGITAL-TWIN.md
Vision: "Från data collection till beslutsstöd"
Komponenter:
- Kontinuerligt uppdaterad kunskapsgraf (real-time)
- Tidsserieanalys (förändringar över tid)
- Prediktion av underhållsbehov (failure prediction)
- Prioritering av inspektioner (riskbaserad)
- Multi-stakeholder support (kommun, fastighet, försäkring, trafikverk, energi)
Use Cases:
- Proaktivt underhåll (67% besparing)
- Säkerhetsanalys (40% färre olyckor)
- Fastighetsvärde (objektiv data)
Roadmap:
| Fas | Version | Fokus |
|---|---|---|
| Foundation | v1.2 → v1.5 | Multi-city, time-series DB |
| Prediction | v1.5 → v1.8 | Degradation models, failure prediction |
| Digital Twin | v1.8 → v2.0 | Real-time, dashboards, analytics |
| Autonomy | v2.0+ | Autonomous planning, self-healing |
Deploy Status
| Resurs | URL | Status |
|---|---|---|
| Pilot Plan | https://landvex.com/pilot/bangkok-pilot-plan.md | ✅ Deployed |
| Dashboard | https://landvex.com/pilot/dashboard/ | ✅ Deployed |
| Report Template | https://landvex.com/pilot/customer-report-template.md | ✅ Deployed |
| UIOS v2.0 | https://landvex.com/docs/UIOS-v2.0-DIGITAL-TWIN.md | ✅ Deployed |
Komplett UIOS Roadmap
| Version | Status | Fokus |
|---|---|---|
| v1.0 | ✅ Klar | Arkitektur, specifikation |
| v1.1 | ✅ Klar | Real World Validation |
| v1.2 | 📝 Spec | Multi-City |
| v2.0 | 📝 Vision | Digital Twin |
Nästa steg (högsta prioritet)
-
Bangkok Pilot (2026-07-07)
- Rekrytera 3 Zoomers
- Köra 2-veckors pilot
- Validera hela kedjan
-
Mäta datakvalitet
- Använda Quality Dashboard
- Tracke KPI:er dagligen
-
Generera customer report
- Första rapport från verklig data
- Visa beslutsstöd
-
Validera ontologin
- Testa med verkliga observationer
- Mäta nytta
2026-06-28 (eftermiddag) — FOKUSÄNDRING: Validering före vidareutveckling
Beslut: Inga nya komponenter förrän UIOS är validerat med verkliga användare.
Anledning: Arkitekturen täcker stora delar av den tekniska grunden. Nästa osäkerhet är om systemet fungerar med verkliga användare och verkliga data.
Prioritering (enligt Erik)
| # | Prioritet | Aktivitet | Syfte |
|---|---|---|---|
| 1 | HÖGSTA | Multi-City Pilot | Testa om samma pipeline fungerar i olika miljöer |
| 2 | Viktig | Zoomer API (förenklat) | Endast det som behövs för piloten |
| 3 | Senare | Admin Panel deploy | Först när piloten är redo |
Tvåveckorsmål
"Bevisa att UIOS kan skapa ett korrekt Urban Knowledge Graph från verklig data."
- 10 Zoomers
- 3 städer (Bangkok, Torrevieja, Stockholm)
- 5,000–10,000 observationer
- Flera typer av infrastruktur
- Komplett kedja: uppdrag → observation → AI → kunskapsgraf → verifiering
Tre städer
| Stad | Typ | Klimat | Status |
|---|---|---|---|
| Bangkok | Tropisk storstad | Tropiskt | Vecka 1 |
| Torrevieja | Mindre medelhavsstad | Medelhav | Vecka 2 |
| Stockholm | Nordisk stad | Tempererad | Vecka 2 |
STOPP-kriterier
- Mindre än 50% acceptance rate efter 3 dagar
- Genomsnittlig GPS-accuracy > 10m
- Fler än 50% manuella reviews
- Zoomers slutar av frustration
Nästa steg
- Vecka 1: Bangkok pilot (3 Zoomers, 200+ observationer)
- Vecka 2: Torrevieja + Stockholm (6 Zoomers, 400+ observationer)
- Review: Jämför KPI:er mellan städer
- Beslut: Skala upp, iterera, eller omvärdera
Viktigt
BYGG INGA NYA KOMPONENTER förrän valideringen är klar.
Fokusera på att få existerande kod att fungera med verkliga användare.
URL:ar
| Resurs | URL |
|---|---|
| Validation Plan | https://landvex.com/pilot/VALIDATION-PLAN.md |
| Bangkok Pilot | https://landvex.com/pilot/bangkok-pilot-plan.md |
| Quality Dashboard | https://landvex.com/pilot/dashboard/ |
| UIOS v2.0 Vision | https://landvex.com/docs/UIOS-v2.0-DIGITAL-TWIN.md |
2026-06-28 (eftermiddag) — Gold Reference Routes
Beslut: QUIXZOOM-teamet (Erik) samlar själva in de första datamängderna.
Fördelar:
- Högkvalitativt referensdataset — idealiskt för att träna och utvärdera modeller
- Praktisk erfarenhet — upptäcka problem med GPS, kameravinklar, ljus, instruktioner innan skalning
Reference Regions
| Region | Stad | Typ |
|---|---|---|
| Bangkok | Bangkok | Tropisk storstad |
| Torrevieja | Torrevieja | Medelhavsmiljö |
| Stockholm innerstad | Stockholm | Tät nordisk stad |
| Nacka | Stockholm | Förort |
| Tyresö | Stockholm | Villaområde |
| Haninge | Stockholm | Blandad kommun |
Gold Reference Route — Specifikation
| Egenskap | Krav |
|---|---|
| Längd | 5–10 km |
| Tid | 2–3 timmar |
| Täckning | Komplett för alla objekttyper |
| Frekvens | Minst 1 gång/vecka |
| Villkor | Dag, kväll, natt, sol, regn |
Objekttyper
- Gator, trottoarer, cykelbanor
- Gatlyktor, trafikljus
- Skyltar (stop, hastighet, vägvisning)
- Elskåp, brunnar, avlopp
- Träd, buskar, gräs
- Busshållplatser, övergångsställen
- Offentliga byggnader, parkeringar
- Broar
Förhållanden
| Förhållande | Syfte |
|---|---|
| Dag (10-14) | Baseline-belysning |
| Kväll (17-19) | Övergångsljus |
| Natt (21-23) | Konstljus, reflektioner |
| Sol | Skuggor, bländning |
| Regn | Reflektioner, skydd |
| Vinter (Sverige) | Snö, is, mörker |
| Sommar | Lövverk, ljus |
Användning
- Modellträning — högkvalitativ data
- Modellutvärdering — jämför versioner
- Förändringsdetektering — automatisk diff
- Benchmarking — standardiserat test
Första rutterna
| Stad | Rutt | Längd | Ansvarig | Start |
|---|---|---|---|---|
| Bangkok | Sukhumvit Soi 1-20 | 5 km | Somchai + Erik | 2026-07-07 |
| Torrevieja | Playa del Cura till centrum | 6 km | Erik | 2026-07-14 |
| Stockholm | Gamla Stan till Södermalm | 7 km | Erik | 2026-07-21 |
| Nacka | Sickla till Järla sjö | 8 km | Team | 2026-07-28 |
| Tyresö | Bollmora till Tyresö slott | 10 km | Team | 2026-08-04 |
| Haninge | Handen till Jordbro | 7 km | Team | 2026-08-11 |
Budget
| Post | Belopp |
|---|---|
| Resor (6 städer) | 30,000 kr |
| Utrustning | 15,000 kr |
| Tid (2 veckor) | 80,000 kr |
| Annotation | 20,000 kr |
| Totalt | 145,000 kr |
URL
https://landvex.com/pilot/GOLD-REFERENCE-ROUTES.md
2026-06-28 (eftermiddag) — Execution Plan Uppdaterad
Beslut: AI-pipeline först, sedan Gold Route, sedan skalning.
Beroendekedja
Steg 1: AI-pipeline (RIKTIGA modeller)
↓
Steg 2: Gold Route Bangkok (själva)
↓
Steg 3: Verifiera hela loopen
↓
Steg 4: Rekrytera Zoomers (skala)
Nya mål (ersätter "200 observationer")
| Mål | Värde |
|---|---|
| Observationer | 10 000 |
| Unika objekt | 1 000 |
| Korrekt identifierade | 95% |
| Automatiskt godkända | 90% |
| Komplett UKG | Bangkok Sukhumvit |
Tidsplan
| Vecka | Steg | Aktivitet |
|---|---|---|
| v28 (nu) | 1 | Installera AI-modeller |
| v29 (7-13 jul) | 2 | Gold Route Bangkok (10 000 obs) |
| v30 (14-20 jul) | 3 | Verifiera loopen (1 000 objekt i UKG) |
| v31 (21-27 jul) | 4 | Rekrytera Zoomers |
Tekniska fixar (innan Steg 2)
| Problem | Kommando |
|---|---|
| npm permissions | sudo chown -R 991:990 /home/bernt/.npm |
| YOLOv8 | pip install ultralytics |
| Grounding DINO | pip install groundingdino-py |
| SAM2 | pip install segment-anything-2 |
| OCR | pip install easyocr |
| Depth | pip install midas |
STOPP-kriterier
- AI-modeller inte installerade inom 3 dagar
- < 50% detection accuracy på Bangkok-data
- OIE merge rate < 60% eller > 90%
- Systemet kräver manuell intervention varje observation
URL
https://landvex.com/pilot/EXECUTION-PLAN.md
2026-06-28 (kväll) — AI-strategi: Cloud Vision Bootstrap + Eget Dataset
Beslut: Kombinationsstrategi enligt Eriks rekommendation.
Fas 1: Cloud Vision Bootstrap (denna veckan)
Syfte: Få igång piloten och hela arbetsflödet.
Användning:
- Automatiskt föreslå annotationer
- Bygga första gold dataset
- Validera UIOS-pipelinen
- Testa Mission Planner och UKG med riktiga detektioner
Status: ✅ Klar (installerad, väntar på API-nyckel)
Fas 2: Eget Dataset (parallellt)
Mål per objekttyp:
| Objekttyp | Mål |
|---|---|
| Street lamp | 5 000 |
| Traffic sign | 5 000 |
| Manhole | 3 000 |
| Electrical cabinet | 2 000 |
| Bench | 2 000 |
| Trees | 10 000 |
Källor: Bangkok, Torrevieja, Stockholm, Nacka, Tyresö, Haninge
Fas 3: Egen Modell
Ensemble:
- YOLOv11 för realtid
- Grounding DINO för öppna kategorier
- SAM2 för segmentering
- OCR för text
- Specialmodell för Object Identity
Infrastructure Vocabulary
50 objekt i 7 kategorier:
| Kategori | Antal | Exempel |
|---|---|---|
| Lighting | 6 | street_lamp, traffic_light |
| Road | 10 | asphalt, pothole, manhole_cover |
| Utility | 6 | electrical_cabinet, fire_hydrant |
| Traffic | 8 | stop_sign, speed_sign |
| Vegetation | 6 | tree, bush, hedge |
| Furniture | 7 | bench, trash_can, bike_rack |
| Buildings | 7 | facade, window, roof |
Teknisk Status
| Modell | Status | Kommentar |
|---|---|---|
| YOLOv8 (COCO) | ✅ Installerad | Begränsade klasser |
| YOLOv8-World | ✅ Installerad | Zero-shot, 0 detektioner på Bangkok |
| Grounding DINO | 🟡 Problem | CUDA-kompatibilitet |
| Cloud Vision | ✅ Installerad | Väntar på API-nyckel |
| SAM2 | 🔴 Ej installerad | Väntar på Fas 3 |
Nästa steg
- Skaffa Google Cloud Vision API-nyckel
- Testa på Bangkok-bilder (automatiskt)
- Bygg gold dataset (manuell review)
- Starta Gold Route insamling (Erik + Somchai)
- Parallellt: Annotera och bygga eget dataset
Filer skapade
| Fil | Syfte |
|---|---|
ai-pipeline/cloud-vision-bootstrap.js |
Cloud Vision integration |
ai-pipeline/INFRASTRUCTURE-VOCABULARY.md |
50 objekt, 7 kategorier |