Files
boc/quixzoom-video-pipeline
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- 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
2026-06-29 16:24:48 +00:00
..

QUIXZOOM Urban Video Ingestion Pipeline

Skalbar pipeline för att upptäcka, indexera och processa publikt tillgängliga city walking videos för urban intelligence och infrastrukturanalys.

Arkitektur

Discovery (YouTube API)
    │
    ▼
Video Index (Redis)
    │
    ▼
Download Queue
    │
    ▼
Frame Extractor (FFmpeg)
    ├── Time-based (var 5:e sekund)
    ├── Scene change detection
    └── Motion-based
    │
    ▼
AI Annotator (15 modeller)
    ├── Scene Classification
    ├── Semantic Segmentation
    ├── OCR
    ├── Object Detection
    ├── Traffic Sign Detection
    ├── Building Detection
    ├── Road Surface Analysis
    ├── Sidewalk Analysis
    ├── Pole Detection
    ├── Utility Box Detection
    ├── Pavement Crack Detection
    ├── Vegetation Detection
    ├── Lighting Detection
    ├── Storefront Detection
    └── Accessibility Detection
    │
    ▼
Dataset Builder
    ├── Roads
    ├── Sidewalks
    ├── Crosswalks
    ├── Buildings
    ├── Trees
    ├── Utility Infrastructure
    ├── Traffic Infrastructure
    ├── Signage
    ├── Lighting
    ├── Accessibility
    ├── Commercial Areas
    └── Urban Density
    │
    ▼
Training Dataset (JSONL)

Komponenter

1. Discovery (discovery/youtube-discovery.js)

Söker efter city walking videos på YouTube:

  • 25 söktermer (generella + stadsspecifika)
  • Filtrerar endast Creative Commons-licensierade videos
  • Extraherar stad och land från titel/beskrivning
  • Indexerar i Redis

Söktermer:

'4K City Walk', 'Walking Tour', 'Street Walk',
'Bangkok Walk', 'Tokyo Walk', 'London Walk',
'Walking Downtown', 'Night Walk', 'POV Walk'

2. Frame Extractor (processing/frame-extractor.js)

Extraherar frames med 3 strategier:

  • Time-based: Var 5:e sekund
  • Scene change: Vid scenförändringar (threshold: 0.3)
  • Motion-based: Vid hög rörelse

Deduplicering: Tar bort frames < 2 sekunder från varandra.

3. AI Annotator (processing/ai-annotator.js)

15 AI-modeller körs på varje frame:

Modell Funktion
Scene Classification 20 scener (road, commercial, park, etc.)
Semantic Segmentation Pixel-nivå klassificering
OCR Text-extraktion (eng+tha+deu+fra+spa)
Object Detection 80 COCO-klasser
Traffic Sign Detection 13 skylttyper
Building Detection Typ, höjd, position
Road Surface Analysis 10 yt-typer + sprickor
Sidewalk Analysis Bredd, skick, tillgänglighet
Pole Detection 6 pol-typer
Utility Box Detection El/telecom/trafik
Crack Detection Antal, längd, allvarlighet
Vegetation Detection Träd, täckning, hälsa
Lighting Detection Gatlampor, tid på dygnet
Storefront Detection 10 affärstyper
Accessibility Detection Rullstolsramp, ledstråk, etc.

4. Dataset Builder (dataset-builder/builder.js)

Bygger 12 specialiserade dataset i JSONL-format:

Dataset Innehåll
roads.jsonl Vägtyp, skick, sprickor
sidewalks.jsonl Bredd, skick, tillgänglighet
crosswalks.jsonl Övergångsställen, trafikljus
buildings.jsonl Byggnader, höjd, typ
trees.jsonl Träd, täckning, hälsa
utility_infrastructure.jsonl Elstolpar, skåp, kablage
traffic_infrastructure.jsonl Trafikljus, skyltar
signage.jsonl OCR-text, affärer
lighting.jsonl Belysning, tid på dygnet
accessibility.jsonl Tillgänglighetsfunktioner
commercial_areas.jsonl Affärer, restauranger, hotell
urban_density.jsonl Folk- och fordonsdensitet

Snabbstart

1. Installation

git clone https://github.com/quixzoom/video-pipeline.git
cd quixzoom-video-pipeline
npm install

2. Konfiguration

cp .env.example .env
# Redigera .env med dina värden

3. Kör discovery

npm run discover

4. Extrahera frames

npm run extract -- --video=/path/to/video.mp4 --output=./frames

5. Kör AI-analys

npm run annotate -- --input=./frames --output=./annotations

6. Bygg dataset

npm run build-dataset -- --input=./annotations --output=./datasets

Miljövariabler

Variabel Beskrivning
YOUTUBE_API_KEY YouTube Data API v3 key
REDIS_HOST Redis host
REDIS_PORT Redis port
REDIS_PASSWORD Redis password

Datakällor

Prioriterade källor:

  1. YouTube City Walk channels (Creative Commons)
  2. QUIXZOOM user captures (egen data)
  3. Öppna dataset (Cityscapes, etc.)
  4. OpenStreetMap
  5. Offentliga geodata

Juridisk hänsyn:

  • Endast Creative Commons-licensierade videos
  • Egeninsamlad data från QUIXZOOM
  • Respektera upphovsrätt

Output-format

JSONL-exempel (roads.jsonl)

{
  "image": "/path/to/frame_001.jpg",
  "labels": {
    "surface_type": "asphalt_fair",
    "surface_confidence": 0.82,
    "has_cracks": true,
    "crack_severity": "medium",
    "road_pixels": 34.5
  },
  "metadata": {
    "city": "Bangkok",
    "country": "Thailand",
    "timestamp": "2026-06-28T08:15:30Z"
  }
}

Licens

MIT © LandveX Inc.