卷积神经网络-学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35406909/article/details/83714925

1. Edge Detection

  • Vertical Edge Detection: Convolve the image with Matrix 1 0 1 1 0 1 1 0 1 \begin{matrix} 1 & 0 & -1 \\ 1 & 0 & -1 \\ 1 & 0 & -1 \end{matrix}
  • Horizontal Edge Detection: Convolve the image with Matrix 1 1 1 0 0 0 1 1 1 \begin{matrix} 1 & 1 & 1 \\ 0 & 0 & 0 \\ -1 & -1 & -1 \end{matrix}
  • Sobel Filter: 1 0 1 2 0 2 1 0 1 \begin{matrix} 1 & 0 & -1 \\ 2 & 0 & -2 \\ 1 & 0 & -1 \end{matrix}
    Give more attention to center
  • Scharr Filter: 3 0 3 10 0 10 3 0 3 \begin{matrix} 3 & 0 & -3 \\ 10 & 0 & -10 \\ 3 & 0 & -3 \end{matrix}

卷积函数:
python : conv_forward
opencv : filter2D

2. Padding

  • Pad the image to save information from borders before convolution
  • Valid Convolution: Direct Convolution, Size of output is restricted without padding
    Same Convolution: Size of output is the same as input

3. Strided Convolution

  • The step of convolution is not one.
  • size of input is n, stride s, filter size f, padding p, size of output is n + 2 p f s + 1 \frac {n+2p-f} {s} +1
  • cross-correlation / convolution: flip the matrix both vertically and horizontally

4. Convolution on 3-D Images


5. Convolution Layer in CNN

  • Convolve with filter
  • Add bias
  • Apply it to function R e l u Relu
  • Go to the next layer

6. Pooling Layer in CNN

  • Max Pooling: Reduce the size of features by taking MAX from every small matrix
  • Average Pooling: taking the AVERAGE value

7. Fully-Connected Layer in CNN

  • can be seen as a layer in neural network
  • neighboring layers are fully-connected

猜你喜欢

转载自blog.csdn.net/sinat_35406909/article/details/83714925