Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Convolutielagen | Convolutionele Neurale Netwerken
Essentiële Computer Vision met Python

Convolutielagen

Veeg om het menu te tonen

Inzicht in Convolutielagen

Convolutielagen vormen de kern van convolutionele neurale netwerken (CNN's). Ze passen convolutie toe, waarbij een kleine matrix, een filter (of kernel) genoemd, over een afbeelding schuift om randen, texturen en vormen te detecteren. Hierdoor kunnen CNN's afbeeldingen efficiënter verwerken dan traditionele netwerken.

In plaats van een volledige afbeelding in één keer te analyseren, verdelen CNN's deze in kleinere secties en detecteren ze kenmerken op verschillende niveaus. Vroege lagen herkennen eenvoudige patronen zoals randen, terwijl diepere lagen complexe structuren detecteren.

Hoe Convolutie Werkt

Convolutie houdt in dat een filter (kernel) over een afbeelding beweegt, volgens de volgende stappen:

  1. Plaats de kernel linksboven in de afbeelding.
  2. Voer elementgewijze vermenigvuldiging uit tussen de kernel en de pixelwaarden.
  3. Sommeer de producten om een uitvoerpixel te genereren.
  4. Verplaats de kernel volgens de stride en herhaal.
  5. Genereer een feature map die gedetecteerde patronen benadrukt.
Convolutie GIF

Meerdere filters stellen CNN's in staat om verschillende kenmerken vast te leggen, zoals verticale randen, krommen en texturen.

Filters (Kernels):

Filters spelen een cruciale rol bij het extraheren van betekenisvolle patronen uit afbeeldingen. Verschillende typen filters zijn gespecialiseerd in het identificeren van diverse kenmerken:

  • Randdetectiefilters: identificeren objectgrenzen door abrupte intensiteitsveranderingen te detecteren (bijv. Sobel-, Prewitt- en Laplacian-filters);

  • Textuurfilters: leggen herhalende patronen vast zoals golven of rasters (bijv. Gabor-filters);

  • Verscherpingsfilters: versterken details in afbeeldingen door hoge frequentiecomponenten te versterken;

  • Vervagingsfilters: verminderen ruis en maken afbeeldingen gladder (bijv. Gaussiaans vervagingsfilter);

  • Reliëffilters: benadrukken randen en voegen een 3D-effect toe door diepte te accentueren.

Vergelijking van kernels

Elke filter wordt getraind om specifieke patronen te detecteren en draagt bij aan het opbouwen van hiërarchische kenmerkrepresentaties in diepe CNN's.

Convolutielagen hergebruiken dezelfde filter over een afbeelding, waardoor het aantal parameters afneemt en CNN's efficiënt worden. Gespecialiseerde lokaal verbonden lagen gebruiken echter verschillende filters voor verschillende regio's indien nodig.

Door convolutielagen te stapelen, halen CNN's gedetailleerde patronen naar boven, waardoor ze krachtig zijn voor beeldclassificatie, objectdetectie en visietaken.

Hyperparameters:

  • Stride: bepaalt hoe ver de filter per stap verschuift;
  • Padding: voegt pixels toe om de uitvoergrootte te regelen (same padding behoudt de grootte, valid padding verkleint deze);
  • Aantal filters (diepte): meer filters verbeteren kenmerkdetectie maar verhogen de rekentijd.
Note
Opmerking

Voorbeeld: Voor een 24×24 grijswaardenafbeelding met een 3×3 kernel en 64 filters is de uitvoergrootte 22×22×64, berekend als:

(WF+1)×(HF+1)×D==(243+1)×(243+1)×64==22×22×64,(W - F + 1) \times (H - F + 1) \times D =\\= (24 - 3 + 1) \times (24 - 3 + 1) \times 64 =\\= 22\times22\times64,

Waarbij:

  • WW: breedte van de invoerafbeelding = 24;
  • HH: hoogte van de invoerafbeelding = 24;
  • FF: grootte van de filter (kernel) = 3 (ervan uitgaande dat het een vierkante 3×3 kernel is);
  • DD: aantal filters (diepte van de output) = 64.

Voor het volgende hoofdstuk

Hoewel convolutionele lagen de uitvoergrootte kunnen verkleinen, is hun primaire doel feature-extractie, niet dimensionaliteitsreductie. Pooling-lagen daarentegen verminderen expliciet de dimensionaliteit terwijl belangrijke informatie behouden blijft, wat efficiëntie in diepere lagen waarborgt.

1. Wat is de primaire rol van een convolutionele laag in een CNN?

2. Welke hyperparameter bepaalt hoe ver een filter beweegt tijdens convolutie?

3. Wat is het doel van het toepassen van meerdere filters in een convolutielaag?

question mark

Wat is de primaire rol van een convolutionele laag in een CNN?

Selecteer het correcte antwoord

question mark

Welke hyperparameter bepaalt hoe ver een filter beweegt tijdens convolutie?

Selecteer het correcte antwoord

question mark

Wat is het doel van het toepassen van meerdere filters in een convolutielaag?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 3. Hoofdstuk 2
some-alt