YOLOv5-小知识记录(三)

0. 写在前面

        本篇介绍SPP模块、FPN模块模块,主要也是对YOLOv5的内容的补充:

Yolo系列算法-理论部分-YOLOv4-CSDN博客

Yolo系列算法-理论部分-YOLOv5-CSDN博客

        上一篇:

        YOLOv5-小知识记录(二)-CSDN博客

1. SPP模块

        Spatial Pyramid Pooling,设计该模块的目的是,确保输入全连接层之间的特征向量feature vector是固定尺寸。feature vector 是feature maps的展开,常规的做法是对输入的数据进行剪裁和变形操作,这两种操作可能引发裁剪区域没包含物体的全部或者目标无用,是真严重等问题;而SPP则是将不同feature maps展开为固定尺寸的feature vector。

        工作原理:对每个特征图,使用三种不同尺寸的池化核进行最大池化,分别得到预设的特征尺寸,最后将所有特征图展开为特征向量并融合。

        以经过了5次卷积模块运算后的Tensor[1,256,10,10],运用SPP原理倒推最大池化层信息

        步骤:

  1.  明确全连接层的输入参数尺寸:107521 = 21*256 = 16*256+4*256+1*256;
  2.  明确三种池化后的特征图尺寸,4*4,2*2,1*1;
  3.  求出三种的kernel、stride和padding:
    1. 4*4对应的kernel = 10/4 = 3;stride = 10/3 = 3;padding = [(3*4-10+1)/2] = 1;
    2. 2*2对应的kernel = 10/2 = 5 ; stride =  10/2 = 5;padding = [(5*2 -10 +1)/2] = 0;
    3. 1*1对应的kernel = 10/1 = 10; stride = 10/1 = 10;padding = [(10*1 - 10 +1)/2] =0。

        优点:可以忽略输入尺寸并产生固定长度的输出;利用不同池化核尺寸提取特征的方式可以获得丰富的特征信息,有利于提高网络的识别精度。

2. FPN模块

        Feature pyramid network,在目标检测中加入特征金字塔,提高目标检测的准确率,尤其是在小物体的检测上。

        特征金字塔的高(深)层特征包含丰富的语义信息(利于分类),但分辨率低,很难准确地保存物体的位置信息;低(浅)层特征虽然语义信息较少,但分辨率高,包含准确地物体位置信息(有利于检测和分割)。

        FPN将低层特征和高层特征融合起来,得到一个识别和定位都准确地目标检测结构。

        主要包括:Bottom-up、Top-down和Lateral connection。

        (1)Bottom-up:就是将图片输入到backbone中提取特征的过程

        (2)Top-down:就是将高层得到的feature map进行上采样然后往下传递,将深层包含语义信息传到低层特征上,使低层特征也能包含丰富语义信息;

        (3)Lateral connection:是一个特征融合过程,P1是C1经过1*1卷积后的特征与P2上采样后的特征进行融合(add方式,直接相加,不增加维度)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值