ECCV-2016
中山大学
文章目录
- 1 Background and Motivation
- 2 Related Work
- 3 Advantages / Contributions
- 4 Method
- 4.1 Region Proposal Network for Pedestrian Detection
- 4.2 Feature Extraction
- 4.3 Boosted Forest
- 5 Experiments
- 5.1 Datasets and Metrics
- 5.2 Ablation Experiments
- 5.3 Comparisons with State-of-the-art Methods
- 6 Conclusion / Future work
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 的介绍可以参考
- 【Fast RCNN】《Fast-RCNN》
- 【Faster RCNN】《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》
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} 10−2, 1 0 0 10^0 100] ,简称为 MR-2 或者 MR,[ 1 0 − 4 10^{−4} 10−4, 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