论文阅读之:Is Faster R-CNN Doing Well for Pedestrian Detection?

 

Is Faster R-CNN Doing Well for Pedestrian Detection?

ECCV 2016   Liliang Zhang & Kaiming He

 



 

  原文链接:http://arxiv.org/pdf/1607.07032v2.pdf

  Code : https://github.com/zhangliliang/RPN_BF/tree/RPN-pedestrian

 



 

  

  摘要:行人检测被人 argue 说是特定课题,而不是general 的物体检测。虽然最近的深度物体检测方法 如: Fast/Faster RCNN 在general 的物体检测中,展现了强大的性能,但是对于行人检测却不太成功。本文研究了 Faster RCNN 在行人检测中存在的问题,发现 RPN 在单独的行人检测器中表现良好,但是随后的分类器却降低了该结果。我们猜想可能是如下两个原因导致的:

  1. 对于处理小物体,feature maps 的分辨率较低;

  2. 缺乏任何 bootstrapping strategy 来挖掘 hard negative examples。

  基于这些观察,我们提出了一个简单但是非常有效的 baseline,利用 RPN后 通过 boosted forests 在共享的,高分辨率的卷积特征映射(using an RPN followed by boosted forests on shared, high-resolution convolutional feature maps)。在4个数据机上做了实验,得到了相当的精度和较好的速度。

 

   

  动机:随着近来自动驾驶,智能监控中对于行人检测越来越重视,但当前效果较好的行人 detectors 一般采用 hybrid 方法,结合传统手工设计的feature 和 深度卷积feature。另一方面,Faster RCNN 在 general 的物体检测上效果很好,而且仅仅利用了深度卷积特征,而没有传统手工设计的 feature,而且在行人检测数据集上效果不好!

  究其原因,可能有两点:

  首先,卷积feature maps 对于检测小物体来说是低分辨率的。常规场景下的行人检测,如自动驾驶和智能监控,行人的尺寸都是很小的。对于小物体而言,RoI pooling layer 在低分辨率的 feature map 上可能导致 “plain”features 。这些 feature 在小物体上不具有区分性,所以降低了分类器的性能。我们对比此处,可以发现,手工设计的feature 有较好的分辨率。我们通过从更浅层的但是分辨率高的层上来进行 feature 的采样,利用 the hole algorithm 来增加 feature map 的尺寸。

  其次,在行人检测问题上,错误的预测,一般都是由于 hard background instances 的混淆导致的。与此对应的是 general object detection 的混淆来源是 multiple categories。为了解决这些样本导致的问题,采用了级联的 Boosted Forest (BF),执行有效的 hard negative mining(bootstrapping)和 样本的 re-weight,来分类 RPN proposals。不像之前的方法利用手工设计的features 来训练 forest,我们重新利用 RPN 的卷积特征来训练。这种策略不但通过共享feature 降低了分类器的计算代价,也探索了深度学习到的features。

  本文在此观察的基础上,提出了特别简单但是有效的baseline,基于 RPN and BF 的机制进行行人检测。我们的方法克服了上述两种困难,而且摆脱了传统手工设计 feature。

  

  所提出的方法:本文的方法包括两个部分:RPN 用来产生 candidate boxes 和 卷积特征maps,以及 Boosted Forest 利用这些卷积特征进行分类。

  1. RPN for Pedestrian Detection

    这个和 Faster RCNN 貌似是一样的,咱不解释;

 

  2. Feature Extraction

    根据 RPN 产生的 proposals,我们采用 RoI pooling 来区域中提取固定长度的 feature。这些 feature 可以用来训练 BF。不像 Faster RCNN 需要将这些 features 送到 originally fully-connected (fc)layers,所以就限制了其维度,BF 分类器 对于特征的维度没有限制。

         令人印象深刻的是,由于没有特征维度的限制,对于我们来说,就可以利用这些来增强分辨率。具体的是,给定微调后的 RPN 的 layer,我们可以用一种 trick 来计算高分辨率的卷积特征映射。例如,我们设置 pool3 的 stride 为 1,将 Conv4 filter dilate 2,使得 Conv4 的步长从 8 变成了 4. 不像之前的方法,微调 dilated filters,在我们的方法中,我们仅仅用来特征提取,而不会再去微调新的 RPN。

    虽然采用了和 Faster RCNN 类似的 RoI resolution,这些 RoIs 实在更高的分辨率上进行的。如果 RoI 的输入分辨率 比 输出小,那么 the pooling bins collapse and the feature become "flat" and not discriminative. 这个问题在我们的方法中被消除,因为在我们的 downstream classifier 用 Conv5_3 是不受约束的。

 

  3. Boosted Forest

  根据 RPN 产生的 region proposals,confidence scores,以及 features,所有的这些都用来产生级联的 Boosted Forest classifier。我们采用 RealBoost algorithm, we bootstrap the training by 6 times, and the forest in each stage has {64, 128, 256, 512, 1024, 1536} trees。初始的时刻,训练集合包含所有的正样本,以及同样个数的随机采样出来的负样本。在每一个阶段,额外的 hard negative examples 被挖掘出来,并且添加到 training set 中。最终,在所有的 bootstrapping stages 完毕之后训练一个 2048 trees 的森林。最终的 forest classifier 用来做 inference。

  注意到,其实没有必要同等的处理初始的 proposals,因为我们的 proposals 在 RPN 之后得到了初始的 score。换句话说, the RPN 可以被当作是 stage-0 的分类器 f0。

  这里只是粗略的讲解了后续分类的流程,具体细节还要参考原始文章。

 

 

  



 

 

   实验结果:

 

 

   本文的实验,可谓相当的充分啦,在4个数据集上做了实验,与上图许多种方法做了对比,又充分分析了自己算法各个成分对最终精度的影响,额,想想自己的实验设计,额,差距不小。。。



 

  

  评价:

  本文是中山大学的师兄李亮哥的毕业之作,能在微软实习并且和大神 Kaiming He 合作搞出顶会,是一种怎样的体验?额 又扯远了,哈哈

  说重点,总体而言,本文在做实验的基础上,发现了 faster RCNN 在行人检测方面的不足,在实践中发现科研问题,深度挖掘身体背后的原因,并且结合已有的技术,完美的将其解决,本身就为我们提供了一个很好的科研思路和科研案例,值得我们学习!

  就其流程设计来看,并不花哨,也灭有各种装逼的公式,但是很好的发现了问题,分析了背后的原因,并且将其解决的很漂亮,这一点难能可贵!从问题出发,在路上 。。。

    

 

 

