多尺度检测(特征金字塔)(空间金字塔池化)(融合多层信息)的好处
多尺度检测(不同的idea)
(特征金字塔)(空间金字塔池化)(带洞空间金字塔池化)(融合深浅层特征)
检测和分割中的例子
分割:
sppnet中的spp空间金字塔池化结构;(spatial pyramid pooling)
pspnet中的pyramid pooling moudle结构,综合讲是金字塔场景解析结构;
deeplabv3+中的aspp结构,以及解码过程中联合编码部分信息的构造;(atrous spatial pyramid pooling)
检测:
ssd中的使用多尺度的特征图投向最后的检测器;
yolov3中使用的三个不同尺度,小尺度上采样融合前面特征变成大尺度;
FPN中的top-down结构,各种改造的特征金字塔(NAS-FPN、panet、Bifpn);
trident net中的三叉戟结构,类似aspp结构;
根据不同的任务,下面的理由适合解释多尺度的好处。
深层浅层map信息特征
深层网络的感受野比较大,语义信息表征能力强,但是特征图的分辨率低,几何信息的表征能力弱(空间几何特征细节缺乏);
低层网络的感受野比较小,几何细节信息表征能力强,虽然分辨率高,但是语义信息表征能力弱。
高层的语义信息能够帮助我们准确的检测或分割出目标。
深浅层对应适合的目标大小
下采样倍数小(一般是浅层)的特征感受野小,适合处理小目标,小尺度map(深层)分辨率信息不足不适合小目标
在yolov3中对多尺度检测的理解是,1/32大小的特征图(深层)下采样倍数高,所以具有大的感受野,适合检测大目标的物体,1/8的特征图(较浅层)具有较小的感受野,所以适合检测小目标。
FPN中的处理在下面。
对于小目标,小尺度feature map无法提供必要的分辨率信息,所以还需结合大尺度的feature map
还有个原因是在深层图做downsample损失过多信息,小目标信息或许已经被忽略。
融合深浅层特征适合做复杂任务
融合深浅层后的特征语义信息特征和空间信息特征都不错。
图像中存在不同尺寸的目标,而不同的目标具有不同的特征,利用浅层的特征就可以将简单的目标的区分开来;利用深层的特征可以将复杂的目标区分开来;这样我们就需要这样的一个特征金字塔来完成这件事。
图中我们在第4层输出较大目标的实例分割结果,在第5层输出中型目标的实例检测结果,
在第6层输出较小目标的实例分割结果。因为在大的feature map上进行操作,可以获得更多关于小目标的有用信息(分辨率有关,第三条);
检测也是一样,我们会在第4层输出简单的目标,第5层输出较复杂的目标,第6层输出复杂的目标。
举例SSD:
SSD采用多尺度的特征图来预测目标,使用具有较大感受野的高层特征信息预测大的物体,具有较小感受野的低层特征信息预测小目标。
这样就带来一个问题:使用的低层网络的特征信息预测小目标时,由于缺乏高层语义特征,导致SSD对于小目标的分类结果较差,即SSD没有充分利用浅层与深层的特征。
解决这个问题的思路就是对高层语义信息和低层语义信息进行融合,丰富预测回归位置框和分类任务输入的多尺度特征图,以此提高精度。