前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >笔记分享 : 论文解读 Spatial Pyramid Pooling in Deep Convolutional

笔记分享 : 论文解读 Spatial Pyramid Pooling in Deep Convolutional

作者头像
唐国梁Tommy
发布2021-05-28 17:32:37
1.2K0
发布2021-05-28 17:32:37
举报
文章被收录于专栏:唐国梁Tommy唐国梁Tommy

今天分享的学习笔记是CV(Computer Vision)领域中一篇论文,该论文由何凯明大神于2015年发表。何大牛在CV界几乎无人不知、无人不晓。

今天这篇论文的题目是《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》,接下来,我们一起学习一下。

【注意:这篇论文于2015年发表,比较早了,所以有些表述是基于当时的情境。】

论文开篇提出了一个问题或现状,即:现有的(指2015年以前啦)深度神经网络需要固定输入尺寸,比如224x224。这种预先设定的尺寸会降低在任意大小或尺度上图像的识别准确率。既然存在问题,那么就有解决方案。作者提出了SPP-net,spatial pyramid pooling的简称,中文翻译是:空间金字塔池化。SPP的主要目标是不管输入图像的大小或尺度,SPP都会生成一个固定长度的表示(representation)。

在Introduction部分,作者总结了SPP的三大非常好的特性,分别是:

① SPP不受输入image大小或尺度的限制,都会生成固定长度的表示;

② SPP使用了多层空间的bins(multi-level spatial bins);

③ 由于输入尺度的灵活性,SPP能够共享基于不同尺度提取的特征。

个人观点:这三种特性增加了网络提取特征的灵活性,同时基于共享特征,可以减少计算量。

接下来,我们看一下深度网络中SPP到底做了哪些事情?

第一件事:SPP通过共享局部空间的bins来保存空间信息,因而提升了BoW (Bag of Words);

第二件事:无论输入image的大小是多少,这些bin的数量是固定的,且这些空间bins的大小与image的大小成比例关系;

以下是SPP网络结构图:(256 :第5层卷积层的filter的数量)

个人观点:如图所示,基于feature map,SPP基于多个尺度提取信息,然后拼接这些信息,形成固定长度的representation。这种方法的优点是可以对物体特征的提取更加细粒度,检测和识别效果也会更好。

我们继续看一下网络的训练部分,这里分成两种情况:single-size training 和 multi-size training

1. single-size training (论文结论是不采用此种方法,这里不予介绍)

2. multi-size training : 会将之前的图片尺寸由224x224转换为180x180,除了会降低分辨率,并不会改变图片中内容或布局。

以上single/multi-size仅针对training部分,在test阶段,SPP适用于任意尺寸的图片。

个人观点:这里的多尺度训练,主要还是让模型提取更多信息,使得模型的泛化性能更高。

在论文中,作者用SPP-net分别在image classification和object detection上进行了大量对比实验,感兴趣的同学可以看一下这个结果对比数据。

例如,SPP在ImageNet 2012 分类任务上的实验,作者用了3种网络模型,如图所示:

同时,作者通过以下几个tricks提高了accuracy,这几个tricks分别是:multi-level pooling,multi-size training,full-image representation 以及 multi-view testing。

关于在VOC 2007 classification上的实验,请查看论文中的数据对比。

个人观点:在六年前,SPP用的这些模型进行实验,得到的结果确实不咋好。毕竟技术‘日’新月异,变化太快。不过,SPP这种思想在后续的很多算法中得到了体现,例如RPN。

那么,SPP-net在object detection上表现如何呢?

SPP采用了RCNN算法的思想,对于每张图片,利用selective search算法采样2000个候选框,针对每个候选框,采用4个spatial pyramid(1×1, 2×2, 3×3, 6×6, totally 50 bins)提取特征。每个候选框用12800维(256x50)来表示。然后,这些representations被输入到全连接层FC,然后用SVM进行分类。

个人观点:SPP这种检测算法其实比较落伍了,目前YOLO v4/v5算法可比这快好几个量级的速度。

最后,是本论文的结论:

1. SPP 解决不同尺度、大小、长宽比非常灵活;

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 唐国梁Tommy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档