bae705aa97
- 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
212 lines
6.0 KiB
Markdown
212 lines
6.0 KiB
Markdown
# QUIXZOOM Source Reliability System
|
|
|
|
## Princip
|
|
|
|
AI:n lär sig ENDAST av **observerbara fenomen** i bildmaterialet, inte av videoskaparens åsikter, narration eller slutsatser.
|
|
|
|
> "Om någon säger 'det här området är farligt' är det ett påstående. Om videon visar en trasig gatlykta, en grop i vägen eller ett överfullt sopkärl är det observerbara fenomen som kan annoteras och användas."
|
|
|
|
---
|
|
|
|
## Arkitektur
|
|
|
|
```
|
|
Video Source
|
|
│
|
|
▼
|
|
License Check
|
|
│
|
|
▼
|
|
Narration Filter (TA BORT åsikter)
|
|
│
|
|
▼
|
|
Frame Extraction
|
|
│
|
|
▼
|
|
Object Detection (ENDAST observerbara objekt)
|
|
│
|
|
▼
|
|
Quality Score
|
|
│
|
|
▼
|
|
Source Reliability (metadata + AI-konfidens)
|
|
│
|
|
▼
|
|
Dataset (endast verifierade observerbara fenomen)
|
|
```
|
|
|
|
---
|
|
|
|
## Narration Filter
|
|
|
|
### Filtrerar BORT:
|
|
- **Åsikter**: "det här området är farligt", "fantastiskt", "hemskt"
|
|
- **Slutsatser**: "regeringen borde fixa detta", "därför är..."
|
|
- **Värderingar**: "bästa", "sämsta", "vackert", "fult"
|
|
- **Emotionellt språk**: "chockerande", "otroligt", "sorgligt"
|
|
- **Subjektiva bedömningar**: "jag tycker", "jag tror", "jag känner"
|
|
|
|
### Behåller:
|
|
- **Faktiska beskrivningar**: "gatan har en trasig gatlykta"
|
|
- **Geografiska referenser**: "Sukhumvit Road", "nära intersection"
|
|
- **Observerbara händelser**: "bilar och motorcyklar passerar"
|
|
- **Tidsangivelser**: "3 PM", "morgon", "eftermiddag"
|
|
- **Numeriska data**: "50 meter", "2 veckor", "30%"
|
|
|
|
### Exempel:
|
|
|
|
| Text | Resultat | Anledning |
|
|
|------|----------|-----------|
|
|
| "This street is very dangerous and terrible. I think the government should fix it." | ❌ FILTRERA BORT | Åsikt + slutsats |
|
|
| "The street has a broken streetlight and a pothole near the intersection." | ✅ BEHÅLL | Observerbara fakta |
|
|
| "Walking down Sukhumvit Road at 3 PM. Cars and motorcycles passing by." | ✅ BEHÅLL | Geografi + händelser |
|
|
| "This is the worst area I've ever seen. Absolutely disgusting." | ❌ FILTRERA BORT | Värdering + emotionellt |
|
|
| "There is a Shell station on the corner with a silver sedan parked outside." | ✅ BEHÅLL | Fysiska objekt |
|
|
| "I feel like this neighborhood is unsafe and people should avoid it." | ❌ FILTRERA BORT | Subjektiv bedömning |
|
|
|
|
---
|
|
|
|
## Source Reliability
|
|
|
|
### Källa-typer och tillförlitlighet:
|
|
|
|
| Källa | Bas-tillförlitlighet | Licens-säkerhet | Kvalitetskontroll |
|
|
|-------|---------------------|-----------------|-------------------|
|
|
| QUIXZOOM Capture | 95% | 100% | Active Guided |
|
|
| Open Dataset | 85% | 95% | Curated |
|
|
| YouTube CC | 75% | 90% | Post-hoc |
|
|
| Public Geodata | 85% | 90% | Government |
|
|
| Dashcam (licensed) | 70% | 80% | Passive |
|
|
| Walking Tour (licensed) | 70% | 80% | Passive |
|
|
|
|
### Metadata per datapunkt:
|
|
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"sourceType": "quixzoom_capture|youtube_cc|open_dataset|...",
|
|
"sourceUrl": "https://...",
|
|
"license": "CC-BY|proprietary|public_domain|...",
|
|
"attribution": "...",
|
|
|
|
"timestamp": "2026-06-28T08:15:30Z",
|
|
"gps": {
|
|
"latitude": 13.7563,
|
|
"longitude": 100.5018,
|
|
"accuracy": 5
|
|
},
|
|
|
|
"camera": {
|
|
"model": "iPhone14,2",
|
|
"resolution": 2160,
|
|
"fps": 30,
|
|
"stabilization": true
|
|
},
|
|
|
|
"imageQuality": {
|
|
"sharpness": 0.85,
|
|
"exposure": 0.72,
|
|
"noise": 0.15
|
|
},
|
|
|
|
"occlusion": {
|
|
"foreground": 0.1,
|
|
"weather": 0.2,
|
|
"lighting": 0.05
|
|
},
|
|
|
|
"aiAnalysis": {
|
|
"objectDetection": 0.92,
|
|
"sceneClassification": 0.88,
|
|
"ocr": 0.75
|
|
},
|
|
|
|
"verificationStatus": "unverified|ai_verified|human_verified|expert_verified",
|
|
|
|
"narrationFiltered": true,
|
|
"narrationText": "original text...",
|
|
|
|
"observablePhenomena": [
|
|
{ "type": "physical_object", "class": "streetlight", "condition": "broken" },
|
|
{ "type": "infrastructure", "category": "road", "defect": "pothole" }
|
|
]
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Observerbara Fenomen
|
|
|
|
### AI:n lär sig av:
|
|
- **Fysiska objekt**: bilar, skyltar, stolpar, byggnader
|
|
- **Infrastruktur-tillstånd**: sprickor, trasiga lampor, hål i vägen
|
|
- **Miljöförhållanden**: väder, belysning, trafik
|
|
- **Människor och aktivitet**: antal, densitet, rörelser
|
|
- **Kommersiell aktivitet**: butiker, restauranger, öppet/stängt
|
|
|
|
### AI:n lär sig INTE av:
|
|
- Åsikter om säkerhet
|
|
- Värderingar av området
|
|
- Slutsatser om orsaker
|
|
- Rekommendationer om åtgärder
|
|
- Emotionella reaktioner
|
|
|
|
---
|
|
|
|
## Integration med QUIXZOOM
|
|
|
|
### Offentligt videomaterial:
|
|
- Komplement för att öka variation i träningsdata
|
|
- Kräver licenskontroll och narration-filter
|
|
- Lägre tillförlitlighet men högre volym
|
|
|
|
### QUIXZOOM egeninsamling:
|
|
- **Målstyrd**: AI ber användarna dokumentera sådant som saknas
|
|
- **Licensierad**: Full kontroll över användningsrättigheter
|
|
- **Högupplöst**: Bättre kvalitet än YouTube-komprimering
|
|
- **Metadata-rik**: GPS, IMU, kompass, höjd, tid
|
|
- **Active learning**: Systemet avgör vad som är mest värdefullt
|
|
|
|
### På sikt:
|
|
Egen datainsamling blir den mest värdefulla tillgången eftersom ni har full kontroll över kvalitet, metadata och användningsrättigheter.
|
|
|
|
---
|
|
|
|
## Filstruktur
|
|
|
|
```
|
|
quixzoom-video-pipeline/
|
|
├── processing/
|
|
│ ├── source-reliability.js # Tillförlitlighetsberäkning
|
|
│ └── narration-filter.js # Åsikts-filter
|
|
├── app/
|
|
│ ├── guided-capture.js # 4-nivå insamling
|
|
│ └── active-learning.js # Information gain
|
|
└── README-SOURCE-RELIABILITY.md # Denna fil
|
|
```
|
|
|
|
---
|
|
|
|
## Användning
|
|
|
|
```javascript
|
|
const { processDataPoint, filterNarration } = require('./processing/source-reliability');
|
|
const { processVideoMetadata } = require('./processing/narration-filter');
|
|
|
|
// Processa en datapunkt
|
|
const result = processDataPoint({
|
|
sourceType: 'youtube_cc',
|
|
narration: 'The street has a broken streetlight...',
|
|
gps: { lat: 13.7563, lng: 100.5018 },
|
|
// ... mer metadata
|
|
});
|
|
|
|
console.log(result.reliability.overall); // 0.75
|
|
console.log(result.usableForTraining); // true
|
|
console.log(result.observablePhenomena); // [{ type: 'physical_object', class: 'streetlight' }]
|
|
```
|
|
|
|
---
|
|
|
|
*LandveX Inc. — Observerbar verklighet, inte åsikter.*
|