Pushing the Limits of Deep CNNs for Pedestrian Detection

时间:2022-09-13 10:58:25

1 Introduction

       近年来,行人检测问题得到了深入的研究。在最近基于深层卷积神经网络(DCNNs)的方法[1,2]出现之前,最高性能的行人检测器是使用hand-crafted特征的boosted decision forests,例如histogram of gradients(HOG) [3], self-similarity (SS) [4], aggregate channel features (ACF) [5], filtered channel features [6] and optical flow [7].
       最近,DCNN在各种各样的视觉问题上显著优于可比较的方法[8-15]。 R-CNN[11]在通用对象检测方面实现了出色的性能,例如,通过DCNN模型评估一组可能的检测(对象提案)。 在[17]的行人检测中,CifarNet [16]和AlexNet [8]已在R-CNN检测框架中进行了广泛的评估。 在他们的工作中,在ImageNet [18]分类数据集上pre-trained AlexNet实现了最好的表现(23.3%)。 注意,这个结果仍然比传统的行人检测器如[6]和[7]差。 [17]中的DCNN模型表现不佳主要是因为网络设计对行人检测不是最佳的。 通过使用更深的GoogLeNet模型,使用Caltech行人数据集进行微调,R-CNN对行人检测的性能进一步提高到[2]中的16.43%。
        为了明确地对形变和遮挡建模,对象检测的另一线研究是part-based的模型[19-22]和显式遮挡处理[23-25]。 DCNN也被集成到这类研究中进行行人检测[26-28],但是没有一个方法在Caltech数据集上比最佳的基于手工特征的方法[6]取得更好的结果。
       通过两种最新的基于DCNN的方法,行人检测的性能大大超过了基于hand-crafted features(在Caltech上约5%的增益):CompACT-Deep [1]将hand-crafted feature与微调的DCNN相结合成为a complexity-aware cascade。Tian等[2]使用pre-trained GoogLeNet对部件检测器进行微调,the resulting ensemble model(称为DeepParts)提供与CompACT-Deep相似的结果。这两种方法比标准R-CNN框架复杂得多:CompACT-Deep涉及使用各种hand-crafted feature,一种小型CNN模型和一种大型VGG16模型[9]。 DeepParts包含45个fine-tuned DCNN模型,需要一套策略(包括bounding-box shifting handling和part selection)来达到报告的结果。请注意,DCNN模型的高复杂度可能导致实现困难。例如,将所有45个DCNN模型加载到一个GPU卡中成本太高。
       在这里我们提出一个问题:基于DCNN的复杂学习方法是否对于达到最好的性能是必须的?我们对这个问题的回答是否定的。在本文中,我们提出了行人检测的替代方法,其设计更简单,具有可比的甚至更好的性能。首先,我们广泛地评估了从 用于行人检测的fine-tuned VGG16模型的卷积层提取的CFM。仅使用单个卷积层的CFM,我们训练一个boosted-tree-based的检测器,并且所得到的模型已经显著优于所有以前的方法,除了上述两个复杂的DCNN框架。这个模型可以被看作是行人检测的强大基准,因为它在实现方面非常简单。
       我们表明,来自多个卷积层的CFM可以用于训练有效的boosted decision forests。这些boosted decision forests只是通过得分平均组合在一起。所得到的集成模型击败了在Caltech行人数据集上的所有竞争方法。我们进一步通过加入pixel labelling model改善检测性能。接下来我们回顾一些相关工作。

1.1 Related Work

1.1.1 Convolutional Feature Maps (CFMs)

       [29-31]已经显示,CFM在许多任务中具有很强的表示能力。 Long等人[32]将DCNN中的所有完全连接层作为卷积层用于图像语义分割。在[30]中,来自多层的CFM被堆叠成一个向量并用于分割和定位。Ren等人[29]在pre-trained模型的CFM(池化到固定大小)上学习一个网络。
          Yang等人的工作[31]与我们的相近,它用VGG16模型[9]的Conv3-3层的CFM特征训练boosted decision forest,用于行人检测,在Caltech上的性能(17.32%)与checkerboards[6]相当。在行人检测任务中,[31]中使用的CFM似乎没有明显优于hand-crafted feature。这样认为的原因可能是双重的。第一,[31]中使用的CFM是从pre-trained VGG16模型中提取出来的,该模型没有在行人数据集上fine-tuned;第二,CFM特征仅从一层提取,DCNN的多层结构没有被充分利用。我们在本文中表明,这两个问题对于实现良好的性能至关重要。

