目标检测 - FPN结构

这篇具有很好参考价值的文章主要介绍了目标检测 - FPN结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标检测 - FPN结构,AI,目标检测,深度学习,人工智能

论文:Feature Pyramid Networks for Object Detection

网址:https://arxiv.org/abs/1612.03144

目标检测 - FPN结构,AI,目标检测,深度学习,人工智能

图a为特征图像金字塔,针对我们要检测不同尺度的目标时,我们会将图片缩放到不同的尺度,针对每个尺度的图片都经过我们的模型进行预测。面临问题:生成n个不同的尺度,就要重新预测n次,这样效率是很低的。

图b为Faster-CNN采用的一种方式,图片通过backbone得到最终的特征图,在最终的特征图上进行预测。这种情况下,针对小目标的预测并不是很好。

图c,与SSD算法很类似,将一张图片通过backbone,在backbone正向传播过程中得到的不同尺度的特征图上分别进行预测。

图d为FPN结构,并不是简单的在backbone得到的不同尺度的特征图上进行预测,而是将不同特征图上的特征进行融合,在融合所得到的特征图上,再进行预测。

目标检测 - FPN结构,AI,目标检测,深度学习,人工智能

那么该如何进行融合呢?

需要注意,所采用的不同特征图,是有一定的要求的,是按2的整数倍进行选取的。比如,最底层的特征图的高和宽是 28 × 28 28\times 28 28×28。那么上一层就需要采用 14 × 14 14\times14 14×14的特征图,再往上就需要采用 7 × 7 7\times7 7×7的特征图。

首先,针对backbone每个尺度的特征图,我们都会使用一个 1 × 1 1\times 1 1×1的conv进行处理,是为了调整backbone上不同特征图它的channel。(在原论文中, 1 × 1 1\times1 1×1的卷积核个数为256,即最终得到的特征图的channel都等于256。)

然后,对于上层的特征图,需要进行一个2倍的上采样(采用临近插值算法实现)。

最后,将本层经过 1 × 1 1\times1 1×1得到的特征图与上层特征图经过上采样得到的特征图进行融合。

目标检测 - FPN结构,AI,目标检测,深度学习,人工智能

在不同尺度的特征融合后,接了一个 3 × 3 3\times3 3×3的卷积,是为了更好的融合特征。在P5的基础上进行一次下采样得到P6。(使用MaxPool,池化核大小为 1 × 1 1\times1 1×1,步长等于2)。然后会在生成的这5个特征图上进行预测。

注意:

如上图,P6只用于RPN部分,不在Faster-RCNN部分使用。

针对不同的预测特征层,RPN和Faster RCNN的权重共享。文章来源地址https://www.toymoban.com/news/detail-817635.html

到了这里,关于目标检测 - FPN结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包