作者:SFXiang
首发:AI算法修炼营
本文是中科院自动化所、腾讯优图、快手科技联合发表的工作,收录于CVPR2020。对定向和密集场景的目标进行检测,可以说是目标检测在特定场景下的应用与优化。具体的创新点在于特征选择模块通过改进可形变卷积,实现自适应感受野。对分类和回归任务进行动态优化。
论文地址: https://arxiv.org/pdf/2005.09973.pdf
代码地址: https://github.com/Anymake/DRN\_CVPR2020
在过去十年中,目标检测取得了显着进展。由于以下原因,对定向和密集物体的检测仍然具有挑战性。(1)神经元的感受野通常沿轴排列并具有相同的形状,而物体通常具有不同的形状并沿各个方向排列;(2)检测模型通常是在通用知识的基础上进行训练的,在测试时可能不能很好地概括处理特定的物体;(3)有限的数据集阻碍了这项任务的发展。
为了解决前两个问题,本文提出了一种动态优化网络,该网络由两个新颖的组件组成,即特征选择模块(FSM)和动态优化head(DRH)。其中FSM使神经元能够根据目标对象的形状和方向调整感受野,而DRH使模型能够以目标对象感知的方式动态地优化预测。为了解决相关baseline测试有限的可用性,本文收集了一个扩展的且带有完整注释的数据集SKU110K-R,该数据集基于SKU110K数据集的定向边界框进行重新标记。对包括DOTA,HRSC2016,SKU110K和自己的SKU110K-R数据集在内的多个公开baseline进行定量评估。实验结果表明,与baseline方法相比,本文的方法获得了一致且可观的性能提升。
简介
随着深度学习方法用在目标检测领域,目标检测任务的效果取得较大的发展。目前,大多数目标检测算法都集中于解决轴对齐或者直立的目标,但是,当目标物体(例如航空图像中的物体)处于任意方向并呈现密集分布时,这些目标检测器中的大多数都会遇到问题。而且,几乎所有这些检测器都在训练集上获得优化后的模型参数,并在之后的运算保持固定。
目前,大部分两阶段的目标检测算法都是首先生成大量的horizontal 边界框作为感兴趣区域(RoI),然后根据区域特征预测类别和位置。但是,horizontal RoI通常会受到边界框和固定方向的目标之间严重的未对准问题的影响。例如,航空影像中的物体,通常在任意方向密集堆叠,这样在一个horizontal RoI中会有多个物体实例。为解决这个问题,有研究者提出了利用定向边界框作为处理旋转目标的anchor。然而,这些方法由于要设计许多具有不同角度、不同比例和纵横比的anchor,计算复杂度高。
模型训练是从特殊到一般的过程,而推理是从一般到特殊的过程。但是,几乎所有方法都遵循stationary paradigm,并且无法基于样本进行灵活的推断。Dynamic filters 动态滤波器是一种简单而有效的方法,可以使模型在不同样本之间进行转换。现有的方法通过Dynamic filters 重新了组合特征,并取得了不错的结果。但是,目标检测器有两个不同的任务,即分类和回归。对于分类任务,关键是完善特征embedding以提高其可分辨性。但是,对于回归问题,需要直接优化预测值。 因此,本文针对以上两个方面提出了两种版本的动态优化head(DRH)。
图1. 分类(a)和回归(b)的动态优化示意图。 每个实心点代表一个sample。 通过训练过程中学习到的一般知识,分类器和回归器在进行预测的同时,还存在缺乏灵活性的问题。模型应随着sample的变化而变化。图中箭头显示了为提高性能而进行的有可能的改进。
在这项工作中,采用CenterNet 并以一个额外的角度预测head作为baseline,并提出了动态优化网络(DRN)。具体来说,DRN由两个新颖的部分组成:功能选择模块(FSM)和动态优化head(DRH)。FSM使神经元能够根据目标对象的形状和方向调整感受野,从而将准确的去噪特征传递给检测器。DRH使模型能够以目标对象感知的方式进行灵活的推断。具体而言,本文提出了两种用于分类(DRH-C)和回归(DRH-R)任务的DRH。此外,还重新标记了SKU110K 的定向bounding box,并将其称为SKU110K-R,通过这种方式,有助于定向的物体检测。
主要贡献:
(1)提出了一种新颖的特征选择模块FSM,可以根据物体的形状和方向来自适应地调节神经元的感受野。提出的FSM有效地缓解了感受野和物体之间的不对齐问题。
(2)提出两种动态优化检测头DRH,分别用于分类和回归任务。DRH可以对每个样本的唯一性和特殊性进行建模,并完善其预测。
(3)重新标记数据集并得到SKU110KR,该数据集包含定向bounding box的准确标注,以促进对定向和密集物体的检测。
(4)本文的方法在DOTA、HRSC2016、SKU110K和SKU110K-R数据集的定向和密集物体检测上显示出一致的性能提升。
baseline:CenterNet(检测中心点 + 边框回归)
论文地址:https://arxiv.org/abs/1904.07850
代码地址:https://github.com/xingyizhou...
CenterNet算法将目标检测问题变成了一个关键点的估计问题,通过预测物体的中心点位置及对应物体的长与宽,实现了当前检测精度与速度最好的权衡。
CenterNet思想与网络
传统的基于Anchor的检测,常见做法是将Anchor与所有样本计算重叠的IoU,大于一定IoU阈值的作为正样本,小于阈值的视为负样本。而CenterNet的特点是:
(1)没有使用Anchor作为先验框,而是预测物体的中心点出现位置,因此也就不会存在先验框与标签的匹配,正、负样本的筛选过程。
(2)每个物体标签仅仅选择一个中心点作为正样本,具体实现是在关键点热图上提取局部的峰值点,因此也就不会存在NMS的过程。
(3)由于CenterNet专注在关键点的检测,因此其可以使用更大的特征图,而无须使用多个不同大小的特征图。在CenterNet的论文中其使用的网络下采样率为4。
CenterNet尝试了串联Hourglass、ResNet等多种网络用来提取特征,生成了特征点的热图。实验结果表明,Hourglass的网络能够提供更精确的检测精度,而更轻量的ResNet的检测速度会更快。
在Hourglass中,左半部分表示传统的卷积与池化过程,语义信息在增加,分辨率在减小。右半部分表示上采样与融合过程,深层的特征通过上采样操作与浅层的特征进行融合,在增大分辨率的同时,保留了原始的细节信息。
另外,CenterNet网络中没有center pooling操作, 而是把CenterPoint当做关键点来处理, 中心处响应值最高, 让其上下左右四个位置低些, 其余位置为0。
为了提高中心点的定位精度, 同样也会在每个位置上预测两个offset。 box的宽高通过直接回归得到(h, w)。 在将点回归到框的过程中, 会选择这个位置上的置信度比其他8个邻域位置置信度都要高的点。
CenterNet 网络预测与损失计算
- 关键点热图:这里的关键点热图与CornerNet类似,只是这里只预测一个中心点的位置。对于标签的处理,CenterNet将标签进行下采样,然后通过下式的高斯核函数分散到热图上。
- 中心点偏差:CenterNet对每个中心点增加了一个偏移的预测,并且所有类别共享同一个偏移预测值。
- 宽与高的预测:CenterNet不需要预测Embeddings来处理配对,而是预测了物体的宽与高, 这里的预测是原图像素坐标的尺度。
总体上,对于特征图上的一个点,CenterNet会预测C+4个值,其中包括C个类别的中心点得分、中心点(x, y)的偏差以及该物体的宽高(w, h)。
CenterNet的整体损失函数:
其中,Lk为关键点的损失,使用了Focal Loss的形式;Lsize为宽与高的预测损失,Loff为偏移预测的损失;Lsize与λoff是为了平衡各部分损失而引入的权重。
本文方法:Dynamic Refinement Network
图2.动态优化网络的总体框架。backbone后面是两个模块,即功能选择模块(FSM)和动态优化检测头(DRH)。FSM通过自适应调整感受野来选择最合适的特征。DRH以目标感知的方式动态优化预测。
本文使用CenterNet 作为baseline,该模型将目标建模为单个中心点(即边界框的中心点)并回归目标的大小和偏移量。为了预测定向的边界框,本文添加了一个分支来回归边界框的方向,如图2所示。
定向的边界框由下式定义:
其中(cx,cy)和(δx,δy)是中心点和偏移量预测;(w,h)是尺寸预测; Mr是旋转矩阵;Plt,Prt,Plb和Prb是定向边界框的四个角点。按照CenterNet的回归任务,本文使用L1损失进行旋转角度的回归:
其中θ和ˆθ分别是目标旋转角和预测旋转角;N是positive样本数。因此,模型的总体训练目标函数是:
其中Lk,Lsize和Loff是中心点识别,尺度回归和偏移回归的损失,与CenterNet相同;λsize,λoff和λang是常量,实验中都设为0.1。
1、 特征选择模块 Feature Selection Module
为了减轻各种物体与神经元轴对齐的感受野之间的不匹配,本文提出了一种特征选择模块(FSM),以自适应地聚合使用不同尺寸的卷积核、形状(长宽比)和方向所提取的信息(请参见图3)。
图3.顶部:特征选择模块.底部。旋转卷积层。图示为一个三个分支的例子。每个拆分提取不同的信息,采用3×3、1×3、3×1 kernels的旋转卷积层。并采用注意力机制来汇总信息。
Multiple features
给定一个特征图X首先用一个1×1卷积压缩特征,然后依次使用Batch Normalization 和ReLU 函数来改善特征信息的聚集。接下来,使用具有不同卷积核的旋转卷积层(RCL)提取Multiple features Xc。图3显示了一个具有3×3、1×3和3×1卷积核的三分支结构。每个分支负责接受不同的感受野,称其为Xi,其中i∈{1,2,3}。旋转卷积层RCL的灵感来自于可形变卷积,其实现细节如图3所示。类似于可形变卷积,本文用R表示规则的网格感受野和dilation。对于大小为3×3的卷积核有:
给定第i个位置的预定义偏移量pi∈R和角度θ,学习到的偏移量为:
其中Mr(θ)是公式(1)中定义的旋转矩阵。对于输出特征图Xi中的每个位置p0,有:
Feature selection
为了使神经元具有自适应的感受野,本文采用一种注意机制以position-wise方式融合特征。Xi首先送入一个注意块(由1×1的卷积,批归一化和ReLU组成)以获取注意图Ai(i∈1,2,3)。然后,在通道方向上对A进行concat,然后进行SoftMax操作以获得归一化的选择权重A'i:
最终,和输出特征为Y,整体结构可以扩展到多个不同的分支。
2、动态优化检测头 Dynamic Refinement Head
在标准的机器学习框架中,人们通常通过大量带注释的训练集来学习模型。在推断时,将测试示例输入参数固定的模型中以获得预测结果。当训练有素的模型只能在从训练集中学习到的常识的基础上做出响应而忽略每个sample的唯一性时,就会出现问题。为了使模型能够根据每个样本做出响应,本文使用DRH对每个输入目标对象的特殊性进行建模。具体地,两个不同的模块,即DRHC和DRH-R,可以分别用于分类和回归。
Dynamic refinement for classification
首先,获得一个object-aware filter:
其中G代表动态滤波器生成器,φ是Gc的参数集,Kc是学习的 example-wise的卷积核权重。然后,通过卷积运算获得特征优化。
其中Fmid是通过对具有3×3卷积核的Conv-BN-ReLU块进行处理而得到的基本特征,*表示卷积算符。最后得到了分类预测Hc
根据基本特征的长度自适应地对其进行改进。ε是控制细化范围的常数。
Dynamic refinement for regression
整体结构和计算过程与DRH-C类似:
其中R(·;Ψ)为参数Ψ的回归变量。
3、SKU110K-R Dataset
SKU110K-R Dataset是对SKU110K数据集的扩展。SKU110K数据集的这些图像是从数千家超级市场商店中收集的,并且具有各种比例、视角、照明条件和噪音,最后将所有图像调整为一百万像素的分辨率。数据集中的大多数目标实例都是紧密的packed ,并且通常在[-15°,15°]范围内具有一定的方向。为了丰富数据集,本文通过将图像旋转六个不同的角度(即-45°,-30°,-15°,15°,30°和45°)来执行数据增强。 然后,通过众包对每个目标实例的定向边界框进行注释,以获得SKU110K-R数据集。
实验与结果
数据集:DOTA、HRSC2016、SKU110K和SKU110K-R
评价指标:对于DOTA和HRSC2016数据集,使用与PASCAL VOC 相同的mAP计算。对于SKU110K和SKU110K-R,使用与COCO 相同的评估方法,IoU = 0.5:0.05:0.95时的平均精度(mAP)。
实现细节:backbone:hourglass-104, 使用DCNV2来实现RCL,Soft-NMS
1、对比实验
表1显示了DOTA测试集上比较。其他方法都是基于anchor的,并且大多数基于Faster R-CNN的框架。相比之下,本文的方法是anchor-free的。与baseline相比,本文的方法在mAP方面实现了3.3%的增长。
从上面的表格可以看出,在各个数据集上性能都有提升。
2、消融实验
3、定性分析
更多实验细节,可以参考原文。
推荐阅读
- ECCV2020 | SNE-RoadSeg:一种基于表面法向量提取的道路可行驶区域分割方法
- Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
- 一种用于移动机器人自动识别电梯按钮的去除透视畸变方法
更多机器学习、深度学习、计算机视觉、自动驾驶、机器人等领域最新最前沿的科技请关注微信号AI算法修炼营。