1.1.2 Segmentation for Object Detection

       分割方法使用的线索通常与 由自上而下的方法利用的线索 互补。 最近,Yan等 [33]提出通过标注超像素来执行通用对象检测,这导致DCNN模型学习的数据项的能量最小化问题。 在[34,13]中,生成的分割图像区域(不是边界框)作为对象提议,然后用于对象检测。
       与上述基于区域(或超像素)的方法相反,我们在这里利用了更精细水平的信息,即像素标注。 特别地,在本文中,我们证明,我们可以通过使用 像素级分数 简单地重新评估由检测器生成的提案 来提高检测性能。


1.2 Contributions

       我们通过研究一些训练细节和设计参数的影响来重新审视基于DCNN的行人检测。我们展示了使用行人数据微调DCNN模型是至关重要的。适当的bootstrapping也有相当大的影响。除了这些发现外,本文的其他主要贡献可概括如下。
      1.使用多层CFM来训练最先进的行人检测器。我们表明,有可能使用多层CFM训练一个boosted decision forests的集成,从而胜过以前的所有方法。例如,使用从两个卷积层提取的CFM特征,我们可以在Caltech上实现log-average miss rate为10.7%,已经比以前的所有方法都好,包括两种基于DCNN的复杂方法[1,2]。
       2.结合语义像素标注。我们还提出了滑动窗口检测器和语义像素标记的组合,其与以前最好的方法性能相当。为了使方法简单,我们使用在提案区域内的pixel labelling分数的加权和。
      3.最好的行人检测器。 在Caltech上建立了新的性能记录,通过利用DCNN以及两个免费的hand-crafted特征:ACF和光流特征。这表明手工制作特征的某些类型与深度卷积特征相辅相成。
       在介绍我们的方法之前,我们简要介绍数据集,评价指标和boosting模型。

1.3 Datasets,Evaluation Metric and Models

      Caltech pedestrian dataset:Caltech数据集[35]是行人检测最流行的数据集之一。它包含从10个小时的城市交通视频中提取的250k帧。总共有350k个注释的bounding box,2300个唯一的行人。标准训练集和测试集在每30帧采样一个。在我们的实验中,训练图像增加到每4帧中的一个。请注意,许多竞争方法[6,31,17]都使用相同的方法扩展训练集或甚至更多的数据(每三个帧)。
       对于Caltech数据集,我们使用log-average miss rate(MR)来评估各种检测器的性能,该log-average miss rate(MR)是通过以0.01到1个false-positive per image(FPPI)范围之间均匀间隔的false positive rate来平均miss rate来计算的(不懂)。除非另有规定,本文剩余部分所示实验的检测性能是Caltech Resonable测试集上的MR。

KITTI pedestrian dataset:KITTI数据集[36]由7481个训练图像和7518个测试图像组成,包括交通场景中超过80,000个注释对象。 KITTI数据集提供了大量具有不同大小,视角,遮挡和截断的行人。由于这些对象的多样性,这个数据集具有针对对象大小,遮挡和截断的难度的三个子集(Easy,Moderate,Hard)。我们使用Moderate训练子集作为我们实验中的训练数据。
       对于KITTI数据集,使用average precision(AP)来评估检测性能。average precision总结了precision-recall曲线的形状,并将其定义为在一组均匀间隔的召回水平下的平均精度。(不懂)所有方法都是基于Moderate难度的结果进行排名。

Boosted decision forest:除非另有规定,我们采用以下参数来训练所有boosted decision forest。boosted decision forest模型由4096个深度为5的决策树组成,通过real-Adaboost的收缩版本训练[37]。该模型尺寸设置为128×64像素,并实施一次bootstrapping迭代来收集hard-negative并重新训练模型。滑动窗口的步长设置为4像素。

2 Boosted Decision Forests with Multi-layer CFMs

      在本节中,我们首先显示了通过简单地使用从bootstrapping提取的hard negative微调DCNN可以显着改善使用CFM的boosted decision forest。然后使用不同层的CFM来训练boosted decision forest,并且所得到的集成模型能够在Caltech数据集上实现最佳报告结果。

