Tren og test en objektdeteksjonsmodell

Oppgavens formål

Elevene skal samle inn, annotere og trene en YOLO-modell som gjenkjenner tre objekter. Oppgaven dekker datafangst, annotering i Label Studio, trening i Google Colab og lokal testing.

Verktøy / Materialer

Dere vil bruke dette i gjennomføringen

  • Smartphone eller kamera

  • PC med internett

  • Google Drive / Discord / MEGA for fildeling

  • Anaconda

  • Label Studio

  • Privat Google-konto for Colab

  • Planlegge og gjennomføre datafangst med variert bakgrunn.

    Annotere bilder med bounding boxes i Label Studio.

    Trene en YOLO-modell i Google Colab.

    - Kjøre og teste modellen lokalt i sanntid.

    Gjøre rede for etiske og personvernrelaterte vurderinger ved bildedata.

Elvene lærer

20 klassetimer, uke 47 og 48 - Hadsel VGS VG2 IT

Elevene lærer hvordan moderne KI-systemer fungerer i praksis, med hovedfokus på nevrale nettverk, datafangst, annotering, objektdeteksjon og trening av YOLO-modeller i Google Colab.

Hele kurset er praktisk, og inneholder korte demo-økter i starten av hver time for å skape forståelse og bygge progresjon.

Læringsmål detaljert

Kurset dekker flere sentrale deler av læreplanen i ITK02-01. Elevene får innsikt i algoritmisk tenkning ved å forstå hvordan et nevralt nettverk bygges opp og hvordan en objektdeteksjonsmodell tar beslutninger basert på mønstergjenkjenning. Gjennom hele kurset bruker de Python-baserte verktøy for å trene, kjøre og teste maskinlæringsmodeller i et praktisk miljø.

Arbeidet med maskinlæring skjer gjennom en full arbeidsflyt der elevene planlegger, trener og evaluerer sin egen YOLO-modell basert på et selvlaget datasett. De lærer samtidig å vurdere datakvalitet, modellens styrker og svakheter, og hvordan presisjon påvirkes av treningsgrunnlaget. Datafangst er en sentral del av prosessen, og elevene samler, annoterer og kvalitetssikrer egne bilder før de brukes i treningen.

Kurset inkluderer også refleksjon rundt teknologi og samfunn. Elevene diskuterer etiske konsekvenser av KI, vurderer personvern når man arbeider med bilder, og lærer hvorfor valg av data og modellbruk må håndteres ansvarlig. Dette gir dem en helhetlig forståelse av både den tekniske og den samfunnsmessige siden av moderne KI-systemer.

YOLO!

Bruk denne videoen som oppslagsverk mens dere holder på med oppgaven

Oppgavebeskrivelse — trinn for trinn

Steg 1 — Fotografering (datafangst)

1. Ta 125–200 bilder som inneholder tre objekter (eks. tomat, telefon, stol).

2. Bytt bakgrunn hver 20. bilde.

3. Variér vinkler, lys, avstand.

4. Ta minst 20 bilder der en elev holder objektene.

5. Pass på samtykke og anonymisering ved behov.

Oppleves dette som kjedelig? Se om dere kan finne datasett på nettet med 100-200 bilder, med minimum 3 forskjellige objekter.

Bonus hvis dere finner ferdig med labels eller annoterte!

Steg 2 — Organiser bilder på PC

1. Lag mappem feks *YOLO_Prosjekt_gruppenavn*.

2. Lag undermappen *Bilder* og legg alle bildene der.

Steg 3 — Installer Anaconda og start Label Studio

Last ned og installer Anaconda.

Kjør følgende kommandoer

conda create –name yolo-env1 python=3.12
conda activate yolo-env1
pip install label-studio
label-studio start

Steg 4 — Opprett prosjekt i Label Studio og importer bilder

- Åpne Label Studio i nettleseren (localhost) og velg *Create Project*.

- Last opp bilder i batcher (maks 20 om gangen). Dette kan fryse!

- Velg *Object Detection with Bounding Boxes*.

- Opprett labels for hvert objekt.

Steg 5 — Annoter bildene

- Tegn bounding boxes på alle objekter i hvert bilde.

- Vær konsekvent og marker alt korrekt. Ikke ta snarveger?

Dette er smertefullt og dødskjedelig:

  • Hvordan kunne man gjort det på andre måter?

  • Finnes det alernativ?

Steg 6 — Eksporter datasettet

- Klikk *Export* → *YOLO with images* → last ned .zip.

Steg 7 — Legg Data.zip i prosjektmappen

Struktur:

YOLO_Prosjekt_GruppeX

├── Data.zip

└── Bilder/

Steg 8 — Tren modellen i Google Colab

- Åpne denne notatboken:

https://colab.research.google.com/github/EdjeElectronics/Train-and-Deploy-YOLO-Models/blob/main/Train_YOLO_Models.ipynb

- Last ned *my_model.zip* etter trening.

Steg 9 — Legg modellen i prosjektmappen

YOLO_Prosjekt_GruppeX

├── Data.zip

├── Bilder/

└── my_model.zip

Pakk ut zip-fila og lagre dette på et fornuftig steg på maskina.

Steg 10 — Forbered lokal test

conda activate yolo-env1
cd C:\Users\Navn\YOLO_Prosjekt_GruppeX\my_model
pip install ultralytics

Steg 11 — Installer PyTorch

PyTorch er et verktøy som gjør det lett å lage og trene AI-modeller i Python. Det brukes fordi det er enkelt å forstå, lett å teste ting underveis, og fungerer svært bra sammen med grafikkort for rask trening. Communityet liker det fordi det føles naturlig å jobbe med, har gode verktøy for bilder, lyd og tekst, og fordi nesten all moderne AI-forskning bygger på det.

pip3 install –upgrade torch torchvision –index-url https://download.pytorch.org/whl/cu126

Eller bruk CPU-installasjon fra pytorch.org.

Steg 12 — Kjør deteksjonsskriptet

curl -o yolo_detect.py https://www.ejtech.io/code/yolo_detect.py
python yolo_detect.py –model my_model.pt –source usb0 –resolution 1280x720