ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)

论文地址:https://arxiv.org/abs/1904.08008v1

开源代码:https://github.com/fyangneil/Clustered-Object-Detection-in-Aerial-Image
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)

1.论文摘要及背景介绍

(非原文摘要)

在航空图像中的目标检测具有很大的挑战性,至少有两个原因:(1)像行人这样的目标像素很小,很难与周围背景区分;(2)目标一般稀疏且分布不均匀,使得检测效率很低。在本文中,我们通过观察这些目标是聚集的,来解决这个问题。本文提出一个将对象聚类和目标检测结合起来的聚类检测网络(ClusDet)。ClusDet主要包含三个关键组件,一个集群提议子网(CPNet),一个规模估计子网(ScaleNet)和一个专用检测网络(DetecNet)。ClusDet相较于以前的解决方案的几个优化:(1) 它大大减少了用于最终目标检测的图片分区数量,从而获得了较高的运行时间效率;(2)基于聚类的尺度估计比以前使用的基于单个目标的尺度估计更精确,从而有效地提高了对小目标的检测,(3)最终的检测网络专门用于聚类区域,隐式地对先验上下文信息进行建模,以提高检测精度。
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
在高分辨率的航拍图像中,我们一般将图片均匀分区进行目标检测,这样的方法召回率会较高。但是由于图片中目标稀疏且分布不均匀,因此会浪费大量的计算时间。如上图所示,均匀分区的方法下大约2%的图片分区是集群的,而在集群分区的方法下大约15%的图片是集群的,比均匀分区多了七倍。且集群分区的Totel Chips是均匀分区的一半,减少分区数量,可以得到较高的运行时间。

2.网络结构

2.1 总体框架

ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
总的来说就是从主干网络提取的特征图出发,通过CPNet提取聚类候选框,ScaleNet调整候选框和全局图像的尺寸,DeteNet进行精细检测,最后将每个集群的图片分区和全局图像进行标准非最大值抑制融合得到最终结果。

2.2 Cluster Region Extraction

2.2.1 CPNet

聚类区域提取的核心是聚类建议子网(CPNet)。

CPNet是基于区域建议网络(RPN)提出的,CPNet以主干网络提取的特征图为输入,分别利用两个子网(CPNet的体系结构由一个5×5卷积层和两个1×1卷积层(分别用于回归和分类)组成)进行回归和分类。RPN提出对象的候选区域,而CPNet提出的是集群的候选区域,因此CPNet的提取的候选框规模更大,CPNet的感受野比RPN的更大。因此,我们将CPNet连接到特征提取主干的顶部。

这里需要注意CPNet的学习是一个有监督的过程,因此这里我们需要人为框出集群所在位置进行训练。

2.2.2 ICM

ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
由上图可以观察到CPNet产生的候选框密集杂乱且重叠度高,很难进行精确检测。因此论文引入了迭代集群合并模块(ICM)来清理集群。下图为ICM的伪代码
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
简单来说就是将候选框重叠度大于等于重叠阈值的框进行合并,并将进行合并的框在集合B中进行删除,直至B集合为空,最后获得数量小于等于Nmax的合并聚类框集合B’。这里合并算法采用非最大合并NMM(未找到资料)

2.3 Fine Detection on Cluster Chip

2.3.1 Scale Estimation Sub-network (ScaleNet)

我们在获得集群图片分块后,我们需要对这些分块进行大小调整,以便进行精确检测,与直接调整图片大小不同的是,Scalenet是通过规模估计子网络来估计分块中对象的规模,避免对象的极端规模降低检测性能。
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
ScaleNet接收从网络骨干网提取的特征图、簇边界盒和全局图像的初始检测结果三个输入,并输出集群聚类框中对象的相对尺度偏移(这里有点奇怪)。

参数说明:
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
损失函数定义:
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)

2.3.2 Partition and Padding (PP)

使用分区和填充(PP)的目的是确保对象的比例在合理的范围内。

我们给定上面估计的目标尺寸Si,和检测器的输入尺寸Sin,我们可以估计探测器输入空间中的目标尺度,通过公式
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)超过一定范围,则按比例填充集群,否则分割集群(分割后两块区域相等),这里范围设置为[70,280].
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
注意:在最终检测过程中是忽略填充区域中的检测的,PP目的仅确保对象比例合理化。

2.4 Final Detection with Local-Global Fusion

ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
航空图像的最终检测是通过将集群区域的局部检测结果和整个图像的全局检测结果与标准的NMS后处理融合得到的。
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)

3.实验结果

3.1 Datasets

该实验用到的数据集:VisDrone,UA VDT,DOTA

数据集 图片数量 图片分辨率 类别
VisDrone 10209 2000 * 1500 10
UA VDT 23258 1080 * 540 3
DOTA 188282 800 * 800~~4000 * 4000 15

论文主要是利用VisDrone进行试验。由于ClusDet是基于航空图像目标的聚类特征,所以DOTA数据集中一些类别不适用于ClusDet,因此导致数据集数量减少,效果会相应降低。

3.2 Ablation Study

消融研究

EIP:均匀图像分区

“o”:原始验证数据,“ca”:聚类感知裁剪图像,“c”:EIP裁剪图像
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
结论:

1.DetecNet+CPNet与FRCNN+FPN相比,提高了检测精度

2.DetecNet+CPNet+ScaleNet与均分切割的相比,提高精度(AP),减少数量(#img),提高效率。

3.ScaleNet对大中型目标的尺度偏移回归的效果不明显。

3.3 Quantitative Results

VisDrone Dataset
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
注:星号表示测试时多尺度测试

UAVDT dataset
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
在UAVDT中可以看出ClusDet在对大中型目标检测时的效果有所提高。

DOTA dataset
ICCV2019 ——Clustered Object Detection in Aerial Images(目标检测)
这里AP50的值没有体现最佳性能,说明在低IOU的时候ClusDet的优越性没有表现,但是在它在AP75下表现的更好,因此我们依旧能提出ClusDet可以准确的估计目标尺寸。

这里由于数据集限制,因此更复杂的主干网对AP影响不大。

4.总结

(1)提出聚类对象检测网络(ClusDet),将对象聚类和检测统一在一个端到端的框架中。ClusDet能够成功地预测图像中的聚类区域,显著减少检测图片模块的数量,提高检测效率。

(2)通过CPNet有效的提取候选框

(3)提出ScaleNet,通过聚类的目标尺度的估计来有效的检测小目标

(4)ClusDet网络隐式地对先验上下文信息建模,以提高检测精度

(5)在航拍影像的目标检测中,该算法与典型目标检测算法相比,提高了检测精度