2.1 Fine-tuning DCNNs with Bootstrapped Data

       在本文中,VGG16 [9]模型用于提取CFM。众所周知,VGG16模型最初是在具有图像级注释的ImageNet数据上进行了预训练,没有专门针对行人检测任务进行训练。通过使用Caltech行人数据对VGG16模型进行微调,用CFM训练的boosted decision forest的检测性能应该有所提升
       为了使预训练的VGG16模型适用于行人检测任务,我们对模型的结构进行了修改。我们用随机初始化的二分类层替换1000路的分类层,将输入大小从224×224改为128×64像素。我们还将全连接层中的神经元数量从4096个减少到2048个。除了前四个卷积层之外,因为它们对应于对于大多数视觉对象来说很普遍的低级特征,我们微调了这个修改后的VGG16的所有层。卷积层的初始学习率设置为0.001,全连接层的初始学习率为0.01。每10000次迭代之后,学习率除以10。对于微调,通过不同的方法收集30k个正例和90k个负例。正样本是与ground truth边界框重叠[0.5,1]的样本,负样本为[0,0.25]。在每次SGD迭代时,我们统一抽样32个正样本和96个负样本,以构建大小为128的mini-batch。
       我们用从不同程度微调的VGG16模型的Conv3-3层提取的CFM来训练boost decision forests,结果如表1所示。请注意,本表中的所有VGG16模型均经过对ImageNet数据预训练的原始模型进行微调。可以观察到,通过在训练数据集上应用ACF [5]检测器收集的数据进行微调的模型替换预训练的VGG16模型,将log-average miss rate从18.71%降低到16.42%。如果使用先前训练的模型CFM3b对bootstrapping data进行微调,则检测性能进一步提高到14.54%的MR。通过对弱学习者的系数应用收缩率,收缩参数为0.5(参见[38]),获得另外1%的性能增益。最后一个模型(对应于表1中的第4行)从现在开始被称为CFM3。
Pushing the Limits of Deep CNNs for Pedestrian Detection
在最后一个实验中,我们只使用来自VGG16模型单层的CFM。
在本节中,我们深入探讨了VGG16模型的深层结构
由13个卷积层,2个完全连接的层和1个分类层组成。
这13个卷积层被组织成5个卷积堆叠,相同堆叠中的卷积层具有相同的下采样比。我们忽略前两个卷积堆栈(每个包含2个层)的CFM,因为它们对于大多数视觉对象是通用的。
我们用来自单个卷积层的CFM来训练增强的决策树
的VGG16型号,它是使用自举数据进行微调的(与表1中的第4行相同)。所有提升的决策林都采用与CFM3相同的数据进行培训。对于具有Conv3-x特征的模型,将输入图像直接应用于卷积层,并产生具有下采样比为4的特征图。相应的增强决策树作为滑动窗口检测器,具有步长4.对于具有Conv4-x和Conv5-x功能的型号,它们适用于CFM3型号生成的提案。这是由于Conv4-x和Conv5-x的下采样比大。
如果滑动窗口检测器的步长太大,则会影响检测
性能。
表2显示了这些提升决策的检测性能的比较
Caltech森林合理设置。我们可以观察到Conv3-1层和Conv5-3层的MR相对较高。我们推测,Conv3-1层提供相对较低的功能,导致适合的训练。相比之下,Conv5-3层的语义信息对于行人检测来说可能太粗糙了。
根据表2,每个卷积栈中性能最好的层是
Conv3-3(CFM3),Conv4-3(CFM4)和Conv5-1(CFM5)的内层。
图。图1显示了卷积特征的空间分布
由以上三种CFM型号选择。我们观察到大多数活动区域对应于重要的人体部位(如头部和肩部)。
对这三层CFM进行培训的强化决策林进一步
通过评分平均结合在一起。图。图2显示了所得到的集合模型的框架。首先,CFM3模型作为一个滑动窗口检测器,拒绝大多数的负面例子,并将区域提案通过CFM4和CFM5。 CFM4和CFM5都为每个传入的提案生成置信度分数。
最终得分是通过对这三个强化决策林产出的得分进行平均来计算的。该模型在Caltech合理设置下提供了最佳报告的对数平均丢失率(10.46%),而不使用任何复杂的设计算法。
我们还评估集合模型的其他组合。此外,VGG16模型通过另一轮引导(使用CFM3)进行微调,并且其最终输出也被组合以提高检测性能。相应的结果可以在表3中找到。我们可以看到,组合两层已经打破了Caltech的所有现有方法,并且添加了整个大型VGG16模型也给出了一个小的改进。