Transfer Learning in Computer Vision
Transfer learning stelt ons in staat om modellen die getraind zijn op grote datasets te hergebruiken voor nieuwe taken met beperkte data. In plaats van een neuraal netwerk vanaf nul op te bouwen, maken we gebruik van voorgetrainde modellen om efficiëntie en prestaties te verbeteren. In deze cursus ben je al eerder vergelijkbare benaderingen tegengekomen in voorgaande secties, die de basis hebben gelegd voor het effectief toepassen van transfer learning.
Wat is Transfer Learning?
Transfer learning is een techniek waarbij een model dat op een bepaalde taak is getraind, wordt aangepast voor een andere, gerelateerde taak. In computer vision kunnen modellen die voorgetraind zijn op grote datasets zoals ImageNet worden verfijnd voor specifieke toepassingen zoals medische beeldvorming of autonoom rijden.

Waarom is Transfer Learning Belangrijk?
- Vermindert de traintijd: omdat het model al algemene kenmerken heeft geleerd, zijn slechts kleine aanpassingen nodig;
- Minder data vereist: nuttig wanneer het verkrijgen van gelabelde data kostbaar is;
- Verhoogt de prestaties: voorgetrainde modellen bieden robuuste kenmerkextractie, wat de nauwkeurigheid verbetert.
Workflow van Transfer Learning
De gebruikelijke workflow van transfer learning omvat verschillende belangrijke stappen:
-
Selecteren van een voorgetraind model:
- Kies een model dat getraind is op een grote dataset (bijv. ResNet, VGG, YOLO);
- Deze modellen hebben bruikbare representaties geleerd die kunnen worden aangepast voor nieuwe taken.
-
Aanpassen van het voorgetrainde model:
- Kenmerkextractie: bevries vroege lagen en train alleen latere lagen opnieuw voor de nieuwe taak;
- Fijn-afstemming: maak enkele of alle lagen los en train deze opnieuw op de nieuwe dataset.
-
Training op de nieuwe dataset:
- Train het aangepaste model met een kleinere dataset die specifiek is voor de doeltaak;
- Optimaliseer met technieken zoals backpropagation en verliesfuncties.
-
Evaluatie en iteratie:
- Beoordeel de prestaties met behulp van metriek zoals nauwkeurigheid, precisie, herinnering en mAP;
- Voer indien nodig verdere fijn-afstemming uit om de resultaten te verbeteren.
Populaire Voorgetrainde Modellen
Enkele van de meest gebruikte voorgetrainde modellen voor computer vision zijn:
- ResNet: diepe residuele netwerken die het mogelijk maken zeer diepe architecturen te trainen;
- VGG: een eenvoudige architectuur met uniforme convolutielagen;
- EfficientNet: geoptimaliseerd voor hoge nauwkeurigheid met minder parameters;
- YOLO: state-of-the-art (SOTA) realtime objectdetectie.
Fijn-afstemming vs. Kenmerkextractie
Kenmerkextractie omvat het gebruik van de lagen van een voorgetraind model als vaste kenmerkextractors. Bij deze benadering wordt de oorspronkelijke laatste classificatielaag van het model meestal verwijderd en vervangen door een nieuwe, specifiek voor de doeltaak. De voorgetrainde lagen blijven bevroren, wat betekent dat hun gewichten niet worden bijgewerkt tijdens het trainen. Dit versnelt het trainingsproces en vereist minder data.
from tensorflow.keras.applications import VGG16
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Dense, Flatten
base_model = VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
for layer in base_model.layers:
layer.trainable = False # Freeze base model layers
x = Flatten()(base_model.output)
x = Dense(256, activation='relu')(x)
x = Dense(10, activation='softmax')(x) # Task-specific output
model = Model(inputs=base_model.input, outputs=x)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Fijn-afstemming daarentegen gaat een stap verder door sommige of alle voorgetrainde lagen te ontgrendelen en deze opnieuw te trainen op de nieuwe dataset. Hierdoor kan het model de geleerde kenmerken beter afstemmen op de specifieke eigenschappen van de nieuwe taak, wat vaak leidt tot betere prestaties—vooral wanneer de nieuwe dataset groot genoeg is of aanzienlijk verschilt van de oorspronkelijke trainingsdata.
for layer in base_model.layers[-10:]: # Unfreeze last 10 layers
layer.trainable = True
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Toepassingen van transfer learning

