(论文分析) Object Detection -- Class-Specific Hough Forests for Object Detection
2014-02-17 08:50
281 查看
Class-Specific hough forests for object detection
从这篇文章中我们可以学习到generic hough transform 和 random forest 的应用
Hough Forests 如何建造呢?
对于Hough forests, 每棵树基于一系列patch
进行建造,其中
是这个patch的appearance,
是这个patch的标签,
是这个patch离object中心的偏移(offset)。
下面我们具体描述一下如何从训练样本中抽取这些patch :
从背景图像中抽取得到的patch,其类别标签
,从使用bounding boxes框住的图像内部抽取的patch其类别标签为
。对于每一个object patch也赋予一个从bounding box 中心(即目标中心)到patch中心的偏移。对于一个background patch这个offset不赋值。
在所构建的树上,对于每一个叶节点,在训练时到达这个叶节点的所有patch的信息保存。于是,我们存储
(到达这个叶节点的object pathes的比例)和
针对于所有到达这个叶节点的object patches的偏移值(用于投票使用)。于是这棵树的叶子节点就形成了一个用于目标中心可能位置的discriminative codebook。在运行时,这些信息用来对object的所有可能位置进行投票。
我们应该选用什么样的patch appearance 和 binary tests呢?
在训练和测试时,所有的patches 使用一个固定大小,例如16*16,对于apperance 可以使用扩展的特征通道来定义。于是一个patch 的apperance可以写成
,其中
是一个16*16的图像,
是通道数。
对一个patch appearance 的二值测试
能够用许多方式来定义,但是作者选择基于pixel 测试。像这样的测试使用通道索引
,两个位置
和
,阈值
,从而测试可以写成如下形式:
现在我们开始建立树了:
Hough forests 中树的建立遵循这一般随机森林的框架。每一棵树从根开始迭代建立。在构建过程中,每个节点收到一系列training patches。如果节点深度等于一个最大值(
)或者patches的数目很小(
),被构建的节点就可以成为一个叶节点,并且叶节点的信息
被累计并且存储。否则一个非叶节点被创建并且一个最优的测试(binary test)被挑选。
如何挑选这个最优测试呢?
核心原则:越走向叶节点,所接收到得patches的类别标签和偏移向量的不确定度逐渐减少。为了实现这个目标,作者定义了两个对patch不确定性的测量方法。假设对于一个节点收到的patches
。class-label 不确定性,其是用来衡量class labels
的不纯性:
其中,entropy定义为
。
偏移不确定性,其用来衡量偏移向量的不纯性:
其中
是平均偏移。
注意我们忽略背景patches。
现在两个测量不确定性的方式已经给出,我们采用如下的方式进行binary tests。给定一系列training patches
,我们依靠均匀抽样
来产生一系列像素测试
。然后随机决策被建立。一般来说,除非negative patches 太少,我们等概率地选择,在这种情况下,选择最小化offset uncertainty。最后我们选择可以使两个不确定度测量都最小化的binary test
如何使用hough forest 进行目标检测呢?
现在假设
对应于在图像中的位置
目标出现的随机事件。我们感兴趣的时计算
,其可以解释为这个patch的appearance
可以带来在图像中得位置
处的
事件。
我们需要区分两个情况:是否
属于以x为中心的bounding box
。如果
,那么我们可以假设
对于
是没有信息价值的。
在这片文章中,作者假设第二种情况
。于是我们有:
对于第一项的估计方法如下:
使用基于在训练中在叶节点存储的偏移向量集
,和 Parzen-window进行估计。第二项可以直接使用在训练期间的object patches 的比例
。对于一棵单独的树,我们有
而对于一个森林呢?
(6)和(7)定义了一个single patch的关于目标是否存在的概率投票。为了整合来自于不同patches的投票信息。我们使用一种additive way累计他们进入2D Hough 图像:
如果我们完全按照(6)~(8)来进行计算的话,这是没有效率的。作者给出了更好的策略
从这篇文章中我们可以学习到generic hough transform 和 random forest 的应用
Hough Forests 如何建造呢?
对于Hough forests, 每棵树基于一系列patch
进行建造,其中
是这个patch的appearance,
是这个patch的标签,
是这个patch离object中心的偏移(offset)。
下面我们具体描述一下如何从训练样本中抽取这些patch :
从背景图像中抽取得到的patch,其类别标签
,从使用bounding boxes框住的图像内部抽取的patch其类别标签为
。对于每一个object patch也赋予一个从bounding box 中心(即目标中心)到patch中心的偏移。对于一个background patch这个offset不赋值。
在所构建的树上,对于每一个叶节点,在训练时到达这个叶节点的所有patch的信息保存。于是,我们存储
(到达这个叶节点的object pathes的比例)和
针对于所有到达这个叶节点的object patches的偏移值(用于投票使用)。于是这棵树的叶子节点就形成了一个用于目标中心可能位置的discriminative codebook。在运行时,这些信息用来对object的所有可能位置进行投票。
我们应该选用什么样的patch appearance 和 binary tests呢?
在训练和测试时,所有的patches 使用一个固定大小,例如16*16,对于apperance 可以使用扩展的特征通道来定义。于是一个patch 的apperance可以写成
,其中
是一个16*16的图像,
是通道数。
对一个patch appearance 的二值测试
能够用许多方式来定义,但是作者选择基于pixel 测试。像这样的测试使用通道索引
,两个位置
和
,阈值
,从而测试可以写成如下形式:
现在我们开始建立树了:
Hough forests 中树的建立遵循这一般随机森林的框架。每一棵树从根开始迭代建立。在构建过程中,每个节点收到一系列training patches。如果节点深度等于一个最大值(
)或者patches的数目很小(
),被构建的节点就可以成为一个叶节点,并且叶节点的信息
被累计并且存储。否则一个非叶节点被创建并且一个最优的测试(binary test)被挑选。
如何挑选这个最优测试呢?
核心原则:越走向叶节点,所接收到得patches的类别标签和偏移向量的不确定度逐渐减少。为了实现这个目标,作者定义了两个对patch不确定性的测量方法。假设对于一个节点收到的patches
。class-label 不确定性,其是用来衡量class labels
的不纯性:
其中,entropy定义为
。
偏移不确定性,其用来衡量偏移向量的不纯性:
其中
是平均偏移。
注意我们忽略背景patches。
现在两个测量不确定性的方式已经给出,我们采用如下的方式进行binary tests。给定一系列training patches
,我们依靠均匀抽样
来产生一系列像素测试
。然后随机决策被建立。一般来说,除非negative patches 太少,我们等概率地选择,在这种情况下,选择最小化offset uncertainty。最后我们选择可以使两个不确定度测量都最小化的binary test
如何使用hough forest 进行目标检测呢?
现在假设
对应于在图像中的位置
目标出现的随机事件。我们感兴趣的时计算
,其可以解释为这个patch的appearance
可以带来在图像中得位置
处的
事件。
我们需要区分两个情况:是否
属于以x为中心的bounding box
。如果
,那么我们可以假设
对于
是没有信息价值的。
在这片文章中,作者假设第二种情况
。于是我们有:
对于第一项的估计方法如下:
使用基于在训练中在叶节点存储的偏移向量集
,和 Parzen-window进行估计。第二项可以直接使用在训练期间的object patches 的比例
。对于一棵单独的树,我们有
而对于一个森林呢?
(6)和(7)定义了一个single patch的关于目标是否存在的概率投票。为了整合来自于不同patches的投票信息。我们使用一种additive way累计他们进入2D Hough 图像:
如果我们完全按照(6)~(8)来进行计算的话,这是没有效率的。作者给出了更好的策略
见即将公布的 eagleeye 框架 |
相关文章推荐
- 【论文学习笔记】Class-Specific Hough Forests For Object Detection
- hough forest----Class-Specific Hough Forests for Object Detection
- Class-Specific Hough Forests for Object Detection
- 目标检测(二)--Hough Forests for Object Detection
- (论文分析) Object Detection -- Sketch Tokens: A Learned Mid-level Representation for Contour and Object Detection
- (论文分析) Object Detection -- Object Class Recognition by Unsupervised Scale-Invariant Learning
- (论文分析) Object Detection -- A Boundary Fragment Model for Object Detection
- [论文解读] 3DOP: 3D Object Proposals using Stereo Imagery for Accurate Object Class Detection
- Rich feature hierarchies for accurate object detection and semantic segmentation论文笔记
- 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation
- [深度学习论文笔记][Object Detection] Rich feature hierarchies for accurate object detection and semantic seg
- 多尺度R-CNN论文笔记(1): A MultiPath Network for Object Detection
- 论文阅读:RCNN[Rich feature hierarchies for accurate object detection and semantic segmentation]
- 行人检测论文笔记:Fast Feature Pyramids for Object Detection?
- 论文笔记 MSCNN:A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- 论文提要“Fast Feature Pyramids for Object Detection”
- Sparselet Models for Efficient Multiclass Object Detection对应源码配置
- 论文笔记——Rich feature hierarchies for accurate object detection and semantic segmentation
- [深度学习论文笔记][CVPR 17 oral]A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection
- 论文阅读(Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection)