【Bootstrap Faster R-CNN】《Is Faster R-CNN Doing Well for Pedestrian Detection?》

在这里插入图片描述

ECCV-2016

中山大学



1 Background and Motivation

Faster R-CNN has not presented competitive results on popular pedestrian detection datasets

用 RPN 跑行人检测结果还行,跑第二阶段的 fast rcnn 时候,结果变差了,作者分析直接用 faster RCNN 跑行人检测不太行的可能原因

  • 接头部结构的特征图 stride 太大了——1/16,容易丢失小目标
  • false predictions are dominantly caused by confusions of hard background instances,不像通用的目标检测,confusion 主要来自于 multiple categories.

在这里插入图片描述
关于 Fast RCNN 和 Faster RCNN 的介绍可以参考

2 Related Work

  • Integrate Channel Features (ICF) detector
  • ACF
  • LDCF
  • SCF
  • TA-CNN
  • DeepParts
  • CompACT
  • CCF

hand-craft features + CNN

3 Advantages / Contributions

分析了 Faster R-CNN 处理不好行人检测的原因,提出解决方案,high resolution features and bootstrapping are the key to good accuracy

其中 high resolution 是通过空洞卷积实现

bootstrapping 是去掉 Faster RCNN 的第二阶段,改为训练 RealBoost

4 Method

在这里插入图片描述

用 RPN 的特征来 train Boosted Forest (BF)

effective bootstrapping is performed for mining hard negative examples.

4.1 Region Proposal Network for Pedestrian Detection

anchor:

  • a single aspect ratio of 0.41——接近完整人形的比例
  • 9 different scales——multi scale 可以省去用特征金字塔

主干 VGG-16,RPN 输出特征图为原始输入的 1/16

IoU 大于 0.5 正样本,小于 0.5 负样本

正负样本比例 1:5,共 120 个样本

4.2 Feature Extraction

VGG-16 结构如下
在这里插入图片描述

we adopt RoI pooling to extract fixed-length features from regions

Conv3_3 (of a stride = 4 pixels)

Conv4_3 (of a stride = 8 pixels)

Conv5_3 (of a stride = 16 pixels)

多个步长的特征图都可以通过 ROI pooling 成固定空间分辨率 7×7,特征 simply concatenated without normalization

有时候特征图分辨率比较小(eg: 1/16),目标的尺寸小于 ROI pooling 后的尺寸 7 x 7,the pooling bins collapse and the features become “flat” and not discriminative,此时 `a trous trick(空洞卷积) 就派上了用场

提取特征的时候,we can set the stride of Pool3 as 1 and dilate all Conv4 filters by 2, which reduces the stride of Conv4 from 8 to 4——空洞卷积,扩大感受野,保持分辨率不变

The `a trous trick is only exploited when extracting features, but not for fine-tuning

4.3 Boosted Forest

用的是 RealBoost algorithm

RealBoost算法是Boosting集成学习算法的一种,其核心理念是通过多个简单的弱分类器来构建一个准确率较高的强分类器。以下是关于RealBoost算法的详细介绍:

一、算法背景:
RealBoost算法是Boosting算法家族中的一员,其设计初衷是为了提高分类器的性能。
与传统的AdaBoost算法相比,RealBoost算法让弱分类器输出样本属于某个类的概率,而不是简单的二分类结果(如1或-1)。

二、算法原理:
初始化:为每个样本赋予一个初始权重,通常是均匀分布的。
弱学习器训练:从训练数据中选择一个弱学习器进行训练,训练过程中会根据样本权重来调整样本的重要性。
概率输出:每个弱分类器训练完成后,会输出样本属于某个类的概率。
权重更新:根据弱分类器的性能(如分类误差)来调整样本的权重,增加被错误分类的样本的权重,降低被正确分类的样本的权重。
弱学习器组合:将多个训练好的弱学习器组合成一个强学习器。在RealBoost中,这通常是通过将每个弱分类器输出的概率进行某种形式的组合(如加权求和)来实现的。
迭代:重复上述步骤,直到达到预设的停止条件(如达到指定迭代次数或弱学习器性能不再显著提升)。

三、算法特点:
概率输出:与AdaBoost不同,RealBoost允许弱分类器输出概率值,这使得算法在处理复杂分类任务时具有更高的灵活性。
性能提升:通过迭代和样本权重的调整,RealBoost能够逐步学习并修正错误,从而提高分类器的性能。
应用广泛:RealBoost算法已经在多个领域得到了成功应用,如人脸识别、图像分类等。

四、算法优化:
RealBoost算法可以通过不同的方式进行优化,如改进样本权重的更新策略、选择更合适的弱分类器类型或调整组合方式等。
例如,在人脸检测领域,有研究者对RealBoost算法进行了改进,通过优化样本空间的划分和引入新的特征选择策略来提高算法的性能。

