Hoppa till innehållet
AI-grafen
E· Universitetdatorseende· ca 60 min· utvecklande· verifierad 2026-09-20

Datorseende — grunderna

Kunna träna en bildklassificerare, använda dataaugmentering och förklara transfer learning.

Förkunskaper

Intuition

Receptet för bildklassificering i praktiken — nästan aldrig från grunden:

  1. Förtränad modell (ResNet, EfficientNet, ViT) som bas.
  2. Augmentering på träningsdata: slumpmässig beskärning, spegling, färgjitter, rotation. Aldrig på validering och test.
  3. Normalisering med förträningens statistik.
  4. Nytt huvud för dina klasser; frys eller finjustera efter datamängd.
  5. Utvärdera per klass med förväxlingsmatris, inte bara total träffsäkerhet.
  6. Felanalys: titta på 30 felklassade bilder. Det är alltid lärorikt och leder oftast till en dataåtgärd.

Augmentering är det billigaste sättet att få «mer data» — och ofta det som ger störst lyft vid små datamängder.

Kod

import torch, torch.nn as nn
from torchvision import models, transforms, datasets

IMAGENET = dict(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

train_tf = transforms.Compose([
    transforms.RandomResizedCrop(224, scale=(0.7, 1.0)),
    transforms.RandomHorizontalFlip(),
    transforms.ColorJitter(0.2, 0.2, 0.2),
    transforms.ToTensor(), transforms.Normalize(**IMAGENET),
])
eval_tf = transforms.Compose([                      # ingen slump vid utvärdering
    transforms.Resize(256), transforms.CenterCrop(224),
    transforms.ToTensor(), transforms.Normalize(**IMAGENET),
])

m = models.resnet18(weights="IMAGENET1K_V1")
for p in m.parameters():
    p.requires_grad = False
m.fc = nn.Linear(m.fc.in_features, antal_klasser)

# … träna huvudet, mät per klass:
from sklearn.metrics import classification_report, confusion_matrix
print(classification_report(y_true, y_pred, target_names=klassnamn))
print(confusion_matrix(y_true, y_pred))

Augmentering som skadar: horisontell spegling på text eller siffror (ett speglat «3» är inte ett «3»), kraftig färgjitter när färgen är klassen (mogen/omogen frukt), och rotation på bilder där uppåt betyder något (röntgen). Augmentera bara med transformationer som bevarar etiketten.

Behärskning innebär

  • Tränar en bildklassificerare med transfer learning
  • Använder dataaugmentering korrekt
  • Utvärderar per klass och analyserar fel

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser