Maskinlæring på Høgåsen

Kameraene på Høgåsen tar tusenvis av bilder i måneden. Et AI-system identifiserer automatisk hvilke fugler som er i bildet — og lærer seg stadig bedre jo mer vi annoterer.

Slik fungerer det

En feedback-loop der hvert steg forbedrer neste runde.

STEG 1
Annotering
Admin tegner bounding boxes rundt fugler i /annotere. Hver boks merkes med art og lagres som treningsdata.
STEG 2
Eksporter datasett
export_yolo.py henter alle annoterte bokser fra databasen og bygger et YOLO-datasett med train/val-split.
STEG 3
Trene YOLOv8
train_yolo.py fine-tuner YOLOv8m på Høgåsen-data. Modellen lærer å finne og klassifisere alle 24 artene i ett steg.
STEG 4
Kjøre GPU-suggest
gpu_suggest.py kjøres på stasjonær med NVIDIA GPU. Prosesserer bilder, autogodkjenner høy-confidence-funn og sender til NUC via API.
STEG 5
Rebox
gpu_suggest.py --rebox kjøres på allerede-taggede bilder. YOLO finner ekstra individer som ble savnet i forrige runde.
STEG 6
Retrene
Etter nok nye godkjenninger gjentas stegene. Modellen forbedrer seg gradvis — særlig på arter med mange nye bokser.

Treningsstatus

Antall annoterte bounding boxes per art — mer data gir bedre deteksjon.

Modellene

To modeller i kombinasjon — YOLOv8 som primær, CLIP som fallback.

PRIMÆR DETEKTOR
YOLOv8m
  • Egentrent på Høgåsen-bilder
  • Detekterer og klassifiserer i ett steg
  • 24 arter — Bjørkefink til Toppmeis
  • Kjøres på NVIDIA GPU (stasjonær)
  • Modell: ml/yolo_runs/hogasen/weights/best.pt
FALLBACK-KLASSIFIKATOR
CLIP ViT-L/14@336px
  • OpenAI visuell embedding-modell
  • Brukes når YOLOv8 er usikker
  • MegaDetector cropper ut dyret, CLIP klassifiserer
  • Sammenligner mot kjente bounding box-crops
  • Kjøres også på GPU (4× større enn NUC-varianten)
NUC-VARIANT (SEKUNDÆR)
CLIP ViT-B/32
  • Mindre modell — kjøres på NUC (CPU)
  • Kjøres nattlig via cron
  • Samme pipeline som GPU-varianten, men tregere
  • Brukes som bakgrunnsprosess mens GPU-boten hviler