时间: 2024-10-24 00:49:25

论文阅读之:Is Faster R-CNN Doing Well for Pedestrian Detection?的相关文章

论文笔记之:Learning Cross-Modal Deep Representations for Robust Pedestrian Detection

  Learning Cross-Modal Deep Representations for Robust Pedestrian Detection 2017-04-11  19:40:22    Motivation: 本文主要是考虑了在光照极端恶劣的情况下,如何充分的利用 thermal data 进行协助学习提升 可见光图像的 特征表达能力,而借鉴了 ICCV 2015 年的一个文章,称为:监督迁移的方法,以一种模态的特征为 label,以监督学习的方式实现无监督学习.说到这里可能比较让

【独家】深度学习论文阅读路线图

如果你是深度学习领域的一名新手,可能会遇到的第一个问题是"应该从哪篇论文开始读起呢?" 这里给出了深度学习论文阅读路线图! 路线图按照下面四个准则构建而成: 从提纲到细节 从经典到前沿 从通用领域到特定领域 专注于最先进的技术 你将会发现很多近期发表但是确实值得一读的论文. 我们将持续不断的给这条路线图添加论文. 1 深度学习历史和基础 1.0  书籍 1.1调查 1.2 深度信念网络(DBN) (深度学习开篇的里程碑) 1.3 ImageNet进展(深度学习从此爆发) 1.4语音识别

