DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

Abstract

引入DenseBox,它是一个统一的端到端FCN框架,通过图像的所有位置和尺度直接预测边界框和对象类信任度。首先,我们展示一个单一的FCN经过精心设计和优化,可以非常准确和有效地检测多个不同的目标。第二,当在多任务学习中结合地标定位时,DenseBox进一步提高了目标检测的准确性。我们在MALF人脸检测和KITTI汽车检测等公共基准数据集上展示了实验结果,表明我们的DenseBox是检测具有挑战性的物体(如人脸和汽车)的最先进系统。

1 Introduction

在我们的日常生活中,物体检测的实例比比皆是。在驾驶过程中检查附近的车辆,找到一个人,定位一个熟悉的面孔都是目标检测的例子。目标检测是计算机视觉的核心问题之一。在卷积神经网络(CNNs)成功之前,目标检测通常采用基于滑动窗口的方法,该方法在图像所有可能位置和尺度上提取的手工特征上应用分类器。最近,基于全卷积神经网络(fully convolutional neural network, FCN)的方法给目标检测领域带来了一场革命。这些FCN框架也遵循滑动窗口的方式,但是他们从头到尾学习模型参数和图像特征的方法显著提高了检测性能。

R-CNN在基于FCN的方法之外,进一步提高了目标检测的准确性。从概念上讲,R-CNN包含两个阶段。第一阶段使用区域建议方法(region proposal methods)生成图像中所有可能的边界框候选项。然后第二阶段应用CNN分类器对每个提议区分不同的对象。尽管R-CNN成为新的先进的通用对象检测系统,但是它很难检测小物体,如人脸和远处的汽车,由于每个候选框低分辨率和缺乏上下文显著降低分类精度。而且R-CNN管道中的两个不同阶段不能共同优化,这就给R-CNN应用端到端的训练带来了麻烦。

在本文中,我们主要关注一个问题:one-stage FCN在什么情况下能够进行目标检测。为此,我们提出了一种新的基于FCN的目标检测器,DenseBox,它不需要生成建议,并且能够在训练过程中进行端到端的优化。虽然与许多现有的滑动窗口流行的FCN检测框架相似,但DenseBox更多的是用于检测小尺度和严重遮挡下的目标。我们训练DenseBox并应用难负例挖掘(Hard Negative Mining)技术来提高检测性能。为了使其表现的更好,我们进一步通过联合多任务学习将地标定位(landmark localization)融入系统。为了验证地标定位的有效性,我们为KITTI汽车检测数据集手动标注了一组关键点,并随后释放标注。

我们的贡献有两个方面。第一,我们证明了一个单一的全卷积神经网络,如果精心设计和优化,可以非常准确和有效地检测不同尺度下有严重遮挡的目标。第二,当通过多任务学习结合地标定位时,DenseBox进一步提高了目标检测的准确性。我们在MALF (Multi-Attribute Labeled Faces)人脸检测和KITTI car检测等公共基准数据集上给出了实验结果,表明我们的DenseBox是最先进的人脸检测和汽车检测系统。

3 DenseBox for Detection

单个卷积网络同时输出多个预测边界框和类置信度。DenseBox中目标检测的所有组件除了非最大抑制步长外都为全卷积网络,所以不需要生成区域建议。
系统使用一张m*n的image作为输入,输出为5个channels的m/4 * n/4的feature map。

3.1 Ground Truth Generation

不需要将整个图像放到网络中进行训练,避免把大部分的计算时间都花在了背景的卷积上。
一个明智的策略是裁剪包含人脸和足够背景信息的大斑块来进行训练。
在本文中,我们在单一尺度上训练我们的网络,并将其应用到多个尺度上进行评价。
通俗来讲,我们提出的网络是用类似分割的方式训练的。在训练中,这些pathes被裁剪并调整到240240,中间的一张脸的高度大约是50个像素。
训练中输出的ground truth是一个大小为60
60的5 channels map,down-sampling factor of 4。
ground truth map的第一个通道中的标记区域是一个半径为rc的填充圆,位于面部框的中心。
半径rc与bounding box 大小成正比,其比例系数设置为输出坐标空间中box大小的0.3,如图2所示。
剩余的4个通道填充为最近边框的左上角和右下角之间输出map的像素位置之间的距离。

ground truth map中第一个通道的像素表示类的置信度,初始化为0,如果在正标签区域内,进一步设为1。
我们也发现我们的ground truth生成与Pinheiro等人的分割工作非常相似。
在他们的方法中,像素标签是由patch中物体的位置决定的,而在DenseBox中,像素标签是由接受域决定的。
具体来说,如果输出像素满足它的感受野包含一个大致位于中心和给定比例的对象,则将其标记为1。
每个像素都可以被视为一个样本,因为每个5通道像素描述了一个边界框。
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

3.2 Model Design

