I'm using a 'convolution2dLayer' in my program but I'm unable to get that what it is doing after applying it to an image?

2 visualizaciones (últimos 30 días)
layers=[...
imageInputLayer([566 804 3])
convolution2dLayer(5,20,'stride',6) % I WANTED KNOW BACKGROUND OF THIS LAYER, LIKE WHICH FILTER IS USING FOR CONVOLUTION
reluLayer
crossChannelNormalizaton(5)

Respuestas (1)

Ayush Aniket
Ayush Aniket el 9 de Mayo de 2025
Editada: Ayush Aniket el 9 de Mayo de 2025
The convolution2dLayer in MATLAB creates a layer that applies 2D convolution to an input image. When you train your network, the layer learns the filter weights (each filter learns a unique implicit representation) automatically from your data. This documentation link provides insights into the algorithm being used for convolution: https://www.mathworks.com/help/deeplearning/ref/nnet.cnn.layer.convolution2dlayer.html#mw_b3cb4c13-eed4-4777-9f81-842deba09f00
Let us undetstand in detail using the arguments provided:
  • The size of each filter is 5x5 pixels. Each filter slides across the input image and computes a weighted sum (convolution) at each position.
  • The layer learns 20 different filters (also called kernels). This produces 20 output feature maps (one per filter) that highlight different types of features (such as edges, textures, or patterns) in the image.
  • The filter moves 6 pixels (stride) at a time across the image in both directions, reducing the output size. The stride controls how much the filter moves at each step, affecting the resolution of the output feature maps.
Refer these links to visualize the process and results:
You should try varying the arguments and then viusalize it to gain a better understanding.

Categorías

Más información sobre Deep Learning Toolbox en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by