谷歌Borg论文阅读笔记(一)——分布式架构

传说中,Borg之前号称是Google内部和PageRanking相提并论的同等重量级的东西.现在公布了篇论文,读了一部分,还是有些地方没理解. 求讨论. Borg简介: Borg的作用是:提供一个标准任务规格语言,集成名字服务,实时任务监控,以及工具来分析和模拟系统行为. Google内部的集群管理系统调用都是用Borg来admits(准入),schedules(调度),starts,restarts,Borg还监控所有Google所有范围运行的应用. Borg的好处: 隐藏资源管理和故障处理

Apache Spark源码走读(一)Spark论文阅读笔记&Job提交与运行

<一>Spark论文阅读笔记 楔子 源码阅读是一件非常容易的事,也是一件非常难的事.容易的是代码就在那里,一打开就可以看到.难的是要通过代码明白作者当初为什么要这样设计,设计之初要解决的主要问题是什么. 在对Spark的源码进行具体的走读之前,如果想要快速对Spark的有一个整体性的认识,阅读Matei Zaharia做的Spark论文是一个非常不错的选择. 在阅读该论文的基础之上,再结合Spark作者在2012 Developer Meetup上做的演讲Introduction to Spa

谷歌Borg论文阅读笔记(二)——任务混部的解决

总算又往下读了一部分.Google的Borg论文中,前面部分讲的都是Borg的架构.后面有讲了一些资源隔离,安全隔离等的技术方案和策略. 主机层面的资源隔离,都是由是Borglet来操纵的. Google的混部情况: Google几乎所有的机器都是混部的,在一台机器上,可能运行着不同jobs的tasks.根据论文中所说,Google的50%的机器运行了9个甚至更多的tasks.90%的机器运行着25个tasks,达到4500个线程. 因此,Google有完善的隔离技术来保证task之间不相互影响

论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline

论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline    如上图所示,本文旨在解决一个问题:给定一张图像,我们最应该关注哪些区域?怎么将其分割出来?这是一个什么东东?这三个子问题为一体.   Problem formulation: Given an image, determine the most influential item in the scene in terms of region

论文笔记之:Pedestrian Detection aided by Deep Learning Semantic Tasks

Pedestrian Detection aided by Deep Learning Semantic Tasks CVPR 2015 本文考虑将语义任务(即:行人属性和场景属性)和行人检测相结合,以语义信息协助进行行人检测.先来看一下大致的检测结果(TA-CNN为本文检测结果): 可以看出,由于有了属性信息的协助,其行人检测的精确度有了较大的提升.具体网络架构如下图所示: 首先从各个数据集上进行行人数据集的收集和整理,即:从Caltech上收集行人正样本和负样本,然后从其他数据集上收集 ha

深度学习论文阅读路线图

1.深度学习历史和基础 1.0  书籍 1.1调查 1.2 深度信念网络(DBN) (深度学习开篇的里程碑) 1.3 ImageNet进展(深度学习从此爆发) 1.4语音识别进展 阅读完上面这些论文后,通过对深度学习模型(包括CNN,RNN,LSTM)的基础框架,以及深度学习如何应用于图像和语音识别问题的理解,你将会对深度学习的历史有一个基本的认识.下面的论文将带你深入理解深度学习模型,深度学习在不同领域的应用和前沿.我们建议你根据自己的兴趣和研究方向选择下面的论文进行阅读. 2深度学习方法 2

论文阅读之: Hierarchical Object Detection with Deep Reinforcement Learning

  Hierarchical Object Detection with Deep Reinforcement Learning NIPS 2016 WorkShop    Paper : https://arxiv.org/pdf/1611.03718v1.pdf Project Page : https://github.com/imatge-upc/detection-2016-nipsws   摘要: 我们提出一种基于深度强化学习的等级物体检测方法 (Hierarchical Objec