Multi-Level Feature Fusion(特征融合)
最近的研究表明,使用来自不同卷积层的特征可以提高边缘检测和分割等任务的性能。
part-level特征集中在对象的局部细节上,以发现具有区别性的外观部分,而object-level或high-level特征通常具有较大的感受野,以识别对象。
更大的感受野也会带来上下文信息,从而预测更准确的结果。
在我们的实现中,我们连接了来自conv3_4和conv4_4的特征映射。
conv3_4感受野或者滑动窗口大小为4848,几乎与训练时的人脸大小相同,而conv4_4的感受域更大,大约为118118,可以利用全局纹理和上下文进行检测。
注意,conv4_4的feature map大小是conv3_4生成的map的一半,因此我们使用双线性上采样层将它们转换为相同的分辨率。
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

3.3 Multi-Task Training

我们使用ImageNet预先训练的VGG 19网络来初始化DenseBox。
实际上,在初始化时,我们只保留了前12个卷积层(从conv1 1到conv4 4),而VGG 19中的其他层则用新的4个卷积层替换,并进行xavier初始化。
和Fast R-CNN类似,输出有两个分支,一个是confidence score,一个是bounding-box regression loss。
y*取值{0,1}
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

3.3.1 Balance Sampling

负样本的选取过程是学习的关键环节之一。如果简单地在一个小批量中使用所有的负样本,将使预测偏向于负样本,因为它们在所有样本中占主导地位。
此外,如果我们对正、负区边缘的样品进行损失惩罚,探测器将会退化。这里我们对每个输出像素使用一个二进制掩码来表示它在训练中是否被选中。

Ignoring Gray Zone
灰色区域定义在正区域和负区域的边缘。它不应该被认为是正的或负的,它的损失权值应该设置为0。
对于输出坐标空间中的每个非正标记像素,只有在rnear = 2像素长度内存在任何带有正标记的像素时,其忽略标志符才被设置为1。

Hard Negative Mining
与支持向量机的hard-negative mining过程类似,我们通过搜索预测错误的样本而不是随机样本来提高学习效率。
negative mining后,预测差的样本被选择的可能性很大,因此对这些样本进行梯度下降学习可以获得更强的鲁棒预测,且噪声更小。
negative mining can be performed efficiently by online bootstrap.
在前向传播阶段,我们对输出像素的loss进行降序排序,并将前1%赋值为hard-negative。
在所有的实验中,保持所有正标记像素(样本)和正负比为1:1。
在所有的negative样本中,一半从hard-negative样本中抽取,另一半从non-hard negative样本中随机抽取。
为了方便起见,我们为小批量中选择的像素(样本)设置一个标志fsel = 1。
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

Other Implementation Details
其他的实现细节。在训练中,如果一个输入patch包含一个特定尺度的以中心为中心的物体,则认为它是一个正的patch。这些patch只包含正样本周围的负样本。为了充分挖掘整个数据集中的负样本,我们还从训练图像中随机地提取了随机尺度的作物斑块,并将它们调整到相同大小,然后将它们输入网络。我们称这种patch为random patch,在训练中positive patch和random patch的比例是1:1。此外,为了进一步增加我们模型的鲁棒性,我们还在将每个patch输入网络之前随机抖动。具体来说,我们应用了左右翻转、平移(25个像素)和缩放变形(从0:8;1:25)。

我们在训练中使用的是mini-batch SGD,批量大小设置为10。loss和输出梯度必须按贡献像素的数量缩放,以便loss和输出梯度在多任务学习中是可比较的。全局学习率从0.001开始,每100K迭代时降低10倍。我们遵循默认动量项权重0.9和权重衰减因子0.0005。

3.4 Refine with Landmark Localization.

在这一部分中,我们展示了在DenseBox中,基于全卷积架构,只需叠加几层就可以实现地标定位。
此外,我们可以通过融合地标热图和人脸评分图来细化检测结果。

DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

4 Experiments

4.1 MALF Detection Task

MALF检测测试数据集包含从互联网上收集的5000幅图像。
与广泛使用的FDDB人脸检测基准(从新闻照片中采集,姿态往往是正面的)不同,MALF中的人脸图像具有更大的多样性,比FDDB更接近真实世界的应用。
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

Training and Testing
我们训练了第3节中描述的两个模型,对31,337张互联网收集的图像进行训练,这些图像包含81,024张面孔,标注有72个地标,如图5所示。
一种模型只使用边界框信息,另一种模型同时使用边界框和地标信息进行比较。
它们都是用ImageNet预先训练好的VGG19模型初始化的。
训练中的人脸高度大致缩放到50像素,尺度抖动范围为[0:8;1:25],与第3.3节中描述的相同。

DenseBox: Unifying Landmark Localization with End to End Object Detection笔记
DenseBox: Unifying Landmark Localization with End to End Object Detection笔记

5 Conclusion

我们提出了一种用于检测的端到端统一检测管道DenseBox。通过添加地标信息,可以很容易地提高性能。同时对我们的方法和其他相关的目标检测系统进行了分析,突出了密集盒的区别和贡献。DenseBox在人脸检测和汽车检测任务中都取得了令人印象深刻的性能,表明其非常适合于提案生成可能失败的情况。DenseBox的关键问题是速度。本文提出的原始DenseBox处理一幅图像需要几秒钟的时间。但在后面的版本中已经解决了这个问题。我们将提出另一篇论文,描述一个实时检测系统的KITTI和人脸检测,称为DenseBox2。

上一篇:Week25


下一篇:视频对象移除篡改的时空域定位被动取证