SEPC:使用3D卷积从FPN中提取尺度不变特征,涨点神器 | CVPR 2020
论文提出PConv为对特征金字塔进行3D卷积,配合特定的iBN进行正则化,能够有效地融合尺度间的内在关系,另外,论文提出SEPC,使用可变形卷积来适应实际特征间对应的不规律性,保持尺度均衡。PConv和SEPC对SOTA的检测算法有显著地提升 ,并且没有带来过多的额外计算量
来源:晓飞的算法工程笔记 公众号
论文: Scale-Equalizing Pyramid Convolution for Object Detection

Introduction

特征金字塔是解决物体尺度问题的重要手段,但是不同level的特征图其实存在较大的语义差距。为了消除这些语义差距,很多研究专注于如何加强特征的融合,但这些研究大都直接将特征图缩放相加,没有很好地考虑特征金字塔的内在属性。受尺度空间理论(多尺度提取特征点)的启发,论文提出PConv(pyramid convolution),使用3-D卷积来关联相近的特征图,挖掘尺度间的相互作用。考虑到特征金字塔的层间特征变化较大,层间各点的对应无规律,论文提出SEPC(scale-equalizing pyramid convolution)对特征金字塔的高层特征进行可变形卷积,能够自适应实际的尺度变化,保持层间尺度均衡。
论文的主要贡献如下:
- 提出轻量级金字塔卷积PConv,对特征金字塔进行3-D卷积来挖掘内在尺度的关联性。
- 提出尺度均衡的金字塔卷积SEPC来减少特征金字塔与高斯金字塔间差异(论文证明了PConv在高斯金字塔上具有尺度不变性)。
- 该模块能够提升SOTA single-stage目标检测算法的性能,而且几乎不影响推理速度。
Pyramid convolution

PConv(pyramid convolution)其实是个3-D卷积,横跨尺度和空间维度,如图4a所示,PConv可表示为N个不同的2-D卷积。

但不同pyramid level的特征图大小是不同的,为了容纳不同的尺寸,在PConv在处理不同的特征图时使用不同的stride,论文采样$N=3$,首个卷积核的stride为2,最小的的卷积核的stride为0.5。

PConv可表示为公式1,$w_1$、$w_0$和$w_{-1}$为3个独立的2-D卷积核,$x$为输入的特征图,$*_{s2}$代表stride为2的卷积核。

stride为0.5的卷积核先对特征图双线性上采样2倍,再用stride为1的卷积核进行处理。PConv也使用zero-padding,对于底层和顶层的pyramid level仅需使用公式2的其中两项即可,PConv的计算量大约为原始FPN的1.5倍。
Pipeline

如图5a所示,RetinaNet可看作是$N=1$的PConv,将4个Conv head替换成$N=3$的PConv head,堆叠的PConv能够有效地逐步提高相关性,而且不会带来过多的额外计算。但为了尽可能减少计算量,可以选择分类和定位分支先共享4层PConv,再额外分别添加一层普通卷积层,如图5b所示,这样设计的计算量甚至比原生的RetinaNet还要少,具体计算可以看原文Appendix 1。
Integrated batch normalization (BN) in the head
PConv使用共享的BN层,统计feature pyramid中所有特征图,而不是单图统计。由于统计来自于pyramid内所有的特征图,方差会变得更小。这样,即使使用很小的batch size也可以很好地训练BN层(方差较稳定)。
Scale-equalizing pyramid convolution

PConv对于不同的level都使用固定的卷积核大小,在高斯金字塔上(模糊程度不严重且高斯核接近特征图缩放比例),PConv能够提取尺度不变的特征,具体证明可以看原文Appendix 3。
但实际中,由于多层卷积和非线性操作的存在,特征金字塔的模糊程度比高斯金字塔要严重得多(特征的缩放程度可能跟特征图大小不成比例),使用固定的卷积核大小很难提取尺度不变的特征。为此,论文提出SEPC(scale-equalizing pyramid convolution),对除最底层外的高层特征使用可变形卷积,单独预测一个offset,能够自适应各层的模糊程度,保持特征图间的尺度均衡,从而提取尺度不变的特征。
SEPC主要有以下好处:
- 可变形卷积的自适应性能够处理特征金字塔较大的层间模糊程度。
- 消除特征金字塔与高斯金字塔间的差异(论文证明PConv能够对高斯金字塔提取特征不变的特征)。
- 由于高层特征的卷积计算量相对于低层减少了4倍(面积减少),对高层加入可变形卷积仅带来少量额外的计算量。
SEPC分为两个版本,SEPC-full对图5b的Combined head和Extra head加入SEPC,而SEPC-lite则仅对Extra head加入SEPC。
Experiments
Single-stage object detectors

Effect of each component

Comparison of different BN implementations in the head

BN层的输出$y=\gamma \frac{x-\mu}{\sigma} + \beta$,$\gamma$和$\beta$为参数,$\mu$和$\sigma$为统计结果,图7的三种BN的对比,其中Integrated BN(iBN)为论文提出的共享BN,全部参数和统计共享
Comparison with other feature fusion modules