总结来说,RealBoost算法是一种基于Boosting的集成学习算法,它通过多个弱分类器的概率输出和迭代优化来构建一个强分类器。该算法在处理复杂分类任务时具有较高的灵活性和性能优势,并在多个领域得到了成功应用。

For BF training, we construct the training set by selecting the top-ranked 1000 proposals (and ground truths) of each image

训练集还是挺大的

bootstrap the training by 6 times——{64, 128, 256, 512, 1024, 1536} trees,更多 bootstrap 的信息可以参考 Bagging and Boosting,树的深度可以根据数据集的大小灵活调整

在这里插入图片描述

a forest of 2048 trees is trained after all bootstrapping stages

具体细节可以结合代码实现去加深理解

5 Experiments

5.1 Datasets and Metrics

数据集

  • Caltech
  • INRIA
  • ETH
  • KITTI

评价指标

  • log average Miss Rate on False Positive Per Image (FPPI) in [ 1 0 − 2 10^{−2} 102, 1 0 0 10^0 100] ,简称为 MR-2 或者 MR,[ 1 0 − 4 10^{−4} 104, 1 0 0 10^0 100] 简写为 MR-4

  • mean Average Precision (mAP)
    在这里插入图片描述

log-average Miss Rate 和 False Positive Per Image (FPPI) 是两个在目标检测,特别是行人检测中常用的评估指标。下面我将分别解释这两个指标,并尝试解释它们之间的关系(尽管在标准的定义中,log-average Miss Rate 和 FPPI 并没有直接的关系,但我会尝试在概念上进行联系)。

False Positive Per Image (FPPI)
定义:FPPI 描述的是每张图片的平均误检率。给定一定数目N的样本集,内含N张图像,每张图像内包含或不包含检测目标。FPPI 的计算公式为 FPPI = FP / N,其中 FP 是所有图片中误检(预测为正样本但实际是负样本)的数量。
意义:FPPI 越低,表示检测器在每张图片上的误检率越低,即检测器更准确地识别出哪些目标不是行人。

log-average Miss Rate
定义:log-average Miss Rate 是一种用于评估缓存性能或其他系统性能的重要指标。在目标检测的上下文中,它可能不是直接使用的指标,但通常 Miss Rate (MR) 会被用来评估检测器的性能。MR 的计算公式为 MR = FN / GT,其中 FN 是漏检(本应该被检测出来的样本未被检测出来)的数量,GT 是实际目标(Ground Truth)的数量。log-average Miss Rate 可能是对多个不同阈值下的 Miss Rate 取对数后平均得到的,这样可以更全面地评估检测器在不同条件下的性能。
意义:log-average Miss Rate 越低,表示检测器在不同阈值下的平均漏检率越低,即检测器更准确地识别出图片中的目标

5.2 Ablation Experiments

(1)Is RPN good for pedestrian detection?
在这里插入图片描述
CNN vs hand-craft,RPN 在各种 IoU 下还是全方面领先的

在这里插入图片描述

漏检率,越低越好,RPN stand-alone 的性能也很猛了

(2)How important is feature resolution?

在这里插入图片描述

RPN+R-CNN 就很猛,因为 RCNN 会把 proposal resize 到 224x224

Fast RCNN中用conv5_3 空洞特征明显比 conv5_3 效果好

RPN + BF 中加了空洞或者采用了分辨率更高的特征图,效果会更好

更多细节可以看下表

在这里插入图片描述
Conv5_3 -> Conv3_3 充分说明了分辨率的重要性

Conv5_2 效果不好的原因, the weaker representation of the shallower layers

用了空洞后时间变长的原因

it requires to re-compute the Conv4 features maps with the `a trous trick

(3)How important is bootstrapping?

在这里插入图片描述
we replace the last-stage BF classifier with a Fast R-CNN classifier.

after the 6 stages of bootstrapping, the bootstrapped training set is used to train a Fast R-CNN classifier (instead of the final BF with 2048 trees).

作者想表达的是,bootstrapped 的过程更重要,而局限于分类器是什么——tree-structured BF classifier and the region-wise MLP classifier (Fast R-CNN)

5.3 Comparisons with State-of-the-art Methods

(1)Caltech

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

0.7 下性能还这么猛,说明 better localization accuracy

在这里插入图片描述
(2)INRIA and ETH

在这里插入图片描述
在这里插入图片描述
(3)KITTI

在这里插入图片描述

6 Conclusion / Future work

  • high resolution features and bootstrapping are the key to good accuracy
  • OHEM 已经出来了,作者的方法还做不到 end-to-end,比作者的 bootstrapping 创新点好
  • 晚几年出现的 FPN,就更好的解决了作者的 high resolution features
  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值