1. Beeldclassificatie
Beeldclassificatie betreft het toekennen van labels aan afbeeldingen op basis van hun visuele inhoud. Voorgetrainde modellen zoals ResNet en EfficientNet kunnen worden aangepast voor specifieke taken zoals medische beeldvorming of wildclassificatie.
Voorbeeld:
- Kies een voorgetraind model (bijv. ResNet);
- Pas de classificatielaag aan op de doelklassen;
- Fijn afstemmen met een lagere leersnelheid.
2. Objectdetectie
Objectdetectie omvat zowel het identificeren van objecten als het lokaliseren ervan binnen een afbeelding. Transfer learning maakt het mogelijk om modellen zoals Faster R-CNN, SSD en YOLO efficiënt specifieke objecten in nieuwe datasets te laten detecteren.
Voorbeeld:
- Gebruik een voorgetraind objectdetectiemodel (bijv. YOLOv8);
- Fijn afstemmen op een aangepaste dataset met nieuwe objectklassen;
- Evalueer de prestaties en optimaliseer indien nodig.
3. Semantische segmentatie
Semantische segmentatie classificeert elke pixel in een afbeelding in vooraf gedefinieerde categorieën. Modellen zoals U-Net en DeepLab worden veel gebruikt in toepassingen zoals autonoom rijden en medische beeldvorming.
Voorbeeld:
- Gebruik een voorgetraind segmentatiemodel (bijv. U-Net);
- Train op een domeinspecifieke dataset;
- Pas hyperparameters aan voor betere nauwkeurigheid.
4. Stijltransfer
Stijltransfer past de visuele stijl van de ene afbeelding toe op een andere, terwijl de oorspronkelijke inhoud behouden blijft. Deze techniek wordt vaak gebruikt in digitale kunst en afbeeldingsverbetering, waarbij voorgetrainde modellen zoals VGG worden ingezet.
Voorbeeld:
- Kies een stijltransfermodel (bijv. VGG);
- Voer content- en stijlafbeeldingen in;
- Optimaliseer voor visueel aantrekkelijke resultaten.
1. Wat is het belangrijkste voordeel van het gebruik van transfer learning in computer vision?
2. Welke benadering wordt gebruikt bij transfer learning wanneer alleen de laatste laag van een voorgetraind model wordt aangepast terwijl de eerdere lagen onveranderd blijven?
3. Welk van de volgende modellen wordt vaak gebruikt voor transfer learning bij objectdetectie?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain the difference between fine-tuning and feature extraction in more detail?
What are some real-world examples where transfer learning is especially useful?
How do I choose which pre-trained model to use for my specific task?
Awesome!
Completion rate improved to 3.45
Transfer Learning in Computer Vision
Veeg om het menu te tonen
Transfer learning stelt ons in staat om modellen die getraind zijn op grote datasets te hergebruiken voor nieuwe taken met beperkte data. In plaats van een neuraal netwerk vanaf nul op te bouwen, maken we gebruik van voorgetrainde modellen om efficiëntie en prestaties te verbeteren. In deze cursus ben je al eerder vergelijkbare benaderingen tegengekomen in voorgaande secties, die de basis hebben gelegd voor het effectief toepassen van transfer learning.
Wat is Transfer Learning?
Transfer learning is een techniek waarbij een model dat op een bepaalde taak is getraind, wordt aangepast voor een andere, gerelateerde taak. In computer vision kunnen modellen die voorgetraind zijn op grote datasets zoals ImageNet worden verfijnd voor specifieke toepassingen zoals medische beeldvorming of autonoom rijden.

