Common Concepts About Convolutional Neural Networks

Term | Description |

Convolution | Applying some filter on an image so certain features in the image get emphasized |

We did element wise product then we get the sum of the result matrix; so:

3*1 + 1*0 + 1*(-1)+1*1 + 0*0 + 7*(-1)+2*1 + 3*0 + 5*(-1)=-7

And so on for other elements π

An application of convolution operation

Result: horizontal lines pop out

Result: vertical lines pop out

There are a lot of ways we can put number inside elements of the filter.

For example *Sobel* filter is like:

1 0 -12 0 -21 0 -1

*Scharr* filter is like:

3 0 -310 0 -103 0 -3

*Prewitt* filter is like:

-1 0 1-1 0 1-1 0 1

So the point here is to pay attention to the middle row

And *Roberts* filter is like:

1 00 -1

We can tune these numbers by ML approach; we can say that the filter is a group of weights that:

w1 w2 w3w4 w5 w6w7 w8 w9

By that we can get -learned- horizontal, vertical, angled, or any edge type automatically rather than getting them by hand.

If we have an `n*n`

image and we convolve it by `f*f`

filter the the output image will be `n-f+1*n-f+1`

π If we apply many filters then our image shrinks.

π€¨ Pixels at corners aren't being touched enough, so we are throwing away a lot of information from the edges of the image .

We can *pad* the image πͺ