关于Yolov3-Tiny算法

发布时间 2023-06-06 16:38:40作者: 可达达鸭

1. Yolov3-Tiny模型

  • YOLOv3-Tiny 网络模型一共有24层,包括13个卷积层,6个最大池化层,2个route层,1个上采样层以及2个输出Yolo层。
  • 一共有13层卷积层,网络参数及计算量适中,适合在ZYNQ嵌入式平台上加速。

1.1 卷积层

  • 目的:提取输入特征图多个层次的特征。假设卷积层有N组卷积核(每组卷积核与同一输入数据相卷积),可以得到输入特征图N种不同的特征。

  • 多通道的卷积核和输入特征图的对应通道之间进行乘加运算,各个通道计算结果的累加值与偏置值相加得到了卷积层的输出。

1.2 非线性激活层

  • 卷积计算结果输出之后经过非线性激活运算作为下一层的输入。

  • 非线性激活层的意义在于可以非线性的表示数据之间的复杂关系。多个线性函数的组合还是线性的,能够表示的特征关系太过单一。

  • 几种非线性激活函数

    • Sigmoid函数和Tanh函数都存在神经网络反向传播时出现的梯度消失的问题。
    • 而ReLU函数,单侧抑制,解决了梯度消失的问题,加快了网络的训练速度,但是也丢弃了所有输入为负值的神经元
    • Leaky ReLU函数,负值也仍然可以被激活。

1.3 池化层(下采样层)

  • 可以分为最大池化/平均池化。

  • 池化层的作用

    • 保留重要参数,减少网络计算量以及内存的消耗。

    • 保留特征图的重要信息,去除冗余信息。不会过于依赖训练的数据信息,防止网络模型出现过拟合现象。

1.4 全连接层

  • 将前面计算的各层得到的特征进行整合,输出一个值。
  • 卷积实现:如果前一级是卷积层,那么设置卷积核大小为H*W(前层卷积结果的高和宽)。如果前一级是全连接层,那么卷积核为1*1的大小。