CNN卷积神经网络

目录

计算机视觉

图像识别

目标检测

图像语义分割

实例分割

cnn可以解决的问题

CNN五层网络结构

数据输入层 Input

卷积层 Convolution Layer

卷积常用参数

查看卷积层参数

激活层 Relu

池化层 Pooling

目的

参数

全连接层 FC

总汇


计算机视觉

图像识别

用于识别图像中物体的类别(如:bottle、cup、cube)。

目标检测

用于检测图像中每个物体的类别,并准确标出它们的位置。

图像语义分割

用于标出图像中每个像素点所属的类别,属于同一类别的像素点用一个颜色标识。

实例分割

目标检测任务只需标注出物体位置,实例分割任务不仅要标注出物体位置,还需要标注出物体的外形轮廓。

cnn可以解决的问题

1)有效的将大数据量的图片降维成小数据量

2)有效的保留图片特征,符合图片处理原则

CNN五层网络结构

卷积神经网络,是一种专门用来处理具有类似网络结构的数据的神经网络。

数据输入层 Input

预处理,图像的像素矩阵。

卷积层 Convolution Layer

卷积层也叫过滤器、内核或卷积核。

主要是对输入的图像和滤波矩阵(恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是卷积。

卷积计算

CNN卷积神经网络_第1张图片

填充值 zero-padding(防止边缘图像的特征提取效果不佳)

CNN卷积神经网络_第2张图片

步幅 stride (减小输入参数的数目,减少计算量计算时像素移动两个位置)

CNN卷积神经网络_第3张图片

  • 卷积常用参数

    • num_filters输出通道数目
    • filter_size卷积核大小
    • stride步幅
    • padding填充大小
    • act激活函数(作用在神经元上)
  • 查看卷积层参数

    • 查看参数conv.parameters()
    • 查看权重名字和数值print(conv.parameters()[0].name,conv.parameters()[0].numpy())
    • 查看偏置名字和数值print(conv.parameters()[1].name,conv.parameters()[1].numpy())

激活层 Relu

激活函数(加入非线性因素)

Relu激活函数

CNN卷积神经网络_第4张图片

CNN卷积神经网络_第5张图片

池化层 Pooling

概念:使用某一位置的相邻输出的总体统计特征来代替网络在该位置的输出

  • 平均池化:在选中的像素中求平均值,来代表区域的统计特征
  • 最大池化:在选中的像素中选择最大值,来代表区域的统计特征

目的

1)使特征图变小,简化网络计算复杂度

2)特征压缩,提取主要特征

3)加快计算速度

4)防止过拟合

5缩小最后全连接层中节点的个数,减少整个神经网络参数 

  • 参数

    • 窗口大小pool_size=[kh,kw]
    • 窗口滑动步幅pool_stride=[stride_h,stride_w]
    • 图片填充padding=[ph,pw]
    • 常见配置参数kh=kw=2,stride_h=stride_w=2,ph=pw=0(图片长宽减半)

全连接层 FC

总汇

CNN卷积神经网络_第6张图片

 

你可能感兴趣的:(深度学习,cnn,深度学习,目标检测)