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的大小。