In dit artikel
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):
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
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
Pakt de maximale waarde — behoudt sterkste activatie
Average Pooling
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:
224×224×3
112×112×64
56×56×64
56×56×128
28×28×128
25088
4096
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.
Gerelateerde artikelen
Computer Vision implementeren?
Wij bouwen computer vision oplossingen voor kwaliteitscontrole, objectdetectie en visuele inspectie op maat.
Neem contact op