TridentNet:Scale-Aware Trident Networks for Object Detection(三分支网络)
论文贡献:
1 首次提出感受野(receptive field)对目标检测任务中不同scale大小物体的影响,并进行相关实验验证;
2 提出了适应于多尺度的目标检测框TridentNet;
3 使用参数共享的方法,提出训练的3个branch,测试时只是用一个branch,这样保证推断时不会有额外的参数和计算量的增加。
处理多尺度问题的方法
1 图像金字塔,传统的检测算法
2 特征金字塔,FPN
3 本文的三叉戟网络,分为3个分支,所有的参数都一样,唯一的区别就是膨胀卷积的膨胀率不一样
膨胀卷积Dilated Convolution(空洞卷积Atrous Convolution):
假设膨胀率为ds,使用的卷积核大小33,则使用膨胀卷积的感受野大小为3+22*(ds-1)
1 ds=1,表示不进行膨胀,感受野为33
2 ds=2,表示进行膨胀,感受野为77
3 ds=4,表示进行膨胀,感受野为15*15
经验证,随着感受野的增大,小目标的检测准确率也开始下降,但是大目标的检测准确性开始上升。
TridentNet网络结构:
TridentNet 模块主要包括3个完全一样的分支,唯一不同的只是膨胀卷积的膨胀率。从上到下,膨胀率分别为1,2,3,分别检测小,中,大的目标。三个分支共享权值。
TridentNet 模块主要包括3个完全一样的分支,唯一不同的只是膨胀卷积的膨胀率。从上到下,膨胀率分别为1,2,3,分别检测小,中,大的目标。三个分支共享权值。
SABL:Side-Aware Boundary Localization for More Precise Object Detection(粗细结合,预测更准确的Bounding Box)
论文贡献
在传统的二阶段目标检测网络中,预测Bounding Box的方式如图(a)所示,即计算Bounding Box相对于Proposal的偏移量;作者提出了图(b)所示SABL,进一步提高检测器中Bounding Box的准确性。
SABL分别计算Bounding Box的每个边,对于每个边,计算步骤为:
1 将每个边的潜在区域(target space)划分为多个bucket,每个bucket表示的不是精确的位置,而是一个位置区间;
2 通过CNN得到边所在的bucket,即确定了变的位置区间;
3 回归bucket中心点和ground truth的偏差(offset),得到边的精确位置。
SABL网络实现
使用了SANL模块的二阶段检测网络结构如下图所示:
上图表示的是Side-aware Feature Extraction,具体的结构为:
上图中的特征F是将尺寸为k × k 的ROI Feature通过2个3×3卷积层得到的,特征F \mathcal{F}F分别通过2个1 × 1 1 \times 11×1卷积、然后分别Normalize Along Y-axis、Normalize Along X-axis;分别将Mx和My作用于F,得到Fx和Fy,计算公式如下:
RepPoints: Point Set Representation for Object Detection
论文贡献
提出了一种新的表现形式,称为RepPoints,它提供了更细粒度的定位并有助于分类。如图所示,RepPoints是一组点,这些点学会以一种限定对象空间范围并指示语义上重要的局部区域的方式自适应地将自己定位在目标上。
RepPoint的训练时由目标定位和识别目标共同驱动的,因此,RepPoint被真实边界框紧密约束,并引导检测器进行正确的对象分类。
RepPoints利用DCN提取到了目标本身的多个关键点,文中选取了9个可以自适应“跳动”的采样点(初始采样点应该就是3x3卷积的9个采样点??),由分类和定位统一做监督,使得这些点更好的包含语义信息,来识别,最终定位一个目标。
创新点
anchor-free+DCN取点预测;
之前的可变性卷积难以解释,偏移量的自由学习;
anchor-base存在的问题:难以调参,正负样本均衡问题。
网络实现
提出了RPDet,整体网络结构,如下图所示,RepPoint充当整个检测系统的基本对象表示。 从中心点开始,通过回归中心点的偏移量可以获得第一组RepPoint。 这些RepPoint的学习是由两个目标驱动的:
诱导预选课和真实边界框之间的左上和右下点距离损失;
后续阶段的目标识别损失。
第二组RepPoints代表最终的目标回归,它由从第一组RepPoints从公式5中细化。仅由点距离损失(points distance loss)驱动,第二组RepPoint旨在学习更好的对象定位。
头的体系结构如下图所示。有两个非共享子网,分别针对回归(生成RepPoints)和分类。 回归子网首先应用三个256-d 3×3转换层,然后再应用两个连续的小型网络来计算两组RepPoint的偏移量。 分类子网还应用了三个256-d 3×3的conv层,然后是256-d 3×3的可变形conv层,其输入偏移字段与回归子网络中的第一个可变形conv层共享。 在两个子网中的前三个256-d 3×3 conv层中的每一个之后,应用组归一化层。
由上图可以看出来,分类只做一次,回归两次,其中第一次分类和回归共享offset。