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
240 lines
4.2 KiB
YAML
240 lines
4.2 KiB
YAML
# AI Produktionsmodell — Träningskonfiguration
|
|
# Zoomer-submissions granskning
|
|
|
|
project:
|
|
name: "quixzoom-ai-production"
|
|
version: "1.0.0"
|
|
description: "AI-granskning av Zoomer-submissions för IOM"
|
|
|
|
dataset:
|
|
# Klasser för objektdetektering
|
|
classes:
|
|
- street_light
|
|
- traffic_sign
|
|
- bench
|
|
- trash_can
|
|
- sidewalk
|
|
- road
|
|
- building
|
|
- bridge
|
|
- tree
|
|
- graffiti
|
|
- pothole
|
|
- crack
|
|
- corrosion
|
|
- broken_glass
|
|
- missing_parts
|
|
- water_damage
|
|
- vegetation_overgrowth
|
|
- illegal_dumping
|
|
- broken_pavement
|
|
- faded_markings
|
|
|
|
num_classes: 20
|
|
|
|
# Dataset-splits
|
|
splits:
|
|
train: 0.70
|
|
val: 0.15
|
|
test: 0.15
|
|
|
|
# Minsta dataset-storlek per klass
|
|
min_samples_per_class: 100
|
|
|
|
# Bildstorlek
|
|
image_size: 640
|
|
|
|
# Augmentation
|
|
augmentation:
|
|
enabled: true
|
|
target_multiplier: 10
|
|
|
|
geometric:
|
|
rotation: [-15, 15]
|
|
scale: [0.8, 1.2]
|
|
shear: [-5, 5]
|
|
flip_h: 0.5
|
|
flip_v: 0.0
|
|
|
|
photometric:
|
|
brightness: [0.7, 1.3]
|
|
contrast: [0.7, 1.3]
|
|
saturation: [0.5, 1.5]
|
|
hue: [-10, 10]
|
|
|
|
noise:
|
|
gaussian_prob: 0.3
|
|
gaussian_std: [5, 15]
|
|
jpeg_prob: 0.3
|
|
jpeg_quality: [60, 95]
|
|
blur_prob: 0.2
|
|
blur_radius: [0.5, 2.0]
|
|
|
|
weather:
|
|
rain_prob: 0.1
|
|
fog_prob: 0.1
|
|
shadow_prob: 0.15
|
|
overexposure_prob: 0.1
|
|
underexposure_prob: 0.1
|
|
|
|
models:
|
|
# YOLOv8 för objektdetektering
|
|
yolo:
|
|
model_type: "yolov8n" # nano, small, medium, large, xlarge
|
|
pretrained: true
|
|
|
|
training:
|
|
epochs: 100
|
|
batch_size: 16
|
|
learning_rate: 0.001
|
|
weight_decay: 0.0005
|
|
momentum: 0.937
|
|
|
|
# Early stopping
|
|
patience: 20
|
|
min_delta: 0.001
|
|
|
|
# Data loading
|
|
num_workers: 8
|
|
pin_memory: true
|
|
|
|
# Augmentation (Ultralytics inbyggd)
|
|
hsv_h: 0.015
|
|
hsv_s: 0.7
|
|
hsv_v: 0.4
|
|
degrees: 15
|
|
translate: 0.1
|
|
scale: 0.5
|
|
shear: 5
|
|
perspective: 0.0
|
|
flipud: 0.0
|
|
fliplr: 0.5
|
|
mosaic: 1.0
|
|
mixup: 0.1
|
|
copy_paste: 0.1
|
|
|
|
inference:
|
|
conf_threshold: 0.25
|
|
iou_threshold: 0.45
|
|
max_det: 300
|
|
|
|
# CLIP för scenklassificering
|
|
clip:
|
|
model_name: "openai/clip-vit-base-patch32"
|
|
|
|
fine_tuning:
|
|
epochs: 20
|
|
batch_size: 32
|
|
learning_rate: 0.00005
|
|
warmup_steps: 500
|
|
|
|
scene_labels:
|
|
- "street view"
|
|
- "building facade"
|
|
- "bridge"
|
|
- "road"
|
|
- "sidewalk"
|
|
- "park"
|
|
- "industrial area"
|
|
- "residential area"
|
|
- "commercial area"
|
|
- "construction site"
|
|
|
|
# Defekt-klassificerare
|
|
defect_classifier:
|
|
architecture: "resnet50"
|
|
num_classes: 20
|
|
|
|
training:
|
|
epochs: 50
|
|
batch_size: 64
|
|
learning_rate: 0.001
|
|
|
|
defect_codes:
|
|
"1100": "surface_rust"
|
|
"2100": "dirt_accumulation"
|
|
"2300": "surface_damage"
|
|
"2400": "graffiti"
|
|
"4100": "missing_parts"
|
|
"4200": "broken_parts"
|
|
"5100": "physical_blockage"
|
|
"6200": "water_damage"
|
|
|
|
metrics:
|
|
# Objektdetektering
|
|
detection:
|
|
- mAP50
|
|
- mAP50-95
|
|
- precision
|
|
- recall
|
|
- f1_score
|
|
|
|
# Per-klass metrics
|
|
per_class:
|
|
- precision
|
|
- recall
|
|
- f1_score
|
|
- ap50
|
|
- support
|
|
|
|
# Scenklassificering
|
|
classification:
|
|
- accuracy
|
|
- top5_accuracy
|
|
- precision_macro
|
|
- recall_macro
|
|
- f1_macro
|
|
|
|
# Defektdetektering
|
|
defect:
|
|
- accuracy
|
|
- precision
|
|
- recall
|
|
- f1_score
|
|
- confusion_matrix
|
|
|
|
# Träningsmål
|
|
targets:
|
|
mAP50: 0.85
|
|
mAP50_95: 0.70
|
|
precision: 0.88
|
|
recall: 0.85
|
|
f1_score: 0.86
|
|
|
|
# Per-klass minimum
|
|
per_class_min_ap50: 0.70
|
|
per_class_min_recall: 0.75
|
|
|
|
# Export
|
|
export:
|
|
formats:
|
|
- pytorch
|
|
- onnx
|
|
- torchscript
|
|
- openvino
|
|
- tensorrt
|
|
|
|
optimization:
|
|
quantization: true
|
|
pruning: false
|
|
distillation: false
|
|
|
|
# Produktion
|
|
deployment:
|
|
# API
|
|
api:
|
|
host: "0.0.0.0"
|
|
port: 8000
|
|
workers: 4
|
|
|
|
# Batch processing
|
|
batch:
|
|
max_batch_size: 32
|
|
timeout_ms: 5000
|
|
|
|
# Modell-uppdatering
|
|
model_update:
|
|
auto_retrain: false
|
|
retrain_threshold: 0.05 # mAP drop
|
|
retrain_schedule: "weekly"
|