123 lines
2.9 KiB
Markdown
123 lines
2.9 KiB
Markdown
|
|
# QUIXZOOM — Video Intelligence Architecture
|
||
|
|
**Låst:** 2026-06-21, Erik Svensson
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Kärninsikt (LÅST)
|
||
|
|
|
||
|
|
Video är inte produkten. Video är råformatet.
|
||
|
|
Produkten är geospatial evidence.
|
||
|
|
|
||
|
|
"Collect once, analyze forever."
|
||
|
|
Samma råvideo återanalyseras när nya affärsbehov uppstår — utan att Zoomern behöver åka tillbaka.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Vad som behöver extraheras per plats (LÅST)
|
||
|
|
|
||
|
|
- Hur ser byggnaden ut?
|
||
|
|
- Hur används den?
|
||
|
|
- Vilket skick är den i?
|
||
|
|
- Vilka verksamheter finns?
|
||
|
|
- Tom eller aktiv lokal?
|
||
|
|
- Byggarbete?
|
||
|
|
- Skador?
|
||
|
|
- Skyltning?
|
||
|
|
- Tillgänglighetsproblem?
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Varför video > bilder
|
||
|
|
|
||
|
|
| Bilder | Video |
|
||
|
|
|--------|-------|
|
||
|
|
| En vinkel | Hundratals rutor, flera vinklar |
|
||
|
|
| Manuellt | AI väljer bästa rutor automatiskt |
|
||
|
|
| Statisk | Rörelseparallax → bättre 3D |
|
||
|
|
| Svag OCR | Bättre OCR (läser skyltar) |
|
||
|
|
| 30 bilder = 30 tryckningar | 15 sekunder film = allt |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Coverage Score (LÅST — ersätter "antal bilder")
|
||
|
|
|
||
|
|
Uppdraget är färdigt när täckningen är tillräcklig — inte när ett visst antal bilder tagits.
|
||
|
|
|
||
|
|
**Exempel: gatukorsning**
|
||
|
|
- Alla fyra hörn observerade
|
||
|
|
- Byggnadsfasader synliga
|
||
|
|
- Skyltar läsbara
|
||
|
|
- Gatuinfrastruktur synlig
|
||
|
|
|
||
|
|
→ Coverage Score = 100% → Uppdrag klart.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Dynamiska uppdrag — AI guidar Zoomern (LÅST)
|
||
|
|
|
||
|
|
AI analyserar live vad som saknas:
|
||
|
|
- "Västra fasaden saknas — filma 15 meter mot nordväst"
|
||
|
|
- "Entrén ej synlig"
|
||
|
|
- "Skylten för suddig — kom närmare"
|
||
|
|
|
||
|
|
Samlar in exakt det som saknas. Inget mer.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Behovsstyrda uppdrag per kundtyp
|
||
|
|
|
||
|
|
| Kund | Fokus |
|
||
|
|
|------|-------|
|
||
|
|
| Fastighetsinvesterare | Fasadskick, vakans, byggaktivitet |
|
||
|
|
| Kommun | Belysning, skyltar, vägskador |
|
||
|
|
| Butikskedja | Fotgängarflöden, konkurrenter, exponering |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Change Detection över tid (LÅST)
|
||
|
|
|
||
|
|
Kontinuerliga videoupptagningar från samma plats → systemet identifierar automatiskt:
|
||
|
|
- Ny verksamhet / ny skylt
|
||
|
|
- Ny byggställning / renovering
|
||
|
|
- Förfall / rivning / vakans
|
||
|
|
|
||
|
|
Ingen människa behöver rapportera — systemet ser det.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Video Pipeline (server-side)
|
||
|
|
|
||
|
|
```
|
||
|
|
Zoomer spelar in 10-20 sek video
|
||
|
|
↓
|
||
|
|
Upload → server
|
||
|
|
↓
|
||
|
|
FFmpeg extraherar nyckelrutor (1-2/sek)
|
||
|
|
↓
|
||
|
|
YOLOv8 per ruta → detections
|
||
|
|
↓
|
||
|
|
Coverage Engine → vad saknas?
|
||
|
|
↓
|
||
|
|
Om coverage < 100% → feedback till Zoomer
|
||
|
|
Om coverage = 100% → strukturerad observation lagras
|
||
|
|
↓
|
||
|
|
Landvex Intelligence uppdateras
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Dataprincipen
|
||
|
|
|
||
|
|
**Spara:** Geolokaliserade nyckelrutor + strukturerade detections
|
||
|
|
**Radera:** Rå videofil efter bearbetning (dataminimering, GDPR)
|
||
|
|
**Behåll:** Observation JSON — kan återanalyseras med framtida modeller
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Implementation — nästa steg
|
||
|
|
|
||
|
|
1. FFmpeg nyckelrutsextraktion (server-side, gratis)
|
||
|
|
2. Coverage Engine — definierar vad som krävs per uppdragstyp
|
||
|
|
3. Real-time feedback loop i quiXzoom-appen
|
||
|
|
4. Temporal storage — spara observation per koordinat med tidsstämpel
|