AI Fundamentals 10 min read December 2024

What are Convolutional Neural Networks (CNNs)?

De architectuur achter computer vision. Begrijp hoe CNNs beelden analyseren met convolution layers, pooling en feature extraction.

1 Wat zijn CNNs?

Een Convolutional Neural Network (CNN) is een type deep learning model dat speciaal is ontworpen voor het verwerken van data met een grid-achtige structuur, zoals afbeeldingen.

CNNs zijn de ruggengraat van moderne computer vision: ze liggen ten grondslag aan gezichtsherkenning, zelfrijdende auto's, medische beeldanalyse en nog veel meer.

TL;DR

CNNs leren automatisch visuele features (randen, texturen, vormen, objecten) door filters over afbeeldingen te schuiven. In plaats van handmatig features te definiëren, leert het netwerk zelf wat belangrijk is.

2 Waarom CNNs voor beelden?

Waarom niet gewoon een standaard neural network? Stel je een afbeelding van 224×224 pixels voor met 3 kleurkanalen (RGB):

224 × 224 × 3 = 150,528

input neurons per afbeelding

Fully Connected

Miljarden weights nodig → overfit snel, traag, onpraktisch

CNN

Deelt weights via filters → efficiënt, leert lokale patronen

CNNs lossen dit op met drie slimme eigenschappen:

  • Local connectivity: Elke neuron kijkt alleen naar een klein gebied (receptive field)
  • Weight sharing: Dezelfde filter wordt hergebruikt over het hele beeld
  • Translation invariance: Een kat linksboven is dezelfde kat als rechtsonder

3 De Convolution Layer

De kern van een CNN is de convolution operatie. Een kleine matrix (de "kernel" of "filter") schuift over het beeld en berekent een gewogen som op elke positie.

Convolution: Filter schuift over beeld

1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
Input (5×5)
1
0
1
0
1
0
1
0
1
Kernel (3×3)
3
4
3
2
3
3
3
3
2
Feature Map (3×3)

De gemarkeerde kernel-positie geeft output 4 (1×1 + 1×1 + 0×0 + 1×1 + 1×0 + 0×1 + 1×1 + 0×0 + 0×1)

Verschillende filters detecteren verschillende features: horizontale lijnen, verticale lijnen, randen, texturen. Door meerdere filters te stapelen, leert het netwerk steeds complexere patronen.

4 Pooling: Dimensie-reductie

Na convolution komt vaak een pooling layer. Deze verkleint de ruimtelijke dimensies, waardoor het netwerk efficiënter wordt en minder gevoelig voor kleine verschuivingen.

Max Pooling

1
4
2
3
4

Pakt de maximale waarde — behoudt sterkste activatie

Average Pooling

1
4
2
3
2.5

Berekent gemiddelde — vloeiendere representatie

5 Complete CNN Architectuur

Een typische CNN combineert meerdere convolution en pooling layers, gevolgd door fully connected layers voor de uiteindelijke classificatie:

Input
224×224×3
CONV
Conv + ReLU
112×112×64
POOL
Max Pool
56×56×64
CONV
Conv + ReLU
56×56×128
POOL
Max Pool
28×28×128
Flatten
25088
FC
4096
Output
1000 classes

Elke volgende convolution layer leert hogere-level features:

Layer 1-2

Randen, lijnen, kleuren

Layer 3-4

Texturen, patronen

Layer 5+

Objecten, gezichten

6 Bekende CNN Modellen

Door de jaren heen zijn er steeds krachtigere CNN-architecturen ontwikkeld:

Model Jaar Innovatie Layers
LeNet-5 1998 Eerste succesvolle CNN (handgeschreven cijfers) 5
AlexNet 2012 ReLU, Dropout, GPU training — startte deep learning hype 8
VGGNet 2014 Dieper netwerk met alleen 3×3 filters 16-19
GoogLeNet/Inception 2014 Inception modules: parallelle filters van verschillende groottes 22
ResNet 2015 Skip connections → mogelijk om 152+ layers te trainen 50-152
EfficientNet 2019 Compound scaling voor depth, width, resolution Variable

7 Praktische Toepassingen

CNNs worden breed toegepast in de industrie:

Gezichtsherkenning

Face ID, toegangscontrole, sociale media tagging

Autonome Voertuigen

Objectdetectie, rijstrookherkenning, verkeersbordherkenning

Medische Beeldanalyse

Kankerdetectie in röntgenfoto's, MRI-scans, pathologie slides

Kwaliteitscontrole

Defectdetectie in fabrieken, visuele inspectie van producten

CNNs vs Transformers

Hoewel Vision Transformers (ViT) steeds populairder worden voor computer vision, blijven CNNs relevant. Ze zijn efficiënter voor real-time toepassingen en hebben minder data nodig om te trainen. Hybride modellen combineren vaak het beste van beide werelden.

Computer Vision implementeren?

Wij bouwen computer vision oplossingen voor kwaliteitscontrole, objectdetectie en visuele inspectie op maat.

Neem contact op