Waarom is Transfer Learning Belangrijk?
- Vermindert de traintijd: omdat het model al algemene kenmerken heeft geleerd, zijn slechts kleine aanpassingen nodig;
- Minder data vereist: nuttig wanneer het verkrijgen van gelabelde data kostbaar is;
- Verhoogt de prestaties: voorgetrainde modellen bieden robuuste kenmerkextractie, wat de nauwkeurigheid verbetert.
Workflow van Transfer Learning
De gebruikelijke workflow van transfer learning omvat verschillende belangrijke stappen:
-
Selecteren van een voorgetraind model:
- Kies een model dat getraind is op een grote dataset (bijv. ResNet, VGG, YOLO);
- Deze modellen hebben bruikbare representaties geleerd die kunnen worden aangepast voor nieuwe taken.
-
Aanpassen van het voorgetrainde model:
- Kenmerkextractie: bevries vroege lagen en train alleen latere lagen opnieuw voor de nieuwe taak;
- Fijn-afstemming: maak enkele of alle lagen los en train deze opnieuw op de nieuwe dataset.
-
Training op de nieuwe dataset:
- Train het aangepaste model met een kleinere dataset die specifiek is voor de doeltaak;
- Optimaliseer met technieken zoals backpropagation en verliesfuncties.
-
Evaluatie en iteratie:
- Beoordeel de prestaties met behulp van metriek zoals nauwkeurigheid, precisie, herinnering en mAP;
- Voer indien nodig verdere fijn-afstemming uit om de resultaten te verbeteren.
Populaire Voorgetrainde Modellen
Enkele van de meest gebruikte voorgetrainde modellen voor computer vision zijn:
- ResNet: diepe residuele netwerken die het mogelijk maken zeer diepe architecturen te trainen;
- VGG: een eenvoudige architectuur met uniforme convolutielagen;
- EfficientNet: geoptimaliseerd voor hoge nauwkeurigheid met minder parameters;
- YOLO: state-of-the-art (SOTA) realtime objectdetectie.
Fijn-afstemming vs. Kenmerkextractie
Kenmerkextractie omvat het gebruik van de lagen van een voorgetraind model als vaste kenmerkextractors. Bij deze benadering wordt de oorspronkelijke laatste classificatielaag van het model meestal verwijderd en vervangen door een nieuwe, specifiek voor de doeltaak. De voorgetrainde lagen blijven bevroren, wat betekent dat hun gewichten niet worden bijgewerkt tijdens het trainen. Dit versnelt het trainingsproces en vereist minder data.
from tensorflow.keras.applications import VGG16
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Dense, Flatten
base_model = VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
for layer in base_model.layers:
layer.trainable = False # Freeze base model layers
x = Flatten()(base_model.output)
x = Dense(256, activation='relu')(x)
x = Dense(10, activation='softmax')(x) # Task-specific output
model = Model(inputs=base_model.input, outputs=x)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Fijn-afstemming daarentegen gaat een stap verder door sommige of alle voorgetrainde lagen te ontgrendelen en deze opnieuw te trainen op de nieuwe dataset. Hierdoor kan het model de geleerde kenmerken beter afstemmen op de specifieke eigenschappen van de nieuwe taak, wat vaak leidt tot betere prestaties—vooral wanneer de nieuwe dataset groot genoeg is of aanzienlijk verschilt van de oorspronkelijke trainingsdata.
for layer in base_model.layers[-10:]: # Unfreeze last 10 layers
layer.trainable = True
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Toepassingen van transfer learning

1. Beeldclassificatie
Beeldclassificatie betreft het toekennen van labels aan afbeeldingen op basis van hun visuele inhoud. Voorgetrainde modellen zoals ResNet en EfficientNet kunnen worden aangepast voor specifieke taken zoals medische beeldvorming of wildclassificatie.
Voorbeeld:
- Kies een voorgetraind model (bijv. ResNet);
- Pas de classificatielaag aan op de doelklassen;
- Fijn afstemmen met een lagere leersnelheid.
2. Objectdetectie
Objectdetectie omvat zowel het identificeren van objecten als het lokaliseren ervan binnen een afbeelding. Transfer learning maakt het mogelijk om modellen zoals Faster R-CNN, SSD en YOLO efficiënt specifieke objecten in nieuwe datasets te laten detecteren.
Voorbeeld:
- Gebruik een voorgetraind objectdetectiemodel (bijv. YOLOv8);
- Fijn afstemmen op een aangepaste dataset met nieuwe objectklassen;
- Evalueer de prestaties en optimaliseer indien nodig.
3. Semantische segmentatie
Semantische segmentatie classificeert elke pixel in een afbeelding in vooraf gedefinieerde categorieën. Modellen zoals U-Net en DeepLab worden veel gebruikt in toepassingen zoals autonoom rijden en medische beeldvorming.
Voorbeeld:
- Gebruik een voorgetraind segmentatiemodel (bijv. U-Net);
- Train op een domeinspecifieke dataset;
- Pas hyperparameters aan voor betere nauwkeurigheid.
4. Stijltransfer
Stijltransfer past de visuele stijl van de ene afbeelding toe op een andere, terwijl de oorspronkelijke inhoud behouden blijft. Deze techniek wordt vaak gebruikt in digitale kunst en afbeeldingsverbetering, waarbij voorgetrainde modellen zoals VGG worden ingezet.
Voorbeeld:
- Kies een stijltransfermodel (bijv. VGG);
- Voer content- en stijlafbeeldingen in;
- Optimaliseer voor visueel aantrekkelijke resultaten.
1. Wat is het belangrijkste voordeel van het gebruik van transfer learning in computer vision?
2. Welke benadering wordt gebruikt bij transfer learning wanneer alleen de laatste laag van een voorgetraind model wordt aangepast terwijl de eerdere lagen onveranderd blijven?
3. Welk van de volgende modellen wordt vaak gebruikt voor transfer learning bij objectdetectie?
Bedankt voor je feedback!