Comparison with state-of-the-art object detectors

Extension to two-stage object detectors

CONCLUSION
论文提出PConv为对特征金字塔进行3D卷积,配合特定的iBN进行正则化,能够有效地融合尺度间的内在关系,另外,论文提出SEPC,使用可变形卷积来适应实际特征间对应的不规律性,保持尺度均衡。PConv和SEPC对SOTA的检测算法有显著地提升,并且没有带来过多的额外计算量。
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

SEPC:使用3D卷积从FPN中提取尺度不变特征,涨点神器 | CVPR 2020的更多相关文章
- 基于3D卷积神经网络的人体行为理解(论文笔记)(转)
基于3D卷积神经网络的人体行为理解(论文笔记) zouxy09@qq.com http://blog.csdn.net/zouxy09 最近看Deep Learning的论文,看到这篇论文:3D Co ...
- 基于3D卷积神经网络的行为识别:3D Convolutional Neural Networks for Human Action Recognition
简介: 这是一片发表在TPAMI上的文章,可以看见作者有余凯(是百度的那个余凯吗?) 本文提出了一种3D神经网络:通过在神经网络的输入中增加时间这个维度(连续帧),赋予神经网络行为识别的功能. 相应提 ...
- 了解1D和3D卷积神经网络 | Keras
当我们说卷积神经网络(CNN)时,通常是指用于图像分类的2维CNN.但是,现实世界中还使用了其他两种类型的卷积神经网络,即1维CNN和3维CNN.在本指南中,我们将介绍1D和3D CNN及其在现实世界 ...
- 从单一图像中提取文档图像:ICCV2019论文解读
从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...
- 利用ROS工具从bag文件中提取图片
bag文件是ROS常用的数据存储格式,因此要从bag文件中提取数据就需要了解一点ROS的背景知识. 1. 什么是ROS及其优势 ROS全称Robot Operating System,是BSD-lic ...
- (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
openssl rsa 是RSA对称密钥的处理工具 openssl pkey 是通用非对称密钥处理工具,它们用法基本一致,所以只举例说明openssl rsa. 它们的用法很简单,基 ...
- 硕毕论文_基于 3D 卷积神经网络的行为识别算法研究
论文标题:基于 3D 卷积神经网络的行为识别算法研究 来源/作者机构情况: 中 国 地 质 大 学(北京),计算机学院,图像处理方向 解决问题/主要思想贡献: 1. 使用张量CP分解的原理, ...
- [数据科学] 从csv, xls文件中提取数据
在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...
- 如何使用免费PDF控件从PDF文档中提取文本和图片
如何使用免费PDF控件从PDF文档中提取文本和图片 概要 现在手头的项目有一个需求是从PDF文档中提取文本和图片,我以前也使用过像iTextSharp, PDFBox 这些免费的PD ...
随机推荐
- 瑞银预计小扎的十年规划可获大回报 上调Facebook股票目标价
瑞银认为马克·扎克伯格(Mark Zuckerberg)为Facebook定制的十年规划将带来丰厚回报,它已将Facebook股票的目标价由之前的155美元上调至165美元. Facebook首席执行 ...
- 关于Python的JSON
1.json模块load/loads.dump/dumps区别:(摘自这里) 实际上json就是python字典的字符串表示,但是字典作为一个复杂对象是无法直接转换成定义它的代码的字符串,python ...
- ASP.NET Core WebApi(01)项目建立
前言:前一段时间学习了ASP.NET Core,决定写个简单的项目,旨在消化所学内容,并记录过程中遇到的问题.本章是第一篇,内容为项目的建立 一.准备工作 安装Visual Studio时,默认会安装 ...
- 数学--博弈论--巴什博奕(Bash Game)
终于也轮到我做游戏了,他们做了好几个月的游戏了. 巴什博弈: 两个人做游戏,取石子,一个人最多可以可以取M个,至少取1个,最后取完的赢. 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先 ...
- unittest 中的方法调用时报错 ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest
1.调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTe ...
- 解决虚拟机中linux系统无法使用本机无线wifi联网的问题
VMware Workstation 在嵌入式开发中经常会遇到,但是显示大多数人使用开发环境是Win10 + 无线网卡,针对这种情况,需要配置虚拟机的上网环境使用的是NAT模式,将配置过程进行描述: ...
- libevent(五)使用例子
客户端: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/t ...
- Codeforces Round #575 (Div. 3) 昨天的div3 补题
Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了. B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分 ...
- Linux创建软硬链接和打包压缩、解压缩
软硬链接 ln = link make links between files 语法: 软链接 ln -s 源文件 链接名称 实例: ln -s HelloWord.java hw.lnk 给Hell ...
- Polar码快速入门
Polar码快速入门 本科生在学习极化码时,并不是件简单的事情.网上极化码的资料很少,而且基本上都是较难的论文.这篇文章是用来帮你快速入门极化码. Poalr码背景 2015 年,国际电信联盟无线通信 ...